1、D. 等于18.选出表达式结果为假的一项( b )。A. 1=4B. (25=5)C. (3=3)&(25)D. !(4=8)|(3b)+(int)b%2D. -b+a11.下列运算符中,优先级别最高的是( b )。A. =B. %C. |D. +12.关于下列语句描述正确的是( b )。union unsigned int n;unsigned char c; u1;A. u1是共用体类型名B. u1是共用体变量名C. u1是结构体类型名D. u1占用内存空间3字节13.设有int x,y;正确的输入语句是( c )。A. scanf(%d%d,x,y);B. scanf(x=%f,y=%f
2、,&x,&y);C. scanf(%d,%dD. scanf(x=%d,y=%d14.在一个C语言程序中( b )。A. main函数必须出现在所有函数之前B. main函数可以在任何地方出现C. main函数必须出现在所有函数之后D. main函数必须出现在固定位置15.有关预处理命令#define N 10,以下描述正确的是( c )。A. N在程序运行时可以被改变B. N是个整型变量C. N没有值和类型的含义D. N是个标识符,称为宏体16.当调用函数时,实参是一个数组名,则向函数传送的是( b )。A. 数组的长度B. 数组的首地址C. 数组每一个元素的地址D. 数组每个元素中的值17
3、.有以下程序main() int i;for(i=0;iD. ?:25.以下语句中不正确的是( a )。A. char s10;s=testB. char s=tesC. char s20=D. char *s=testn26.有以下程序段int k=0;while(k=1) k+;while 循环执行的次数是( a )。A.无限次B.有语法错,不能执行C.一次也不执行D.执行1次27.关于else语句描述正确的是( c )。A. 不可缺少B. 必须与离之最近的if语句配对使用C. 不可以单独使用D. 必须使用缩进格式表示28.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7
4、、d=8、m=2、n=2,则逻辑表达式(m=ab)&(n=cd)运算后,n的值为( c )。A. 0B. 1C. 2D. 329.合法的赋值语句是( b )。A. x=y=100B. d-;C. x+y;D. c=int(a+b);30.以下程序段的输出结果是( c )。int x=3;do printf(%3d,x-=2);while(!(-x);A. 1B. 3 0C. 1 -2D. 死循环31.只有当整数x为奇数时,表达式为逻辑“真”的是( b )。A. x%2=0B. !(x%2=0)C. (x-x/2*2)=0(x%2)31.下列程序段的输出结果是( a )。for(a=1;a=10
5、;a+)if(a%3=1)break;,a);B. 2C. 332.以下叙述中正确的是( b )。A. 全局变量的作用域一定比局部变量的作用域范围大B. 静态(static)类别变量的生存期贯穿于整个程序的运行期间C. 函数的形参都属于全局变量D. 未在定义语句中赋初值的auto变量和static变量的初值都是随机值33.有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5); ,该函数调用语句中,含有的实参个数是( a )。A. 3B. 4D. 有语法错误34.与y=(x!=0?1:-1);功能相同的if语句是( b )。A.if(x0) y=1;else y=-1
6、;B.if(x) y=1;C.if(x) y=-1;else y=1;D.if(x=0) y=1;35.以下能正确定义数组并正确赋初值的语句是( d )。A. int N=5,bNN;B. int a02=1,3;C. int c2=1,2,3,4;D. int d32=1,2,3,4;36.下列选项中合法的字符常量是 ( b )A. B. RC. ABCD. n37.若有如下定义:int a10;则下面不能正确表示 a1地址的表达式是( d )。A. &a1a0+1C. a+1D. a+38.若有以下程序:main ( ) int a33=1,2,3,4,5,6,7,8,9 , i=0,su
7、m=0; sum+=aii;i+; while(i3);printf( , sum ); 则程序运行后的输出结果是 ( a )。A. 15B. 12C. 16D. 1839.下列数组声明中不正确的是( c )。A.char a4 ;B. char a 4=aa,C. char a4 ;D.char a54;40.有以下声明语句:struct x int a ; float b; char c; y ; 则下列叙述中不正确的是( b )。A. x 是定义的结构体名.B. y 是定义的结构体类型名.C. struct是结构体类型的关键字.D. a,b,c 都是结构体成员名.41.已知int t=0
8、;则以下关于 while(t=1). . .的说法正确的是( c )。A. 循环控制表达式不正确B. 循环控制表达式的值永远为1C. 死循环,永远无法结束D. 一次循环体都不会执行.42.int x=3,y=4,a=,b=6; 则表达式(a=x) &(b=y)的值是 ( b )。43.执行以下程序后的输出结果为( b )。# include for (i=A iIi+,i+)%c,i+32););A. abcdefghiB. acegC. acegiD.编译出错,无输出。44.以下关于宏替换的叙述不正确的是( d )。A. 宏替换不占用运行时间B. 宏替换只是字符替换,不作语法检查C. 宏名称
9、无类型D. 宏名称必须用大写字母表示45.一个C语言程序由若干个函数组成,其中唯一不可缺少的函数是( d )。A. 库函数B. scanf 函数C. printf函数D. main函数46.下面程序的输出是( a )。 int a10=1,2,3,4,5;,a6);47.若有static char s10=abcdefg 则数组s 所占的字节数是( b )。A.7B. 10C. 11D. 848.下列程序的功能是 ( a )int s44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16;int m,n;for (m=0;m4;m+) for (n=0;n0 ; )
10、;后,变量x 的值是 ( a )。A. -1B. 0C. 1D.不确定50.若有以下程序: int x6=11,16,17,28,20, *t=x+3;printf ( ,*t-2);则程序运行后的输出结果是 ( d )。A. 18B. 14C. 29D. 2651.表达式x 和y 的取值同时在 ( 0, +) 或同时在 (-, 0) 的表达式是( c ) 。A. (x+y0) & (x+y=0 | | y=0) & (x0 |y0&y0 | x0 & y=0&(xy52.有以下程序:main( ) int n,s8;for ( n=1; n6) printf(,n-);A. 9876B. 8
11、76C. 987D. 876557.下列说法正确的是( d )。A. C 语言能嵌套定义函数,但不能嵌套调用函数B. C 语言不能嵌套定义函数,也不能嵌套调用函数C. C 语言能嵌套定义函数,也能嵌套调用函数D. C 语言不能嵌套定义函数,但能嵌套调用函数58.a,b,c,d 都为float 型,且已正确赋值,则与数学表达式2ab/(5cd)等价的C语言表达式是( a )。A. a/c*b/d*2/5B. a/(5*c*d)/2*bC. 2*a*b/5*c*dD. 2/5*a*b*(1/c*d)59.下列程序的执行结果是( b )。 int a,b,c; c=(a=3,b=a-);%d,%d,
12、%d,c,a,b);A. 3,3,3B. 3,2,3C. 2,3,3D. 2,2,360.有如下定义:int a=3,b=-4; long c=5; float x; double y ; 则下列选项中不符合C语言语法的表达式是( c )。A. a+=a-=a*bB. a%bC. y=2*x;D. y=(float)c1.在C语言中函数的隐含存储类型是( a )。D. 无存储类型2.执行语句for(i=1;i+=0;i-)ai=10-i;,a2,a5,a8);A. 258C. 852D.36916.下列说法正确的是( a )。A. continue语句只能用于循环语句中B. switch语句中
13、必须有default语句C. break语句只用于循环语句内D. break终止本次循环,continue终止本重循环17.关于函数的说法不正确的是( a )。A. 被调用函数的定义必须放在主调函数之前B. 函数调用可以嵌套C. 程序的入口是从main()开始D. 各函数之间是平行的,相互独立的18.已知int a,b;则下列表达式不合法的是 ( b )。A. a/bB. (a+b)+C. a+=bD. a*=b+319.C语言中do 循环体while( 表达式);语句中,说法正确的是( b )。A. 循环体可能一次也不执行B. 循环体会至少执行一次C. 循环体必须用组成复合语句D. 表达式的
14、值为0时,返回循环体执行循环内容20.下列属于C语言基本数据类型的是( c )。A. 整型、实型、逻辑型B. 整型、字符型、逻辑型C. 整型、字符型、实型D. 整型、实型、字符型、逻辑型21.若给出以下定义:char a=char b=abcdfg正确的叙述为( c )。A. 数组a与数组b等价B. 数组a与数组b的长度相同C. 数组a的长度大于数组b的长度D. 数组a的长度小于数组b的长度22.执行以下程序后的结果为( a )。int i=1;while(i=5)%d,i+);A. 1,2,3,4,5,B. 2,3,4,5,6,C. 2,3,4,5,D. 1,2,3,4,23.以下描述中正确
15、的是( c )。A. 预处理指完成宏替换和文件包含中指定的文件的调用B. 预处理命令也是C语句C. 凡是行首以#开始的控制行都是预处理命令D. 预处理命令只能放在程序的开头24.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( b )。A. 地址传递B. 单向值传递C. 由实参传给形参,再由形参传给实参D. 传递方式由用户指定25.为表示关系xz ,C 语言表达式应是( a )。A. (x)B. (xC. (xD. (x1.下列说法正确的是( d )。2.C 语言规定函数返回值的类型由( a )。3.表达式x 和y 的取值同时在 ( 0, +) 或同时在 (-, 0) 9.有如下定义: