《C语言程序设计》在线作业一
试卷总分:100 得分:100
一、单选题 (共 40 道试题,共 100 分)
1.设有定义:int k=3,*p=&k; 则表达式 *p的值是 ________。
A.0
B.1
C.2
D.3
2.已知数组float b[3][2];该数组行下标的范围是________。
A.1~3
B.0~3
C.1~2
D.0~2
3.设int a=5,b=6;b*=a+1;则b的值为()。
A.5
B.6
C.31
D.36
4.设int a[6]={1,2,3,4,5,6 }, *p=a;, *(p+3)的值是____.
A.3
B.4
C.5
D.6
5.要将a和b中的数据进行交换,以下不正确的是____
A.t=b; b=a; a=t;
B.t=a; a=b; b=t;
C.b=a+b; a=b-a; b=b-a;
D.a=b; t=a; b=t;
6.设x=1,y=2,m=4,n=3,则表达式x>y?x:m<n?y:n的值为()。
A.1
B.3
C.2
D.4
7.设有:int a[ ]={1,3,5,7,9},i=0;,下面数组元素引用错误的是( )。
A.a[i]
B.a[i+2]
C.a[a[i]]
D.a[i+5]
8.执行printf(“%-4d%c”,85,’A’);后的结果是_____(每个□代表一个空格)。
A.85A
B.85□□A
C.□□85A
D.□□85□□A
9.有以下程序: #include<stdio.h> int f ( int n, int a[ ]) { int i,s; for ( i=0,s=0; i<=n; i++ ) s=s+a[i]; return s; } void main() { int x,a[ ]={1,3,5,7,9,11}; x=f(3, a ); printf(“%d\n”, x ); } 程序执行后的结果是( )
A.36
B.16
C.9
D.3
10.表达式6!=7的值是______。
A.0
B.1
C.6
D.true
11.数组名作为函数的实参进行传递时,形参获得的是_________。
A.该数组第一个元素的值
B.该数组所有元素的值
C.该数组所有元素的地址
D.该数组的首地址
12.使用scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的输入格式是()。
A.a=2.2,b=3
B.a=2.2 b=3
C.2.2 3
D.2.2,3
13.设int a[ ]={3,6,8,10,12,13,15}; , 则数组元素a[3]的值是___。
A.3
B.8
C.10
D.12
14.下列二维数组初始化中,错误的是________.
A.int a[ ][3]={{3,4},{5,6,7}};
B.int a[ ][3]={2,3,4,5,6,7};
C.int a[3][3]={0};
D.int a[3][]={{1,2,3},{2,3}, {3,4,5}};
15.在C语言中,运算对象的逻辑值“真”用________表示。
A.false
B.非0数
C.0
D.负数
16.设char s[10];,函数strcpy(s,“abcd”)执行后s中的内容是_______。
A.a
B.s
C.abc
D.abcd
17.程序 #include <stdio.h> void main( ) { struct ss{ int x; float y; } m[2]={10, 5.6, 20, 7.8}; printf(“%5.1f\n”, m[0].x*m[1].y); } 执行后的输出结果是( )
A.78.0
B.56.0
C.5.6
D.7.8
18.程序 #include <stdio.h> void main( ) { char a[ ]=“AABBCCDD”; printf(“%s\n”, a+3); } 执行后的输出结果是( )
A.AAB
B.BCCDD
C.BBCCDD
D.AABBCCDD
19.程序 #include <stdio.h> void main( ) { int a=1,b=2,c=3; if(a>b) c++; else c–; printf(“%d\n”, c); } 的输出结果是( )
A.0
B.1
C.2
D.3
20.设有:int a[ ][3]={{1,2,3},{4},{5,6,7}};,元素a[1][1]的值是( )
A.0
B.1
C.2
D.4
21.以下的字符串赋值中,错误的是_______。
A.char s1[]=“abcdef”;
B.char *ps=“abcdef”;
C.char *pa;pa=“abcdefg”;
D.char s2[10];s2=“abcdefg”;
22.设有:int x,*p;, 正确的赋值语句是( )
A.*p=&x;
B.*p=*x;
C.p=&x;
D.p=x;
23.以下选项中,与k=x++;等价的是___ 。
A.x=x+1;k=x;
B.k=x;x=x+1;
C.k=x+1;
D.k+=x+1;
24.下列程序的输出结果为 ________。 main() { int i=3,b; b=(i–)+(i–); printf(“%d”,b); }
A.6
B.2
C.3
D.4
25.程序void main(void){int n=5;while(n>2){n–; printf(“%d”,n);}}的输出结果是 ___ 。
A.543
B.432
C.432
D.5432
26.以下正确的实型常量是( )
A.23
B.3.14e1.5
C.0.3×102
D.2.0
27.对于C程序的函数,下列叙述中正确的是 ___ 。
A.函数的定义不能嵌套,但函数调用可以嵌套
B.函数的定义可以嵌套,但函数调用不能嵌套
C.函数的定义和调用均可以嵌套
D.函数的定义和调用均不能嵌套
28.下列不属于字符常量的是:_______.
A.‘5’
B.‘Q’
C.‘\n’
D.”A”
29.程序 #include <stdio.h> void main( ) { float a=11.0, b=3; printf(“%5.2f\n”, a/b); } 执行后的输出结果是( )
A.3
B.3.66
C.3.67
D.3.66666
30.设int a=1,b=2; 执行语句a+=b;后,a的值是___.
A.1
B.2
C.3
D.4
31.程序 #include <stdio.h> void main () { int x=1,a=0,b=0; switch(x) { case 0: a++; break ; case 1: b++; case 2: a++, b++; break ; default: a++; break; } printf(“a=%d,b=%d”,a,b); } 程序的输出结果是( )
A.a=0,b=0
B.a=1,b=1
C.a=2,b=1
D.a=1,b=2
32.设int i=010,j=10;则printf(“%d,%d\n”,++i,j–);的输出是____ 。
A.11,10
B.9,10
C.010,9
D.10,9
33.下列可用于C语言用户标识符的是( )
A.for
B.2x
C.total
D.a#b3
34.下列二维数组定义并初始化中, 正确的是( )。
A.int a[2][ ]={{3,4},{5}};
B.int a[2][3]={2,3,4,5,6,7,8,9};
C.int a[3][3]={{0},{1,2},{3,4,5}};
D.int a[ ][3]={(1,2,4),(2,3),(3,4,9)};
35.函数调用:fun(a+b,a+c,25) 中的参数个数是_____.
A.3
B.4
C.5
D.6
36.设有:int a[10]={2,4,6,8,10}; 数组a中元素的个数是( )
A.5
B.6
C.9
D.10
37.程序: #include <stdio.h> void main( ) { int a=1,b=2,c=3; if(a>## b)c-=a; else c-=b; printf(“%d\n”, c); } 执行后的输出结果是( )
A.0
B.1
C.2
D.3
38.下列合法的数组定义是 ___ 。
A.char a[ ]=”hello”;
B.int a[4]={4,3,2,1,0};
C.char a=”hello” ;
D.char a[4]= “hello”;
39.设有:char a[ ]=”ABCabc”; 数组a中元素的个数是( )
A.5
B.6
C.7
D.8
40.设有定义int a,b;,下列语句正确的是____。
A.a++b;
B.6++;
C.a+b=2;
D.a+=b;