【计算机类职业资格】二级C语言分类模拟题511及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题511及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题511及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言分类模拟题 511及答案解析(总分:57.00,做题时间:90 分钟)一、选择题(总题数:35,分数:57.00)1.下列叙述中正确的是_。(分数:1.00)A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上 3种说法都不对2.若有以下程序段: struct stint n;struct st*next; stmct st a3=5,a1,7,a2,9,“/0“,*p; p=a0; 则以下选项中值为 6的表达式是_(分数:1.00)A.p-nB.(*p).nC.p-n+D.+(p-n)3.下面程序输出的结果是_。 main() int
2、 i; int a33=1,2,3,4,5,6,7,8,9; for(i=0; iprintf(“% d“, a2-ii); (分数:1.00)A.1 5 9B.7 5 3C.3 5 7D.5 9 14.函数 ftell(fp)的作用是_。(分数:2.50)A.得到 fp所指向文件的当前读写位置B.初始化流式文件的位置指针C.移动流式文件的位置指针D.以上答案均正确5.设有如下函数定义 #include stdio.h int fun(int k if(k1) return 0; else if(k=1) return 1; else return fun(k-1)+1; 若执行调用语句“n=
3、fun(3);”,则函数 fun总共被调用的次数是_。(分数:1.00)A.3B.2C.4D.56.若变量已正确定义,在 if(W)printf(“%d/n“,k);中,以下不可替代 W的是_。(分数:2.50)A.ab+cB.ch=getchar()C.a=b+cD.a+7.在 C语言中,只有在使用时才占用内存单元的变量,其存储类型是(分数:2.00)A.auto和 registerB.extern和 registerC.auto和 staticD.static和 register8.下列程序的输出结果是_。 #includestdio.h void main() int a=0,b=1,c
4、=2; if(+a0|+b0) +c; printf(“%d,%d,%d“,a,b,c); (分数:2.50)A.0,1,2B.1,2,3C.1,1,3D.1,2,29.若已定义 x和 y为 double类型,则表达式“x=1, y=x+3/2”的值是_。(分数:1.00)A.1B.2C.2.0D.2.510.在数据库设计中,将 E-R图转换成关系数据模型的过程属于_。(分数:1.00)A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段11.C语言中,字符(char)型数据在微机内存中的存储形式是_。(分数:1.00)A.反码B.补码C.EBCDIC码D.ASCII码12.算法分
5、析的目的是_。(分数:2.50)A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进13.下面 4个选项中,均是不合法的用户标识符的选项是_。(分数:1.00)A.A P_0 doB.float la0_AC.b-a goto intD._123 temp int14.以下关于结构化程序设计的叙述中正确的是(分数:1.00)A.一个结构化程序必须同时由顺序、分支、循环三种结构组成B.结构化程序使用 goto语句会更便捷C.在 C语言中,程序的模块化是利用函数实现的D.由 3种基本结构构成的程序只能解决小规模的问题15.有以下程序: #
6、includestdio.h main() char c1=“A“, c2=“Y“; printf(“%d, %d/n“, c1, c2); 程序的输出结果是_。(分数:2.50)A.因输出格式不合法,无正确输出B.65,90C.A,YD.65,8916.有以下程序: #includestdio.h main() char c1, c2, c3, c4, c5, c6; scanf(“%c% c% c%c“, c1, c2, c3, c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(“%c% c/n“, c5,
7、c6); 程序运行后,若从键盘输入(从第 1列开始): 123回车 45678回车 则输出结果是(分数:2.00)A.1267B.1256C.1278D.124517.下列选项中不属于结构化程序设计原则的是_。(分数:2.50)A.可封装B.自顶向下C.模块化D.逐步求精18.若有以下程序: #include stdio.h int *f(int *s,int *t) int *k; if(*s*t) k=s; s=t; t=k; return s; main( ) int i=3,j=5, *p= r=f(p,q); printf(“%d,%d,%d,%d,%d/n“,i,j,*p,*q,*
8、r); 则程序的输出结果是_。(分数:2.00)A.3,5,5,3,5B.3,5,3,5,5C.5,3,5,3,5D.5,3,3,5,519.在面向对象方法中,_描述的是具有相似属性与操作的一组对象。(分数:2.50)A.属性B.事件C.方法D类20.若已建立以下链表结构,指针 p、s 分别指向如图所示结点: (分数:1.00)A.p=p-next:s-next=p;p-next=s;B.s-next=“/0“;p=p-next;p-next=s;C.p=p-next;s-next=p-next;p-next=s;D.p=(*p).next;(*s).next=(*p).next;(*p).n
9、ext=s;21.逻辑模型是面向数据库系统的模型,下面属于逻辑模型的是_。(分数:1.00)A.关系模型B.谓词模型C.物理模型D.实体联系模型22.以下叙述中正确的是_。(分数:1.00)A.if语句只能嵌套一层B.if子句和 else子句中可以是任意的合法的 C语句C.不能在 else子句中再嵌套 if语句D.改变 if-else语句的缩进格式,会改变程序的执行流程23.若希望下列的程序运行后输出 25,程序空白处的正确选项是_。 main() int id=50, a=7, 4, 10, 5, 8; for_ j+=ai; printf(“%d“, j-40); (分数:2.50)A.i
10、=1; i4; +iB.i=1; i3; +iC.i=4; i2; i-D.i=2; i4; +i24.有以下程序: #includestdio.h main() FILE*fp; int i,a6=1,2,3,4,5,6; f=fopen(“d2.dat“,“w+“); for(i=0;i6;i+)fprintf(fp,“%d/n“,ai); rewind(fp); for(i=0;i6;i+)fscanf(fp,“%d“,a5-i); fclose(fp); for(i=0;i6;i+)printf(“%d,“,ai); 程序运行后的输出结果是_。(分数:1.00)A.1,2,3,4,5,
11、6,B.6,5,4,3,2,1,C.4,5,6,1,2,3,D.1,2,3,3,2,1,25.有以下程序段: char ch;int k; ch=“a“;k=12; printf(“%c,%d,“,ch,ch,k); printf(“k=%d/n“,k); 已知字符 a的 ASCII十进制代码为 97,则执行上述程序段后输出结果是_。(分数:2.00)A.因变量类型与格式描述符的类型不匹配输出无定值B.输出项与格式描述符个数不符,输出为零值或不定值C.a,97,12k=12D.a,97,k=1226.将 E-R图转换为关系模式时,实体和联系都可以表示为_。(分数:1.00)A.属性B键C.关系
12、D域27.以下选项中,能表示逻辑值“假”的是_。(分数:1.00)A.1B.0.000001C.0D.100.028.在 16位编译系统上,若有定义“int a=10, 20, 30, *p=”,当执行“p+;”后,下列说法错误的是_。(分数:2.50)A.p向高地址移了一个字节B.p向高地址移了一个存储单元C.p向高地址移了两个字节D.p与 a+1等价29.下列叙述中正确的是_。(分数:2.50)A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.在栈中,栈中元素不
13、会随栈底指针与栈顶指针的变化而动态变化30.为了避免在嵌套的 if-else语句中产生二义性,C 语言规定与 else子句配对是_。(分数:1.00)A.与其在同一行上的 if子句B.在其之后最近的不带 else的 if子句C.与其缩排位置相同的 if子句D.在其之前最近的不带 else的同层 if子句31.循环队列的存储空间为 Q(1:50),初始状态为 front=rear=50。经过一系列正常的入队与退队操作后,front=rear=25,此后又正常地插入了一个元素,则循环队列中的元素个数为_。(分数:1.00)A.51B.50C.49D.132.关于“while(条件表达式)循环体”,
14、以下叙述正确的是_。(分数:2.50)A.条件表达式的执行次数总是比循环体的执行次数多一次B.循环体的执行次数总是比条件表达式的执行次数多一次C.条件表达式的执行次数与循环体的执行次数一样D.条件表达式的执行次数与循环体的执行次数无关33.下列二维数组初始化语句中,正确且与语句 int a3=1,2,3,4,5等价的是_。(分数:2.50)A.int a2=1,2,3,4,5;B.int a3=1,2,3,4,5,0;C.int a3=1,0,2,0,3,0;D.int a2=1,2,3),4,5,6;34.有以下程序: #include stdlib.h #include stelio.h
15、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 回车,则输出结果是_。(分数:1.00)A.def defB.abc defC.abc dD.d d35.有以下程序(注:字符 a的 ASCII码值为 97) #includestdio.h main() char*s=“abc“ do printf(“%d“, *s%10“); +s; while(*s); 程序运行后的输出结果是_。(分数:1.00)A
16、.abcB.789C.7890D.979899二级 C语言分类模拟题 511答案解析(总分:57.00,做题时间:90 分钟)一、选择题(总题数:35,分数:57.00)1.下列叙述中正确的是_。(分数:1.00)A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上 3种说法都不对 解析:解析 程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。设计算法时要考虑到数据结构的设计,但是不仅是要考虑到数据结构的设计,还要考虑到其他的程序结构的问题。设计算法时不能只考虑结果的正确性和可靠性,还需要考虑到程序的时间冗余度
17、等方面。所以答案选择 D。2.若有以下程序段: struct stint n;struct st*next; stmct st a3=5,a1,7,a2,9,“/0“,*p; p=a0; 则以下选项中值为 6的表达式是_(分数:1.00)A.p-nB.(*p).nC.p-n+D.+(p-n) 解析:解析 本题考查结构体变量的引用,其中 a为定义的结构体数组,D 选项中 p-n 为 5,+(p-n)为6,所以 D选项正确。3.下面程序输出的结果是_。 main() int i; int a33=1,2,3,4,5,6,7,8,9; for(i=0; iprintf(“% d“, a2-ii);
18、(分数:1.00)A.1 5 9B.7 5 3 C.3 5 7D.5 9 1解析:解析 本题用循环的方法考查对数组概念的掌握。首先,当 i=0时,数组中的位置是 a20=7,当然,如果用排除法,就不用考虑后面的循环,因为在 4个选项中,第 1个数为 7的选项只有 B。本题执行第 2次循环时,i 的值为 1,则 printf函数中的数组指向为 a11=5,依次循环,可求出答案。4.函数 ftell(fp)的作用是_。(分数:2.50)A.得到 fp所指向文件的当前读写位置 B.初始化流式文件的位置指针C.移动流式文件的位置指针D.以上答案均正确解析:解析 位置指针当前值函数 ftell()的基本
19、调用格式为 ftell(fp)。 ftell函数的功能:得到 fp所指向文件的当前读写位置,即位置指针的当前值,如果函数的返回值为-1L,表示出错。5.设有如下函数定义 #include stdio.h int fun(int k if(k1) return 0; else if(k=1) return 1; else return fun(k-1)+1; 若执行调用语句“n=fun(3);”,则函数 fun总共被调用的次数是_。(分数:1.00)A.3 B.2C.4D.5解析:解析 首先调用“n=fun(3)”,3 被当作参数传递进去,进行了第一次调用,3 被当作参数传进去后,程序会执行语句
20、“else return fun(k-1)+1;”进行第二次调用,参数是 3-1也就是 2,2 被当作参数传进去后,程序会执行语句“else return fun(k-1)+1;”进行第三次调用,参数是 2-1也就是 1,1 被当作参数传进去后,程序会执行语句“else if(k=1)return 1;”不再递归调用,因此最终结果为 3次,选项 A正确。6.若变量已正确定义,在 if(W)printf(“%d/n“,k);中,以下不可替代 W的是_。(分数:2.50)A.ab+c B.ch=getchar()C.a=b+cD.a+解析:解析 选项 A是非法的表达式,C 语言中没有“”运算符。7
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 511 答案 解析 DOC
