【计算机类职业资格】2018年计算机二级C语言模拟题1及答案解析.doc

上传人:appealoxygen216 文档编号:1318115 上传时间:2019-10-17 格式:DOC 页数:19 大小:133.50KB
下载 相关 举报
【计算机类职业资格】2018年计算机二级C语言模拟题1及答案解析.doc_第1页
第1页 / 共19页
【计算机类职业资格】2018年计算机二级C语言模拟题1及答案解析.doc_第2页
第2页 / 共19页
【计算机类职业资格】2018年计算机二级C语言模拟题1及答案解析.doc_第3页
第3页 / 共19页
【计算机类职业资格】2018年计算机二级C语言模拟题1及答案解析.doc_第4页
第4页 / 共19页
【计算机类职业资格】2018年计算机二级C语言模拟题1及答案解析.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、2018 年计算机二级 C 语言模拟题 1 及答案解析(总分:100.00,做题时间:120 分钟)一、选择题(总题数:40,分数:40.00)1.程序流程图中带有箭头的线段表示的是( )。(分数:1.00)A.图元关系B.数据流C.控制流D.调用关系2.结构化程序设计的基本原则不包括( )。(分数:1.00)A.多态性B.自顶向下C.模块化D.逐步求精3.软件设计中模块划分应遵循的准则是( )。(分数:1.00)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合4.算法的有穷性是指( )。(分数:1.00)A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法

2、程序的长度是有限的D.算法只能被有限的用户使用5.在软件开发中,需求分析阶段产生的主要文档是( )。(分数:1.00)A.可行性分析报告B.软件需求规格说明书C.概要设计说明书D.集成测试计划6.对长度为 n 的线性表排序,在最坏情况下,比较次数不是 n(n-1)/2 的排序方法是( )。(分数:1.00)A.快速排序B.冒泡排序C.直接插入排序D.堆排序7.下列关于栈的叙述正确的是( )。(分数:1.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据C.只能在栈底插人数据D.不能删除数据8.在数据库设计中,将 E-R 图转换成关系数据模型的过程属于( )。(分数:1.00)A.需

3、求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段9.有三个关系 R、S 和 T 如下:由关系 R 和 S 通过运算得到关系 T,所使用的运算为( )。(分数:1.00)A.并B.自然连接C.笛卡儿积D.交10.下列叙述中错误的是( )。(分数:1.00)A.个 C 语言程序只能实现一种算法B.C 程序可以由多个程序文件组成C.C 程序可以由一个或多个函数组成D.个 C 函数可以单独作为一个 C 程序文件存在11.设有表示学生选课的三张表,学生 S (学号,姓名,性别,年龄,身份证号),课程 C (课号,课名),选课 SC(学号,课号,成绩),则表 SC 的关键字(键或码)为( )。(

4、分数:1.00)A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩12.以下选项中,能用作数据常量的是( )。(分数:1.00)A.115LB.0118C.1.5el.5D.o11513.按照 C 语言规定的用户标识符命名规则,不能出现在标识符中的是( )。(分数:1.00)A.下画线B.大写字母C.数字字符D.连接符14.设变量已正确定义并赋值,以下正确的表达式是( )。(分数:1.00)A.x=y+z+5, +yB.int(15.8%5)C.x=y*5=x+zD.x=25%5.015.设有定义“int x=2;”,以下表达式中,值不为 6 的是( )。(分数:1.00)A.x+

5、,2*xB.2*x, x+=2C.x*=(l+x)D.x*=x+116.有以下程序#includemain()int x, y, z;x=y=l;z=x+,y+,+y; printf(“%d,%d,%dn“,x,y,z);程序运行后的输出结果是( )。(分数:1.00)A.2,3,1B.2,3,2C.2,3,3D.2,2,117.有以下程序 #includemain()char cl,c2;c1=A+8-4;c2=A+8-5;printf( “%c,%dn“,cl,c2);已知字母 A 的 ASCII 码为 65,程序运行后的输出结果是( )。(分数:1.00)A.E,DB.D,69C.E,6

6、8D.输出无定值18.有以下程序#includemain() int x=l,y=0;if(!x) y+;else if (x=0) if(x) y+=2; else y+=3;printf(“%dn”,y);程序运行后的输出结果是( )。(分数:1.00)A.3B.2C.1D.019.若有定义“int x,y;”并已正确给变量赋值,则以下选项中与表达式“(x-y)?(x+) : (y+)”中的条件表达式 (x-y)等价的是( )。(分数:1.00)A.(x-y0)B.(x-y0)D.(x-y=0)20.有以下程序#includemain() int y=9; for(;yO;y-) if(y

7、3=O)printf(“d“,-y);程序运行后的输出结果是( )。(分数:1.00)A.852B.963C.741D.87542121.若有定义 “float x=1.5; int a=l,b=3,c=2;”,则正确的 switch 语句是( )。(分数:1.00)A.B.C.D.22.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.m=4B.m=2C.m=6D.m=523.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.6B.3C.8D.1224.有以下程序则以下函数调用语句错误的是( )。(分数:1.00)A.k=f(a,b);B.k=add(a,b);C.k

