C语言 学科练习
得分:
卷一(60分)
一、选择题(每题2分,共40分)
1、以下叙述正确的是:__B__。
A)C语言的源程序不必通过编译就可以直接运行。
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令。
C)C语言源程序经编译形成的二进制代码可以直接运行。
D)C语言中的函数不可以单独进行编译。
2、用高级程序设计语言编写的程序称为__C__。
A)目标程序 B)可执行程序 C)源程序 D)伪代码
3、以下符合C语言语法的实型常量是__C__。
A)1.2E0.5 B)3.14159E C).5E-3 D)E15
4、若以下选项中的变量已正确定义,则正确的赋值语句是_C__。
A)x1=26.8%3; B)1+2=x2; C)x3=0x12; D)x4=1+2=3;
5、设有定义:float a=2,b=4,h=3;以下C语言表达式中与代数式计算结果不
相符的是__B__。
A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b)
6、下列选项中可以作为C语言中合法整数的是__C__。
A)10110B B)0386 C)0Xffa D)x2a2
7、设有以下定义:
int a=0; double b=1.25; char c=’A’;
#define d 2
则下面语句中,错误是__D__。
A)a++; B)b++; C)c++; D)d++;
8、设有如下程序段:
int x=2002,y=2003;
printf(“%d\n”,(x,y));
则以下叙述正确的是__D__。
A)输出语句中格式说明的个数少于输出项的个数,不能正确输出。
B)运行时产生出错信息。
C)输出值为2002。
D)输出值为2003。
9、要求以下程序功能是计算: putchar函数
main()
{int n; float s;s=1.0;
for(n=10;n>1;n--) s=s+1/n;
printf(“%6.4f\n”,s);}
程序运行后输出结果错误,导致错误结果的程序行是__C__。
A)s=1.0; B)for(n=10;n>1;n--) C)s=s+1/n; D)printf(“%6.4f\n”,s);
10、以下4个选项中,不能看作一条语句的是_D__。
A){;} B)a=0,b=0,c=0; C)if(a>0); D)if(b==0) m=a;n=2;
11、有以下程序:
main(){int x=102,y=012;
printf(“%2d,%2d\n”,x,y);}
执行后输出结果是__C__。
A)10,01 B)02,12 C)102,10 D)02,10
12、有定义语句:int x,y;,若要通过语句scanf(“%d,%d”,&x,&y);使变量x得到数值11,变量y 得到数值12,下面四组输入形式中,正确的是__C__。
A)11 12<回车> B)11, 12<回车>
C)11,12<回车> D)11,<回车> 12<回车>
13、以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是__A__。
A)if((a>b&&(b>c)) k=1;else k=0; B)if((a>b)||(b>c)) k=1;else k=0;
C)if(a<=b) k=0;else if(b<=c) k=1; D)if(a>b) k=1;else if(b>c) k=1;else k=0;
14、有以下程序:
main(){int x=0,y=5,z=3;while(z-->0&&++x<5)y=y-1;printf(“%d,%d,%d\n”,x,y,z);}
程序执行后的输出结果是__B__。
A)3,2,0 B)3,2,-1 C)4,3,-1 D)5,-2,-5
15、有以下程序:此题应注意短路逻辑
main(){int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);printf(“%d,%d\n”,k,m);}
程序运行后的输出结果是__C__。
A)0,0 B)0,1 C)1,0 D)1,1
16、有以下程序:注意case穿透的问题
main(){ int i;
for(i=0;i<3i++)
switch(i){
case 1:printf(“%d”,i);
case 2:printf(“%d”,i);
default:printf(“%d”,i);}}}
执行后输出的结果是__A___。
A)011122 B)012 C)012020 D)120
17、有以下程序:
main(){int i=1,j=1,k=2;if((j++||k++)&&i++)printf(“%d,%d,%d\n”,i,j,k);}
执行后的输出结果是__C__。
A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3
18、有以下程序:
main(){ int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf(“%d\n”,s);}
程序执行后的输出结果是__D__。
A)自然数1~9的累加和 A)自然数1~10的累加和
C)自然数1~9中奇数之和 D)自然数1~10中偶数之和
19、有以下程序:
main(){ int i,n=0;
for(i=2;i<5;i++){
do{ if(i%3) continue;n++;}while(!i);
n++;}
printf(“n=%d\n”,n);}
程序执行后输出结果是_D__。
A)n=5 B)n=2 C)n=3 D)n=4
20、有如下程序:
main(){ int s=0,a=1,n;scanf(“%d”,&n);
do{ s+=1;a=a-2;}while(a!=n);
printf(“%d”,s);}
若要使程序输出值为2,则应该从键盘输入的值是_B__。
A)-1 B)-3 C)-5 D)0
21、有如下程序段,其中s、a、b、c均为已经定义为整型变量,且a、c均已经赋值(c>0)。
linux下学什么编程s=a;
for(b=1;b<=c;b++)s=s+1;
则与上述程序段功能等价的赋值语句是_B__。
A)s=a+b; B)s=a+c; C)s=s+c; D)s=b+c;
22、有如下程序:
main(){ int k=4,n=0;for(;n<k;){n++;if(n%3!=0)continue;k--;}printf(“%d,%d\n”,k,n);}
程序运行后的输出结果是_C__。
A)1,1 B)2,2 C)3,3 D)4,4
23、有以下程序:
main(){ int i=0,s=0;
do{ if(i%2){i++;continue;} i++;s+=i; }while(i<7);小歪api
printf(“%d\n”,s);}
执行后输出结果是__A_。
A)16 B)12 C)28 D)21
24、以下不能正确定义二维数组的选项是_D__。
A)int a[2][2]={{1},{2}} B)int a[][2]={1,2,3,4}
C)int a[2][2]={{1},2,3} D)int a[2][]={{1,2},{3,4}}
25、有以下程序:
main(){int m[][3]={1,4,7,2,5,8,3,6,9};int i,j,k=2;for(i=0;i<3;i++)printf(“%d”,m[k][i]);}
程序运行后的输出结果是_C__。
A)456 B)258 C)369 D)789
26、若有说明: int a[5][5]; 则对数组元素的正确引用是( C ).
A.a[3+2][3] B.a[0,3] C.a[4][1+2] D.a[ ][2]
27、下列二维数组初始化中,错误的是( A ).
同步传输与异步传输的区别
A.int a[2][ ]={{3,4},{5}}; B.int a[][3]={2,3,4,5,6,7};
C.int a[3][3]={0};
D.int a[5][4]={{1,2},{2,3},{3,4},{4,5}};
28、若有以下数组定义: char ch[]="book_120\n"; 则数组ch的存储长度是(D )。tortoisegit拉取代码
A.7 B.8 C.9 D.10
29、以下程序段的输出结果是( A ).
char str[8]={'a','b','c','d','\0','y','z','\0'};
printf("%s",str);
A.abcd B.abcd yz C.abcdyz D.出错
30、合法的数组定义是( B )
A.int a[ ]={"string"}; B.int a[ ]={0, 1, 2, 3, 4, 5};
C.char a={"string"}; D.char a[ ]={0, 1, 2, 3, 4, 5};
卷二(40分)
一、选择题(每题2分,共60分)
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | linux删除的东西怎么恢复 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
二、填空题(在横线上填上正确的答案,每题2分,共14分)
1、设有以下变量定义,并已赋确定的值,char w; int x; float y; double z;
则表达式:w*x+z-y年求得的数据类型为double或双精度型
2、符号常量的定义方法是 #define 常量名 常量 。
3、设有下列运算符:<<、+、++、&&、>=,其中优先级最高的是 ++ ,优先级最低的是 && 。
4、putchar()函数可以向终端输出一个 字符 。
5、设有定义语句“int a[3][4]={{1}, {2}, {3}}”,则a[2][1]的值为 0 。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论