[C语言试题及答案.doc
文本预览下载声明
(本试卷包括第一卷和第二卷,答卷时间总共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=(xy)?z :y ; z = (zy)?z:x; A.1 B.4 C.2 D.35.下面标识符中,合法的用户标识符为( )。 A.P#Ad B.12a C.char D._int 6. ‘A’ + 3 的结果是( )。 A.’A’ B.’D’的ASCⅡ码 C.65 D.37.语句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.a12.若指针 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 = Y15.已知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.716.已知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.只要求实参和形参个数相等 B.只要求形参和实参顺序相同 C.只要求实参和形参数据类型相同 D.上述三点均需具备18.联合体成员的数据类型 ( )。A.相同 B
显示全部