第一章 单元测试
1、单选题:C语言是一种( )。
A:高级语言
B:机器语言
C:
低级语言
D:汇编语言
正确答案:【高级语言】
2、单选题:C语言程序总是从( )。
A:源代码的第一行
B:
源代码的第一条可执行语句
C:
主函数
D:
源代码的第一个函数
正确答案:【
主函数
】
3、单选题:C语言程序是由( )构成。
A:
一个主函数和若干函数
B:
若干过程
C:
若干对象
D:
若干子程序
正确答案:【
一个主函数和若干函数
】
4、单选题:在C语言程序中,主函数的位置( )。
A:
一定放在所有代码中间
B:
一定放在所有代码最后
C:
一定放在所有代码最前面
D:
可以放在代码的任何位置
正确答案:【
可以放在代码的任何位置
】
5、单选题:以下叙述正确的是( )。
A:
C语言程序一行只能写一条语句
B:
C语言程序不区分大小写
C:
C语言程序每个语句结束都要写分号
D:
C语言程序每行结束都要写分号
正确答案:【
C语言程序每个语句结束都要写分号
】
6、单选题:要把高级语言编写的源程序转换为目标程序,需要使用( )。
A:
编辑程序
B: 诊断程序
C: 驱动程序
D: 编译程序
正确答案:【 编译程序】
7、单选题:若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量 a、b、c 的语句是( )。
A:scanf(“%d%d%d”,&a,&b,&c);
B:scanf(“%d%d%d”,a,b,c);
C:scanf(“%d%d%d”,a,b,*c)
D:scanf(“%d%d%d”,&a,&b,c);
正确答案:【scanf(“%d%d%d”,&a,&b,&c);】
8、单选题:以下选项中合法的用户标识符是( )。
A:
dat
B:
_2Test
C:long
D:
3Dmax
正确答案:【
_2Test
】
9、单选题:下列说法中正确的是( )。
A:
C 程序书写时,不区分大小写字母
B: C 程序书写时,一个语句可分成几行书写
C: C 程序书写时,一行只能写一个语句
D: C 程序书写时每行必须有行号
正确答案:【 C 程序书写时,一个语句可分成几行书写】
10、单选题:英文小写字母 d 的 ASCII 码为 100,英文大写字母 D的 ASCII 码为( )。
A:68
B:50
C:52
D:66
正确答案:【68】
第二章 单元测试
1、单选题:C语言中的注释( )。
A:
不运行
B:
其他情况
C:
运行
D:
有的运行有的不运行
正确答案:【
不运行
】
2、单选题:设变量定义为“int a, b;”,执行下列语句时,输入( ),则a和b的值都是10。scanf(“a=%d, b=%d”,&a, &b);
A:
10 10
B:
a=10, b=10
C:
10, 10
D:
a=10 b=10
正确答案:【
a=10, b=10
】
3、单选题:( )是不正确的字符常量。
A:
’n’
B:’1’
C:”a”
D:’’
正确答案:【”a” 】
4、单选题:若变量已正确定义并赋值,表达式( )错误。
A:
a*b/c
B:
3.14%2
C:
a/b/c
D:
2,b
正确答案:【
3.14%2
】
5、单选题:( )是合法的用户自定义标示符。
A:
_isw
B:
float
C:
<fr>
D:
b-b
正确答案:【
_isw
】
6、单选题:( )是 C 语言提供的合法的数据类型关键字。
A:integer
B:Float
C:Char
D:signed
正确答案:【integer】
7、单选题:在 C 语言中,要求参加运算的数必须时整数的运算符是( )。
A:=
B:%
C:*
D:/
正确答案:【% 】
8、单选题:与代数式(x*y)/(u*v)不等价的 C 语言表达式是( )。
A:x/(u*v)*y
B:x*y/u/v
C:x*y/(u*v)
D:x*y/u*v
正确答案:【x*y/u*v】
9、单选题:对于 char cx=’9′;语句,正确的是( )。
A:cx 的 ASCII 值是 33
B:cx 的值为三个字符
C:cx 的值为四个字符
D:不合法
正确答案:【不合法 】
10、单选题:若 int k=7,x=12;则能使值为 3 的表达式是( )。
A:x%=(k%=5)
B:x%=k-k%5
C:(x%=k)-(k%=5)
D:x%=(k-k%5)
正确答案:【(x%=k)-(k%=5) 】
第三章 单元测试
1、单选题:若变量已正确定义,表达式( )的值不是2。
A:
a=2
B:
1<1+1
C:
7/3
D:
5%3
正确答案:【
1<1+1
】
2、单选题:在 C 程序中,用( )表示逻辑值“真”。
A:
0
B:
大于1的数
C:
非 1 的数
D:
非 0 的数
正确答案:【
非 0 的数
】
3、单选题:下面程序的正确输出结果是( )。main(){ int a=2,b=-1,c=2; if(a<b) if(b<0) c=1; else c++; printf(“%d”,c);}
A:0
B:1
C:3
D:2
正确答案:【2 】
4、单选题:下面程序的正确输出结果是( )。main(){ int a=1,b=3,c=5,d=4,x; if(a<b) if(c<d) x=1; else if(a<c) if(b<d) x=2; else x=3; else x=6; else x=7; printf(“%d”,x);}
A:3
B:0
C:2
D:6
正确答案:【2】
5、单选题:下面程序的正确输出结果是( )。main(){ int x=1,y=0,a=0,b=0; switch(x)
{
case 1:switch(y)
{
case 0:a++;break;
case 1:b++;break;
} case 2:a++;b++;break; case 3:a++;b++; } printf(“%d %dn”,a,b);}
A:2 1
B:1 0
C:1 1
D:2 2
正确答案:【2 1】
6、单选题:能正确表示”当 x 的值在[1,10]和[200,210]范围内为真,否则为假”的是( )。
A:(x>=1)|| (x<=10) || (x>=200) || (x<=210)
B:(x>=1)&& (x<=10) && (x>=200) || (x<=210)
C:(x>=1)&& (x<=10) || (x>=200) && (x<=210)
D:(x>=1)|| (x<=10) && (x>=200) || (x<=210)
正确答案:【(x>=1)&& (x<=10) || (x>=200) && (x<=210)】
7、单选题:判断 char 型变量 ch 是否为大写字母的正确表达式是( )。
A: ‘A'<=ch<=’Z’
B: (ch>=’A’) && (ch<=’Z’)
C: (ch>=’A’) & (ch<=’Z’)
D: (‘A'<=ch) AND (‘Z’>=ch)
正确答案:【 (ch>=’A’) && (ch<=’Z’)】
8、单选题:请阅读以下程序:main(){int a=5, b=0, c=0;if (a=b+c) printf(“***”);else printf(“$$$”);}以上程序( )。
A:输出$$$
B:有语法错误不能通过编译
C:可以通过编译但不能通过连接
D:输出***
正确答案:【输出$$$】
9、单选题:阅读以下程序,程序运行后, 如果从键盘上输人 5,则输出结果是( )。main( ){int x; scanf(“%d”,&x);if(x–<5) printf(“%d”,x);else printf(“%d”,x++);}
A:3
B:6
C:4
D:5
正确答案:【4】
10、单选题:若执行以下程序时从键盘上输入 9,则输出结果是( )
A:11
B:8
C:9
D:10
正确答案:【10】
第四章 单元测试
1、单选题:下列for循环语句书写格式中,错误的是( )
A:for(i=9;i<20;i++) {…… }
B:for(i=9;i>1;i–); {…… }
C:i=9; for(;i<20;i++) {…… }
D:i=9;for(;i>=1;) { i–; }
正确答案:【for(i=9;i>1;i–); {…… } 】
2、单选题:程序执行后输出的结果是:void main(){ int i; for(i=1;i<20;i=i+2) printf(“%d “,i);}
A:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
B:1 3 5 7 9 11 13 15 17 19
C:2 4 6 8 9 10 12 14 16 18
D:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
正确答案:【1 3 5 7 9 11 13 15 17 19】
3、单选题:求0+5+10+15+…+55的结果,下列循环语句中条件设置正确的是( )
A:int a=0,s=0; do { s=s+a; a=a+5; }while(a<=55);
B:int a,s=1; for(a=0;a<=55;a++) { s=s+a; }
C:int a=1,s=0; while(a<55){ s=s+a; a++;}
D:int a,s=0; for(a=0;a<55;a=a+5) { s=s+a;}
正确答案:【int a=0,s=0; do { s=s+a; a=a+5; }while(a<=55);】
4、单选题:关于循环嵌套的描述,错误的是( )
A:
走得慢的循环放在外层,走得快的放内层
B:
内层循环每走一步,外层循环走一圈
C:
外层循环每走一步,内层循环走一圈
D:
循环次数=外层循环次数 * 内层循环次数
正确答案:【
内层循环每走一步,外层循环走一圈
】
5、单选题:关于break语句和continue语句的使用结果,正确的是( )
A:int a=1; while(a<10) { while(a>6){ continue; } printf(“%d “,a); a++;} 执行结果是 1 2 3 4 5 6 7 8 9
B:int a=1; for(;a<10;a++) { if(a%3==0) continue; printf(“%d “,a);} 执行结果是 1 2 4 5 7 8
C:int a=1; for(;a<10;a++) { if(a%3==0) break; printf(“%d “,a);} 执行结果是 1 2 3
D:int a=1; while(a<10) { while(a>6){ break; } printf(“%d “,a); a++;} 执行结果是 1 2 3 4 5 6
正确答案:【int a=1; for(;a<10;a++) { if(a%3==0) continue; printf(“%d “,a);} 执行结果是 1 2 4 5 7 8】
6、单选题:以下程序的输出结果是( )main(){int x=10,y=10,i;for(i=0;x>8;y=++i)printf(“%d,%d”,x–,y);}
A:10,9 9,0
B:9,8 7,6
C:10,10 9,1
D:10,1 9,2
正确答案:【10,10 9,1】
7、单选题:以下程序的输出结果是( )main( ){ int n=4;while(n–) printf(“%d “,–n); }
A:2 1 0
B:2 0
C:3 2 1
D:3 1
正确答案:【2 0 】
8、单选题:以下程序的输出结果是( )main( ){int i;for(i=1;i<6;i++){if(i%2){ printf(“#”);continue;}printf(“*”);}}
A:#*#*#
B:*#*#*
C:#####
D:*****
正确答案:【#*#*#】
9、单选题:以下循环体的执行次数是( )main( ){int i,j;for(i=0,j=1; i<=j+1; i+=2, j–)printf(“%d “,i);}
A:1
B:3
C:0
D:2
正确答案:【1】
10、单选题:以下程序段的执行结果是( )int a,y; a=10;y=0;do{a+=2;y+=a;printf(“a=%d y=%d”,a,y);if(y>20) break;}while(a=14);
A:a=12 y=12a=14 y=26
B:a=12 y=12a=14 y=44
C:a=12 y=12
a=14 y=16
a=16 y=20
D:a=12 y=12
a=16 y=28
a=18 y=24
正确答案:【a=12 y=12
a=16 y=28
a=18 y=24
】
第五章 单元测试
1、单选题:C语言引用数组元素时,其数组下标的数据类型允许是( )。
A:
任何类型的表达式
B:
整型表达式
C:
整型常量
D:
整型常量或整型表达式
正确答案:【
整型常量或整型表达式
】
2、单选题:下面正确的定义语句是( )。
A:int a [3]={1,2,3,4,5};
B:double y[][3]=0;
C:long b[2][3]={{1},{1,2},{1,2,3}}
D:float x[3][2]= {{1},{2},{3}}
正确答案:【float x[3][2]= {{1},{2},{3}}】
3、单选题:int a[10];则对a数组元素的正确引用是( )。
A:a [10]
B:a [10-10]
C:a [3.5]
D:a(5)
正确答案:【a [10-10]】
4、单选题:下面的程序有错误,发生在( )。
main(){ float a[3]={3*0}; int i; for(i=0;i<3;i++) scanf(“%d”,&a[i]); for(i=1;i<3;i++) a[0]=a[0]+a[i]; printf(“%d”,a[0]);}
A:
没有错误
B:
第五行
C:
第三行
D:
第七行
正确答案:【
第三行
】
5、单选题:若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为( )。
A:i*m+j+1
B:i*m+j-1
C:j*m+i
D:i*m+j
正确答案:【i*m+j+1】
6、单选题:int a[4]={5,3,8,9};其中 a[3]的值为( )。
A:8
B:5
C:3
D:9
正确答案:【9 】
7、单选题:以下 4 个字符串函数中,( )所在的头文件与其他 3 个不同。
A:strcmp
B:strlen
C:gets
D:strcpy
正确答案:【gets 】
8、单选题:对字符数组进行初始化,( )形式是错误。
A:char c3[ ]={ ‘1’, ‘2’, ‘3’, ”};
B:char c2[ ]=123;
C:char c4[ ]=”123″;
D:char c1[ ]={‘1’, ‘2’, ‘3’};
正确答案:【char c2[ ]=123; 】
9、单选题:若有以下说明,则数值为 4 的表达式是( )。int a[12] ={1,2,3,4,5,6,7,8,9,10,11,12}; char c=’a’, d, g ;
A:a[g-c]
B:a[‘d’-‘c’]
C:a[4]
D:a[‘d’-c]
正确答案:【a[‘d’-c] 】
10、单选题:下列定义的字符数组中,输出 printf(“%s”, str[2]) ;的输出是( )。 static str[3][20] ={ “basic”, “foxpro”, “windows”};
A:输出语句出错
B:basic
C:windows
D:foxpro
正确答案:【windows 】
第六章 单元测试
1、单选题:下列程序的输出结果是( )。fun(int a, int b, int c) { c =a*b; } void main( ) {
int c;
fun(2,3,c);
printf(”%d”,c);
}
A:
6
B:
0
C:
1
D:
无法确定
正确答案:【
无法确定
】
2、单选题:C语言中,函数返回值的类型是由( )。
A:
return语句中的表达式类型所决定
B:
调用该函数是系统决定
C:
在定义该函数时所指定的函数类型所决定
D:
调用该函数时的主调函数类型所决定
正确答案:【
在定义该函数时所指定的函数类型所决定
】
3、单选题:以下不正确的说法是( )。
A:
实参可以是常量、变量或表达式
B:
如果形参和实参的类型不一致,以形参类型为准
C:
形参可以是常量、变量或表达式
D:
实参和形参的个数要一致
正确答案:【
形参可以是常量、变量或表达式
】
4、单选题:以下正确的说法是( )。
A:
函数的定义可以嵌套,函数的调用不可以嵌套
B:
函数的定义和调用都可以嵌套
如有任何疑问请及时联系QQ 50895809