8、=(*f)(a,b);D.k= *f(a,b);25.有以下程序该程序试图通过指针 p 为变量 n 读入数据并输出,但程序有多处错误,以下语句正确的是( )。(分数:1.00)A.int n,*p=NULL;B.*p=C.scanf(”%d”,D.int x;27.以下语句中存在语法错误的是( )。(分数:1.00)A.char ss620; ss1= “right?“;B.char ss20= “right?“;C.char *ss6; ss1= “right?“;D.char *ss = “right?“;28.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.3 0 4 0B

9、.2 0 5 0C.3 3 4 4D.0 3 0 429.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.3B.4C.1D.930.以下不能将 s 所指字符串正确复制到 t 所指存储空间的是( )。(分数:1.00)A.while(*t=*s)t+;s+;B.for(i=0;ti】=si;i+);C.do*t+=*s+; while(*s);D.for(i=0,j=0;ti+=sj+;);31.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.1bc,a23B.abc,123C.123,abcD.321,cba32.有以下函数函数的功能是( )。(分数:1.00)A.

10、统计 x 和 y 所指字符串中最前面连续相同的字符个数B.查找 x 和 y 所指字符串中是否有0C.将 y 所指字符串赋给 x 所指存储空间D.统计 x 和 y 所指字符串中相同的字符个数33.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.30B.10C.0D.6434.在一个 C 源程序文件中所定义的全局变量,其作用域为( )。(分数:1.00)A.所在文件的全部范围B.所在程序的全部范围C.所在函数的全部范围D.由具体定义位置和 extern 说明来决定范围35.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.21B.11C.20D.1036.以下叙述中错误的

11、是( )。(分数:1.00)A.用 typedef 定义新的类型名后,原有类型名仍有效B.可以用 typedef 将已存在的类型用一个新的名字来代表C.可以通过 typedef 增加新的类型D.用 typedef 可以为各种类型起别名,但不能为变量起别名37.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.31.5B.程序有错无输出结果C.7.5D.14.038.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.4B.3C.5D.639.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.1,1,3B.2,2,3C.1,2,3D.3,3,340.以下叙述中正

12、确的是( )。(分数:1.00)A.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第 1 个数据D.C 语言中的文件是流式文件,因此只能顺序存取数据二、程序填空题(总题数:1,分数:20.00)函数 fun 的功能是进行字母转换。若形参 ch 中是小写英文字母,则转换成对应的大写英文字母;若 ch 中是大写英文字母,则转换成对应的小写英文字母;若是其他字符则保持不变;并将转换后的结果作为函数值返回。请在程序的下画线处填入正确的内

13、容并把下画线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANK1.C 中。不得增行或删行,也不得更改程序的结构!(分数:20.00)填空项 1:_三、程序改错题(总题数:1,分数:20.00)给定程序 MODI1.C 中函数 fun 的功能是:给一维数组 a 输人任意 4 个整数,并按下例的规律输出。例如 输入 1、2、3、4,程序运行后将输出以下方阵。4 1 2 33 4 1 22 3 4 11 2 3 4请改正函数 fun 中指定部位的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!(分数:20.00)_四、程序设计题

14、(总题数:1,分数:20.00)请编写一个函数 fun,它的功能是:计算并输出给定整数 n 的所有因子(不包括 l 与 n 自身)之和。规定 n 的值不大于 1000。例如,在主函数中从键盘给 n 输入的值为 856,则输出为:Sum=763。注意:部分源程序在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。(分数:20.00)_2018 年计算机二级 C 语言模拟题 1 答案解析(总分:100.00,做题时间:120 分钟)一、选择题(总题数:40,分数:40.00)1.程序流程图中带有箭头的线段表示的是( )。(

15、分数:1.00)A.图元关系B.数据流C.控制流 D.调用关系解析:【解析】在数据流图中,用标有名字的带箭头线段表示数据流。在程序流程图中,用标有名字的带箭头线段表示控制流,因此本题答案为 C)。2.结构化程序设计的基本原则不包括( )。(分数:1.00)A.多态性 B.自顶向下C.模块化D.逐步求精解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用 goto 语句,多态性是面向对象的程序设计的思想,因此本题答案为 A)。3.软件设计中模块划分应遵循的准则是( )。(分数:1.00)A.低内聚低耦合B.高内聚低耦合 C.低内聚高耦合D.高内聚高耦合解析:软件设计中,模块划分应

