一、 单选题 (共 35 道试题,共 70 分)
1. 若变量已正确定义,有以下程序段i=0; do printf(\"%d,\printf(\"%d\\n\
其输出结果是( )。
A.0,0
B.0,1
C.1,1
D.程序进入无限循环
正确答案:2026907897
2.{设有以下程序段int x=0,s=0; while(!x!=0) s+=++x; printf(\"%d\则(A.运行程序段后输出0
B.运行程序段后输出1
C.程序段中的控制表达式是非法的
D.程序段执行无限次
。
)
3. 函数的功能是交换变量x和y中的值,且通过正确调用返回交换的结果。能正确执行此功能的函数是( )。
4. 对for(表达式1; ; 表达式3)可理解为( )。
A.for(表达式1; 0;表达式3)
B.for(表达式1: 1 ;表达式3)
C.for(表达式1; 表达式1; 表达式3)
D.for(表达式1; 表达式2; 表达式3)
5. 以下描述错误的是( )。
A.break语句不能用于循环语句和switch语句外的任何其他语句
B.在switch语句中使用break语句或continue语句的作用相同
C.在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环
D.在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环
6. 以下叙述正确的是( )。
A.do-while语句构成的循环不能用其它语句构成的循环来代替。
B.do-while语句构成的循环只能用break语句退出。
C.用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D.用do-while语句构成的循环,在while后的表达式为零时结束循环。
7. 已知double *p[6]; 它的含义是(A.p是指向double类型变量的指针
B.p是double类型数组
C.p是指针数组
D.p是数组指针
8. C语言程度的基本单位是( )。
A.函数
B.标识符
C.表达式
D.语句
。
)
9. 设有说明语句: char a='\\72';则变量a( )。
A.包含1个字符
B.包含2个字符
C.包含3个字符
D.说明不合法
10. 下面程序的输出结果是(main()
{int x=10;
x+=(x=8);
printf(\"%d\\n\
}
A.10
B.8
。
)
C.18
D.16
11. 在C语言中,逻辑值\"真\"是用( )表示的。
A.预定义为真值的宏
B.非零数
C.正数
12. 在while(x)语句中的x与下面条件表达式等价的是(A.x==0
B.x==1
C.x!=1
D.x!=0
13. 已知int **p; 则变量p是( )。
A.指向int的指针
。 )
B.指向指针的指针
C.int型变量
D.以上3种说法均是错误的
14. 以下不构成无限循环的语句或语句组是( )。
A.n=0;
do{++n;}while(n<=0);
B.n=0;
while(1){n++;}
C.n=10;
while(n);{n--;}
D.for(n=0,i=1; ;i++)n+=i;
15. 下面各选项中,均是C语言合法标识符的选项组是(A.33 we auto
B._23 me _3ew
C._43 3e_ else
D.ER -DF 32
。 )
16. 当c的值不为0时,在下列选项中能够将c的值赋给变量a、b的是( )。
A.c=b=a;
B.(a=c)︱︱(b=c);
C.(a=c)&&(b=c);
D.a=c=b;
17. 在C语言中,设一表达式中包含有int,long,char和unsigned类型的变量和数据,则这4种类型数据转换的规则是( )。
A.int→unsingned→long→char
B.char→int→long→unsingned
C.char→int→unsigned→long
D.int→char→unsigned→long
18. 说明语句int *(*p)(); 的含义是( )。
A.p是一个指向int型数组的指针
B.p是指针变量,它构成了指针数组
C.p是一个指向函数的指针,该函数的返回值是一个整型
D.p是一个指向函数的指针,该函数的返回值是一个指向整型的指针
19. 若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是( )。
A.a[2][!1]
B.a[2][3]
C.a[0][3]
D.a[1>2][!1]
20. 下列不正确的字符串常量是(A.'ABC'
B.\"W'\"
C.\"SDF/3\"
D.\" \"
21. 以下错误的描述为( )。
。
)
A.在函数之外定义的变量称为外部变量,外部变量是全局变量
B.在一个函数中既可以使用本函数中的局部变量,又可以使用外部变量
C.外部变量定义和外部变量声明的含义相同
D.若在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量不起作用
22. 下面程序的输出结果是( )。
main()
{int x=177;
printf(\"%o\\n\
A.177
B.261
C.-61
23. 在C语言中,变量的隐含存储类别是( )。
A.auto
B.static
C.extern
D.无存储类别
24. 已知字符′A′的ASCII码值是65,字符变量cl的值是′A′,c2 的值是′D′。执行语句printf(\"%d,%d\后,输出结果是( )。
A.A,B
B.A,68
C.65,66
D.65,68
25. 一个C程序的执行是从( )。
A.本程序的main函数开始,到main函数结束
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C.本程序的main函数开始,到本程序文件的最后一个函数结束
D.本程序文件的第一个函数开始,到本程序main函数结束
26. 在C语言中,运算对象必须是整型数的运算符是( )。
A.%
B.\\
C.%和\\
D.**
27. 以下叙述中错误的是( )。
A.改变函数形参的值,不会改变对应实参的值
B.函数可以返回地址值
C.可以给指针变量赋一个整数作为地址值
D.当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL
28. 若int i, x; 则for(i=x=0; i<9&&x!=5; i++, x++)控制的循环体将执行(A.10
B.9
)次。
C.5
D.6
29. 以下描述中正确的是( )。
A.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C.在do-while循环体中,是先执行一次循环,再进行判断
D.do-while循环中,根据情况可以省略while
30. 若二维数组a由m列,则在a[i][j]之前的元素个数为( )。
A.j*m+i
B.i*m+j
C.i*m+j-1
D.i*m+j+1
31. 有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是 ( )。
A.gets(&s[0]);
B.scanf(\"%s\
C.gets(s);
D.scanf(\"%s\
32. 以下对C语言函数的有关描述中,正确的是( )。
A.在C语言中调用函数时,只能把实参的值传给形参,形参的值不能传送给实参
B.C函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.函数必须有返回值,返回值类型不定
33. 设有: int a=1,b=2,c=3,d=4,m=2,n=2; 执行 (m=a>b)&&(n=c>d)后,n的值是 ( )。
A.1
B.2
C.3
D.4
34. 阅读下列程序,则运行结果为( )。
#include \"stdio.h\"
fun()
{ static int x=5; x++; return x;\\
A.5
B.6
C.7
D.8
35. 有如下程序
main()
{ int x=3;do{ printf(\"%d\
}while(!x);
}该程序的执行结果是( )。
A.3 2 1
B.2 1 0
C.3
D.2
二、 判断题 (共 15 道试题,共 30 分)
1. 若a和b类型相同,在执行了语句a=b后,b中的值将放入a中,b中的值不变。
A.错误
B.正确
2. 一个可执行的C语言程序总是从main()函数的入口地址处开始执行。
A.错误
B.正确
3. 若要\"为读/写建立一个新的文本文件\",在fopen函数中应使用的文件方式为\"w+\"。
A.错误
B.正确
4. C语言中规定,if语句的嵌套结构中,else总是和最近的if配对。
A.错误
B.正确
5. 若一个外部变量的定义形式为static int x;其中static的作用是使x只能在本文件内引用。
A.错误
B.正确
6. 已有定义int(*p)();指针p可以指向函数的入口地址。
A.错误
B.正确
7. 用typedef可以定义各种类型名,但不能用来定义变量。
A.错误
B.正确
8. C语言程序中,一个文件中的函数可以引用存储在另一个文件中的函数和变量。
A.错误
B.正确
9.题型:判断题
A.错误
B.正确
10. 一个共用体变量中不能同时存放其所有成员。
A.错误
B.正确
11. 在 C 语言中,\"A \"和' A '等价。
A.错误
B.正确
12. 两个字符串所包含的字符个数相同时才能比较字符串大小。
A.错误
B.正确
13. C语言规定形参可以是常量、变量或表达式,只要与其对应的实参类型一致即可。
A.错误
B.正确
14. 在C 程序中,逗号运算符的优先级最低。
A.错误
B.正确
15. 逻辑表达式 'C'&&'d' 的值为 1。
A.错误
B.正确
因篇幅问题不能全部显示,请点此查看更多更全内容