【计算机类职业资格】国家二级C语言机试(选择题)模拟试卷81及答案解析.doc
《【计算机类职业资格】国家二级C语言机试(选择题)模拟试卷81及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级C语言机试(选择题)模拟试卷81及答案解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(选择题)模拟试卷 81及答案解析(总分:80.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.算法的空间复杂度是指( )。(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间2.下列叙述中正确的是( )。(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率3.下列关于类、对象、属性和
2、方法的叙述中,错误的是( )。(分数:2.00)A.类是对一类具有相同的属性和方法对象的描述B.属性用于描述对象的状态C.方法用于表示对象的行为D.基于同一个类产生的两个对象不可以分别设置自己的属性值4.在软件开发中,需求分析阶段产生的主要文档是( )。(分数:2.00)A.数据字典B.详细设计说明书C.数据流图说明书D.软件需求规格说明书5.数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和( )。(分数:2.00)A.编码设计B.测试阶段C.运行阶段D.物理设计6.在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是( )。(分数:2.00)A.并B.交C.投影D.除7.下列
3、叙述中,正确的是( )。(分数:2.00)A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令8.设一棵满二叉树共有 15个结点,则在该满二叉树中的叶子结点数为( )。(分数:2.00)A.7B.8C.9D.109.设 R是一个 2元关系,有 3个元组,S 是一个 3元关系,有 3个元组。如 T=RS,则 T的元组的个数为( )。(分数:2.00)A.6B.8C.9D.1210.下列选项中,不属于数据库管理的是( )。(分数:2.00)A.数据库的建立B.数据库的调整C.数据库的监控D.数据库的校对11.
4、对于一个正常运行的 C程序,下列叙述中正确的是( )。(分数:2.00)A.程序的执行总是从 main函数开始,在 main函数结束B.程序的执行总是从程序的第一个函数开始,在 main函数结束C.程序的执行总是从 main函数开始,在程序的最后一个函数中结束D.程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束12.以下选项中与 if(a=1)a+;else a=b;语句功能不同的语句是( )。(分数:2.00)A.switch(a) case 0:a=b;break; default:a+; B.switch(a=1) case 0:a+; default:a=b; C.s
5、witch(a) default:a=b;break; case l:a+; D.a=(a=1)?(a+);b13.以下不合法的用户标识符是( )。(分数:2.00)A.804zhangB._hhC.yy614D.If14.已知 char a;int b;float c;double d;则表达式 a-b+c-d结果为( )型。(分数:2.00)A.doubleB.floatC.intD.char15.假设有语句 sizeof(double),则它是( )。(分数:2.00)A.一个整型表达式B.一个双精度浮点型表达式C.一种函数调用D.一种函数定义16.若变量都已正确说明,则以下程序段输出结
6、果为( )。 #includestdioh main() char a=a; intb=2; printf(ab?*a=d:#b=d,a,b); (分数:2.00)A.*a=3B.#b=3C.*a=3#b=5D.全部错误17.若有以下定义(设 int类型变量占 2个字节) int i=8,j=9; 则以下语句: printf(i=d,j=dn,i,j); 输出的结果是( )。(分数:2.00)A.i=8,j=9B.i=d,j=8C.i=d,j=dD.8,918.设 a和 b均为 int型变量,且 a=6,b=11,则能使值为 3的表达式是( )。(分数:2.00)A.b(a4)B.b(a-a5
7、)C.ba-a5D.(ba)-(a4)19.有关 return语句说法不正确的是( )。(分数:2.00)A.系统默认的返回值类型为整型,故当函数的返回值为 int型时,在函数定义时,返回值的类型说明可以省略。B.当函数有返回值时,凡是允许表达式出现的地方,都可以调用该函数。C.当函数没有返回值时,函数的返回值类型可以说明为 void型,它表示“无类型”或“空类型”。D.函数的返回值类型必须与 return语句中的表达式值的类型一致,但 C语言也允许不同;这时,系统以函数定义时的返回值类型说明为准,并自动地将 return语句中表达式的值转换为函数的返回值类型。20.有以下程序: #inclu
8、destdio.h main() int i=0,a=0; while(i20) for(;) if(i5)=0)break; else i-; i+=13,a+=i; printf(dLrl“,a); 程序的输出结果是( )。(分数:2.00)A.62B.63C.23D.3621.在下列选项中,没有构成死循环的程序段是 ( )。(分数:2.00)A.int i=100; for(;) i=i10+1; if(i10)break; B.while(1);C.int k=0; do+k;while(k=10);D.int s=12; while(s); -s;22.若已定义的函数有返回值,则以下
9、关于该函数调用的叙述中错误的是( )。(分数:2.00)A.函数调用可以作为独立的语句存在B.函数调用可以作为一个函数的实参C.函数调用可以出现在表达式中D.函数调用可以作为一个函数的形参23.以下程序的输出结果是( )。 #includestdio.h main() int a=1,b=3; ifi(+a0)b解析:解析:ifelse 语句的含义是,如果变量 a的值等于 1,变量 a的值加 1,否则,则把变量 b的值赋给变量 a。在本题的 4个选项中,与其含义不同的是选项 B,因为没有 break语句,当 a=1的时候,会顺序执行两条语句,最终结果是将 b的值赋给 a。13.以下不合法的用户
10、标识符是( )。(分数:2.00)A.804zhang B._hhC.yy614D.If解析:解析:C 语言规定,标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或下划线。14.已知 char a;int b;float c;double d;则表达式 a-b+c-d结果为( )型。(分数:2.00)A.double B.floatC.intD.char解析:解析:C 语言中允许进行不同数据类型的混合运算,但在实际运算时,要先将不同类型的数据转化成同一类型再进行运算。类型转换的一般规则是:运算中将所有 char型转换成 int型,float 型转换成 double型;低级类型服从
11、高级类型,并进行相应的转换,数据类型由低到高的顺序为:char-int-unsigned-long-float-double;赋值运算中最终结果的类型,以赋值运算符左边变量的类型为准,即赋值运算符右端值的类型向左边变量的类型看齐,并进行相应转换。15.假设有语句 sizeof(double),则它是( )。(分数:2.00)A.一个整型表达式 B.一个双精度浮点型表达式C.一种函数调用D.一种函数定义解析:解析:sizeof(double)是 C语言内部规定的一个计算参数(double)在计算机的内存中所占用的字节数量的函数,它返回一个整数值。16.若变量都已正确说明,则以下程序段输出结果为(
12、 )。 #includestdioh main() char a=a; intb=2; printf(ab?*a=d:#b=d,a,b); (分数:2.00)A.*a=3B.#b=3C.*a=3#b=5D.全部错误 解析:解析:本题考查 printf函数的格式和三目运算符“?:”的使用。printf 函数中格式说明符之前插入的任何字符都原样输出。本题中“ab”为真,所以返回“*a=97”。17.若有以下定义(设 int类型变量占 2个字节) int i=8,j=9; 则以下语句: printf(i=d,j=dn,i,j); 输出的结果是( )。(分数:2.00)A.i=8,j=9B.i=d,j
13、=8 C.i=d,j=dD.8,9解析:解析:本题考查 printf函数的格式。printf 函数中格式说明符之前插入的任何字符都按原样输出。对于 printf函数,有两个说明,第一个后面的内容要按原样输出。18.设 a和 b均为 int型变量,且 a=6,b=11,则能使值为 3的表达式是( )。(分数:2.00)A.b(a4)B.b(a-a5)C.ba-a5D.(ba)-(a4) 解析:解析:表达式“ab”表示的是求 a除以 b的余数。因此,选项 A:(64)=2,112=1;选项B:(6-65)=5,115=1;选项 C:11665=4;选项 D:(116)-(64)=3。19.有关 r
14、eturn语句说法不正确的是( )。(分数:2.00)A.系统默认的返回值类型为整型,故当函数的返回值为 int型时,在函数定义时,返回值的类型说明可以省略。B.当函数有返回值时,凡是允许表达式出现的地方,都可以调用该函数。C.当函数没有返回值时,函数的返回值类型可以说明为 void型,它表示“无类型”或“空类型”。D.函数的返回值类型必须与 return语句中的表达式值的类型一致,但 C语言也允许不同;这时,系统以函数定义时的返回值类型说明为准,并自动地将 return语句中表达式的值转换为函数的返回值类型。 解析:解析:函数的返回值类型一般与 return语句中的表达式值的类型一致,但 C
15、语言也允许不同;这时,系统以函数定义时的返回值类型说明为准,并自动地将 return语句中表达式的值转换为函数的返回值类型。20.有以下程序: #includestdio.h main() int i=0,a=0; while(i20) for(;) if(i5)=0)break; else i-; i+=13,a+=i; printf(dLrl“,a); 程序的输出结果是( )。(分数:2.00)A.62B.63C.23D.36 解析:解析:本题考查 while循环。当 i20 时,进入 while循环体,循环体内的 for循环实现的功能是,当 i值是 0或 5的倍数时,执行“i+=13;a
16、+i;”这两条语句;若 i值不是 5的倍数则一直执行 for循环。当 i=0时,执行“i+=13;a+=i;i=13,a=13”;判断“i=1320”,进入 while循环体,i=10 时,跳出 for循环,执行“i+=13;a+=i;i=23,a=36”;判断“i=2320”,循环结束。21.在下列选项中,没有构成死循环的程序段是 ( )。(分数:2.00)A.int i=100; for(;) i=i10+1; if(i10)break; B.while(1);C.int k=0; do+k;while(k=10); D.int s=12; while(s); -s;解析:解析:本题考查死
17、循环的知识。选项 A中,for 循环没有任何控制语句就会一直执行下去,所以不可能通过控制表达式的值结束循环。循环体内,“i=i10+1”这个表达式的值永远不会大于 10,所以永远不会跳出循环,是死循环;选项 B中,while 中表达式永远是非 0,不会结束循环;选项 C中,当k10 时,结束循环;选项 D中,“while(s);”后面没有任何表达式而是直接加了一个分号,会一直执行,形成死循环。22.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。(分数:2.00)A.函数调用可以作为独立的语句存在B.函数调用可以作为一个函数的实参C.函数调用可以出现在表达式中D.函数调用可
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 选择题 模拟 试卷 81 答案 解析 DOC
