1.有以下程序
int main()
{ int a=1,b=3,c=5;
int *p1=&a,*p2=7b,*p=&c;
*p=*p1*(*p2);
printf("%dn",c);
}
执行后的输出结果是:(C)
A.4
B.1
C.3
D.2
2.设有定义:int a; float b;执行scanf("%2d%f",&a,&b);语句时,若从键盘输出入876543.0<回车>则a,b的值分别为(D)
A.76和543.000000
B.876和543.000000
C.87和543.000000
D.87和6.000000
3.若x,y,z均为int型变量,则执行以下语句的输出为(X=10,Y=15,Z=10;X=0,Y=10,Z=0)
x=(y=(z=10)+5)-5;
printf("x=%d,y=%d,z%dn",x,y,z);
y=(z=x=0,x+10);
printf("x=%d,y=%d,z=%dn",x,y,z);
4.以下选项中,正确的字符串是(D)
A.'h'
B.'hello'
C.hello
D."hello"
5.已定义int a=2,b=3,c=9,则表达式c%a+b的值是(A)
A.4
B.3
C.8
D.7
6.若有定义:int a=7;float x=2.5;y=4.7;
则表达式x+a%3*(int)(x+y)%2/4的值是:B
A.0.000000
B.2.500000
C.3.500000
D.2.750000
7.一个C语言程序总是从(D)开始执行
A.主程序
B.主过程
C.子过程
D.主函数
8.以下不合法的用户标识是(C)
A.F5
B.j2_KEF
C.4d
D.Double
9.字符串“abc128n"的长度是(B)
A.9
B.6
C.8
D.10
10.下列叙述中正确的是(A)
A.在switch语句中,不一定使用break语句
B.break语句只能用于switch语句
C.break语句必须与switch语句中的case配对使用
D.在switch语句中必须使用default
11.分析以下程序,以下说法正确的是(A)
int main()
{ int x=5,a=0,b=0;
if(x=a+b) print("****n");
else printf("# # # #n");
}
A.输出# # # #
B.有语法错,不能通过编译。
C.输出****
D.能通过编译,但不能连接。
12.设i和x都是int类型,则for循环语句(最多执行10次)
for(i=0,x=0;i<9&&x!=876;i++) scanf("%d",&x);
13.程序段如下:则以下说法不正确的是(A)
#includeint main() { int k=2; while(k<7) { if(k%2){ k=k+3; printf("k=%dn";continue;} k=k+1; printf("k=%dn",k); } }
A.循环体执行一次
B.k=k+3;执行一次
C.执行后k值为7
D.k=k+1;执行2次
14.下列叙述中错误的是(C)
A.数组元素的下标可以为常量,变量或表达式
B.在c语言中二维数组或多维数组按行存放
C.在引用二维数组元素时,行号可以越界
D.赋值表达式b[1][2]=a[2][3]正确
15.下列语句中能够正确定义字符数组并存入字符串的(A)
A.char str[]=" ";
B.char str[]={' 64'};
C.char str='';
D.char str="kx43";
16.在运行语句“gets(s)"时输入”Tianjin“,数组s得到的是()
A.Tian j
B.T
C.Tian jin
D.Tian
17.有以下程序
fun(int x,in y){return(x+y);}
int main()
{ int a=1,b=2,c=3,sum;
sum=fun(a++,b++,a+b),c++);
printf("%dn",sum);
}
执行后的输出结果是(C)
A.9
B.6
C.8
D.7
18.有以下程序
void fun2(char a,char b){printf("%c%c",a,b);}
char a='A',b='B';
void fun1(){a='C';b='D';}
int main()
{ fun1()
printf("%c%c",a,b);
fun2('E','F');
return 0;
}
A.CDAB
B.CDEF
C.ABCD
D.ABEF
19.以下说法错误的是(A)
A.do while和while语句的区别仅在于”while“出现的位置不同
B.可以用do while语句实现的循环一定可以用while语句实现
C.以用while语句实现的循环一定可以用for循环语句实现
D.可以用for语句实现的循环一定可以用while语句实现
20.已知a=2,执行语句b=a++后,a,b的值分别为(A)
A.a=3,b=2
B.a=2,b=2
C.a=2,b=3
D.a=3,b=3