16、遵循的准则是高内聚低耦合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的准则,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性高,易于理解和维护。模块之间的耦合应尽可能地低,模块的内聚应尽可能地 高,因此本题答案为 B)。4.算法的有穷性是指( )。(分数:1.00)A.算法程序的运行时间是有限的 B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用解析:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。算法的有穷性是指算法程序的运行时间是有限的,因此本题答案为 A)。5.在软件开发中,需求分析阶段产生的主要文

17、档是( )。(分数:1.00)A.可行性分析报告B.软件需求规格说明书 C.概要设计说明书D.集成测试计划解析:A )错误,可行性分析阶段产生可行性分析报告。C )错误,总体设计阶段产生概要设计说明书。D)错误,集成测试计划是在概要设计阶段编写的文档。B)正确,需求规格说明书是需求分析阶段产生的主要文档,是后续工作如设计、编码等需要的重要参考文档。6.对长度为 n 的线性表排序,在最坏情况下,比较次数不是 n(n-1)/2 的排序方法是( )。(分数:1.00)A.快速排序B.冒泡排序C.直接插入排序D.堆排序 解析:快速排序、冒泡排序和直接插入排序在最坏情况下,比较次数都是 n(n-1)/2

18、,堆排序在最坏情况下的比较次数最少,是 O(log2n),因此本题答案为 D)。7.下列关于栈的叙述正确的是( )。(分数:1.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据 C.只能在栈底插人数据D.不能删除数据解析:栈是只允许在同一端进行插入和删除运算的线性表,按“先进后出”组织数据,因此本题答案为 B)。8.在数据库设计中,将 E-R 图转换成关系数据模型的过程属于( )。(分数:1.00)A.需求分析阶段B.概念设计阶段C.逻辑设计阶段 D.物理设计阶段解析:将 E-R 图转换成关系数据模型是把图形分析出来的联系反映到数据库中,即设计出表,因此属于逻辑设计阶段,答案为

19、C)。9.有三个关系 R、S 和 T 如下:由关系 R 和 S 通过运算得到关系 T,所使用的运算为( )。(分数:1.00)A.并B.自然连接C.笛卡儿积D.交 解析:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,因此 B)错误。笛卡儿积是用 R 集合中的元素为第一元素,S 集合中的元素为第二元素构成的有序对,因此 C)错误。根据关系 T 可以很明显地看出是从关系 R 与关系 S 中取得相同的关系组,所以使用的是交运算,选择 D)。10.下列叙述中错误的是( )。(分数:1.00)A.个 C 语言程序只能实现一种算法 B.C

20、程序可以由多个程序文件组成C.C 程序可以由一个或多个函数组成D.个 C 函数可以单独作为一个 C 程序文件存在解析:一个 C 程序可以有一个或多个程序文件,也可以有一个或多个函数,所以一个 C 语言程序可以实现多种算法。11.设有表示学生选课的三张表,学生 S (学号,姓名,性别,年龄,身份证号),课程 C (课号,课名),选课 SC(学号,课号,成绩),则表 SC 的关键字(键或码)为( )。(分数:1.00)A.课号,成绩B.学号,成绩C.学号,课号 D.学号,姓名,成绩解析:学号是学生表 S 的主键,课号是课程表 C 的主键,因此选课表 SC 的关键字就应该是与前两个表能够直接联系且能

