[计算机类试卷]国家二级(C语言)机试模拟试卷118及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试模拟试卷118及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试模拟试卷118及答案与解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试模拟试卷 118及答案与解析 一、选择题 1 在结构化方法中,用数据流程图 (DFD)作为描述工具的软件开发阶段是 ( )。 ( A)逻辑设计 ( B)需求分析 ( C)详细设计 ( D)物理设计 2 对序线性表 (23, 29, 34, 55, 60, 70, 78)用二分法查找值为 60的元素时,需要比较次数为 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 3 下列描述中,正确的是 ( )。 ( A)线性链表是线性表的链式存储结构 ( B)栈与队列是非线性结构 ( C)双向链表是非线性结构 ( D)只有根结点的二叉树是线性结构 4 开发大型软件时
2、,产生困难的根本原因是 ( )。 ( A)大型系统的复杂性 ( B)人员知识不足 ( C)客观世界千变万化 ( D)时间紧、任务重 5 两个或两个以上的模块之间关联的紧密程度称为 ( )。 ( A)耦合度 ( B)内聚度 ( C)复杂度 ( D)连接度 6 下列关于线性表的叙述中,不正确的是 ( )。 ( A)线性表可以是空表 ( B)线性表是一种线性结构 ( C)线性表的所有结点有且仅有一个前件和后件 ( D)线性表是由 n个元素组成的一个有限序列 7 设有如下关系表: 则下列操作正确的是 ( )。 ( A) T=R/S ( B) T=RS ( C) T=RS ( D) T=RUS 8 以下
3、描述中,不是线性表顺序存储结构特征的是 ( )。 ( A)可随机访问 ( B)需要连续的存储空间 ( C)不便于插入和删除 ( D)逻辑相邻的数据物理位置上不相邻 9 在三级模式之间引入两层映像,其主要功能之一是 ( )。 ( A)使数据与程序具有较高的独立性 ( B)使系统具有较高的通道能力 ( C)保持数 据与程序的一致性 ( D)提高存储空间的利用率 10 下列方法中,属于白盒法设计测试用例的方法的是 ( )。 ( A)错误推测 ( B)因果图 ( C)基本路径测试 ( D)边界值分析 11 在 C语言中,以下说法不正确的是 ( )。 ( A)在 C程序中,整数和实数都能被准确无误地表示
4、出来 ( B)在 C程序中,任何一个变量名都代表存储器中的一个位置 ( C)静态变量的生存期与整个程序的运行期相同 ( D) C语言中,任何变量都必须先声明才能进行引用 12 以下关于 C语言数据类型的叙述中正确的 是 ( )。 ( A) C基本数据类型包括:分为整型、实型、浮点型、字符型四种 ( B)实型常量的表达方式包括十进制形式、十六进制形式、二进制形式、八进制形式、指数形式 ( C)若要处理如 “人员信息 ”等含有不同类型的相关数据,应自定义结构体类型 ( D)若只处理 “真 ”和 “假 ”两种逻辑值,应使用逻辑类型 13 以下标识符不是关键字的是 ( )。 ( A) break (
5、B) char ( C) Switch ( D) return 14 下列选项中,不能作为合法常量的是 ( )。 ( A) 12340 ( B) 1 234e0 4 ( C) 12340 ( D) 1.234 15 有以下程序: #inc1ude main() | while(getchar()!= n); | 以下叙述中正确的是 ( )。 ( A)此 while语句将无限循环 ( B) getchar()不可以出现在 while语句的条件表达式中 ( C)当执行此 while语句时,只有按回车键程序才能继续执行 ( D)当执行此 while语句时,按任意键程序就能继续执行 16 下列叙述中正
6、确的是 ( )。 ( A)调用 printf()函数时,必须要有输出项 ( B)使用 putchar()函数时,必须在之前包含头文件 stdio h ( C)在 C语言中,整数可以以二进制、八进制或十六进制的形式输出 ( D)调节 getchar()函数读入字符时,可以从键盘上输入字符所对应的 ASCII码 17 执行以下程序段后, w的值为 ( )。 int w=A, x=14, y=15; w=(x | y)& (w0) ( B) (xy0) ( D)( xy=0) 21 若 a、 b、 c、 d都是 int型变量且都已经正确赋初值,则以下不正确的赋值语句是 ( )。 ( A) a+d;
7、( B) a+; ( C) a=b=c=d=100; ( D) a=(b=3)+(d=5); 22 有以下程序 #define F(X, Y)(X)*(Y) main() int a=3, b=4; printf(“ dn“, F(a+, b+); 程序运行后的输出结果是 ( )。 ( A) 12 ( B) 15 ( C) 16 ( D) 20 23 以下是 while语句的 基本形式: while(表达式) 语句;)其中 “表达式 ”( )。 ( A)必须是逻辑表达式 ( B)必须是关系表达式 ( C)必须是逻辑表达式或关系表达式 ( D)可以是任意合法的表达式 24 有以下程序: #inc
8、1ude main() int a=6, b=7, m=1; switch(a 2) case 0:m+; break; case 1: m+: switch(b 2) defaut:m+; caseO:m+; break; printf(“ dn“, m), 程序运行后的输出结果是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 25 有以下程序 #inc1ude int fun(int a, int b) if(b=0)return a; else return(fun( a, 一 b)); main() printf(“ dn“, fun(4, 2); 程序的运行结果是
9、 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 26 关于字符常量,以下叙述正确的是 ( )。 ( A)空格不是一个字符常量 ( B)字符常量能包含大于一个的字符 ( C)单引号中的大写字母和小写字母代表的是相同的字符常量 ( D)所有的字符常量都可以作为整型量来处理 27 下面函数调用语句含有实参的个数为 ( )。 func(exp1, exp2), (exp3, exp4, exp5); ( A) 1 ( B) 2 ( C) 3 ( D) 5 28 有以下程序 #inc1ude void main() int n=2, k=1; while(!(k0|n+); prin
10、tf(“ d dn“, k, n); 程序运行后的输出结果是 ( )。 ( A) 0 2 ( B) 1 3 ( C) 5 7 ( D) 1 2 29 以下不正确的定义语句是 ( )。 ( A) double x5=1 0, 2 0, 3 0, 4 0, 5 0); ( B) int y5l=0, 1, 2, 3, 4, 5; ( C) char c1=1, 2, 3, 4, 5; ( D) char c2=a, b, c; 30 若有以下定义,则对数组元素的正确引用是 ( )。 int a5, *p=a; ( A) * a5 ( B)( *a) +2 ( C) *p+4 ( D) *(a+2)
11、 31 下列字符数组初始化语句中,不正确的是 ( )。 ( A) char c=goodmorning; ( B) char c20= “goodmorning“; ( C) char c=a, b, c, d; ( D) charc=“goodmorning“; 32 下列程序的运行结果为 ( )。 #inc1ude void abc(char*str) int a, b, i, j; for(i=j=0; stri! = 0; i+) if(stri!=a) strj+=stri; strj= 0; void main() char str=“abcdef“; abc(str); prin
12、tf(“str= s“, str); ( A) str=bcdef ( B) str=abcdef ( C) str=a ( D) str=ab 33 阅读下面程序,程序执行后的结果为 ( )。 #inc1ude “stdio h“ main() char *str=“abcdefghijklmnopq“; while(*str+! =e); printf(“ cn“, *str); ( A) f ( B) a ( C) e ( D) q 34 设有如下的程序段: char str=“HelloWorld“; char*ptr; ptr=str; 执行上面的程序段后, “*(ptr+10)”的
13、值为 ( )。 ( A) 0 ( B) 0 ( C)不确定的值 ( D) 0的地址 35 下述语句中,在字符串 s1和 s2相等时显示 “they areEqua1”的是 ( )。 ( A) if( *s1=*s2) puts(“they are Equa1“); ( B) if(!strcmp(s1, s2)puts(“they are Equa1“); ( C) if(s1=s2)Puts(“they are Equa1“); ( D) if(strcmp(s1, s2)puts(“they are Equa1“); 36 设有定义: struct complex int rea1, un
14、rea1, data1= 1, 8, data2; 则以下赋值语句中错误的是 ( )。 ( A) data2= data1 rea1, data1 unrea1; ( B) data2=(2, 6); ( C) data2 rea1=data1 rea1; ( D) data2rea1=data1 unrea1; 37 以下程序的输出结果是 ( )。 #inc1ude void prt (int*x, int *y, int *z) printf(“ d, d, d n“, +x, +*y, *(z+); main() int a=10, b=40, c=20; prt (&a, &b, &c
15、); prt (&a, &b, &c); ) ( A) 11, 42, 31 ( B) 11, 41, 2012, 22, 41 12, 42, 20 ( C) 11, 21, 40 ( D) 11, 41, 2111, 21, 21 12, 42, 22 38 设有以下说明,则不正确的叙述是 ( )。 union un int a; charb: float c: arr; ( A) arr所占的内存长度等于成员 c的长度 ( B) arr的地址和它的各成员的地址都是同一地址 ( C) arr可以作为函数参数 ( D)不能在定义 arr时对它初始化 39 若 x=4, y=5,则 x&y的结
16、果是 ( )。 ( A) 0 ( B) 4 ( C) 3 ( D) 5 40 下列关于 C语言数据文件的叙述中正确的是 ( )。 ( A)文件由 ASCII码字符序列组成, C语言只能读写文本文件 ( B)文件由二进制数据序列组成, C语言只能读写二进制文件 ( C)文件由记录序列组成,可 按数据的存放形式分为二进制文件和文本文件 ( D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件 二、程序填空题 41 给定程序中,函数 fun的作用是:不断从终端读入整数,由变量 a统计大于 0的个数,用变量 c来统计小于 0的个数,当输入 0时结束输入,并通过形参 pa和pb把统计的数
17、据传回主函数进行输出。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1 C中。 不得增行或删行,也不得更改程序的结构! #include void fun(int *px, int *py) int (1) ; scanf ( “ d“, &k) ; while _(2)_ main () int x, y; printf ( “x= d y= dn“, x, y) ; 三、程序修改题 42 给定程序 MODI1 C中函数 fun的功能是:将字符串中的字符按逆序输出,但不改变字符串中的内容。 例如,若字符串为 abcd,则
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 模拟 118 答案 解析 DOC
