[计算机类试卷]国家二级(C语言)机试模拟试卷124及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试模拟试卷124及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试模拟试卷124及答案与解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试模拟试卷 124及答案与解析 一、选择题 1 下列数据结构中,能用二分法进行查找的是 ( )。 ( A)无序线性表 ( B)线性链表 ( C)二叉链表 ( D)顺序存储的有序表 2 下列叙述中,不属于设计准则的是 ( )。 ( A)提高模块独立性 ( B)使模块的作用域在该模块的控制域中 ( C)设计成多入口、多出口模块 ( D)设计功能可预测的模块 3 下列队列的描述中,正确的是 ( )。 ( A)队列属于非线性表 ( B)队列在队尾删除数据 ( C)队列按 “先进后出 ”进行数据操作 ( D)队列按 “先进先出 ”进行数据操作 4 对下列二叉树进行前序遍历的结果为
2、( )。 ( A) ABCDEFGH ( B) ABDGEHCF ( C) GDBEHACF ( D) GDHEBFCA 5 对于长度为 n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是 ( )。 ( A)冒泡排序为 n(n一 1) 2 ( B)简单插入排序为 n ( C)希尔排序为 n ( D)快速排序为 n 2 6 为了使模块尽可能独立,要求 ( )。 ( A)内聚程度要尽量高,耦合程度要 尽量强 ( B)内聚程度要尽量高,耦合程度要尽量弱 ( C)内聚程度要尽量低,耦合程度要尽量弱 ( D)内聚程度要尽量低,耦合程度要尽量强 7 下列选项中不属于软件生命周期开发阶段任务的
3、是 ( )。 ( A)软件测试 ( B)概要设计 ( C)软件维护 ( D)详细设计 8 数据独立性是数据库技术的重要特点之一。所谓数据独立性是指 ( )。 ( A)数据与程序独立存放 ( B)不同的数据被存放在不同的文件中 ( C)不同的数据只能被对应的应用程序所使用 ( D)以上三种说法都不对 9 在 学校中, “班级 ”与 “学生 ”两个实体集之间的联系属于 ( )关系。 ( A)一对一 ( B)一对多 ( C)多对一 ( D)多对多 10 软件调试的目的是 ( )。 ( A)发现错误 ( B)改善软件的性能 ( C)改正错误 ( D)验证软件的正确性 11 C语言源程序名的后缀是 (
4、)。 ( A) exe ( B) C ( C) obj ( D) cp 12 若函数中有定义语句: int a;,则 ( )。 ( A)系统将自动给 a赋初值 0 ( B)这时 a中的值是和随机数 ( C)系 统将自动给 a赋初值 1 ( D)这 a中无任何值 13 以下选项中,合法的一组 C语言数值常量是 ( )。 ( A) 028 5e 3 0xf ( B) 12 OXa23 4 5e0 ( C) 177 4c1 5 Oabc ( D) 0x8A 10, 000 3 e5 14 下列语句组中,不正确的是 ( )。 ( A) char*s; s=“Olympic“; ( B) char s=
5、“Olympic“; ( C) char*s; s=“Olympic“; ( D) char s=“Olympic“; 15 若在定义语句: int a, b, c, *p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是 ( )。 ( A) scanf(“ d“, a, b, c); ( B) scanf(“ d d d“, a, b, c); ( C) scanf(“ d“, p); ( D) scanf(“ d“, p); 16 有以下程序,其中 u表示按无符号整数输出 ( )。 main() unsigned int x=0xFFFF; *x的初值为十六进制数 * print
6、f(“ u n“, x); 程序运行后的输出结果是 ( )。 ( A) 1 ( B) 65535 ( C) 32767 ( D) 0xFFFF 17 设变量 x和 y均已正确定义并赋值,以下 if语句中,在编译时将产生错误信息的是 ( )。 ( A) if(x+); ( B) if(x y&y!=0); ( C) if(x y)x-else y+; ( D) if(y 0); else x+; 18 以下选项中,当 x为大于 1的奇数时,值为 0的表达式为 ( )。 ( A) x 2=1 ( B) x 2 ( C) x 2!=0 ( D) x 2=0 19 若 x, i, j和 k都是 int
7、型变量,则计算表达式 x=(i=4, j=16, k=32)后, x的值为 ( )。 ( A) 4 ( B) 16 ( C) 32 ( D) 52 20 在下列选项中,没有构成死循环的是 ( )。 ( A) int i=100; while(1) i=i0+1; if(i 100)break; ( B) for(; ); ( C) int k=10000; dok+; while(k 10000); ( D) int s=36; while(s)-s; 21 在 printf的格式字符中, e格式字符的作用是 ( )。 ( A)以十六进制无符号形式输出整数 ( B)以带符号的十进制形式输出整数
8、 ( C)以指数形式输出实数 ( D)以字符形式输出,凡只输出一个字符 22 以下选项中正确的语句组是 ( )。 ( A) char s; s=“HELLO!“; ( B) char*s; s=“HELLO!“; ( C) char s10; s=“HELLO!“; ( D) char *s; s=“HELLO!“; 23 字符串 “ “ABCDEFV “ “的长度是 ( )。 ( A) 11 ( B) 10 ( C) 5 ( D) 3 24 下列说法正确的是 ( )。 ( A) int(*def)10; -def指向一个指针,该指针指向 10个整型变量构成的数组 ( B) int*(*gh1
9、0); -gh指向一个指针,该指针指向 10个整型变量构成的数组 ( C) int*(*gh10); -gh是一个指针,指向由 10个指向整型变量的指针构成的数组 ( D) A, C均正确 25 若函数调用时的实 参为变量,以下关于函数形参和实参的叙述中正确的是( )。 ( A)函数的实参和其对应的形参共占同一存储单元 ( B)形参只是形式上的存在,不占用具体存储单元 ( C)同名的实参和形参占同一存储单元 ( D)函数的形参和实参分别占用不同的存储单元 26 设有如下定义: struct sk int m; float x: data, *q; 若要使 q指向 data中的 m域,正确的赋值
10、语句是 ( )。 ( A) q=&data m; ( B) *q=data m; ( C) q=(struct sk*)&data m; ( D) q=(struct sk*)data m; 27 有以下程序: int f1(double a) main() return a*a; double w; int f2(int x, int y) w=f2 (2 1, 4 0); double a, b; : a=f1(x); b=f1(y); return a+b: 程序执行后,变量 w的值是 ( )。 ( A) 20 21 ( B) 20 ( C) 20 0 ( D) 0 0 28 若语句 “
11、t=fun(fun(x, y, a), (a+b, a+c), x+y+z); ”对 fun函数的调用正确,则fun函数的形参个数为 ( )。 ( A) 3 ( B) 4 ( C) 5 ( D) 6 29 设 x为整型变量, n=14, n的地址为 4000; m=6, m的地址为 2000;执行语句x=&n后的结果为 ( )。 ( A) 14 ( B) 6 ( C) 2000 ( D) 4000 30 若有说明 “int m34=3, 9, 7, 8 5, (*q)4; ”和赋值语句 “q=m; ”,则对数组元素 “mij(其中 0 =i 3, 0 =i 4)”值的正确引用为 ( )。 (
12、A) (q+i)j ( B) *qij ( C) *(*qi+j) ( D) *(*(q+i)+j) 31 有以下程序: void ss(char*s, char t) while(*s) if(*s=t)*s=t a+A; s+; main() char str1100=“abcddfefdbd“, c=d; ss(str1, c); printf(“ s n“, str1); 程序运行后的输出结果是 ( )。 ( A) ABCDDEFEDBD ( B) abcDDfefDbD ( C) abCAAfefAbA ( D) Abcddfefdbd 32 下述语句中,在字符串 s1和 s2相等时
13、显示 ”they are Equal”的是 ( )。 ( A) if(*s1=*s2) puts(“they are Equal“); ( B) if(!strcmp(s1, s2) puts(“they are Equal“); ( C) if(s1=s2) puts(“they are Equal“); ( D) if(strcmp(s1, s2) puts(“they are Equal“); 33 设有说明 int(*ptr)M;其中的标识符 ptr是 ( )。 ( A) M个指向整型变量的指针 ( B)指向 M个整型变量的函数指针 ( C)一个指向具有 M个整型元素的一维数组的指针
14、( D)具有 M个指针元素的一维指针数组,每个元素都只能指向整型变量 34 在 C语言中,变量的隐含存储类别是 ( )。 ( A) auto ( B) static ( C) extern ( D)无存储类别 35 有以下程序: #lnclude stdio h struct tt int x; struct tt*y; *p; struct tt a4=20, a+1, 15, a+2, 30, a+3, 17, a; main() int i; p=a; for(i=1; i =2; i+)printf(“ d, “, p x); p=P y; ) 程序的运行结果是 ( )。 ( A) 2
15、0, 30, ( B) 30, 17 ( C) 15, 30, ( D) 20, 15, 36 有以下程序: #include stdio h main() FILE*fp; int a10=1, 2, 3, 0, 0), i; fp=fopen(“d2 dat“, “wb“); fwrite(a, sizeof(int), 5, fp); fwrite(a, sizeof(int), 5, fp); fclose(fp); fp=fopen(“d2 dat“, “rb“); fread(a, sizeof(int), 10, fp); fclose(fp); for(i=0; i 10; i
16、+)printf(“ d, “, ai); 程序的运行结果是 ( )。 ( A) 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, ( B) 1, 2, 3, 1, 2, 3, 0, 0, 0, 0, ( C) 123, 0, 0, 0, 0, 123, 0, 0, 0, 0, ( D) 1, 2, 3, 0, 0, 1, 2, 3, 0, 0, 37 定义结构体数组 struct stu int num; char name20; x5=1, “ZHAO“, 2, “QIAN“, 3, “SUN“, 4, “LEE“, 5, “ZHOU“); for(i=1; i 5; i+) p
17、rintf(“ d c“, xi num, xi name2); 程序执行后的输出结果是 ( )。 ( A) 2A3N4E50 ( B) 1H213U4E ( C) 1A2N3E40 ( D) 1A2N3E40 38 union dt int a; char b; double c; data; 以下叙述中错误的是 ( A) data的每个成员起始地址都相同 ( B)变量 data所占内存字节数与成员 C所占字节数相等 ( C)程序段: data a=5; printf(“ f n“, data C);输出结果为 5 000000 ( D) data可以作为函数的实参 39 设 x=021,
18、y=012,则 z=x y的值是 ( )。 ( A) 1 ( B) 0 ( C) 00011011 ( D) 11000010 40 fgets(str, n, fp)函数从文件中读入一个字符串,以下错误的叙述是 ( )。 ( A)字符串读入后会自动加入 0 ( B) fp是指向该文件的文件型指针 ( C) fgets函数将从文件中最多读入 n个字符 ( D) fgets函数将从文件中最多读入 n一 1个字符 二、程序填空题 41 给定程序的功能是:从键盘输入若干行文本 (每行不超过 80个字符 ),写到文件myfile4 txt中,用 1作为字符串输入结束的标志。然后将文件的内容读出显示在屏
19、幕上。文件的读写分别由自定义函数 ReadText和 WriteText实现。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANK1 C中。不得增行或删行,也不得更改程序的结构 ! #include stdio h #include string h #include stdlib h void WriteText(FILE*); void ReadText(FILE*); main() FILE*fp; if(fp=fopen(“myfile4 txt“, “w“)=NULL) printf(“open fail! n“); e
20、xit(0); WriteText(fp); fclose(fp); if(fp=fopen(“myfile4 txt“, “r“)=NULL) printf(“open fail! n“); exit(0); ReadText(fp): fclose(fp); *found* void WriteText(FILE_(1) char str81; printf(“ nEnter string with-1 to end: n“); gets(str); while(strcmp(str, “ 1“)!=0) *found* fputs(_(2), fw); fputs(“ n“, fw);
21、gets(str); void ReadText(FILE*fr) char str81; printf(“ nRead file and output to screen: n”); fgets(str, 81, fr); while(!feof(fr) *found* pfintf(“ s“_(3); fgets(str, 81, fr); 三、程序修改题 42 给定程序 MODI1 C中函数 fun的功能是:判断一个整数是否是素数,若是返回 1,否则返回 0。 在 main()函数中,若 fun返回 1输出 YES,若 fun返回 0输出 NO!。请改正程序中的错误,使它能得出正确的结果
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 模拟 124 答案 解析 DOC
