10、设变量定义为char format[]=“s=%d\\n”;则数组format中有( )个元素。
A.4 B.5 C.6 D.7 您的答案参考答案为:C 为:C
11、静态整型数组不赋初值时,其各元素的值是( )。
A.不定值 B.-1 C.0 D.1 您的答案参考答案为:C 为:C
12、有以下程序段的输出结果是( )。
char a[]=“abcdefgh”; int m,n; m=sizeof(a); n=strlen(a);
printf(“%d,%d\\n”,m,n);
A.9,9 B.8,9 C.8,8 D.9,8 您的答案参考答案为:D 为:D
13、以下程序段的输出结果是( )。
int i,a[10]; for(i=9;i>=0;i--) a[i]=10-i;
printf(“%d%d%d”,a[2],a[5],a[8]);
A.258 B.741 C.852 D.369 您的答案参考答案为:C 为:C
14、以下程序运行后的输出结果是( )。
main() {
int p[8]={11,12,13,14,15,16,17,18},i=0,j=0; while(i++<7) if(p[i]%2) j+=p[i];
printf(\}
A.42 B.45 C.56 D.60 您的答案参考答案为:B 为:B
15、以下程序执行后输出结果是( )。
main() {
int p[7]={11,13,14,15,16,17,18},i=0,k=0; while(i<7&&p[i]%2) {
k=k+p[i]; i++; }
printf(\}
A.58 B.56 C.45 D.24 您的答案参考答案为:D 为:D
16、设int x[10]={0,2,4};,假定在VC++编译环境下,int类型变量占用四个字节,
则数组x在内存中所占字节数是( )。
A.6 B.12 C.20 D.40 您的答案参考答案为:D 为:D
17、定义: int a[2][2]; 则数组 a在内存中的存放顺序为( )。
A.a[0][0]、a[1][0]、a[0][1]、a[1][1] B.a[0][0]、a[0][1]、a[1][0]、a[1][1] C.a[0][0]、a[1][1]、a[0][1]、a[1][0] D.a[0][0]、a[1][1]、a[1][0]、a[0][1] 您的答案参考答案为:B 为:B
18、以下数组定义中不正确的是( )。
A.int a[2][3];
B.int b[][3]={0,1,2,3}; C.int c[100][100]={0};
D.int d[3][]={{1,2},{1,2,3},{1,2,3,4}}; 您的答案参考答案为:D
为:D
19、以下程序的输出结果是( )。
main() {
int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++) s+=a[i][j]; printf(“%d\\n”,s); }
A.18 B.19 C.20 D.21 您的答案参考答案为:A 为:A
20、数组定义为int a[3][2]={1,2,3,4,5,6},数组元素( )的值为6。
A.a[3][2] B.a[2][1] C.a[1][2] D.a[2][3] 您的答案参考答案为:B 为:B
21、以下程序的输出结果是( )。
main() {
int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++)
printf(“%d,”,x[i][2-i]); }
A.1,5,9 B.1,4,7 C.3,5,7 D.3,6,9 您的答案参考答案为:C 为:C
作业六 指针
选择:15题
1.执行以下程序后,a的值为( ).
main() {
int a,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m;
printf(\ }
A)-1 B)1 C)0 D)4 您的答案为:C
参考答案为:C
2.以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误的原因是( ).
main() {
int *p,*q,a,b; p=&a;
printf(\ scanf(\ }
A)*p表示的是指针变量p的地址.
B)*p表示的是变量a的值,而不是变量a的地址. C)*p表示的是指针变量p的值
D)*p只能用来说明p是一个指针变量 您的答案为:B
参考答案为:B
3.已有定义 int k=2;int *ptr1,*ptr2;且ptr1 、ptr2均已指向变量k,下面不能正确执
行的赋值语句是( )
A) k=*ptr1+*ptr2 B) prt2=k;
C) ptr1=ptr2 D) k=*ptr1*(*ptr2); 您的答案为:B
参考答案为:B
4.变量的指针,其含义是指变量的( )
A) 值 B) 地址 C) 名 D) 一个标志 您的答案为:B
参考答案为:B
5.若有说明: int *p,m=5,n; 以下正确的程序是( )
A) p=&n; B)p=&n;
scanf(\ C) scanf(\ *p=n; *p=m; 您的答案为:D
参考答案为:D
6.下面程序段的运行结果是( )
char *s=\
s+=2; printf(\
A) cde B) 字符‘c’ C) 字符‘c’的地址 D) 无确定的输出结果 您的答案为:B
参考答案为:B
7.设指针x指向的变量值为25, 则printf(\的输出结果是( )
A)23 B)24 C)25 D)26 您的答案为:D
参考答案为:D
8.若有定义char s[10];则在下面表达式中不表示s[1]的地址的是( )
A) s+1 B) s++ C) &s[0]+1 D) &s[1] 您的答案为:B
参考答案为:B
9.有以下程序
#include
char str[][20]={\ printf(\ }
程序运行后的输出结果是( ) A)0 B)5 C)7 D)20 您的答案为:C
参考答案为:C