2015年计算机等级考试二级c语言模拟试题及答案(9)
发布时间:2012/5/29 9:31:30 来源:城市网学院 编辑:ziteng
一、选择题(不才列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡响应位置上。)
10.1 若有下面的轨范段:
char s[]="china";char *p; p=s;
则下列论嗣魅正确的是
A)s和p完全不异落千丈
B)数组s中的内容和指针变量p中的内容相等
C)s数组长度和p所指向的字符串长度相等
D)*p与s[0]相等
考生谜底: 正确谜底: D
10.2 若有语句int *point,a=4;和 point=&a;下面均代表地址的一组选项是
A)a,point,*&a
B)&*a,&a,*point
C)*&point,*point,&a
D)&a,&*point,point
考生谜底: 正确谜底: D
10.3 下列轨范执行后的输出结不美观是
void func(int *a,int b[])
{ b[0]=*a+6; }
main()
{ int a,b[5];
a=0; b[0]=3;
func(&a,b); printf("%d\n",b[0]);
}
A)6
B)7
C)8
D)9
考生谜底: 正确谜底: A
10.4 已界说以下函数
fun(char *p2, char *p1)
{ while((*p2=*p1)!=’\0’){p1++;p2++;}
}
函数的功能是
A)将p1所指字符串复制到p2所指内存空间
B)将p1所指字符串的地址赋给指针p2
C)对p1和p2两个指针所指字符串进行斗劲
D)搜检p1和p2两个指针所指字符串中是否有’\0’
考生谜底: 正确谜底: A
10.5 有以下轨范
void ss(char *s,char t)
{ while(*s)
{ if(*s= =t)*s=t-’a’+’A’;
s++;
}
}
main()
{ char str1[100]="abcddfefdbd",c=’d’;
ss(str1,c);
printf("%s\n",str1);
}
轨范运行后的输出结不美观是
A)ABCDDEFEDBD
B)abcDDfefDbD
C)abcAAfefAbA
D)Abcddfefdbd
考生谜底: 正确谜底: B [NextPage] 10.6 下面声名不正确的是
A)char a[10]="china";
B)char a[10],*p=a;p="china"
C)char *a;a="china";
D)char a[10],*p;p=a="china"
考生谜底: 正确谜底: D
10.7 设有界说:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是
A)p=1;
B)*q=2;
C)q=p;
D)*p=5;
考生谜底: 正确谜底: D
10.8 执行以下轨范后,a,b的值分袂为
main()
{ int a,b,k=4,m=6,*p1=&k,*p2=&m;
a=p1==&m;
b=(*p1)/(*p2)+7;
printf("a=%d\n",a);
printf("b=%d\n",b);
}
A)-1,5
B)1,6
C)0,7
D)4,10
考生谜底: 正确谜底: C
10.9 假定以下轨范经编译和毗连后生成可执行文件PROG.EXE,如不美观在此可执行文件地址目录的DOS提醒符下键入:
PROG ABCDEFGH IJKL<回车>,则输出结不美观为
main( int argc, char *argv[])
{ while(--argc>0)
printf("%s",argv[argc]);
printf("\n");
}
A)ABCDEFG
B)IJHL
C)ABCDEFGHIJKL
D)IJKLABCDEFGH
考生谜底: 正确谜底: D
10.10 以下轨范有错,错误原因是
main()
{ int *p,i;char *q,ch;
p=&i;
q=&ch;
*p=40;
*p=*q;
......
}
A)p和q的类型纷歧致,不能执行*p=*q;语句
B)*p中存放的是地址止墁是以不能执行*p=40;语句
C)q没有指向具体的存储单元,所以*q没有现实意义
D)q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结不美观
考生谜底: 正确谜底: D