if(a>6) a=a+b; . else if(a==6) b=a+c; else
a=b+c;
printf(\ } A. 5 B. 8 C.6 D.9
44 若有定义:int x,a; 赋值语句a=(x%3==0)?0:1; 与(A. if (x%3!=0) a=1; else a=0; B. if (x%3) a=0; else a=1;
C.if (x%3==0) a=0; else a=1; D.if (!(x%3==0)) a=1; else a=0; 45 以下程序段的运行结果是( )。 int s=15; switch(s/4) {
case 1: printf(\ case 2: printf(\ case 3: printf(\ default: printf(\ }
A. Three B. Two Over
C. Three Over D.One Over
46 以下程序段的运行结果是( )。 int s=15; switch(s/4) {
default: printf(\
case 1: printf(\ break; case 2: printf(\ }
A. Two B. Over Two
C. Over One D.One
47 以下程序段运行后x的值为( )。 int a=3,b=6,x; x=(a==b)?a++:--b; A. 4
)语句不等价。 B. 3 C.6 D. 5
48 若有定义: int i,x; ( )不是死循环。 A. for(x=5;x>0;x--) ; B. while(x=1) ;
C.for(i=10; ;i--) ; D.for( ; ;i+=2) ;
49 下面叙述正确的是( )。
A. for循环只能用于循环次数已经确定的情况 B. for循环是先执行循环体语句,后判断表达式 C.在for循环中,不能用break语句跳出循环体
D. for循环的循环体可包含多条语句,但必须用花括号{ }括起来 50 以下程序段运行后x的值为( )。 int i,j,x=0;
for(i=3;i>=1;i--) for(j=1;j<=i;j++) x=x+2; A. 14 B. 12 C.8 D.10
51 以下程序段运行后x的值为( )。 int i=0,x=2;
while(i++<=5) {x+=2; } A. 10 B. 14 C.12 D.8
52 若有定义: int i,x=0; 语句for(i=1;i<=3;i++) x+=2;与下列( )程序段不等价。 A. i=1; for( ;i<=3;i++) x+=2; B. i=1; for( ; ;i++) x+=2;
C.for(i=1;i<=3; ) {x+=2; i++;} D.i=1; for( ;i<=3; ) {x+=2; i++; } 53 以下程序段运行后x的值为( )。
int i=0,x=0; for(;i<=5;i++,i++) {x+=3;} A. 15 B. 6 C.12 D. 9
54 若有定义:int a[10],i=2; 能正确引用a数组元素的是( )。 A. a[9+i] B. a[10-i]
C.a[10] D. a(7)
55 ( )是正确的数组定义。 A. int arr[10]; B. int n=5; int arr[n]; C.int N=5, arr[N]; D.int n; n=5; int arr[n];
56 若有定义:int arr[15],n=5; 无法正确引用arr数组元素的是( )。 A. arr[0] B. arr[n]
C. arr[10+n] D.arr[15-n]
57 以下程序段运行后x的值为( )。
int a[8]={1,2,3,4,5,6,7,8},i,x=0; for(i=0;i<8;i++,i++) x=x+a[i]; A. 36 B. 16 C.20 D.18
58 以下程序段运行后x的值为( )。
int a[8]={1,2,3,4,5,6,7,8},i,x=0; for(i=1;i<8;i++,i++) x=x+a[i]; A. 20 B. 16 C.18 D.36
59 下面叙述错误的是( )。
A. 数组中每一个元素都属于同一个数据类型 B. C语言数组名称是数组在内存中的首地址
C. C语言数组长度在定义数组时可不作确定
D. C语言规定可逐个引用数组元素但不能一次引用整个数组 60 以下程序段的运行结果是( )。
int t[][3]={1,2,3,4,5,6,7,8,9,10,11,12}; printf(\ A. 5 B. 3 C.4 D.1
61 以下程序段运行后s的值是( )。 int a[3][3]={1,2,3,1,2,3,1,2,3}; int i,j,s=0;
for(i=0;i<3;i++)
for(j=i;j<3;j++) s+=a[i][j]; A. 13 B. 14 C.15
D.12
62 以下( )对二维数组arr的初始化是错误的。 A. int arr[2][3]={{1,2},{3,4}}; B. int arr[][3]={1,2,3,4,5};
C.int arr[2][3]={{1,2},{3,4},{5,6}}; D.int arr[2][3]={{1},{3,4,5}};
63 若有定义:int a[3][4]={{1,2},{3,4},{5,6,7}}; ,则a[1][1]的值为( ) A. 4 B. 2 C.1 D.3
64 若有定义:int a[3][2]; ,则表达式&a[2][1]-a的值为( )。 A. 5 B. 4 C.3 D.2
65 以下程序段运行后x的值为( )。
int i=0,x=0; int a[3][3]={1,2,3,4,5,6,7,8,9}; for (;i<3;i++) x+=a[i][i]; A. 0 B. 12 C.15 D.18
66 若有定义:char str1[10],str2[10]=\,能将字符串\赋给数组str1的正确语句是( )。
A. str1=\ B. strcpy(str1,str2); C.strcpy(str2,str1); D.strcopy(str1,str2);
67 以下程序段的运行结果是( )。 char str[3][2]={ 'a','b','c','\\0','e','f'}; printf(\ A. a B. abcef
C.abc\\0ef D. abc
68 以下程序段的运行结果是( )。 char str[]={ \ printf(\ 1 A. 9 B. 7
C. 6 D.8
69 以下程序段的运行结果是( )。 char a[]=\ char b[]=\ strcpy(a,b); printf(\ A. c B. z C.b
D.y
70 以下程序段的运行结果是( )。 char a[]=\\ char b[]=\ char c[10]; strcpy(c,a); strcat(c,b); printf(\ A. abc B. abc xyz C.xyz D.xyzabc
71 以下程序段运行后a的值为( )。 int a=2; a=strcmp(\ A. 1 B. 0 C.-1 D.true
72 C语言中,数组名作为函数调用的实参时,下面叙述正确的是( )。 A. 传递给形参的是数组元素的个数 B. 传递给形参的是数组第一个元素的值 C.传递给形参的是数组中全部元素的值
D. 形参数组中各元素值的改变会使实参数组相应元素的值同时发生变化 73以下程序的运行结果是( )。 int fun(int array[3][3]) { int j; for(j=0;j<3;j++) array[1][j]++; printf(\ } main() { int j,a[3][3]={0,1,2,1,0,4,2,4,5}; fun(a); for(j=0;j<3;j++) printf(\ printf(\ } A. 2 1 5 B. 1 0 4 C.0 1 2 D.1 2 3
74 C语言中,若缺省定义函数返回值类型,则该函数默认返回值类型是( )。 A. void B. long C. int D.double
75 以下程序的运行结果是( )。 int f(int c) { c+=2; return c ; } main() { int a=2,c=5; a=f(a); printf(\ %d \\n\ } A. 4 4 B. 4 5 C.2 4 D.2 5
76 以下程序的运行结果是( )。 int a=2,b=3; int min(int a,int b) { int c; c=a
C. 3 D.4
77 以下程序的运行结果是( )。 fun() { static int a=0; a++; printf(\ \ } main() { int i; for(i=1;i<=2;i++) fun(); } A. 1 1