[计算机类试卷]国家二级C语言机试(选择题)模拟试卷6及答案与解析.doc

上传人:twoload295 文档编号:498877 上传时间:2018-11-30 格式:DOC 页数:23 大小:80.50KB
下载 相关 举报
[计算机类试卷]国家二级C语言机试(选择题)模拟试卷6及答案与解析.doc_第1页
第1页 / 共23页
[计算机类试卷]国家二级C语言机试(选择题)模拟试卷6及答案与解析.doc_第2页
第2页 / 共23页
[计算机类试卷]国家二级C语言机试(选择题)模拟试卷6及答案与解析.doc_第3页
第3页 / 共23页
[计算机类试卷]国家二级C语言机试(选择题)模拟试卷6及答案与解析.doc_第4页
第4页 / 共23页
[计算机类试卷]国家二级C语言机试(选择题)模拟试卷6及答案与解析.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、国家二级 C语言机试(选择题)模拟试卷 6及答案与解析 一、选择题 1 下面关于算法的叙述中,正确的是 ( )。 ( A)算法的执行效率与数据的存储结构无关 ( B)算法的有穷性是指算法必须能在执行有限个步骤之后终止 ( C)算法的窄问复杂度是指算法程序中指令 (或语句 )的条数 ( D)以上三种描述都正确 2 下列二叉树描述中,正确的是 ( )。 ( A)任何一棵二叉树必须有一个度为 2的结点 ( B)二叉树的度可以小于 2 ( C)非卒二又树有 0个或 1个根结点 ( D)至少有 2个根结点 3 如 果进栈序列为 A, B, C, D,则可能的出栈序列是 ( )。 ( A) C, A, D

2、, B ( B) B, D, C, A ( C) C, D, A, B ( D)任意顺序 4 下列各选项中,不属于序言性注释的是 ( )。 ( A)程序标题 ( B)程序设计者 ( C)主要算法 ( D)数据状态 5 下列模式中,能够给出数据库物理存储结构与物理存取方法的是 ( )。 ( A)内模式 ( B)外模式 ( C)概念模式 ( D)逻辑模式 6 下列叙述中,不属于软件需求规格说明书的作用的是 ( )。 ( A)便于用户,开发人员进行理解和交流 ( B)反映出用户问题的结构,可以作为软件开发工作的基础和依据 ( C)作为确认测试和验收的依据 ( D)便于开发人员进行需求分析 7 下列不

3、属于软件工程 3个要素的是 ( )。 ( A)工具 ( B)过程 ( C)方法 ( D)环境 8 数据库系统在其内部具有 3级模式,用来描述数据库中全体数据的全局逻辑结构和特性的是 ( )。 ( A)外模式 ( B)概念模式 ( C)内模式 ( D)存储模式 9 将 E-R图转换到关系模式时,实体与联系都可以表示成 ( )。 ( A)属性 ( B)关系 ( C)记录 ( D)码 10 某二叉树中度为 2的结点有 10个,则该二叉树中有 ( )个叶子结点。 ( A) 9 ( B) 10 ( C) 11 ( D) 12 11 以下叙述中正确的是 ( )。 ( A) C程序中注释部分可以出现在程序中

4、任意合适的地方 ( B) C程序的书写格式是固定的,每行只能写一条语句 ( C)构成 C程序的基本单位是函数,所有函数名都可以由用户命名 ( D)在对 C语言程序进行编译时,可以发现注释行中的拼写错误 12 下面的程序在编译时产 生错误,其出错原因是 ( )。 #include main() int 1_case; float printF; printf(“请输入 2个数: ”); scanf(“ d f”, &1case, &printF); printf(“ d f n”, 1_case, printF); ( A)定义语句出错, 1_case不能作为变量名 ( B)定义语句出错, pr

5、intF不能用作用户自定义标识符 ( C)定义语句无错, scanf不能作为 输入函数使用 ( D)定义语句无错, printf不能输出 1_case的值 13 以下不正确的转义字符是 ( )。 ( A) ( B) d ( C) s ( D) 088 14 下面程序的运行结果是 ( )。 y=5; x=14; y=(x=3*y, x+6), x1); printf(“x= d, y= d”, X, y); ( A) x=27, y=27 ( B) x=12, y=13 ( C) x=15, y=14 ( D) x=y=27 15 sizeof(char)是 ( )。 ( A)一种函数调用 (

6、B)一个整型表达式 ( C)一个字符型表达式 ( D)一个不合法的表达式 16 下列 4个程序中,完全正确的是 ( )。 ( A) #include main(); *programming* printf(“programming! n”); ( B) #include main() /*/programming/*/ printf(“programming!n”); ( C) #include main() /*/programming*/*/ printf(“programming! n”); ( D) include main() *programming* pfintf(“progr

