1、 定义了一维int型数组a[10]后,下面错误的引用是_____
正确答案是:B
?a[0]=1;?
?a[10]=2;?
?a[0]=5*2;?
?a[1]=a[2]*a[0];?
2、 设有定义:int a=1, *p=&a; float b=2.0; char c='A'; ,以下不合法的运算是( )
正确答案是:C
*p++; ?
a--;  ?
b++;  ?
c--;?
3、 若有定义:int x[10], *p=x;,则*(p+5)表示( )?
正确答案是:B
数组元素x[5]的地址?
数组元素x[5]的值?
数组元素x[6]的地址?
数组元素x[6]的值?
4、执行以下程序段后,y的值是( )。 int a[ ]={1, 3, 5, 7, 9} int x=0, y=1, *ptr; ptr=&a[1]; while (!x) { y+=*(ptr+x); x++; }?
正确答案是:C
1 ?
2  ?
4 ?
24?
5、下面程序的运行结果是( )。 # include <stdio.h> void select(char *s) { int i,j; char *t; t=s; for(i=0,j=0;*(t+i)!='\0';i++) if(*(t+i)>='0'&&*(t+i)<='9') { *(s+j)=*(t+i); j++;} *(s+j)='\0
正确答案是:D
HPw19 &17?
HPw?
19 &17?
1917?
6、对于下面语句描述不正确的为_____ struct Student { unsigned long id; char name[30]; char class[30]; }oStu1;
正确答案是:B
struct Student为用户自定义类型?
Student为用户自定义类型?
name为结构体成员变量?
oStu1为结构体变量名称?
7、已知:char *pstr[]={"abcd","efgh"},**p=&pstr; 那么*(*(p+1)+1)的值为_____
正确答案是:C
b?
c?
f?
g?
8、 已知:int a[5]={0,1,2,3,4}; int *p=a; 下面的表达式不可以用来表示a[3]的是_____
正确答案是:C
?*(a+3)?
?*(p+3)?
?*p+3?
?p[3]?
9、 strlen("A\0B\0C")的结果为_____?
正确答案是:B
0?
1?
2?
3?
10、定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为_____?
正确答案是:B
24?
25?
28?
17?
11、 下面的描述错误的是_____?
正确答案是:C
?函数可以有多个形式参数?
?函数可以没有返回值?
?函数内可以嵌套定义函数?
?
函数可以被其他函数调用?
12、 下面关于全局变量的描述中,错误的是_____
正确答案是:C
?所有在函数体外定义的变量都是全局变量?
?全局变量可以和局部变量同名称?
?全局变量第一次被引用时,系统为其分配内存?
?全局变量直到程序结束时才被释放?
13、以下关于循环的描述中,错误的是_____
正确答案是:D
可以用for语句实现的循环一定可以用while语句实现?
可以用while语句实现的循环一定可以用for语句实现?
可以用do…while语句实现的循环一定可以用while语句实现?
do…while语句与while语句的区别仅仅是关键字while的位置不同?
14、 引用数组元素时,数组下标可以是_____
正确答案是:D
?整型常量?
?整型变量?
?整型表达式?
?以上均可?
15、 已知:int a[5]={0,1,2,3,4}; int *p=a; 下面的表达式不能用来表示a[3]的是_____
正确答案是:C
?*(a+3)?
?
*(p+3)?
?*p+3?
?p[3]?
16、 已知:char str[10],*p=str; 下面的语句中正确的是_____?
正确答
案是:B
?str="ABC";?
?p="ABC";?
?*str="ABC";?
?*p="ABC";?
17、对于下面语句描述不正确的为_____ struct Student { unsigned long id; char name[30]; char calss[30]; }oStu1;?
正确答案是:B
struct Student为用户自定义类型?
Student为用户自定义类型?
name为结构体成员变量?
oStu1为结构体变量名称?
18、一个c程序的执行是从________?
正确答案是:A
本程序的main函数开始,到main函数结束?
本程序文件的第一个函数开始,到本程序文件的最后一个函数结束?
本程序的main函数开始,到本程序文件的最后一个函数结束?
本程序文件的第一个函数开始,到本程序main函数结束?
19、若x、i、j和k都是int型变量,则计算下面表达式后,x的值为 ________ x=(i=4,j=16,k=32)
正确答案是:C
4?
16?
32?
52?
20、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是________
正确答案是:A
2.500000?
2.750000?
3.500000?
0.000000?
21、以下叙述中正确的是( )
正确答案是:D
?输入项可以是一个实型常量,如scanf(“%f”,3.5);?
?只有格式控制,没有输入项也能正确输入数据到内存,例如:scanf(“a=%d,b=%d”);?
?当输入实型数据时,格式控制部分可以规定小数位数,例如:scanf(“%4.2f”,&f);?
?当输入数据时,必须指明变量地址,例如:scanf(“%f”,&f);?
22、以下程序输出结果是( )。 void main( ) { int m=5; if(m++>5)printf(“%d\n”,m); else printf(“%d\n”,m--); }
正确答案是:B
7?
6?
5?
4?
23、当执行以下程序段时( )。 x=-1; do { x=x*x;} while(!x);
正确答案是:A
循环体将执行一次?
循环体将执行两次?
循环体将执行无限次?
系统将提示有语法错误?
24、执行以下程序后,输出的结果是( )。 void main() { int y=10; do {y--;} while(--y); printf(“%d\n”,y--); }
正确答案是:D
-1       ?
1 ?
8?
0?
25、有如下程序 void main() { int x=23; do { printf(“%d”,x--);} while(!x); } 该程序的执行结果是( )?
正确答案是:B
321?
23?
不输出任何内容?
陷入死循环?
26、有如下程序 void main() { int y=3,x=3,z=1; printf(“%d %d\n”,(++x,y++),z+2); } 运行该程序的输出结果是( )?
正确答案是:D
?3 4?
?4 2?
?4 3?
?3 3?
27、有如下程序 void main( ) { int x=1,a=0,b=0; switch(x){ case 0: a++; case 1: b++; case 2: a++;b++; } printf(“a=%d,b=%d\n”,a,b); } 该程序的输出结果是( )?
正确答案是:A
?a=1,b=2?
?a=1,b=1?
?a=1,b=0?
?a=2,b=2?
28、若程序中定义了以下函数 double myadd(double a,double b) { return (a+b) ;} 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是?
正确答案是:A
double myadd(double a,b) ;?
double myadd(double,doubl
e);?
double myadd(double b,double a) ;?
double myadd(double x,double y);?
29、有以下程序 int fun(int x , int y) { if(x<y) return x; return y; } main( ) { int a= 9,b=8,c=7; printf(“%d\n”, fun(a,b)); } 程序的执行结果是
正确答案是:B
函数调用出错?
8?
9?
7?
30、有以下程序 void f(int v , int w) { int t; t=v;v=w;w=t; } main( ) { int x=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z); else f(x,z); printf(“%d,%d,%d\n”,x,y,z); } 执行后输出结果是?
正确答案是:A
1,2,3?
3,1,2?
1,33,1?
2,3,1?
31、以下列一维整型数组a的正确说明是________
正确答案是:D
int a(10);?
int n=10,a[n];?
int n; scanf("%d",&n); int a[n];?
#define SIZE 10 int a[SIZE];?
32、若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为________。(假设a[0][0]位于数组的第1个位置上)
正确答案是:D
i*m+j?
j*m+i?
i*m+j-1?
i*m+j+1?
33、下面程序的运行结果是________。 #include "stdio.h" main() { char a[]="morning",t; int i,j=0; for(i=1;i<7;i++) if(a[j]<a[i]) j=i; t=a[j]; a[j]=a[7]; a[7]=a[j]; puts(a); }?
正确答案是:B
mogninr?printf输出格式char
mo?
morning?
mornin?
34、执行下面程序段的结果是_____ main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++ } printf("a=%d,b=%d",a,b); }?
正确答案是:B
a=1,b=1?
a=2,b=1?
a=1,b=0?
a=2,b=2?
35、若有以下程序段: for(m=1;m<=100;m++) { scanf(“%d”,&y); if(y<0) continue; printf(“%3d”,m); }正确的描述是_____
正确答案是:D
当y<0时整个循环结束?
当y>=0时什么也不输出?
printf 函数永远也不执行?
最多允许输出100个非负整数?
36、.以下关于switch语句和break语句的描述正确的是_____
正确答案是:D
在switch语句中必须使用break语句?
break语句只能用于switch语句体中?
break语句只能用于循环语句中?
在switch语句中可以使用break语句?
37、下列描述中,正确的是_____
正确答案是:A
所有的输入/输出都是通过调用库函数处理的?
所有的输入/输出都是通过输入/输出语句实现的?
getchar和putchar可以省略#include?
在输入/输出格式中的*表示跳过数据的含义?
38、若给定表达式(x)?(a++):(a--),则表达式x_____
正确答案是:C
和(x==0)等价?
和(x!=1)等价?
和(x!=0)等价?
和(x==1)等价?
39、对于"xy\n\102\\\'"字符串的长度是_____
正确答案是:B
7?
6?
12?
13?
40、下面说法不正确的是_____
正确答案是:D
C语言能编写操作系统?
C语言是函数式的语言?
数据类型多样化?
书写格式自由、不规范