21、唯一定义的学号和课号,故本题答案为 C)。12.以下选项中,能用作数据常量的是( )。(分数:1.00)A.115L B.0118C.1.5el.5D.o115解析:选项中 115L 表示 115 是长整型数据,合法。B)选项是八进制常量的表示方法,但是在八进制中不能含有数字 8,因此 B)选项错误。C)选项中 e 后面应该是整数,不能是小数(1.5),因此 C)选项错误。D)选项中八进制常量应该是以数字“0”开始,而不是以字母“o”开始。故本题答案为 A)。13.按照 C 语言规定的用户标识符命名规则,不能出现在标识符中的是( )。(分数:1.00)A.下画线B.大写字母C.数字字符D.连接

22、符 解析:C 语言中标识符由字母、下画线或数字组成,且开头必须是字母或下画线。因此 D)选项中的连接符不合法。14.设变量已正确定义并赋值,以下正确的表达式是( )。(分数:1.00)A.x=y+z+5, +y B.int(15.8%5)C.x=y*5=x+zD.x=25%5.0解析:B)与 D)选项中取模运算符的左右两个操作数均应为整数,因此 B)、D)选项错误。C)选项中不能将 x+z 的值赋给表达式 y*5,因此 C)选项错误。故本题答案为 A)。15.设有定义“int x=2;”,以下表达式中,值不为 6 的是( )。(分数:1.00)A.x+,2*xB.2*x, x+=2 C.x*=

23、(l+x)D.x*=x+1解析:选项 B)中,2*x 对 x 的值没有影响,x 仍为 2,“x+=2”执行后,表达式值为 4。故本题答案为 B)。16.有以下程序#includemain()int x, y, z;x=y=l;z=x+,y+,+y; printf(“%d,%d,%dn“,x,y,z);程序运行后的输出结果是( )。(分数:1.00)A.2,3,1 B.2,3,2C.2,3,3D.2,2,1解析:对于表达式“Z=x+,y+,+y;”,因为赋值运算符的优先级高于逗号运算符的优先级,所以可以将上式改成“(z=x+),(y+),(+y)”。然后从左向右先计算表达式 z=x+,因为 x+

24、先使用后自增,所以 z 的值为 1,x 的值为 2。再计算逗号表达式第二个表达式 y+,此时 y 的值为 1,y+的值为 2。最后计算第三个表达式+y,y 的值为 3,故本题答案为 A)。17.有以下程序 #includemain()char cl,c2;c1=A+8-4;c2=A+8-5;printf( “%c,%dn“,cl,c2);已知字母 A 的 ASCII 码为 65,程序运行后的输出结果是( )。(分数:1.00)A.E,DB.D,69C.E,68 D.输出无定值解析:本题中字符变量 cl 是字符A的 ASCII 码加上 4,即 69 所对应的字符E。字符变量 c2 是字符A的 A

25、SCII 码加上 3,即 68 所对应的字符D。但是打印输出时,C1 以c 的格式输出,因此是 E,c2 以%d的格式输出,因此是 68。故本题答案为 C)。18.有以下程序#includemain() int x=l,y=0;if(!x) y+;else if (x=0) if(x) y+=2; else y+=3;printf(“%dn”,y);程序运行后的输出结果是( )。(分数:1.00)A.3B.2C.1D.0 解析:在 ifelse 语句中 else 总是与离它最近的 if 配对。本题目中 x 为 1,因此“!x”为 0,所以执行elseif 语句中的内容,判断“x=0”是否成立,

26、因为 x 为 1,所以条件不成立,因此 elseif 内部的“if.else”语句不再执行,所以 y 的值还是初始值 0。19.若有定义“int x,y;”并已正确给变量赋值,则以下选项中与表达式“(x-y)?(x+) : (y+)”中的条件表达式 (x-y)等价的是( )。(分数:1.00)A.(x-y0) B.(x-y0)D.(x-y=0)解析:条件表达式“x=表达式 1?表达式 2:表达式 3”的含义是:先求解表达式 1,若其值为非 0(真),则求解表达式 2,将表达式 2 的值赋给 x;若表达式 1 的值为 0(假),则求解表达式 3,将表达式 3 的值赋给x。在本题中与表达式(x-y

27、)等价的是“(x-y0)”,A)选项正确。20.有以下程序#includemain() int y=9; for(;yO;y-) if(y3=O)printf(“d“,-y);程序运行后的输出结果是( )。(分数:1.00)A.852 B.963C.741D.875421解析:第一次执行 for 循环,y 的值为 9,y%3 的值为 0,满足条件打印,所以执行“-y”语句,即先减 1后打印,因此打印 8;第二次执行 for 循环,y 的值为 7,y%3 的值为 1,不执行打印语句;第三次执行 for循环,y 的值为 6,y%3 的值为 0,满足条件打印,所以执行“-y”语句,即先减 1 后打印

