内容发布更新时间 : 2024/11/10 5:00:55星期一 下面是文章的全部内容请认真阅读。
《C语言程序设计》复习题
一. 选择题
1.以下关于运算符优先顺序的描述中正确的是( )。
A.关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符 B.逻辑 运算符< 关系运算符< 算术运算符< 赋值运算符 C.赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符 D.算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符 2.下列选项中合法的变量名是_________
A. #define B. int C. a594_3 D. abs(x) 3.以下正确的描述是( )。
A. break语句的作用是结束整个循环的执行 B.在C程序中,注释说明只能位于一条语句的后面
C. 在循环体内使用break语句或continue语句的作用相同
D. 从多层循环嵌套中退出时, 只能使用goto语句
4.以下说法正确的是( )
A.#define 和 printf 都是 C 语句。 B.#define 是C语句,而printf不是。
C.若程序中要调用数学函数,必须在文件开头输入 #include “math.h”。 D. #define是宏命令,printf 是 C 语句。 5.下面的函数定义正确的是______________
A) float fun (float x ; float y) {return x*y;} B) float fun (float x,y) {return x*y;}
C) float fun (x,y) {int x,y;return x*y;} D) int fun (int x, int y) {return x*y;} 6.执行下面语句后的输出为( ) int i=-1;
if (i<=0) printf(“****\\n”) else printf(“%%%%\\n”)
A). **** B). %%%%
C). %%%%c D). 有语法错误,不能正确执行 7.以下程序的输出结果是( ) void main( ) {int k=17;
printf(\ }
A). 17, 21, 11 B). 17, 17, 17 C). 17, 0x11, 021 D). 17, 21, 1 8.以下不正确的叙述是 ( )
A)#define是宏定义命令
B)宏定义只是做简单的置换,不做正确性检查 C)宏定义是C语句,必须在行末加分号
D)#define 和 printf 都不是 C 语句
9.一个C语言程序是由( )
A) 一个主程序和若干子程序组成 B)若干子程序组成 C) 若干过程组成 D) 函数组成 10.C语言规定,在一个源程序中,main()函数的位置( )。 A.必须在最开始 B.必须在最后
C.可以任意 D.必须在系统调用的库函数的后面
11.以下对二维数组a的正确说明是( )。
A) int a[3][]; B) floatf a(3,4); C) char a[1][3]; D) float a(3)(5);
12.若有说明: int a[3][2]={10};则下面正确的叙述是( )
A)只有元素a[0][0]可得到初值10 。 B)此说明语句不正确:。
C)数组a中各元素都可得到初值,但其值不一定为0。 D)数组a中每个元素均可得到初值10 13.以下叙述不正确的是( )。
A) 一个C源程序可由一个或多个函数组成 B) 一个C源程序必须包含一个main函数 C) C程序的基本组成单位是语句
D) 只能在循环体内和switch语句体内使用break语句 14.为了避免在嵌套的条件语句If一else中产生二义性,C语言规定else子句总是与( 配对。
A) 缩排位置相同的if B) 其之前最近的未配对的if C) 之后最近的if D) 同一行上的if
15.能正确表示a和b同时为正或同时为负的逻辑表达式是( ) A)(a>=0||b>=0)&&(a<0||b<0)
B)(a>0&&b>0)||(a<0&&b<0) C)(a+b>0)&&(a+b<=0) D) (a-b>0)&&(a-b<=0)
16.已知x =5,ch='A',y=0,则表达式(x > = y && ch<'a'&&!y) 的值是 ( ) A) 0 B) 语法错 C) 1 D) \假\
17.下列关于单目运算符++、--的叙述中正确的是( )
A) 它们的运算对象可以是任何变量和常量
B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量 C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量 D) 它们的运算对象可以是char型变量、int型变量和float型变量 18.下面的程序( ) void main()
{ int x=3; do {
printf(“%d\\n”,x-=2); } while(!(--x)); }
A). 输出的是1 B). 输出的是1和-2
)
C). 输出的是3和0 D). 是死循环 19.如下程序:
void main( )
{ int a=6; printf(“%d\\n”,(a+=3,2*a)); } 执行后,输出结果是( )
A) 9 B) 6 C) 2 D) 18 20.若有以下说明和语句,请选出哪个是对C数组元素的正确引用( ) int c[4][5], (*cp)[5]; cp=c;
A). cp+1 B). *(cp+3) C). *(cp+1)+3 D). *(*cp+2) 21.下面程序的输出是( ) main()
{ int x=023;
printf(\
A). 17 B). 18 C). 23 D). 24 22*.执行下列程序的结果是( ) main()
{ float x=1,y; y=++x*++x; printf(“%f\\n”,y); } A). 9.000000 B). 6.000000 C). 1.000000 D). 程序有错误 23.下面程序的输出是( ) int main()
{ int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=&a[3];
printf(\
A). 6 B). 4 C). 1 D). 2 24.执行下面程序后输出的值是( ) main() { int a;
printf(\
A). 65 B). 20 C). 15 D). 10 25.下面程序的输出是( ) main()
{ int a=-1, b=4, k;
k=(a++<=0)&&(!(b--<=0));
printf(\ }
A). 0 0 3 B). 0 1 2 C). 1 0 3 D). 1 1 2 26.设有如下的程序段:
char str[]=\ 执行完上面的程序段后,*(ptr+5)的值为( )
A). '0' B). '\\0' C). 不确定的值 D). '0'的地址 27.在宏定义# define PI 3.14159中,用宏名PI代替一个( ) A).单精度数 B).双精度数 C).常量 D).字符串