7、amming! n”); 17 设变量均已正确定义,若要通过 scanf(“ d c d c”, &a1, &c1, &a2,&c2);语句为变量 a1和 a2赋数值 10和 20,为变量 c1和 c2赋字符 X和 Y。下列所示的输入形式中正确的是 (注:口代表空格字符 )( )。 ( A) 10X20Y ( B) 10X20Y ( C) 10口 X 20Y ( D) 10X 20Y 18 两次运行下面的程序,如果从键盘上分别输入 3和 2,则输出结果是 ( )。 #include main() int x; scanf(“ d”, x); if(x+2)printf(“ d”, x); el

8、se printf(“ d n”, X-); ( A) 4和 3 ( B) 4和 2 ( C) 4和 1 ( D) 3和 2 19 以下叙述中不正确的是 ( )。 ( A)在不同的函数中可以使用相同的名字的变量 ( B)函数中的形式参数是局部变量 ( C)在一个函数内定义的变量只在本函数范围内有效 ( D)在一个函数内的复合语句中定义的变量在本函数范围内有效 20 运行下面的程序,输入字符串 Microsoft Visual Studio,则程序的执行结果是( )。 #include main() char Chr20; scanf(“ s”, &Chr); printf(“ s n” Chr

9、); ( A) Microsoft Visual Studio ( B) M ( C) Microsoft ( D) MicrosoflVisualStudio 21 若有 “double a: ”,则正确的输入语句是 ( )。 ( A) scanf(“ lf”, a); ( B) scanf(“ f”, &a); ( C) scanf(“ lf”, &a) ( D) scanf(“ le”, a); 22 if语句的基本形式为: if(表达式 )语句,其中 “表达式 ”( )。 ( A)可以是任意合法的表达式 ( B)必须是逻辑表达式 ( C)必须是逻辑表达式或关系表达式 ( D)必须是关系

10、表达式 23 若 i、 j已定义成 int型,则以下程序段中内循环体的总执行次数是 ( )。 for(i=6; i0; i-一 ) for(j=0: j int m=13; int fun(int X, int y) int m=2; retum(x*ym); main() int a=7, b=6; printf(“ d”, fun(a, b) m); ( A) 1 ( B) 3 ( C) 7 ( D) 10 26 下面程序运行后的输出结果是 ( )。 #include main() int a5=1,0, 4, 2, 0), b5=1,2, 3, 4, 5, i, S=0; for(i=0

11、; i main() char p4=“ABC”, “DEF”, “GHI”; int i; for(i=0; i #include main() char*s1=“abDuj”; char*s2=“ABdUG”: int t; t=strcmp(s1, s2); printf(“ d”, t); ( A)正数 ( B)负数 ( C)零 ( D)不确定的值 30 已知: int c34;,则对数组元素引用正确的是 ( )。 ( A) c14 ( B) c1 50 ( C) c1+00 ( D)以上表达都错误 31 以下程序: #include #include main() char str=

12、“abcd n 123 xab”; printf(“ d”, strlen(str); 运行后的输出结果是 ( )。 ( A) 10 ( B) 9 ( C) 7 ( D) 14 32 C语言中允许用外部说明来指定变量、函数和其他标识符的特征,这里所说的外部指的是 ( )。 ( A)冠以关键字 extern ( B)位置在函数体外部 ( C)作用范围是全程的 ( D)位置在函数的外部 33 有以下程序: #include int fun(int X,int y) if(x=y)return(x); else return(x+y) 2); main() int a=1, b=2, c=3; pr

13、intf(“ d n”, fun(2*a, fun(b, c); 程序运行后的输出结果是 ( )。 ( A) 2 ( B) 3 ( C) 4 ( D) 5 34 若有 char s33=“AAA”, “BBB”, “CCC”);说明语句,则与它等价的语句是( )。 ( A) char*s=“AAA”, “BBB”, “CCC”); ( B) char*s3=“AAA”, “BBB”, “CCC”); ( C) char s5=“AAA”, “BBB”, “CCC”; ( D) char s3=“AAA”, “BBBtt gt!CCC”); 35 计算机高级语言程序的运行方法有编译执行和解释执行

14、两种,以下叙述中正确的是 ( )。 ( A) C语言程序仅可以编译执行 ( B) C语言程序仅 可以解释执行 ( C) C语言程序既可以编译执行又可以解释执行 ( D)以上说法都不对 36 若有如下说明,且 int类型占两个字节,则正确的叙述为 ( )。 struct st int a; int b2; a; ( A)结构体变量 a与结构体成员 a同名,定义是合法的 ( B)程序只在执行到该结构体时才为结构体 st分配存储单元 ( C)程序运行时为结构体 st分配 8字节存储单元 ( D)类型名 struct st可以通过 extern关键字提前引用 37 有以下 程序: #include i

15、nt fun(int*k) intb=0; b=*k+b: return(b); main() int a10=1,2, 3, 4, 5, 6, 7, 8, i; for(i=2; istr2,返回值 0。 30 【正确答案】 C 【试题解析】 此题考查的是数组元素的引用。对于已定义的数组 aMN,数组元素的正确引用必须满足行下标小于 M,列下标小于 N,且为正整数。因此,选项 A)中列下标溢出; 选项 B)中行下标出现小数;选项 C)满足要求。 31 【正确答案】 C 【试题解析】 本题考查字符串的长度,需注意转义字符串,例如, “ n”表示换行,为一个长度, “ 123”表示 3位八进制数