28、,因此打印 5;第四次执行 for 循环,y 的值为 4,不满足 if 条件,不执行打印语句;第五次执行 for 循环,y 的值为 3,满足 if 条件,打印输出 2;第六次执行 for 循环,y 的值为 1,不满足条件,不执行打印语句。故本题答案为 A)。21.若有定义 “float x=1.5; int a=l,b=3,c=2;”,则正确的 switch 语句是( )。(分数:1.00)A. B.C.D.解析:B)选项的“switch(int)x);”语句中不应该有最后的分号。“switch(exprl)”中的 exprl 不能用浮点类型或 long 类型,也不能是一个字符串,因此 C)错

29、误。case 后面只能是常量表达式,因此 D)错误。22.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.m=4B.m=2C.m=6 D.m=5解析:第一次外循环 i 的值为 1,第一次内循环 j 的值为 3,不满足条件,则执行“m*=i*j“,即 m 的值为 3;第二次 j 的值为 2,不满足条件,则执行 m*=i*j,即 m 的值为 6;第三次 j 的值为 1,不满足条件,则执行m*=i*j,即 m 的值仍为 6。第二次外循环 i 的值为 2,j 的值为 3,满足条件,执行 break 语句,跳出循环。故本题答案为 C)。23.有以下程序程序运行后的输出结果是( )。(分数:

30、1.00)A.6 B.3C.8D.12解析:本题中第一次调用为“fun(8,fun(5,6)”,因为“fun(5,6)”返回值为 5,所以第二次调用为“fun(8,5)=6”,因此选择 A)。24.有以下程序则以下函数调用语句错误的是( )。(分数:1.00)A.k=f(a,b);B.k=add(a,b);C.k=(*f)(a,b);D.k= *f(a,b); 解析:D)选项中“*f(a,b)”表示调用后返回一个指向整型数据的地址指针,即该函数的返回值为指针类型,因此不能将其赋值给整型变量 k。25.有以下程序该程序试图通过指针 p 为变量 n 读入数据并输出,但程序有多处错误,以下语句正确的

31、是( )。(分数:1.00)A.int n,*p=NULL; B.*p=C.scanf(”%d”,”,选项 C)的正确写法应为“scanf(“%d“,p);”,选项 D)的正确写法应为“printf(“%dn“,*p);”。故本题答案为 A)。26.下列定义数组的语句中,正确的是( )。(分数:1.00)A.B. C.int x010;D.int x;解析:数组说明的一般形式为:类型说明符数组名常量表达式。A)中 N 是变量,不能用变量定义数组长度。C)选项中数组长度是非法的一串数字,定义数组时必须为其指明长度。D)选项中数组长度为空,因此非法。故本题答案为 B)。27.以下语句中存在语法错误

32、的是( )。(分数:1.00)A.char ss620; ss1= “right?“; B.char ss20= “right?“;C.char *ss6; ss1= “right?“;D.char *ss = “right?“;解析:数组定义后,不能对数组整体赋值,ss 是二维数组,因为 ssl是一维字符数组,即字符串,字符串赋值可以使用“StrcPy(SSl,“right“);”的形式,而选项 A)中对二维数组中的第“1”维(相当于一个一维数组)赋值,是不可以的。选项 B)和 D)是在定义时对数组同时进行初始化,这是可以的。选项 C)中,将字符串在内存中的首地址赋给指针数组的一个元素,这是

33、可以的。故本题答案为 A)。28.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.3 0 4 0 B.2 0 5 0C.3 3 4 4D.0 3 0 4解析:第一次循环 i 为 0,i%2 为 0,执行“switch(a0%2)”中的 case0 语句后内容即 a0+,a0的值变成 3;第二次循环 i 的值为 1,i%2 为 1,执行“casel:ai=0;”后 al的值变成 0;第三次循环 i 的值为2,i%2 为 0,执行“switch(a2%2)”中的“case1:a2-;”a2的值变成 4;第四次循环 i 的值为 3,i%2为 1,执行“casel:ai=0;”,因此 a

