【计算机类职业资格】国家二级(C语言)机试模拟试卷116及答案解析.doc
《【计算机类职业资格】国家二级(C语言)机试模拟试卷116及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C语言)机试模拟试卷116及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C 语言)机试模拟试卷 116 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下面关于算法的叙述中,正确的是( )。(分数:2.00)A.算法的执行效率与数据的存储结构无关B.算法的有穷性是指算法必须能在执行有限个步骤之后终止C.算法的空间复杂度是指算法程序中指令(或语句)的条数D.以上三种描述都正确2.下列二叉树描述中,正确的是( )。(分数:2.00)A.任何一棵二叉树必须有一个度为 2 的结点B.二叉树的度可以小于 2C.非空二叉树有 0 个或 1 个根结点D.至少有 2 个根结点3.如果进栈序列为 A,B,C,D,则可能的
2、出栈序列是( )。(分数:2.00)A.C,A,D,BB.B,D,C,AC.C,D,A,BD.任意顺序4.下列各选项中,不属于序言性注释的是( )。(分数:2.00)A.程序标题B.程序设计者C.主要算法D.数据状态5.下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。(分数:2.00)A.内模式B.外模式C.概念模式D.逻辑模式6.下列叙述中,不属于软件需求规格说明书的作用的是( )。(分数:2.00)A.便于用户,开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析7.下列不属于软件工程 3
3、个要素的是( )。(分数:2.00)A.工具B.过程C.方法D.环境8.数据库系统在其内部具有 3 级模式,用来描述数据库中全体数据的全局逻辑结构和特性的是( )。(分数:2.00)A.外模式B.概念模式C.内模式D.存储模式9.将 ER 图转换到关系模式时,实体与联系都可以表示成( )。(分数:2.00)A.属性B.关系C.记录D.码10.某二叉树中度为 2 的结点有 10 个,则该二叉树中有( )个叶子结点。(分数:2.00)A.9B.10C.11D.1211.以下叙述中正确的是( )。(分数:2.00)A.C 程序中注释部分可以出现在程序中任意合适的地方B.C 程序的书写格式是固定的,每
4、行只能写一条语句C.构成 C 程序的基本单位是函数,所有函数名都可以由用户命名D.在对 C 语言程序进行编译时,可以发现注释行中的拼写错误12.下面的程序在编译时产生错误,其出错原因是( )。 #inc1ude main() int 1_case; float printF; printf(“请输入 2 个数:“); scanf(“d f“, &1_case, &printF); printf(“d f/n“,1_case, printF); (分数:2.00)A.定义语句出错,1 case 不能作为变量名B.定义语句出错,printF 不能用作用户自定义标识符C.定义语句无错,scanf 不
5、能作为输入函数使用D.定义语句无错,printf 不能输出 1 case 的值13.以下不正确的转义字符是( )。(分数:2.00)A.fB.dC.sD.08814.下面程序的运行结果是( )。 y=5;x=14;y=(x=3*y,x+6),x1); printf(“x=d,y=d“,x,y);(分数:2.00)A.x=27, y=27B.x=12, y=13C.x=15,y=14D.x=y=2715.sizeof(char)是( )。(分数:2.00)A.一种函数调用B.一个整型表达式C.个字符型表达式D.一个不合法的表达式16.下列 4 个程序中,完全正确的是( )。(分数:2.00)A.
6、#inc1ude main(); /*programming*/ printf(“programming!n“);B.#inc1ude stdioh main() *programming* printf(“programming!n“);C.#inc1ude stdioh main() *programming*/* printf(“programming!n“);D.inc1ude stdioh main() /*programming* printf(”programming!n“);17.设变量均已正确定义,若要通过 scanf(“dcdc“,&a1,&c1,&a2,&c2);语句为变
7、量 a1 和 a2赋数值 10 和 20,为变量 c1 和 c2 赋字符 X 和 Y。下列所示的输入形式中正确的是(注:口代表空格字符)( )。(分数:2.00)A.10X20YCRB.10X20YCRC.10XCR D10XCR20YCR 20 口 YCR18.两次运行下面的程序,如果从键盘上分别输入 3 和 2,则输出结果是( )。 #inc1ude main() int x; scanf(”d”,&x); if(x+2) printf(”d”,X); else printf(“d/n“,x ); (分数:2.00)A.4 和 3B.4 和 2C.4 和 1D.3 和 219.以下叙述中不
8、正确的是( )。(分数:2.00)A.在不同的函数中可以使用相同的名字的变量B.函数中的形式参数是局部变量C.在一个函数内定义的变量只在本函数范围内有效D.在一个函数内的复合语句中定义的变量在本函数范围内有效20.运行下面的程序,输入字符串“Microsoft Visua1 Studio”,则程序的执行结果是( )。 #inc1ude main() char Chr20; scanf(“s“,Chr); printf(“sn“,Chr); (分数:2.00)A.Microsoft Visua1 StudioB.MC.MicrosofiD.MicrosoftVisuaIStudio21.若有“d
9、ouble a:”,则正确的输入语句是( )。(分数:2.00)A.scanf(“lf“,a);B.scanf(“f“,&a);C.scanf(“lf,&a)D.scanf(“1e“,a);22.if 语句的基本形式为:if(表达式)语句,其中“表达式”( )。(分数:2.00)A.可以是任意合法的表达式B.必须是逻辑表达式C.必须是逻辑表达式或关系表达式D.必须是关系表达式23.若 i、j 已定义成 int 型,则以下程序段中内循环体的总执行次数是( )。 for(1=6;i0;i ) for(j=0;j2) printf(”d”,X); else printf(“d/n“,x ); (分数
10、:2.00)A.4 和 3 B.4 和 2C.4 和 1D.3 和 2解析:解析:本题考查 ifelse 语句。首先,scanf 函数通过键盘读入 x 的值。当 x=3 时,第一个 if 语句先判断条件,取 x 的值 3 和 2 比较,然后将 x 的值加 1,if 条件成立,执行下面的 printf 语句,输出x 的值 4。当 x=2 时,第一个 if 语句先判断条件,先取 x 的值 2 和 2 比较,然后将 x 的值加 1(x 的值变为 3),if 条件不成立,执行下面的 else 语句,先输出 x 的值 3,再将 x 的值减 1。19.以下叙述中不正确的是( )。(分数:2.00)A.在不
11、同的函数中可以使用相同的名字的变量B.函数中的形式参数是局部变量C.在一个函数内定义的变量只在本函数范围内有效D.在一个函数内的复合语句中定义的变量在本函数范围内有效 解析:解析:此题考查的是变量的作用范围。选项 D)中,在一个函数的复合语句中定义的变量是局部变量,只在定义此变量的复合语句内有效,并不是在整个函数体内都有效。20.运行下面的程序,输入字符串“Microsoft Visua1 Studio”,则程序的执行结果是( )。 #inc1ude main() char Chr20; scanf(“s“,Chr); printf(“sn“,Chr); (分数:2.00)A.Microsof
12、t Visua1 StudioB.MC.Microsofi D.MicrosoftVisuaIStudio解析:解析:当从键盘输入“Microsofi Visua1Studio”时,由于“scanf”输入函数的特点是遇到空格时结束读入字符,因此,该程序只将“Microsoft”这 9 个字符送到了字符数组 str 中,并在其后自动加上结束符“/0”。21.若有“double a:”,则正确的输入语句是( )。(分数:2.00)A.scanf(“lf“,a);B.scanf(“f“,&a);C.scanf(“lf,&a) D.scanf(“1e“,a);解析:解析:scanf 函数的调用形式是:
13、scanfl”格式字符串”,输入项地址表)。其中,“格式字符串”是要输入的变量的格式符: “输入项地址表”是要输入的变量的地址。a 是 double 型数据,格式字符串可以用“lf”,“f”是浮点型。题中定义变量 a 为双精度型变量,双精度变量的格式符为“lf”;变量的地址用取地址符“&”加变量名表示,变量 a 的地址为“&a”。22.if 语句的基本形式为:if(表达式)语句,其中“表达式”( )。(分数:2.00)A.可以是任意合法的表达式 B.必须是逻辑表达式C.必须是逻辑表达式或关系表达式D.必须是关系表达式解析:解析:本题考查 if 表达式。i(表达式)中的表达式可以为任何合法的表达
14、式,一般情况下为逻辑、条件表达式,需要注意的是,当等号(=)误写为赋值号(=)时不会报错的,但是其值恒为 1。23.若 i、j 已定义成 int 型,则以下程序段中内循环体的总执行次数是( )。 for(1=6;i0;i ) for(j=0;j0。30.已知:int c34;,则对数组元素引用正确的是( )。(分数:2.00)A.c14B.c150C.c1+00D)以上表达都错误 解析:解析:此题考查的是数组元素的引用。对于已定义的数组 aMN,数组元素的正确引用必须满足行下标小于 M,列下标小于 N,且为正整数。因此,选项 A)中列下标溢出;选项 B)中行下标出现小数;选项 C)满足要求。3
15、1.以下程序: #inc1ude #inc1ude main() char str=“abcd/n/123/xab“; printf(“d“, strlen (str); 运行后的输出结果是( )。(分数:2.00)A.10B.9C.7 D.14解析:解析:本题考查字符串的长度,需注意转义字符串,例如,“/n”表示换行,为一个长度, “/123”表示 3 位八进制数 123 表示的字符,为一个长度,“/xab“表示二位十六进制数 ab 表示的字符,也为一个长度。32.C 语言中允许用外部说明来指定变量、函数和其他标识符的特征,这里所说的外部指的是( )。(分数:2.00)A.冠以关键字 ext
16、ernB.位置在函数体外部C.作用范围是全程的D.位置在函数的外部 解析:解析:C 语言中允许用位置在函数外部的说明来指定变量、函数和其他标识符的特征。33.有以下程序: #inc1ude int fun(int x,int y) if(x=y)retum(x); else return(x+y)/2); main() int a=1,b=2,c=3; printf(“d/n“,fun(2*a,fun(b,c); 程序运行后的输出结果是( )。(分数:2.00)A.2 B.3C.4D.5解析:解析:fun(b,c)即 fun(2,3),2!=3,所以返回(2+3)/2=2;fun(2*a,2)
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 模拟 试卷 116 答案 解析 DOC
