【计算机类职业资格】二级C语言分类模拟题568及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题568及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题568及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言分类模拟题 568及答案解析(总分:50.00,做题时间:90 分钟)一、选择题(总题数:30,分数:50.00)1.有如下程序: #include stdio.h int*sum(int data) static int init = 0; init += data; return main() int i,*p; for(i=1; i=4; i+) sum(i); p = sum(0); printf(“%d/n“,*p); 程序运行后的输出结果是_。(分数:1.00)A.15B.0C.1D.102.下面不属于软件需求分析阶段主要工作的是_。(分数:1.00)A.需求变更申请B
2、.需求分析C.需求评审D.需求获取3.if语句的基本形式为:if(表达式) 语句,其中“表达式”_。(分数:2.50)A.可以是任意合法的表达式B.必须是逻辑表达式C.必须是逻辑表达式或关系表达式D.必须是关系表达式4.有以下程序: #include stdio.h #include string.h main( ) char a20 =“ab“,b20=“cdef“; int k=0; strcat(a,b); while(ak!=“/0“) bk=ak; k+; puts(b); 程序的运行结果是_。(分数:1.00)A.abcdefB.cbcdefC.cdefD.ab5.设有如下定义:
3、struct sk int m; float x; data,*q; 若要使 q指向 data中的 m域,正确的赋值语句是_。(分数:2.00)A.q=B.*q=data.m;C.q=(struct sk*)D.q=(struct sk*)data.m;6.数据库设计中反映用户对数据要求的模式是_。(分数:2.00)A.内模式B.概念模式C.外模式D.设计模式7.下面不属于需求分析阶段任务的是_。(分数:1.00)A.确定软件系统的功能需求B.确定软件系统的性能需求C.需求规格说明书评审D.制定软件集成测试计划8.设有定义: struct complex int real,unreal;dat
4、a1=1,8,data2; 则以下赋值语句中错误的是_。(分数:1.00)A.data2=(2,6);B.data2=data1;C.data2=real=data1.real;D.data2.real=data1.unreal;9.有以下程序: #include stdio.h main( ) FILE *Pf; char *s1=“China“, *s2=“Beijing“; pf=fopen(“abc.dat“,“wb+“); fwrite(s2,7,1,pf); rewind(pf); /*文件位置指针回到文件开头*/ fwrite(s1,5,1,pf); fclose(pf); 以上
5、程序执行后 abc.dat文件的内容是_。(分数:2.00)A.ChinaB.ChinangC.ChinaBeijingD.BeijingChina10.有以下程序: #include stdio.h main() int x=1, y=0, a=0, b=0; switch (x) case 1: switch(y) case 0: a+; break; case 1: b+; break; case 2: a+; b+; break; case 3: a+; b+; printf(“a=% d, b=% d/n“, a, b); 程序的运行结果是_。(分数:2.00)A.a=2, b=2B
6、.a=2, b=1C.a=1, b=1D.a=1, b=011.以下不正确的定义语句是_。(分数:2.50)A.double x5=1.0,2.0,3.0,4.0,5.0;B.int y5=0,1,2,3,4,5;C.char c1=“1“,“2“,“3“,“4“,“5“;D.char c2=“a“,“b“,“c“;12.下列选项中属于面向对象设计方法主要特征的是_。(分数:2.50)A.继承B.自顶向下C.模块化D.逐步求精13.C语言源程序名的后缀是_。(分数:2.50)AexeBCCobjDcp14.在医院,每个医生只属于某一个诊疗科,医生同一天可为多位患者看病,而一名患者可在多个科室治
7、疗,则实体医生和患者之间的联系是_。(分数:1.00)A.多对多B.多对一C.一对多D.一对一15.有以下程序 #include stdio.h int fun(char s) int n=O; while(*s=“9“ s+; return (n); main() char s10= “6“, “1“, “*“, “4“, “*“, “9“, “*“, “0“, “*“; printf(“%d/n“,fun(s); (分数:1.00)A.9B.61490C.61D.516.下列选项中可作为 C语言合法常量的是_。(分数:2.50)A.-80B.-080C.-8e1.0D.-80.0e17.以
8、下叙述中正确的是_。(分数:1.00)A.在一个程序中,允许使用任意数量的#include 命令行B.在包含文件中,不得再包含其他文件C.#include命令行不能出现在程序文件的中间D.虽然包含文件被修改了,包含该文件的源程序也可以不重新进行编译和连接18.程序流程图中带有箭头的线段表示的是_。(分数:1.00)A.图元关系B.数据流C.控制流D.调用关系19.下列程序段的输出结果为( )。 #includestdio.h main() static char a=“language“; char *p; p=a; for(p=a;pa+8;p+=2) putchar(*p); (分数:2.
9、00)A.languageB.lnugC.有语法错误D.lang20.对关系 S和关系 R进行集合运算,结果中既包含关系 S中的所有元组也包含关系 R中的所有元组,这样的集合运算称为_。(分数:2.50)A.并运算B.交运算C.差运算D.除运算21.若 k为 int型变量,以下语句段执行后的输出结果是_。 #includestdio.h main() f intk=3; if(k) printf(“#“); else printf(“(分数:2.00)A.#B.23.以下程序的输出结果是_。 #include stdio.h int a33=1,2,3,4,5,6,7,8,9, *p; f(i
10、nt *s, int p3) *s=p11; main() p=(int *)malloc(sizeof(int); f(p, a); printf(“% d/n“, *p); free(p); (分数:2.50)A.1B.4C.7D.524.若有定义语句: char *s1=“OK“,*s2=“OK“; 以下选项中,能够输出“OK”的语句是_。(分数:1.00)A.if(strcmp(s1,s2)=0) puts(s1);B.if(strcmp(s1,s2)!=0) puts(s2);C.if(strcmp(s1,s2)=1) puts(s1);D.if(strcmp(s1,s2)!=0)
11、puts(s1);25.下列叙述中正确的是_。(分数:2.50)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定26.下列程序的输出结果是 _ 。 #includestdio.h main() int a3,b2,c1; if(aB) if(bO)c0; else c+; printf(“%d/n“,c) ; (分数:1.00)A.0B.2C.1D.327.有以下函数定义: void fun(int n
12、, double x) 若以下选项中的变量都已正确定义并赋值,则对函数 fun的正确调用语句是 _ 。(分数:1.00)A.fun(int y,double m);B.k=fun(10,12.5);C.fun(x,n);D.void fun(n,x);28.执行下列程序中的输出语句后,a 的值是 _ 。 main() int a; printf(“%d/n“,(a=2*3,a*5,a+7); (分数:2.00)A.17B.37C.6D.1329.设文件指针 fp已定义,执行语句 fp=fopen(“file“,“w“);后,以下针对文本文件 file操作叙述的选项中正确的是_。(分数:2.00
13、)A.只能写不能读B.写操作结束后可以从头开始读C.可以在原有内容后追加写D.可以随意读和写30.对于现实世界中事物的特征,在实体联系模型中使用_。(分数:1.00)A.属性描述B.关键字描述C.二维表格描述D.实体描述二级 C语言分类模拟题 568答案解析(总分:50.00,做题时间:90 分钟)一、选择题(总题数:30,分数:50.00)1.有如下程序: #include stdio.h int*sum(int data) static int init = 0; init += data; return main() int i,*p; for(i=1; i=4; i+) sum(i);
14、 p = sum(0); printf(“%d/n“,*p); 程序运行后的输出结果是_。(分数:1.00)A.15B.0C.1D.10 解析:解析 static 变量又称为静态变量,编译时,将其分配在内存的静态存储区中,在整个程序运行期间都不释放这些存储单元,即使退出函数,下次再进入该函数时,静态局部变量仍使用原来的存储单元,值是上一次函数调用结束时的值。若定义时未赋初值,在编译时,系统自动赋初值为 0;若定义时赋初值,则仅在编译时赋初值一次,程序运行后不再给变量赋初值。程序执行过程为:执行 for循环,i=1,调用函数 sum(1),data=1,init=0,init=init+data
15、=1;i=2,调用函数 sum(2),data=2,init=1,init=init+data=3;i=3,调用函数 sum(3),data=3,init=3,init=init+data=6;i=4,调用函数 sum(4),data=4,init=6,init=init+data=10;i=5 退出 for循环。调用函数 sum(0),data=0,init=10,ini=init+data=10,返回指向 init的指针,输出 init=10。故 D选项正确。2.下面不属于软件需求分析阶段主要工作的是_。(分数:1.00)A.需求变更申请 B.需求分析C.需求评审D.需求获取解析:解析 需
16、求分析阶段的工作可概括为 4个方面:需求获取;需求分析;编写需求规格说明书;需求审评。3.if语句的基本形式为:if(表达式) 语句,其中“表达式”_。(分数:2.50)A.可以是任意合法的表达式 B.必须是逻辑表达式C.必须是逻辑表达式或关系表达式D.必须是关系表达式解析:解析 本题考查 if表达式。if(表达式)中的表达式可以为任何合法的表达式,一般情况下为逻辑、条件表达式,需要注意的是,当等号(=)误写为赋值号(=)时不会报错的,但是其值恒为 1。4.有以下程序: #include stdio.h #include string.h main( ) char a20 =“ab“,b20=
17、“cdef“; int k=0; strcat(a,b); while(ak!=“/0“) bk=ak; k+; puts(b); 程序的运行结果是_。(分数:1.00)A.abcdef B.cbcdefC.cdefD.ab解析:解析 strcat(字符串 1,字符串 2)函数是把字符串 2连接到字符串 1的后面,最终结果存放到字符串 1中,因此本题把字符串 a,b 连接起来放在数组 a中,while 语句完成功能是再将字符串 a赋给字符串 b,因此答案为 A选项。5.设有如下定义: struct sk int m; float x; data,*q; 若要使 q指向 data中的 m域,正确
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 568 答案 解析 DOC