34、3的值变成 0。故本题答案为 A)。29.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.3B.4 C.1D.9解析:每次内循环只循环一次就结束,第一次外循环时“t=t+b0b00=l+b00=1+0=1;”,第二次外循环时“t=t+b1bll=l+bll=l+l=2;”,第三次外循环时“t=t+b2b22=2+b22=2+2=4”。故本题答案为 B)。30.以下不能将 s 所指字符串正确复制到 t 所指存储空间的是( )。(分数:1.00)A.while(*t=*s)t+;s+;B.for(i=0;ti】=si;i+);C.do*t+=*s+; while(*s); D.for

35、(i=0,j=0;ti+=sj+;);解析:“do*t+=*s+;while(*s);”语句中,因为当“*s=0”时,“while(*s)”跳出循环,这样字符串结束标志o没有复制给*t,造成了*t 不完整。注意,*t+=*s+是先执行 t=*s,然后才进行t=t+l,s=s+l。而选项 B)、A)、D)都能将0,复制过去。31.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.1bc,a23 B.abc,123C.123,abcD.321,cba解析:字符串是一个特殊的数组,按照数组的规则,s1 应该指向的是数组的首地址,即“abc”的第一个字符的地址。S2 指向的是“123”的第

36、一个字符的地址。调用 swap 函数之后交换的是两个字符串的第一个字符a和1的内容,因此打印输出为 A)。32.有以下函数函数的功能是( )。(分数:1.00)A.统计 x 和 y 所指字符串中最前面连续相同的字符个数 B.查找 x 和 y 所指字符串中是否有0C.将 y 所指字符串赋给 x 所指存储空间D.统计 x 和 y 所指字符串中相同的字符个数解析:本题中由循环条件可知,当遇到0或“x 与 y 所指的字符的值不相等”中的一个条件时就结束循环,因此本题函数的功能是统计 x 和 y 所指字符串中最前面连续相同的字符个数。33.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.3

37、0B.10C.0D.64 解析:本题目中静态局部变量 X,在静态存储区内分配存储单元,在程序整个运行期间都不释放。因此第一次循环 s 的值为 2;第二次循环中,返回的 x 的值为 4,因此 S 的值为 8;第三次循环,返回的 x 的值为 8,因此 S 的值为 64。34.在一个 C 源程序文件中所定义的全局变量,其作用域为( )。(分数:1.00)A.所在文件的全部范围B.所在程序的全部范围C.所在函数的全部范围D.由具体定义位置和 extern 说明来决定范围 解析:全局变量的作用域是从声明处到文件的结束,因此选择 D)。35.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.2