16、 123表示的字符,为一个长度, “xab”表示二位十六进制数 ab表示的字符,也为一个长度。 32 【正确答案】 D 【试题解析】 C语言中允许用位置在函数外部的说明来指定变量、函数和其他标识符的特征。 33 【正确答案】 A 【试题解析】 fun(b,c)即 fun(2,3), 21=3, 所以返回 (2+3) 2=2; fun(2*a, 2)即fun(2, 2), 2=2,所以返回 2。 34 【正确答案】 D 【试题解析】 二维字符数组在定义时可省略第一维的维数,根据初始化有 3个字符串,所以选项 D)中数组有 3行,与已知说明语句等价。 35 【正确答案】 A 【试题解析】 C语言作

17、为计算机高级语言,用它编写的程序必须经过 C语言的编译器编译后,转换为二:进制的机器码来运行。 36 【正确答案】 A 【试题解析】 本题主要考查结构体的用法: 结构体变量 a与结构体成员 a同名,定义 合法; 在程序编译的时候结构的定义并不会使系统为该结构分配内存空间,只有在说明结构变量时才分配内存空间; int a占 2个字节, intb2占 4个字节,共 6个; 类型名 struct st不可以通过 extern关键字提前引用。 37 【正确答案】 C 【试题解析】 b是局部变量,因此当 i=2时, fun的返回值值为 3, i=3时 fun返回值为 4 38 【正确答案】 D 【试题解

18、析】 本题主要考查的知识点是联合体的内存使用。联合体与结构体的定义相同,其本质区别就在于内存使用方式的不同。联合体所 占用的内存空间为最长的成员所占用的空间,各个成员分量全部是从低地址方向开始使用内存单元;联合体中的空间在某一时刻只能保持某一个成员的数据,所以本题执行完一系列赋值后,只得到最后执行的字符 R。 39 【正确答案】 B 【试题解析】 本题主要考查按位与 (&)运算的知识点。 “&”是对两个运算量相应的位进行逻辑与, “ ”的规则与逻辑与 “ &”相同。 x=2的二进制为 00000010,v=3的二进制为 00000011, x&v=00000010,转化为十进制即为 2。 40

19、 【正确答案】 B 【试题 解析】 数据块输入输出函数的调用形式为: fread(buffer,size,count,fp)。 fread函数参数说明: “buffer”是一个指针,对 fread来说,它是读入数据的存放地址。对 fwrite来说,是要输出数据的地址。 “size”是要读写的字节数;“count”是要进行读写多少个 size字节的数据项; “fp”是指文件型指针。选项 B)中 bi是一个数组,不是指针,需改为 &bi。 注意:完成一次读操作 (fread()后,如果没有关闭流 (fclose(),则指针 (FILE *fp)自动向后移动前一次读写的长度,不关闭流则继续下一次读操作,接着上次的输出继续输出。

展开阅读全文
相关资源
猜你喜欢
相关搜索

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

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