D) 1
132. 设变量x和y均己正确定义并赋值。以下if语句中,在编译时将产生错误信息的是 ( A )
A) if (x++);
B) if (x>y && y!=0); C) if (x>0) x-- else y++;
D) if (y<0) {;} else x++;
133. 有以下程序 main()
{ int p[7]={11,13,14,15,16,17,18},i=0,k=0; while(i<7&&p[i]%2){k=k+p[i]; i++;} printf(\}
执行后输出的结果是( D ) A) 58 B) 56 C) 45 D) 24
134. 对于下述for循环语句,说法正确的是( B )。 int i,k;
for(i=0,k=-1;k=1;i++,k++) printf(\
A) 判断循环结束的条件非法 B) 是无限循环 C) 只循环一次 D) 一次也不循环
135. C语言源程序名的后缀是( B ) A) .exe B) .C C) .obj D) .cp
136. 在C语言中,如果下面的变量都是int类型,则输出结果是( A sum=a=5;
a=sum++,a++,++a; printf(\A) 7 B) 6 C) 5 D) 4
137. 以下关于运算符优先顺序的描述中正确的是( C ) A) 关系运算符<算术运算符<赋值运算符<逻辑与运算符 B) 逻辑与运算符<关系运算符<算术运算符<赋值运算符 C) 赋值运算符<逻辑与运算符<关系运算符<算术运算符 D) 算术运算符<关系运算符<赋值运算符<逻辑与运算符 138. 下述语句中,( C )中的if语句语法是错误的。 A) if(x>y);
B) if(x==y) x+=y;
C) if(x!=y) scanf(\D) if(x ) 139. 以下程序的输出结果是( A ) # include { char str[12]={'s','t','r','i','n','g'}; printf(\ } A) 6 B) 7 C) 11 D) 12 140. 若x为int型变量,y是float型变量,输入语句格式为: scanf(\ 则为使x=20,y=166.6,正确的输入是( B )。 A) 20 166.6 <回车> B) x=20,y=166.6 <回车> C) 20 <回车> 166.6 <回车> D) 20,166.6 <回车> 141. 有以下程序 #include { char str[ ][20]={“One*World”, “One*Dream!”},*p=str[1]; printf(“%d,”,strlen(p));printf(“%s\\n”,p); } 程序运行后的输出结果是( C ) A) 9,One*World B) 9,One*Dream C) 10,One*Dream D) 10,One*World 142. 以下程序运行后,如果从键盘上输入: book <回车> book <空格><回车> 则输出的结果是( B ) #include {char a1[80],a2[80],*s1=a1, *s2=a2; gets(s1); gets(s2); if(! strcmp(s1,s2)) printf(\else printf(\ printf(\} A) *8 B) #9 C) #6 D) *9 143. 若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( A) for(i=1, p=1; i<=5; i++) p*=i; B) for(i=1; i<=5;i++){ p=1; p*=i; } C) i=1; p=1; while(i<=5){ p*=i; i++;} D) i=1;p=1;do{p*=i; i++; } while(i<=5) 144. 以下程序运行后,输出结果是( B ) B ) main() { int y=18,i=0,j,a[8]; do { a[i]=y%2; i++; y=y/2; } while(y>=1); for(j=i-1;j>=0;j--) printf(\printf(\ } A) 10000 B) 10010 C) 00110 D) 10100 145. 在一个C语言程序中( B ) A) main函数必须出现在所有函数之前 B) main函数可以在任何地方出现 C) main函数必须出现在所有函数之后 D) main函数必须出现在固定位置 146. 有以下程序 #include for (k=1;k<3;k++) switch (k) {default: c+=k case 2: c++;break; case 4: c+=2;break; } printf(“%d\\n”,c); } 程序运行后的输出结果是( A ) A) 3 B) 5 C) 7 D) 9 147. 有以下程序 main() { char str[][10]={\printf(\} 程序运行后的输出结果是( B ) A) China B) Beijing C) ng D) ing 148. 下列函数定义中,会出现编译错误的是( B A) max(int x, int y, int* z) { *z = x>y?x:y; } B) int max(int x, y) { ) int z; z = x>y?x:y; return z; } C) max(int x, int y) { int z; z = x>y?x:y; return(z); } D) int max(int x, int y) { return (x>y ? x : y); } 149. 假定a和b为int型变量,则执行以下语句后b的值为( D ) a=1;b=10; do {b-=a;a++;} while(b--<0); A) 9 B) -2 C) -1 D) 8 150. 如果假设 a=2,b=3,x=3.5,y=2.5 那么下面的算术表达式的值是( B )。 (float)(a+b)/2+(int)x%(int)y A) 2 B) 3 C) 3.5 D) 2.5 151. 以下程序段给数组所有的元素输入数据,请选择正确答案填入( #include int a[10],i=0; while(i<10) scanf(\} A) a+(i++) B) &a[i+1] C) a+i D) &a[i++] 152. 以下选项中可作为C语言合法整数的是( C ) A) 10110B B) 386 C) 0Xffa D) x2a2 153. 有以下程序 main() { int i, s=0, t[]={1,2,3,4,5,6,7,8,9}; for(i=0;i<9;i+=2) s+=*(t+i); printf(\} D )。 程序执行后的输出结果是 ( C ) A) 45 B) 20 C) 25 D) 36 三、 多项选择题: 1. 以下叙述中正确的是( BCD ) A) 用户所定义的标识符允许使用关键字 B) 用户所定义的标识符应尽量做到“见名知意” C) 用户所定义的标识符必须以字母或下划线开头 D) 用户定义的标识符中,大、小写字母代表不同标识 2. 下列定义变量的语句中正确的是( ABC ) A) int _int; B) double int_; C) char For; D) float US$; 3. 设有定义:int k=1, m=2;float f=7;,则以下选项中符合C语言语法的表达式是 ( ABD ) A) k=k>=k B) -k++ C) k%int(f) D) k<>m 4. 若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0}, *p=x;则正确引用x数组元素的是( ACD ) A) *p B) x[5] C) *(p+1) D) *x 5. 若要求定义具有10个int型元素的一维数组a,则以下定义语句中正确的是 ( ABC ) A) #define N 10 int a[N]; B) #define n 5 int a [2*n]; C) int a[5+5]; D) int n=10,a[n]; 6. C源程序中可以表示的数制是 ( BCD ) A) 二进制 B) 八进制 C) 十进制 D) 十六进制 7. 按照C语言规定的用户标识符命名规则,能出现在标识符中的是( ACD ) A) 大写字母 B) 连接符 C) 数字字符 D) 下划线 8. 以下不合法的字符型常量是( AC )