【计算机类职业资格】二级C语言-274及答案解析.doc
《【计算机类职业资格】二级C语言-274及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-274及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-274 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.C 语言的基本单位是_。(分数:2.50)A.函数B.过程C.子程序D.子函数2.结构化程序设计主要强调的是_。(分数:2.50)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序的易读性3.在面向对象方法中,_描述的是具有相似属性与操作的一组对象。(分数:2.50)A.属性B.事件C.方法D类4.有下列二叉树,对此二叉树前序遍历的结果为_。 (分数:2.50)A.ACFXDBEYZB.ABEFXYZCDC.ABCDEFXYZD.ABDYECFXZ5.常采用
2、的两种存储结构是_。(分数:2.50)A.顺序存储结构和链式存储结构B.散列方法和索引方式C.链表存储结构和数组D.线性存储结构和非线性存储结构6.算法分析的目的是_。(分数:2.50)A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进7.用链表表示线性表的优点是_。(分数:2.50)A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除操作D.数据元素的物理顺序与逻辑顺序相同8.能正确表示“当 x 的取值在1,10和100,110范围内为真,否则为假”的表达式是_。(分数:2.50)A.(x=1)”的输出结果是_。(分数
3、:2.50)A.无输出B.结果是不确定C.-1D.111.当 c 的值不为 0 时,在下列选项中能正确将 c 的值赋给变量 a、b 的是_。(分数:2.50)A.c=b=a;B.(a=c)|(b=c);C.(a=c)D.a=c=b;12.以下程序的输出结果是_。 main() int a=3; printf(“%d/n“, (a+a-=a*a); (分数:2.50)A.-6B.12C.0D.-1213.以下能正确定义一维数组的选项是_。(分数:2.50)A.int a5=0, 1, 2. 3, 4, 5;B.char a=0, 1, 2. 3, 4, 5;C.char a=“A“, “B“,
4、“C“;D.int a5=“0123“;14.设 int x=7,则x 的值是_。(分数:2.50)A.-8B.7C.-1D.115.在下列给出的表达式中,与 while(E)中的(E)不等价的表达式是_。(分数:2.50)A.(!E=0)B.(E0|E0)C.(E=0)D.(E!=0)16.对两个数组 a 和 b 进行下列初始化: char m=“1234567“; char n=“1“, “2“, “3“, “4“, “5“, “6“, “7“; 则下列叙述正确的是_。(分数:2.50)A.数组 m 与数组 n 完全相同B.数组 m 与数组 n 长度相同C.数组 m 比数组 n 长 1D.
5、数组 m 与数组 n 中都存放字符串17.假定所有变量均已正确说明,下列程序段运行后 x 的值是_。 a=b=c=0; x=12; if(!a)x-; else x=5; if(c)x=3; else x=4;(分数:2.50)A.11B.4C.12D.318.有以下程序: #includestdio.h main() int k=-3; if(k=0)printf(“*/n“) else printf(“ 程序的输出结果是_。(分数:2.50)A.输出#B.输出 *x=3; *y=4; main() int x=1, y=2; fun( printf(“%d%d“, x, y); (分数:2
6、.50)A.2 1 4 3B.1 2 1 2C.1 2 3 4D.2 1 1 220.有下列程序: main() char s=“abcde“; s+=2; printf(“%d/n“, s0); 执行后的结果是_。(分数:2.50)A.输出字符 a 的 ASCII 码B.输出字符 c 的 ASCII 码C.输出字符 cD.程序出错21.下列选项中非法的字符常量是_。(分数:2.50)A.“/t“B.“/039“C.“,“D.“/n“22.以下程序的输出结果是_。 main() char ch34=“123“, “456“, “78“, *p3; int i; for(i=0; i3; i+)
7、pi=chi; for(i=0; i3; i+)printf(“%s“, pi); (分数:2.50)A.123456780B.123 456 780C.12345678D.14723.以下程序的输出结果是_。 main() char w10=“ABCD“, “EFGH“, “IJKL“, “MNOP“, K; for(k=1; k3; k+)printf(“%s/n“, wk); (分数:2.50)A.ABCDFGHKLB.ABCDEFGIJC.EFGJKOD.EFGHIJKL24.有以下程序: #includestdio.h main() int a=2, b=-1, c=2; if(ab
8、) if(b0)c=0; else c+=1; printf(“%d/n“, c); 程序的输出结果是_。(分数:2.50)A.0B.1C.2D.325.若有以下定义和语句:“double r=99, *p= *p=r;”,则以下正确的叙述是_。(分数:2.50)A.两个*P 含义相同,都说明给指针变量 p 赋值B.在“double r=99, *p=”中,把 r 的地址赋给了 p 所指的存储单元C.语句“*p=r;”把变量 r 的值赋给指针变量 pD.语句“*p=r;”取变量 r 的值放回 r 中26.以下程序的输出结果是_。 main() int x=0.5;char z=“a“; pri
9、ntf(“%d/n“, (x (分数:2.50)A.0B.1C.2D.327.若希望下列的程序运行后输出 25,程序空白处的正确选项是_。 main() int id=50, a=7, 4, 10, 5, 8; for_ j+=ai; printf(“%d“, j-40); (分数:2.50)A.i=1; i4; +iB.i=1; i3; +iC.i=4; i2; i-D.i=2; i4; +i28.若二维数组 a 有 m 列,则在 aij前的元素个数为_。(分数:2.50)A.i*m+j-1B.i*m+jC.j*m+iD.i*m+j+129.若有以下程序段: int a=0, b=0, c=
10、0; c=(a-=a-5), (a=b, b+3); printf(“%d, %d, %d/n“, a,b, c); 执行后的输出结果是_。(分数:2.50)A.3,0,-10B.0,0,5C.-10,3,-10D.3,0,330.定义结构体数组: struct stu int num; char name20; X5=1, “LI“, 2, “ZHAO“, 3, “WANG“, 4, “ZHANG“, 5, “LIU“; for(i=1; i5; i+) printf(“%d%c“, xi.num, xi.name2); 以上程序段的输出结果为_。(分数:2.50)A.2A3N4A5UB.1
11、12A3H4IC.1A2N3A4UD.2H3A4H5I31.有以下程序: #includestdio.h main() int a=2, 4, 6, 8, *p=a, i; for(i=0; i4; i+)ai=*p+; printf(“%d/n“, a2); 程序的输出结果是_。(分数:2.50)A.6B.8C.4D.232.有以下程序: void fun(char*a, char*b) a=b; (*a)+; main() char c1=“A“, c2=“a“, *p1, *p2; p1= p2=*c2; fun(p1, p2); printf(“%c%c/n“, c1, c2); 程序
12、运行后的输出结果是_。(分数:2.50)A.AbB.aaC.AaD.Bb33.有以下程序: int fun(int n) if(n=1)return 1; else return(n+fun(n-1); main() int x; scanf(“%d“, x=fun(x); printf(“%d/n“, x); 执行程序时,给变量 x 输入 10,程序的输出结果是_。(分数:2.50)A.55B.54C.65D.4534.有以下程序段: int k, j, s; for(k=2; k6; k+, k+) s=1; for(j=k; j6; j+)s+=j; printf(“%d/n“, s);
13、 以上程序段的输出结果是_。(分数:2.50)A.9B.1C.11D.1035.以下程序的输出结果是_。 main() char*s=“12134211“; int v4=0, 0, 0, 0, k, i; for(k=0; sk; k+) switch(sk) case “1“: i=0; case “2“: i=1; case “3“: i=2; case “4“: i=3; vi+; for(k=0; k4; k+)printf(“%d“, vk);(分数:2.50)A.4 2 1 0B.0 0 0 8C.4 6 7 8D.8 8 8 836.有以下程序: main() int x=10
14、2, y=012; printf(“%2d, %2d/n“, x, y); 执行后输 fn 结果是_。(分数:2.50)A.10,01B.02,12C.102,10D.02,1037.有以下程序: main() int x=0, y=5, z=3; while(z-0 printf(“%d, %d, %d/n“, x, y, z); 程序执行后的输 m 结果是_。(分数:2.50)A.3,2,0B.3,2,-1C.4,3,-1D.5,-2,-538.有以下程序片段: y=-1; if(x!=0) if(x0)y=1; else y=0; 其能正确表示的数学函数关系是_。(分数:2.50)A.-
15、1(x0)0(x=0)1(x0)B.1(x0)-1(x=0)0(x0)C.0(x0)-1(x=-)1(x0)D.-1(x0)1(x=0)0(x0)39.下面程序的功能是输出以下形式的金字塔图案: main() int i, j; * for(i=1; i=4; i+) * for(j=1; j=4-i; j+)printf(“); * for(j=1; j=_; j+)printf(“*“); * printf(“/n“); 在横线处应填入的是_。(分数:2.50)AiB.2*i-1C.2*i+1D.i+240.函数 ftell(fp)的作用是_。(分数:2.50)A.得到 fp 所指向文件的
16、当前读写位置B.初始化流式文件的位置指针C.移动流式文件的位置指针D.以上答案均正确二级 C 语言-274 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.C 语言的基本单位是_。(分数:2.50)A.函数 B.过程C.子程序D.子函数解析:解析 C 语言是函数式的语言。它的基本组成单位是函数,在 C 语言中任何程序都由一个或者多个函数组成。2.结构化程序设计主要强调的是_。(分数:2.50)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序的易读性 解析:解析 程序不光是编写完就结束了,为了测试和维护程序,往往还需其他人阅读和跟
17、踪程序,因此程序设计的风格应该强调简单和清晰,即程序的易读性,“清晰第一、效率第二”。3.在面向对象方法中,_描述的是具有相似属性与操作的一组对象。(分数:2.50)A.属性B.事件C.方法D类 解析:解析 类(class)描述的是具有相似属性与操作的一组对象,具体对象是类的实例。4.有下列二叉树,对此二叉树前序遍历的结果为_。 (分数:2.50)A.ACFXDBEYZB.ABEFXYZCDC.ABCDEFXYZD.ABDYECFXZ 解析:解析 所谓二叉树的前序遍历是指先访问根结点,再访问左子树,最后访问右子树,可知选项 D正确。本题中序为 DYBEAFCZX,后序为 YDEBFZXCA。5
18、.常采用的两种存储结构是_。(分数:2.50)A.顺序存储结构和链式存储结构 B.散列方法和索引方式C.链表存储结构和数组D.线性存储结构和非线性存储结构解析:解析 线性表的存储通常要用两种存储结构:顺序存储结构和链式存储结构。6.算法分析的目的是_。(分数:2.50)A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进 解析:解析 算法分析是指对一个算法的运行时间和占用空间做定量的分析,计算相应的数量级,并用时间复杂度和空间复杂度表示。分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。7.用链表表示线性表的优
19、点是_。(分数:2.50)A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除操作 D.数据元素的物理顺序与逻辑顺序相同解析:解析 数据的存储结构有顺序存储结构和链式存储结构两种。不同存储结构的数据处理效率不同。链表采用链式存储结构,元素的物理顺序并不连续,对于插入和删除无须移动元素,很方便,当查找元素时就需要逐个元素查找,因此查找的时间相对更长。8.能正确表示“当 x 的取值在1,10和100,110范围内为真,否则为假”的表达式是_。(分数:2.50)A.(x=1)”的输出结果是_。(分数:2.50)A.无输出B.结果是不确定C.-1D.1 解析:解析 因为在逻辑表达式中,两边
20、的赋值表达式都成立,即值为 1,故选择 D 选项。11.当 c 的值不为 0 时,在下列选项中能正确将 c 的值赋给变量 a、b 的是_。(分数:2.50)A.c=b=a;B.(a=c)|(b=c);C.(a=c) D.a=c=b;解析:解析 选项 A 是先将 a 的值赋给变量 b,再将变量 b 的值赋给变量 c,不合题意;B 选项中由于 c的值不为 0,在将 c 的值赋给变量 a 后,表达式 a=c 的值为 1,不再对表达式 b=c 计算;对于 C 选项,表达式 a=c 的值为 1,再求表达式 b=c 的值为 1,然后进行逻辑与运算;D 选项将 b 的值赋给 c 后再赋给 a,故选择 C 选
21、项。12.以下程序的输出结果是_。 main() int a=3; printf(“%d/n“, (a+a-=a*a); (分数:2.50)A.-6B.12C.0D.-12 解析:解析 本题可以写成:a+a+(a-(a*a),因为*的优先级最高,其次是-=的,+的优先级最低,所以先求 a-=a*a=9,表达式变为 a+a+-=9,即 a=a-9=-6,再次变为 a+(-6)=-12,故选择 D 选项。13.以下能正确定义一维数组的选项是_。(分数:2.50)A.int a5=0, 1, 2. 3, 4, 5;B.char a=0, 1, 2. 3, 4, 5; C.char a=“A“, “B
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 274 答案 解析 DOC
