《C语言程序设计试题及答案word格式》
《C语言程序设计》( 卷)考核班级
学生数 印数 考核方式 闭卷 考核时间 120 分钟
(本试卷包括第一卷和第二卷,答卷时间总共120分钟)
第一卷
第一部分:基础知识(20项,共40分)
1.一个C语言程序是由( ) 组成的。
A.主程序 B.子程序 C.函数 D.过程
2.转换说明符%x的输出形式是( )。
A.十进制 B.八进制 C.十六进制 D.二进制
3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b)
printf ( “ ------------“) ;的正确说法是( ) 。
A.循环体只执行一次 B.死循环
C.循环体一次也不执行 D.输出-----------
4.若x、y、z均为int 型变量,则执行下列语句后的z值为 ( )。
x=1; y=2; z=3; z=(x>y)?z :y ; z = (z
A.1 B.4 C.2 D.3
5.下面标识符中,合法的用户标识符为( )。
A.P#Ad B.12a C.char D._int
6. ‘A’ + 3 的结果是( )。
A.’A’ B.’D’的ASCⅡ码 C.65 D.3
7.语句char str[20];说明str是一个字符串,最多能表示 ( ) 。
A.20个字符 B.19个字符 C.18个字符 D.21个字符
8.将int 型变量n转换成float型变量的方法是 ( )。
A.float n B.(float)n C.float(n) D.21个字符
9.以下不正确的描述是 ( )。
A. 使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成
B. while循环是先判断表达式后执行循环体语句
C. do-while和for循环均是先执行循环体语句,后判断表达式
D. for、while、do-while循环中的循环体均可以由空语句构成
10.在循环中使用break 语句的功能是( )。
A. 使程序的执行跳出break所在的那一重循环
B. 使程序执行结束
C. 跳出包含此break语句的所有循环
D. 终止本次循环,继续下次循环
11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是( )。
A.*pz B.a C.px D.&a
12.若指针 px为空指针,则 ( )。
A.px指向不定 B.px的值为零
C.px的目标为零 D.px的地址为零
13.对于语句int *px[10],以下说法正确的是( ) 。
A. px是一个指针,指向一个数组,数组的元素是整数型。
B. px是一个数组,其数组的每一个元素是指向整数的指针。
C. A和B均错,但它是C语言的正确语句。
D. C语言不允许这样的语句。
14.具有相同基类型的指针变量P和数组变量Y,下列写法中不合法的是 ( ) 。
A.P = Y B.*P = Y[i]
C.P + &Y[i] D.P = &Y
15.已知static int a[]={5,4,3,2,1},*p[]={a+3,a+2,a+1,a},**q=p,则表达式 *(p[0]+1)+**(q+2)的值是( )。
A.5 B.4 C.6 D.7
16.已知for(;n>=1;n--),下列语句实现将S2所指字符数组中前n个字符复制到S1所指字符数组中,其中代码不正确的是( )。
A.*S1++=*S2++ B.S1[n-1]=S2[n-1]
C.*(S1+n-1)=*(S2+n-1) D.*(++S1)=*(++S2)
17.调用函数的实参与被调用函数的形参应该有如下关系( ) 。
A.只要求实参和形