38、1 B.11C.20D.10解析:声明 data 是结构 S 的数组。初始化时“data0.a=10;data0.b=100;datal.a=20;datal.b=200”。主函数中 p=datal,即“p.a=datal.a;p.b=datal.b;”,执行语句“printf(“%dn”,+(p.A);”打印输出时 P.a 先增 1 再打印。即 p.a=datal.a=20,先增 1 等于 21,因此程序运行结果是21。36.以下叙述中错误的是( )。(分数:1.00)A.用 typedef 定义新的类型名后,原有类型名仍有效B.可以用 typedef 将已存在的类型用一个新的名字来代表C.

39、可以通过 typedef 增加新的类型 D.用 typedef 可以为各种类型起别名,但不能为变量起别名解析:关键字 typedef 的作用只是将 C 语言中已有的数据类型作置换,并不是增加新的类型,因此 C)错误。37.有以下程序程序运行后的输出结果是( )。(分数:1.00)A.31.5B.程序有错无输出结果 C.7.5D.14.0解析:宏定义不是 C 语句,末尾不需要有分号。因此语句“printf(%4.1fn“,S(a+b);”展开后为“printf(“%4.1fn“,3.5;*a+b*a+b;);”,所以程序会出现语法错误。38.有以下程序程序运行后的输出结果是( )。(分数:1.0

40、0)A.4 B.3C.5D.6解析:“。四、程序设计题(总题数:1,分数:20.00)请编写一个函数 fun,它的功能是:计算并输出给定整数 n 的所有因子(不包括 l 与 n 自身)之和。规定 n 的值不大于 1000。例如,在主函数中从键盘给 n 输入的值为 856,则输出为:Sum=763。注意:部分源程序在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。(分数:20.00)_正确答案:( )解析:本程序的实现步骤为:首先遍历 2n 的所有整数;然后用条件语句找出能被 n 整除的所有整数,并累加求和;最后返回值。

展开阅读全文
相关资源
猜你喜欢
  • ASHRAE QC-06-020-2006 Airflow Management in a Liquid-Cooled Data Center《液体冷却的数据中心的气流管理》.pdf ASHRAE QC-06-020-2006 Airflow Management in a Liquid-Cooled Data Center《液体冷却的数据中心的气流管理》.pdf
  • ASHRAE QC-06-021-2006 Human Responses to Intermittent Work While Wearing Encapsulating Chemical-Biological Protective Clothing with Personal HVAC《人身穿灌封化学生物防护衣物带个人NVAC的间歇性工作的反应》.pdf ASHRAE QC-06-021-2006 Human Responses to Intermittent Work While Wearing Encapsulating Chemical-Biological Protective Clothing with Personal HVAC《人身穿灌封化学生物防护衣物带个人NVAC的间歇性工作的反应》.pdf
  • ASHRAE QC-06-022-2006 Thermal Insulation of Arabian Gulf Men's Clothing Measurements Using a Thermal Manikin《阿拉伯海湾男子的衣物的热绝缘性 用热暖体假人测量》.pdf ASHRAE QC-06-022-2006 Thermal Insulation of Arabian Gulf Men's Clothing Measurements Using a Thermal Manikin《阿拉伯海湾男子的衣物的热绝缘性 用热暖体假人测量》.pdf
  • ASHRAE QC-06-023-2006 Timed Egress Requirements for Transit and Passenger Rail Station Evacuation as Described in NFPA 130《对NFPA130所述的过境国和客运铁路车站疏散定时出口要求》.pdf ASHRAE QC-06-023-2006 Timed Egress Requirements for Transit and Passenger Rail Station Evacuation as Described in NFPA 130《对NFPA130所述的过境国和客运铁路车站疏散定时出口要求》.pdf
  • ASHRAE QC-06-024-2006 Tunnel Emergency Egress and the Mid-Train Fire《隧道紧急疏散及半山列车火灾》.pdf ASHRAE QC-06-024-2006 Tunnel Emergency Egress and the Mid-Train Fire《隧道紧急疏散及半山列车火灾》.pdf
  • ASHRAE QC-06-025-2006 Application of NFPA 130 for Emergency Evacuation in a Mass Transit Station《在集体运输站应用NFPA130紧急疏散》.pdf ASHRAE QC-06-025-2006 Application of NFPA 130 for Emergency Evacuation in a Mass Transit Station《在集体运输站应用NFPA130紧急疏散》.pdf
  • ASHRAE QC-06-026-2006 Energy Efficiency SIPS Geothermal and Solar PV Used in Near Zero-Energy House《用在接近零的能源之家的能源效率 投资方案 地热能和太阳能光伏》.pdf ASHRAE QC-06-026-2006 Energy Efficiency SIPS Geothermal and Solar PV Used in Near Zero-Energy House《用在接近零的能源之家的能源效率 投资方案 地热能和太阳能光伏》.pdf
  • ASHRAE QC-06-027-2006 Design and Optimization of Net Zero Energy Solar Homes《净零能源太阳能家园的设计和优化》.pdf ASHRAE QC-06-027-2006 Design and Optimization of Net Zero Energy Solar Homes《净零能源太阳能家园的设计和优化》.pdf
  • ASHRAE QC-06-028-2006 An Evaluation of Affordable Prototype Houses at Two Levels of Energy Efficiency《在的能源效率的两个层次上对负担得起的原型住房的评价》.pdf ASHRAE QC-06-028-2006 An Evaluation of Affordable Prototype Houses at Two Levels of Energy Efficiency《在的能源效率的两个层次上对负担得起的原型住房的评价》.pdf
  • 相关搜索
    资源标签

    当前位置:首页 > 考试资料 > 职业资格

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1