2015年计算机等级考试二级c语言模拟试题及答案(10)
发布时间:2012/5/29 9:32:21 来源:城市网学院 编辑:ziteng
一、选择题(不才列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡响应位置上。)
10.1b 下列关于指针变量赋空值的说法错误的是
A)当赋空值的时辰,变量指向地址为0的存储单元
B)赋值语句可以表达为变量名=′\0′;
C)赋值语句可以表达为变量名=0;
D)一个指针变量可以被赋空值
考生谜底: 正确谜底: A
10.2b 下面函数的功能是
char *fun(char *str1,char*str2)
{ while((*str1)&&(*str2++=*str1++));
return str2;
}
A)求字符串的长度 B)斗劲两个字符串的巨细
C)将字符串str1复制到字符串str2中 D)将字符串str1接续到字符串str2中
考生谜底: 正确谜底: C
10.3b 下面轨范段中,输出*的个数是
char *s="\ta\018bc";
for(;*s!=′\0′;s++)printf("*");
A)9
B)5
C)6
D)7
考生谜底: 正确谜底: C
10.4b 下列轨范是用来判定数组中特定元素的位置地址。如不美观输入如下整数:
876 675 896 101 301 401 980 431 451 777
#include
#include
int fun(int *s, int t, int *k)
{ int i;
*k=0;
for(i=0;iif(s[*k]return s[*k];
}
main()
{ int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;
clrscr();
fun(a, 10, &k);
printf("%d, %d\n ", k, a[k]);
}
则输出结不美观为
A)7,431
B)6
C)980
D)6,980
正确谜底: D
10.5b 有以下轨范
#include
main()
{ char *p,*q;
p=(char *)malloc(sizeof(char)*20); q=p;
scanf("%s %s",p,q); printf("%s %s\n",p,q);
}
若从键盘输入:abc def<回车>,则输出结不美观是
A)def def
B)abc def
C)abc d
D)d d
考生谜底: 正确谜底: A [NextPage] 10.6b 有以下轨范
#include
main()
{ char *p="abcde\0fghjik\0 ";
printf("%d\n ",strlen(p));
}
轨范运行后的输出结不美观是
A)12
B)15
C)6
D)5
考生谜底: 正确谜底: D
10.7b 已知char **t;则变量t是
A)指向char变量的指针
B)指向指针的char变量
C)指向指针的指针
D)以上说法都不合错误
考生谜底: 正确谜底: C
10.8b 阅读下面轨范,执行后的结不美观为
#include "stdio.h"
void fun(int *a,int *b)
{ int k;
k=5;
*a=k;
*b=*a+k;}
main()
{ int *a,*b,x=10,y=15;
a=&x;
b=&y;
fun(a,b);
printf("%d,%d\n",*a,*b);
}
A)10,15
B)5,15
C)5,10
D)15,10
考生谜底: 正确谜底: C
10.9b 阅读下面轨范,在轨范执行后的结不美观为
#include "stdio.h"
int *fun(int *a,int *b)
{ int m;
m=*a;
m+=*b-3;
return(&m);
}
main()
{ int x=21,y=35,*a=&x,*b=&y;
int *k;
k=fun(a,b);
printf("%d\n",*k);
}
A)53
B)21
C)35
D)14
考生谜底: 正确谜底: A
10.10b 阅读下列轨范,则执行后的结不美观为
#include "stdio.h"
main()
{ int c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};
printf("%x,%x\n",c[2][2],*(*(c+1)+1));
}
A)3e,6 B)62,5 C)56,5 D)3E,6
考生谜底: 正确谜底: A