整型常量 整型变量 整型表达式 以上均可
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=\ p=\ *str=\ *p=\
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,double);
double myadd(double b,double a) ; double myadd(double x,double y);
29、有以下程序 int fun(int x , int y) { if(x 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(\#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 \a[]=\int i,j=0; for(i=1;i<7;i++) if(a[j] mogninr 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(\正确答案是: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(“=”,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)等价