【计算机类职业资格】二级C语言分类模拟题518及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题518及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题518及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言分类模拟题 518及答案解析(总分:55.00,做题时间:90 分钟)一、选择题(总题数:35,分数:55.00)1.以下程序执行后 x的值是 _ 。 #include stdio.h main() int x,y=252,i=386,*m= x=(z= =m); printf(“%d“,x); (分数:1.00)A.252B.1C.0D.运行时出错,x 无定值2.有以下程序 #includestdio.h main() int a=-2,b=0; while(a+b); printf(“%d,%dkn“,a,b); 程序运行后输出结果是_。(分数:2.00)A.1,2B.0,3C
2、.1,3D.0,23.以下程序的输出结果是 _ 。 main() int a,i;a=0; for(i=1; i5:i+) switch(i) case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5; prinf(“%d/n“,a;(分数:1.00)A.31B.13C.10D.204.以下程序的输出结果是_。 main() int a=3; printf(“%d/n“, (a+a-=a*a); (分数:2.50)A.-6B.12C.0D.-125.fun函数的功能是;通过键盘输入给 x所指的整型数组所有元素赋值。在横线处应填写的是_。 #
3、include stdio.h # define N 5 void fun(int xN) int m; for(m=N-t;m=0;m-)scanf(“%d“,_); (分数:1.00)A.%X+mB.xm+1C.x+(m+)D.x+m6.已知大写字母 A的 ASC码是 65,小写字母 a的 ASC码是 97,以下不能将变量 C中的大写字母转换为对应小写字母的语句是_。(分数:2.00)A.c=(c-“A“)%26+“a“B.c=c+32C.c=c-“A“+“a“D.c=(“A“+c)%26-“a“7.下面不属于软件设计原则的是(分数:1.00)A.抽象B.模块化C.自底向上D.信息隐藏8.
4、以下程序运行后,输出结果是_。 #define PT 5.5 #define s(x)PT*x*x main() int a=1,b=2;printf(“%4.1 f/n“,S(a+b);(分数:2.00)A.49.5B.9.5C.22.0D.45.09.有以下程序: #includestdio.h main() FILE*fp;int a10=1,2,3,0,0,i; fp=fopen(“d2.dat“,“wb“); fwrite(a,sizeof(int),5,fp); fwrite(a,sizeof(int),5,fp); fclose(fp); fp=fopen(“d2.dat“,“r
5、b“); fread(a,sizeof(int),10,fp); fclose(fp); for(i=0;i10;i+) printf(“%d,“,ai); 程序的运行结果是_。(分数:2.50)A.1,2,3,0,0,0,0,0,0,0,B.1,2,3,1,2,3,0,0,0,0,C.123,0,0,0,0,123,0,0,0,0,D.1,2,3,0,0,1,2,3,0,0,10.以下程序的输出结果是_。 #include stdio.h typedef union long x2; int y4; char z8; MYTYPE; MYTYPE them; main() printf(“%
6、 d/n“, sizeof(them); (分数:2.50)A.32B.16C.8D.2411.有以下程序: #includestdio.h #includestring.h main( ) char str =“Hello,Beijing“; printf(“%d,%d/n“,strlen(str),sizeof(str); 程序的运行结果是_。(分数:1.00)A.13,13B.13,14C.13,15D.14,1512.设有以下语句: double *p; p=_malloc(sizeof(double); 若要使指针 p指向一个 double类型的动态存储单元,在下划线处应填入的是(分
7、数:2.00)A.doubleB.double*C.(*double)D.(double*)13.面向对象方法中,继承是指_。(分数:1.00)A.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制14.能将高级语言程序转换成目标语言程序的是_。(分数:1.00)A.调试程序B.解释程序C.编译程序D.编辑程序15.若有以下定义,则对 a数组元素的正确引用是_。 int a5,*p=a;(分数:2.00)A.* for(i=0; iN; i+ +) bi=aii-aiN-1-i; main( ) int xNN=1,2,3,4,5,6
8、,7,8,9,10,11,12,13,14,15,16,yN,i; fun(x,y); for(i=0;iN; i+ +) printf(“%d,“,yi); printf(“/n“); 程序运行后的输出结果是_。(分数:2.00)A.-3,-1,1,3,B.-12,-3,0,0,C.0,1,2,3,D.-3,-3,-3,-3,18.有以下程序 #includestdio.h int a=4; int f(int n) int t=0;staticint a=5; if(n%2)int a=6;t+=a+; else(int a=7;t+=a+; returnt+a+: main() int
9、s=a,i=0; for(;i2;i+)s+=f(i); printf(“%d/n“,s); 程序运行后的输出结果是_。(分数:2.00)A.28B.24C.32D.3619.有以下函数 int aaa(char*s) char*t=s; while(*t+); t-; return(t-s); 以下关于 aaa函数功能叙述正确的是_。(分数:1.00)A.求字符串 s的长度B.比较两个串的大小C.将串 s复制到串 tD.求字符串 s所占字节数20.设有如下程序段: #include stdio.h char s20=“Beijing“, *p; p=s; 则执行 p=s;语句后,以下叙述正确
10、的是_。(分数:1.00)A.s和 p都是指针变量B.s数组中元素的个数和 p所指字符串长度相等C.可以用*p 表示 s0D.数组 s中的内容和指针变量 p中的内容相同21.以下选项中正确的语句组是_。(分数:1.00)A.char *s;s=“BOOK!“;B.char*s;s=“BOOK!“);C.char s10;s=“BOOK!“;D.char s;s=“BOOK!“;22.有以下程序: #include stdio.h int fun() static int x=1; X+ =1; return x; main( ) int i, s=1; for(i=1;i=5;i+ +) s+
11、 =fun(); printf(“%d/n“,s); 程序运行后的输出结果是_。(分数:2.50)A.120B.11C.6D.2123.以下有关宏替换的叙述不正确的是_。(分数:2.50)A.双引号中出现的宏名不替换B.使用宏定义可以嵌套C.宏定义仅仅是符号替换D.宏名必须用大写字母表示24.有以下程序 #include stdio.h main() int x=1,y=2,z=3; if(xy) if(yz) printf(“%d“,+z); else printf(“%d“,+y); printf(“%d/n“,x+); 程序的运行结果是_。(分数:1.00)A.1B.41C.2D.331
12、25.若要求从键盘读入含有空格字符的字符串,应使用函数(分数:2.00)A.getc()B.gets()C.getchar()D.scanf()26.若 x=4,y=5,则 x for(i=0; i5; i+) s=s+abi; printf(“%d/n“, s); (分数:2.00)A.6B.10C.11D.1528.下面说明不正确的是 _ 。(分数:1.00)A.chara10=“china“;B.chara10,*p=a;p=“chiua“;C.char*a;a=“china“;D.chara10,*p;p=a=“china“;29.软件设计中划分模块的一个准则是_。(分数:2.50)A
13、.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合30.在满足实体完整性约束的条件下_。(分数:1.00)A.一个关系中应该有一个或多个候选关键字B.一个关系中只能有一个候选关键字C.一个关系中必须有多个候选关键字D.一个关系中可以没有候选关键字31.设有定义:“char*c;”,以下选项中能够使字符型指针 C正确指向一个字符串的是_。(分数:1.00)A.char str=“strlng“; c=str;B.scanf(%s,c);C.c=getchar();D.*c=“string“;32.有以下程序: #includestdio.h #includestring.h stru
14、ct A int a; char b10; double c; ; void f(struct A t); main() struct A a=“1001, “ZhangDa“, 1098.0; f(a); printf(“%d, %s, %6.1f/n“, a.a, a.b, a.c); void f(struct A t) t.a=1002; strcpy(t.b, “ChangRong“); t.c=1202. 0; 程序运行后的输出结果是_。(分数:1.00)A.1001, ZhangDa, 1098.0B.1002, ChangRong, 1202.0C.1001, ChangRon
15、g, 1098. 0D.1002, ZhangDa, 1202. 033.有以下程序: #includestdio.h int fun(int x,int n) static int sum=0,i; for(i=0;in;i+)sum+=xi; return sum; main() int a=1,2,3,4,5,b=6,7,8,9,s=0; s=fun(a,5)+fun(b,4); printf(“%d/n“,s); 程序执行后的输出结果是_。(分数:1.00)A.55B.50C.45D.6034.以下叙述中正确的是_。(分数:1.00)A.当对文件的读(写)操作完成之后,必须将它关闭,否
16、则可能导致数据丢失B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第 1个数据D.C语言中的文件是流式文件,凶此只能顺序存取数据35.以下叙述中正确的是_。(分数:2.00)A.结构体数组名不能作为实参传给函数B.结构体变量的地址不能作为实参传给函数C.结构体中可以含有指向本结构体的指针成员D.即使是同类型的结构体变量,也不能进行整体赋值二级 C语言分类模拟题 518答案解析(总分:55.00,做题时间:90 分钟)一、选择题(总题数:35,分数:55.00)1.以下程序执行后 x的值是 _ 。
17、 #include stdio.h main() int x,y=252,i=386,*m= x=(z= =m); printf(“%d“,x); (分数:1.00)A.252B.1C.0 D.运行时出错,x 无定值解析:解析 指针变量 m和 z分别指向整型变量 y,i,所以这两个指针变量中存储的地址是不同的,变量 x接受的是一个关系运算结果 0(因为 m和 z两个地址是不同的),所以 x为 0。2.有以下程序 #includestdio.h main() int a=-2,b=0; while(a+b); printf(“%d,%dkn“,a,b); 程序运行后输出结果是_。(分数:2.00
18、)A.1,2 B.0,3C.1,3D.0,2解析:解析 当 a等于 0,a+表达式为 0,条件不成立,最终 a为 1,b 为 2,答案选择 A。3.以下程序的输出结果是 _ 。 main() int a,i;a=0; for(i=1; i5:i+) switch(i) case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5; prinf(“%d/n“,a;(分数:1.00)A.31 B.13C.10D.20解析:解析 本题考查用于多分支选择的 switch语句,其一般形式为: switch(表达式) case常量表达式 1:语句 1; ca
19、se常量表达式 2:语句 2; case常量表达式 n:语句 n; default:语句 n+1; 其语义是:计算表达式的值,并逐个与其后的常量表达式值进行比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有 case后的语句;如表达式的值与所有 case后的常量表达式均不相等时,则执行 default后的语句。4.以下程序的输出结果是_。 main() int a=3; printf(“%d/n“, (a+a-=a*a); (分数:2.50)A.-6B.12C.0D.-12 解析:解析 本题可以写成:a+a+(a-(a*a),因为*的优先级最高,
20、其次是-=的,+的优先级最低,所以先求 a-=a*a=9,表达式变为 a+a+-=9,即 a=a-9=-6,再次变为 a+(-6)=-12,故选择 D选项。5.fun函数的功能是;通过键盘输入给 x所指的整型数组所有元素赋值。在横线处应填写的是_。 # include stdio.h # define N 5 void fun(int xN) int m; for(m=N-t;m=0;m-)scanf(“%d“,_); (分数:1.00)A.%X+m B.xm+1C.x+(m+)D.x+m解析:解析 本题考查+运算符和 for语句,当 m=N-1时,是为 x数组的最后一个元素进行复制,B 选项
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 518 答案 解析 DOC
