c语言练习试题库
单项选择题
1.有char c=’1’,下面说法中正确的是( )。
A. 语句putc+2);的输出结果为51
B. 语句put“%d”,c+2);的输出结果为3
C. 语句put“%c”,c+2);的输出结果为51
D. 语句put“%c”,c+2);的输出结果为3
2.设c1,c2均是char型变量,则下面不正确的函数调用为( )。
A. scanf(”c1=2=%c”,&c1,&c2);
B. get);
C. putc2);
D. putc1,c2);
3.为了表示关系x>=y>=z,下面C语言表达式中正确的是( )。
A. (x>=y)&&(y>=z)
B. (x>=y)and(y>=z)
C. (x>=y>=z)
D. (x>=y)&(y>=z)
4.设x,y,z,t为int型变量,则执行以下语句后,t的值为( )。
x=y=z=1;
t=++x||++y&&++z;
A. 不定值
B. 2
C. 1
D. 0
5.对if语句中表达式的类型,下面正确的说法是( )。
A. 必须是关系表达式
B. 必须是关系表达式或逻辑表达式
C. 可以是任意表达式
D. 必须是关系表达式或算术表达式
6.对for(表达式1;;表达式3)可以理解为( )。
A. for(表达式1;0;表达式3)
B. for(表达式1;表达式1;表达式3)
C. for(表达式1;1;表达式3)
D. for(表达式1;表达式3;表达式3)
7.执行语句for(i=1;i++<4;);之后,变量i的值为( )。
A. 3
B. 4
C. 5
D. 不确定
8.若二维数组a有m列,则在a[i][j]前的元素个数为( )。
A. j*m+i
B. i*m+j
C. i*m+j-i
D. i*m+j+1
9.下面说法中正确的是( )。
A. 在C语言中,可以使用动态内存分配技术,定义元素个数可变的数组结构体数组不能作为参数传递给函数
B. 在C语言中,数组元素的个数可以不确定,允许随即变动
C. 在C语言中,数组元素的数据类型可以不一致
D. 在C语言中,定义数组后,就确定了它能容纳的相同数据类型元素的个数
10.不能把字符串:“good!”赋给数组b的语句是( )。
A. char b[10]={’g’,’o’,’o’,’d’,’!’};
B. char b[10];b=“good!”;
C. char b[10];strcpy(b, “good!”) ;
D. char b[10]=“good!”;
11.执行下面程序段,给x,y赋值时,不能作为数据分隔符的是( )。
int x,y;
scanf(”%d%d”,&x&y);
A. 回车
B. Tab键
C. 回车
D. 逗号
12.已知ch是字符型变量,下面不正确的赋值语句为( )。
A. ch=’a+b’;
B. ch=’’;
C. ch=’7’+’9’;
D. ch=5+9;
13.下面程序段的输出结果是( )。
char c1=’6’,c2=’0’;
printf(”%c,%c,%d,%d ”,c1,c2,c1-c2,c1+c2);
A. 因输出格式不合法,输出出错信息
B. 6,0,6,102
C. 6,0,7,6
D. 6,0,5,7
14.在C语言的循环语句for, while,do while中,用于直接中断最内层循环的语句是( )。
A. switch
B. continue
C. break
D. if
15.下面的循环结构中,不是无限循环的是( )。
A. for( i=1;;i++) printf(“%d”,i--);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论