C语言模拟试题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二级C 语言笔试试卷(A)

注意事项:1.一题答案填涂在答题卡上 2.二、三、四、五题答案做在答题纸上 一.单项选择题。(每小题1分,共20分) 1. C 程序的源程序由预处理命令和( )组成。 (A)函数 (B )语句 (C )保留字 (D )标始符 2. 下面程序段中,与if (x%2)中的x%2所表示条件等价的是( )。 scanf(〞%d 〞,&x); (A )x%2==0 (B )x%2!=1 (C) x%2!=0 (D) x%2==1 3. 执行下面C 语言序列后,变量b 的值是( )。 Int a,b,c ; a=b=c=1; ++a||++b&&++c ; (A )错误 (B )0 (C) 2 (D) 1 4. 设有C 语句int a[3][4];, 则每次移动过a 数组一行元素的指针变量定义形式是( )。 (A )int *p ; (B )int **p ; (C) int(*p)[4]; (D) int *p[4]; 5. 设有整型变量a, 实型变量f,双精度型变量x ,则表达式10+′b ′+x*f 值的类型为( )。 (A )int (B )float (C)double (D)不能确定 6. C 语言中规定,函数调用中用简单变量做实参时,它和对应形参之间的数据传递方式是( )。 (A )地址传递 (B )单向值传递 (C) 由实参传给形参,再由形参传回给实参 (D) 由用户指定传递方式 7. 下面程序的输出是( )。 #include void main() { int x=10,y=3; printf(〞%d\n 〞,y=x/y); } (A )0 (B )1 (C) 3 (D) 不确定的值 8. 执行下面的程序段后,B 的值为( )。 int x=35;

char z=′A ′;

int B; B=((X&5)&&(z<′a ′)); (A )0 (B )1 (C)2 (D) 3 9. 以下程序的输出结果为( )。 #include void main() { int i=0; for(;;) if(i++==5) break; printf(〞%d\n 〞,i); } (A )0 (B )5 (C) 6 (D) 前3个选项都错 10. 已知:char s[4]=〞cba 〞;char *p; 执行语句列p=s;printf(〞%c\n 〞,*p+1);后,其输出为( )。 (A )c (B )b (C) a (D) d 11. 运行完下列程序后,在屏幕上的内容是( )。 #include void main() { int a=0; a+=a=12; printf(〞%d\n 〞,a); } (A )0 (B )6 (C) 12 (D) 24 12. 已知:int x= 1 , y = 2, z =0,

则执行z=x>y?(10+x,10-x):(20+y,20-y)后,z 的值为( )。

(A )11 (B )9 (C) 18 (D) 22 13. 若已定义x 和y 为double 类型,则表达式x=2,y=x+10/4的值是( ) (A )2 (B )4 (C)4.0 (D) 4.5 14. 以下程序的输出结果是( )。 #include int x=3,y=4;

void main() { int x=0; x+=y++; printf(〞%d 〞,x);

} (A )3 (B )4 (C)5 (D) 6 15. 在下面C 语言的函数说明语句中,正确的是( )。 (A )int fun(int x, int y); (B )int fun(int x,y); (C) int fun(x,y); (D) int fun(int x; int y); 16. 有定义:int x,y=10,*p=&y;, 则能使得x 的值也等于10的语句是( )。 (A )x=p; (B )x=&p; (C)x=&y; (D) x=*p; 17. 有定义: int a[5][4], (*p)[4]=a;, 则*(*(p+2)+3)等价于( )。 (A )a[2][0] (B )a[2][1] (C) a[2][2] (D) a[2][3] 18. 有定义:char* s=〞\t\〞Name\\Address\〞〞;, 那么strlen(s)等于( )。 (A )15 (B )16 (C) 17 (D) 18 19.设有定义int m=1,n=-1;则执行语句printf(〞%d\n 〞,(m--&&++n));后的输出结果是()。 (A )-1 (B )0 (C) 1 (D) 2 20. 设有C 语句:struct T{int n; double x;}d,*p;, 若要使p 指向结构体变量中的成员n,正确的赋值语句是( )。 (A )p=&d.n (B )*p=d.n (C) p=(struct T *)&d.n (D) p=(struct T *)d.n 二. 基本概念选择填空题(本大题后面有若干备选项,请选择合适的备选项并将其号码填入各个小题的空白处。没空2分,共10分) 1.一个C 程序无论由多少个函数组成,只能有一个主函数,其函数名是 ① 。 2.表达式x*=x+b 等价于表达式 ② 。 3.在C 语言中, ③ 语句是一条限定转移语句,其功能是提前结束本次循环体的执行过程而直接进入下一次循环。 4.结构体数据类型仍然是一类变量的抽象形式,系统不会为数据类型分配存储空间。要使用结构体类型数据,必须要 ④ 。 5.调用feof 库函数可以判断文件内部读写位置指针是否达到文件尾,当读写位置

指针到达文件尾时,该函数的返回值是: ⑤ 。

备选项: (A )void (B)x=x*x+b (C)continue (D)x=x*(x+b) (E)break (F)定义结构体成员 (G)定义结构体类型变量 (H)定义联合体类型变量 (I)0 (J)非0 (K)main (L)goto 三.程序填空题。(每空2分,共20分)。 1. 程序的功能是:统计输入字符串中小写字母的个数。 #include void main() { char c; int num=0; while((c=getchar())!= ① ) { if(c<′a ′‖c>′z ′)

continue; ②

} printf(〞%d\n 〞,num); } 2. 下面程序的功能是输出数组中的各字符串,请填空完成程序。 #include void main()

{ char*a[]={〞abcd 〞,〞12345〞,〞efghijk 〞,〞67890〞}; int j=0; for(; ③ ;j++) puts( ④ ); } 3. 下面程序实现计算1+(1+2)+(1+2+3)+……+(1+2+3+……+10),请填空完善程

相关文档
最新文档