1、1下面选项中,不能用作 C 语言标识符的是 ( C ) 。A_00 Bprint C”,下面语句中语法正确的是( C ) 。Aif(x%2=1)y=x; Bif(sqrt(x)%2)y=x;Cif(x=1)y=x; D if(x=1)y=下列运算符中,优先级最低的是( D ) 。A* B!= C+ D=逻辑“异或”运算可描述为当且仅当 a、b 两个操作数中只有一个为真时才为真,其他情况下均为假。下面能够正确表示逻辑“异或”运算的表达式是( D )) 。Aa | b Ba ”,则调用 fun 函数的正确形式是( B ) 。Afun; Bfun(); Cfun(void); Dfun(1);设有下
2、列程序段:static int y=2;void f2( ) static float d=3; int x=1;void f1( ) int z=3; 关于程序段中各变量的属性,下面叙述中错误的是( D ) 。Ax 是全局变量,函数 f1 可以访问,函数 f2 不能访问By 是全局变量,函数 f1 和函数 f2 都可以访问Cz 是动态变量,函数 f1 可访问,函数 f2 不可访问Dd 是静态变量,函数 f1 和函数 f2 都可以访问已知某编译系统中 singed int 类型数据的长度是 16 位,该类型数据的最大值是( A ) 。A32767 B32768 C127 D65535设 k=7
3、,x=12,则下列表达式值为 3 的是( D ) 。Ax%=(k%=5) Bx%=(k-k%5)Cx%=k-k%5 D (x%=k)-(k%=5)已有定义“int a=5,4,3,2,1,i=4;”,下列对 a 数组元素的引用中错误的是( B ) 。Aa-i Baa0 Ca2*2 Daai己有声明“int a=0,b=l,*p,*q;”,下列正确的语句是( C ) 。Aa=p; Bb=q; Cp= Dp=C 语言中,结构体类型变量在程序执行期间( A ) 。2A所有成员一直驻留在内存中B只有一个成员驻留在内存中C部分成员驻留在内存中D没有成员驻留在内存中若有定义和声明 typedef enum
4、green, red, yellow, blue, b1ackcolor; color flower;,则下列语句中正确的是( B ) 。Agreen=red; Bflower=red;Ccolor=red; Denum=red;在文件包含预处理语句include 的使用形式中,当之后的文件名用双引号括起来时,寻找被包含文件的方式是( C ) 。A仅搜索当前目录B仅搜索源程序所在的目录C先在源程序所在目录搜索,再按系统设定的标准方式搜索D直接按系统设定的标准方式搜索目录已有定义“int a23=0; *p=a0;”,下面表达式中有语法错误的是( A ) 。Aa0=1 Bp0=1 C*p=1 D
5、a00=1下面关于 C 语言数据文件的叙述中正确的是 ( D ) 。A文件由 ASCII 码字符序列组成,C 语言只能读写文本文件B文本由二进制数据序列组成,C 语言只能读写二进制文件C文件由记录序列组成,可按数据的存放形式分为文本文件和二进制文件D文件由数据流序列组成,可按数据的存放形式分为文本文件和二进制文件下面选项中,不能用作 C 语言标识符的是 (C)。AFOR B_10 C int i;”,欲将 x 中的数值保留小数点后两位,第三位进行四舍五入运算,能实现该功能的表达式是(A)。Ai=x*100+0.5, x=i/100.0 Bx=(x*100+0.5)/100.0Cx=(int)x
6、*100+0.5)/l00.0 Dx=(x/100+0.5)/100.0下面定义符号常量 p 为 3.14 中正确的是(D)。A#define p 3.14; B#define p(3.14)C#define p=3.14 D#define p 3.14表达式 !x 等价于(A)。Ax=0 Bx=1 Cx != 0 Dx!=1下面关于 if 语句和 switch 语句的叙述中错误的是(D)。Aif 语句和 switch 语句都可以实现算法的选择结构Bif 语句和 switch 语句都能实现多路(两路以上)选择Cif 语句可以嵌套使用Dswitch 语句不能嵌套使用下面关于循环语句 for、wh
7、ile、do_while 的叙述中正确的是(A) 。A三种循环语句都可能出现无穷循环B三种循环语句中都可以缺省循环终止条件表达式C三种循环语句的循环体都至少被无条件地执行一次D三种循环语句的循环体都必须放入一对花括号中在 C 语言中 while 和 do-while 循环的主要区别是(C)。Awhile 的循环控制条件比 do-while 的循环控制条件严格Bdo-while 允许从外部转到循环体内Cdo-while 的循环体至少无条件执行一次3Ddo-while 的循环体不能是复合语句若已定义一个有返回值的函数,则下面关于调用该函数的叙述中错误的是(A)。A函数调用可以作为一个函数形参B函数
8、调用可以出现在表达式中C函数调用可以作为一个函数实参D函数调用可以作为独立的语句存在设有下列程序段:static int y=2;void f2( ) static float d=3; int x=1;void f1( ) int z=3; 关于程序段中各变量的属性,下面叙述中错误的是(D)。Ax 是全局变量,函数 f1 可以访问,函数 f2 不能访问By 是全局变量,函数 f1 和函数 f2 都可以访问Cz 是动态变量,函数 f1 可访问,函数 f2 不可访问Dd 是静态变量,函数 f1 和函数 f2 都可以访问若有代数式 ,则不正确的 C 语言表达式是(C)。bc6Ax/b/c*y*6
9、B6*x*y/b/cC6*x*y/b*c Dx*y/c/b*6已有定义“int i;float f;”,则下面 正确的表达式是(D) 。A(int f)%i Bint(f)%i Cint(f%i) D(int)f%i已有定义“int a23”,下面选项中(A)正确地引用了数组 a 中的基本元素。Aa12!1 Ba20 Ca1 Da已有定义“int m=3, c, *a=”,则下列语句中错误的是(C) 。Aa=b=0; Ba= C D*b=*a定义一个结构体变量时,系统分配给它的内存是(A)。A各成员所需内存总和B成员中所占内存最多的容量C结构中第一个成员所占内存的容量D结构中最后一个成员所占内
10、存的容量已有枚举类型定义“enum letterE, F, G=7, H, I;”,下面表达式中除(D) 外,其他表达式的机内值均等于 10。Axb-1 BF+I C010+2 D0xf-3下面关于宏的叙述正确的是(A)。A宏定义没有数据类型限制B宏名必须用大写字母表示C宏定义必须位于源程序中所有语句之前D宏调用比函数调用耗费时间设有声明语句“int b33=1,2,3,4,5,6,7,8,9;”,下面语句中不能输出数组元素 b12的值 6的是(C)。Aprintf(“%d “,*(*(b+1)+2) Bprintf(“%d “,*(Cprintf(“%d “,*(b+1)2); Dprint
11、f(“%d “,*(b1+2);如果要用 fopen()函数打开一个新的二进制文件,该文件要既能读也能写,则文件打开方式应为(A)。A“wb+“ B“ab+“ C“rb+“ D“ab“下面选项中,不能用作 C 语言标识符的是 (C)。Aprint BINT C” ,则下列表达式中值为 0 的是(D)。Aavoid f2( ) static float d=3; int x=1;void f1( ) int z=3; 关于程序段中各变量的属性,下面叙述中错误的是(D)。Ax 是全局变量,函数 f1 可以访问,函数 f2 不能访问By 是全局变量,函数 f1 和函数 f2 都可以访问Cz 是动态变
12、量,函数 f1 可访问,函数 f2 不可访问Dd 是静态变量,函数 f1 和函数 f2 都可以访问表达式“A +4*25.0-b”的正确结果是(B) 。A67 B67.0 C不确定 D67L存储字符串“abc376“ 需要的字节数是 (D)。A11 B13 C6 D7若有数组 a 和 b 的声明“static char a= “abcdef“,b= a, b, c, d, e, f;”则数组 a 和数组5b 的长度分别是(A) 。A7,6 B6,7 C6,6 D7,7己有声明“int a10=0, 1, 2, 3, 4, 5, 6, 7, 8, 9,*p=a;”,则不能表示数组 a 中元素的是
13、(D)。A*p Ba6 C*a DpaC 语言中,下列属于构造类型的是(D) 。A整型 B实型 C指针类型 D结构体类型若有枚举类型定义“enum variA1, A2, A3, A4=6, A5, A6;”,则枚举常量 A2 和 A6 代表的值分别是(B)。A1,6 B1,8 C2,6 D2,8下面叙述错误的是(C)。A宏替换不占用程序运行时间 B宏名无类型C宏名必须用大写字母表示 D宏替换只是字符替换已有定义“int a23=1, 2, 3, 4, 5, 6;”,则下列表达式中不能正确引用值为 5 的数组元素的是(C)。A*(a0+4) B *(a1+1) C*(*(a+3)+1) D *
14、(*a+4)若只允许对数据文件 abc.txt 做一次打开文件操作,修改其中的数据,则打开文件语句应为“fp=fopen(“abc.txt“,(B);”。A“w+“ B“r+“ C“a+“ D“r“以下叙述中正确的是A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整以下选项中,能用作用户标识符的是A)voidB)8_8C)_0_D)unsigned阅读以下程序#include main() int case; float printF;printf(“请输入 2 个数:”);scanf(“%d %f”,p
15、rintf(“%d %fn”,case,printF);该程序编译时产生错误,其出错原因是A)定义语句出错,case 是关键字,不能用作用户自定义标识符B)定义语句出错,printF 不能用作用户自定义标识符C)定义语句无错,scanf 不能作为输入函数使用D)定义语句无错,printf 不能输出 case 的值表达式:(int)(double)9/2)-(9)%2 的值是A)0B)3C)46D)5 若有定义语句:int x=10; ,则表达式 x-=x+x 的值为A)-20B)-10C)0D)10有以下程序#include main() int a=1,b=0;printf(“%d,”,b=
16、a+b);printf(“%dn”,a=2*b);程序运行后的输出结果是A)0,0B)1,0C)3,2D)1,2设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是A)if(ab) c=a,a=b,b=c;B)if(ab) c=a,a=b,b=c;C)if(ab) c=a;a=b;b=c;D)if(ab) c=a;a=b;b=c;有以下程序#include main() int c=0,k;for (k=1;kb?(bc?1:0):0 ;功能相同的是A)if(ab)else k=0;B)if(ab)|(bc) k=1;7else k=0;C)if(ab) k=1;e
17、lse if(bc) k=1;else k=0;20)有以下程序#include main() char s=“012xy”;int i,n=0;for(i=0;si!=0;i+)if(si=aprintf(“%d %dn”,k,n);程序运行后的输出结果是A)0 2B)1 3C)5 7D)1 2有以下定义语句,编译时会出现编译错误的是A)char a= a;B)char a=n;C)char a=aa;D)char a= x2d;有以下程序#include main() char c1,c2;c1=A+8-4;c2=A+8-5;printf(“%c,%dn”,c1,c2);8已知字母 A 的
18、 ASCII 码为 65,程序运行后的输出结果是A)E,68B)D,69C)E,DD)输出无定值有以下程序#include void fun(int p) int d=2;p=d+; printf(“%d”,p);main() int a=1;fun(a); printf(“%dn”,a);程序运行后的输出结果是A)32B)12C)21D)22以下函数 findmax 拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能#define MIN -2147483647int findmax (int x,int n) int i,max;for(i=0;i max=MIN;
19、if(maxreturn max; 造成错误的原因是A)定义语句 int i,max;中 max 未赋初值B)赋值语句 max=MIN;中,不应给 max 赋 MIN 值C)语句 if(maxD)赋值语句 max=MIN;放错了位置 有以下程序#include main() int m=1,n=2,*p=r=p;p=q;q=r;printf(“%d,%d,%d,%dn”,m,n,*p,*q);程序运行后的输出结果是A)1,2,1,2B)1,2,2,1C)2,1,2,19D)2,1,1,2若有定义语句:int a410,*p,*q4; 且 0i=y 。C 语言有效的预处理命令总是以 开头。常量n
20、的数据类型是 。已有定义“int b10, *p=b, *q; q=”,则表达式 q-p 的值是 。在文件中,以符号常量 EOF 作为文本文件(字符流文件)的结束标记,EOF 代表的值是 。若要声明一个类型名 STR,使得定义语句 STR s 等价于 char *s,则声明语句是 。结构化程序设计语言编写的程序由三种结构组成:顺序结构、 和循环结构。C 语言中除复合语句外的其它所有语句都以 结束。已有定义“double a=10, b=5; ”,则计算 ab 的库函数调用形式是 。C 语言有效的预处理命令总是以 开头。已有定义“char a=1; int b=2; float c=3; dou
21、ble d=4;”,则表达式“c=a+b+c+d”值的类型为 。用 typedef 定义一个长度为 10 的整型数组 NUM 的语句是 。执行下面程序段中的语句“k = A*A+1;”后 k 的值是 。#define B 2#define A B+1k = A*A+2;已有定义“int a4=1, 2, 3, 4, 5, 6, 7, 8, 9;” ,则数组 a 第一维的大小是 。程序中已使用预处理命令“#include” ,为使语句“fp=fopen(“asc.txt“,“r“);”能正常执行,在该语句之前必须有定义 FILE ;。执行“printf(“%d ,%d“, a, b, c, d); ”后在屏幕上将输出 个整数。C 语言中除复合语句外的其它所有语句都以( 分号 )结束。