1、国家二级( C语言)笔试模拟试卷 41及答案与解析 1 在深度为 5的满二叉树中,叶子结点的个数为 ( A) 32 ( B) 31 ( C) 16 ( D) 15 2 若某二叉树的前序遍历访问顺序是 abdgcefh,中序遍历访问顺序是 dgbaechf,则其后序遍历的结点访问顺序是 ( A) bdgcefha ( B) gdbecfha ( C) bdgaechf ( D) gdbehfca 3 一些重要的程序语言 (如 C语言和 Pascal语言 )允许过程的递归调用。而实现递归调用中的存储分配通常用 ( A)栈 ( B)堆 ( C)数组 ( D)链表 4 软件工程的理论和技术性研究的内容
2、主要包括软件开发技术和 ( A)消除软件危机 ( B)软件工程管理 ( C)程序设计自动化 ( D)实现软件可重用 5 开发软件时对提高开发人员工作效率至关重要的是 ( A)操作系统的资源管理功能 ( B)先进的软件开发工具和环境 ( C)程序人员的数量 ( D)计算机的并行处理能力 6 在软件测试设计中,软件测试的主要目的是 ( A)实验性运行软件 ( B)证明软件正确 ( C)找出软件中全部错误 ( D)尽可能多地发现软件中的 错误 7 数据处理的最小单位是 ( A)数据 ( B)数据元素 ( C)数据项 ( D)数据结构 8 索引属于 ( A)模式 ( B)内模式 ( C)外模式 ( D
3、)概念模式 9 下述关于数据库系统的叙述中正确的是 ( A)数据库系统减少了数据冗余 ( B)数据库系统避免了一切冗余 ( C)数据库系统中数据的一致性是指数据类型一致 ( D)数据库系统比文件系统能管理更多的数据 10 数据库系统的核心是 ( A)数据库 ( B)数据库管理系统 ( C)模拟模型 ( D)软件工程 11 C语 言中的标识符只能由字母、数字和下划线 3种字符组成,且第一个字符 ( A)必须为字母 ( B)必须为下划线 ( C)必须为字母或下划线 ( D)可以是字母,数字和下划线中任一字符 12 下面四个选项中,均是不正确的 8进制数或 16进制数的选项是 ( A) 016 0x
4、8f 018 ( B) 0abc 017 0xa ( C) 010 -0x11 0x16 ( D) 0a12 7ff -123 13 下列用于 printf函数的控制字符常量中,代表 “竖向跳格 ”的转义字符常量是 ( A) b ( B) t ( C) v ( D) f 14 设变量 a是 int型, f是 float型, i是 double型,则表达式 10+a+i*f值的数据类型为 ( A) int ( B) float ( C) double ( D)不确定 15 下列关于字符串的说法中错误的是 ( A)在 C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符 0作为字符串结束标
5、志 ( B) 0作为标志占用存储空间,计入串的实际长度 ( C)在表示字符串常量的时候不需要人为在其末尾加入 0 ( D)在 C语言中,字符串常量隐含 处理成以 0结尾 16 有以下程序 main() int a10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, *p= while(strcmp(s, “End“) printf(“Input a string: “); gets(s); while(*p) putchar(*p+); ( A)此程序循环接收字符串并输出,直到接收字符串 “End“为止 ( B)此程序循环接收字符串,接收到字符串 “End“则输出,否则程序终止
6、( C)此程序循环接收字符串并输出,直到接收字符串 “End“为止,但因为代码有错误,程序不能正常工作 ( D)此程序循环接收字符串并将其连接在一起,直到接收字符串 “End“为止,输出连接在一起的字符串 18 C语言程序的基本单位是 ( A)程序行 ( B)语句 ( C)函数 ( D)字符 19 若运行以下程序时,从键盘输入 ADescriptor CR ( CR表示回车 ),则下面程序的运行结果是 #include stdio.h main() char c; int v0=1, v1=0,v2=0; do switch(c=getchar() casea:caseA: case e: c
7、ase E: case i: case I: case o: case O: case u: case U: v1+=1 default: v0+=1; v2+=1; while(c!=n); printf(“v0=%d, v1=%d, v2=%dn“, v0, v1, v2); ( A) v0=7, v1=4, v2=7 ( B) v0=8, v1=4, v2=8 ( C) v0=11, v1=4, v2=11 ( D) v0=13, v1=4, v2=12 20 函数的值通过 return语句返回,下面关于 return语句的形式描述错误的是 ( A) return表达式; ( B) re
8、turn(表达式 ); ( C)一个 return语句可以返回多个函数值 ( D)一个 return语句只能返回一个函数值 21 以下叙述中正确的是 ( A)构成 C程序的基本单位是函数 ( B)可以在一个函数中定义另一个函数 ( C) main()函数必须放在其他函数之前 ( D)所有被调用的函数一定要在调用之前进行定义 22 设有: int a=1, b=2, c=3, d=4, m=2, n=2; 执行 (m=a b) n; j+) if(ai aj)t=ai; ai=aj; aj=t; main() int aa10=1, 2, 3, 4, 5,6, 7, 8, 9, 10, i; sort( 60 【正确答案】 19 61 【正确答案】 rewind或 fseek 62 【正确答案】 j+ aj aj 63 【正确答案】 r+bk或 bk+r或 r+*(b+k)或 *(b+k)+r *x 64 【正确答案】 n=1 s 65 【正确答案】 x/10 case 0 : case 1 : case 2 : case 3: case 4: case 5: case 9: