广工C语言试卷答案
13.以下选项中非法的表达式是 A 。
A) 7.5%2/2B) x=y=0 C) (char)(66+1) D) ’c’+1
14.下列程序的输出结果是 D 。
void main()
{ float a=3.2;
int b,c;
b=1.2;
c=(b+3.8)/5.0;
printf(“%d\n”, a*c);
}
A) 3B) 3.2C) 3.07 D) 0
15.C语言中用于结构化程序设计的三种基本结构是 A 。
A) 顺序结构、选择结构、循环结构B) if, switch, break
C) for, while, do-whileD) if, for, continue
16. 执行以下程序,输出结果是 D 。
int x, y=3, z=2;
x=(--y==z++)?--y:++z;
printf(“x=%d y=%d z=%d”,x,y,z);
A) x=4 y=2 z=4B) x=3 y=2 z=3
C) x=4 y=1 z=4 D) x=1 y=1 z=3
17. 已有定义: char a[]="abc",b[]={'a','b','c'}; 以下叙述中正确的是 C
A) 数组a和b的长度相同 B) a数组长度小于b数组长度 C) a数组长度大于b数组长度 D)上述说法都不对
18.执行以下程序,输出结果是 C 。
void main()
{ int x=3,y=4,z=2,i;
i=xy;
printf(“i=%d z=%d”, i,z);
}
A) i=0 z=10B) i=1 z=10 C) i=0 z=2D) i=1 z=2
19. 用数组名作为函数调用时的实参,实际上传送给形参的是 A
A) 数组首地址 B) 数组的第一个元素值
C) 数组中全部元素的值 D) 数组元素的个数
20. 执行如下语句, 输出c的值是 C 。
int c=1, x=3;
switch(x+1)
{ case 4: c++;
case 6: c++;
break;
default: c++;
}
printf(“%d”, c);
A) 1B) 2C) 3D) 4
21. 若有定义:int a[2][3]; 则对a数组的第i行j列元素的正确引用为A
A) *(a[i]+j)?? B) *(a+i)+j?? C) *(a+i+j)?? D) a[i]+j
22.若有如下程序:
void main()
{ int x=1,a=0;
do
{ a++; }while(x,x--);
}
则语句a++; 执行的次数是 C 。
A) 0B) 1 C) 2D) 无限次
23.以下程序中,while循环的循环次数是 D 。
void main()
{ int i=0;
while(i<10)
{ if(i<1) continue;
if(i==5) break;
i++;
}
…… }
A) 1B) 10 C) 6 D) 死循环,不能确定次数
24.下面能正确定义一维数组的选项是 B 。
A) int num[];B) #define N 10
int num[N];
C) int num[0..10]; D) int N=10;
int num[N];
25.在C语言中,函数的隐含存储类别是 C 。
A) autoB) static C) extern D) 无存储类别
26.以下程序的输出结果是 C 。
void main()
{char str[20]=”hell\0o\t”;
printf(“%d %d\n”, strlen(str),sizeof(str)); }
A) 9 7B) 7 20 C) 4 20D) 20