[计算机类试卷]国家二级(C语言)机试模拟试卷61及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试模拟试卷61及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试模拟试卷61及答案与解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试模拟试卷 61及答案与解析 一、选择题 1 下列叙述中正确的是 ( A)栈与队列都只能顺序存储 ( B)循环队列是队列的顺序存储结构 ( C)循环链表是循环队列的链式存储结构 ( D)栈是顺序存储结构而队列是链式存储结构 2 设某二叉树的前序序列为 ABC,中序序列为 CBA,则该二叉树的后序序列为 ( A) BCA ( B) CBA ( C) ABC ( D) CAB 3 下列排序方法中,最坏情况下时间复杂度最小的是 ( A)冒泡排序 ( B)快速排序 ( C)堆排序 ( D)直 接插入排序 4 为了对有序表进行对分查找,则要求有序表 ( A)只能顺序存储 ( B)只
2、能链式存储 ( C)可以顺序存储也可以链式存储 ( D)任何存储方式 5 软件设计中模块划分应遵循的准则是 ( A)低耦合低内聚 ( B)高耦合高内聚 ( C)低耦合高内聚 ( D)内聚与耦合无关 6 下面属于整数类的实例是 ( A) 0x518 ( B) 0.518 ( C) -518 ( D) 5.18E+00 7 下面属于白盒测试方法的是 ( A)边界值分析法 ( B)基本路径测试 ( C)等价类划分 法 ( D)错误推测法 8 设有一个商店的数据库,记录客户及其购物情况,由三个关系组成:商品 (商品号,商品名,单价,商品类别,供应商 ) ,客户 (客户号,姓名,地址,电邮,性别,身份证
3、号 ) ,购买 (客户号,商品号,购买数量 ),则关系购买的键为 ( A)客户号 ( B)商品号 ( C)客户号 , 商品号 ( D)客户号 , 商品号 , 购买数量 9 有两个关系 R, S如下,由关系 R和 S通过运算得到关系 T,则所使用的操作为( A)并 ( B)自然连接 ( C)差 ( D)交 10 在数据库管理系统提 供的数据语言中,负责数据的查询、增加、删除和修改等操作的是 ( A)数据定义语言 ( B)数据管理语言 ( C)数据操纵语言 ( D)数据控制语言 11 流程图是描述算法的很好的工具,一般的流程图中由几种基本图形组成。其中判断框的图形是 ( A)菱形 ( B)长方形
4、( C)平行四边形 ( D)椭圆型 12 以下叙述错误的是 ( A)在进行模块化程序设计的时候,应首先完成每个模块的编写调试,再集中考虑主程序中的算法 ( B)同一程序各模块可由一组人员同时进行编写调试,可提高编写程序的效率 ( C) 模块化的程序设计是采用自顶向下、逐步细化的原则 ( D)程序的每个模块都可通过三种基本结构实现 13 关于 C语言的变量名,以下叙述正确的是 ( A)变量名不可以与关键字同名 ( B)变量名不可以与预定义标识符同名 ( C)变量名必须以字母开头 ( D)变量名是没有长度限制的 14 有以下程序 #include stdio.h main() int a; a =
5、 (int)1.99*3; printf(“%dn“, a); 程序的运行结果是 ( A) 3 ( B) 5 ( C) 6 ( D)结果不确定 15 有以下程序 #include stdio.h main() int k=-17; printf(“%d,%o,%xn“, k, 1-k, 1-k); 程序的运行结果是 ( A) -17,22,12 ( B) -17,12,22 ( C) -17,-22,-12 ( D) 17,22,12 16 若有定义: int a; float b; double c; ,程序运行时输入: a=1,b=2,c=3 回车,能把值 1输入给变量 a、值 2输入给变
6、量 b、值 3输入给变量 c的输入语句是 ( A) scanf(“a=%d,b=%f,c=%lf“, ( B) scanf(“%d%f%lf“, ( C) scanf(“a=%d,b=%lf,c=%lf“, ( D) scanf(“a=%d,b=%f,c=%f“, 17 有以下程序 #include stdio.h main() int a=0,b=0,c=0,d=0; (+a | +b) ? +c : +d; printf(“%d,%d,%d,%dn“, a,b,c,d); 程序的运行结果是 ( A) 1,0,1,0 ( B) 1,1,0,1 ( C) 1,0,0,1 ( D) 1,1,1,
7、0 18 有以下程序 #include stdio.h main() int a,b; for (a=0; a 3; a+) scanf(“%d“, switch(b) case 1: printf(“%d,“, b+); case 2: printf(“%d,“, b+); default: printf(“%d,“, b+); printf(“n“); 执行时输入: 1 2 3 回车,则输出结果是 ( A) 1,2,3,2,3,3, ( B) 1,2,3, ( C) 2,3,4,3,4,4, ( D) 1,1,1,2,2,3 19 有以下程序 #include stdio.h main()
8、 int a=1,b=1; while(a-) b-; printf(“%d,%dn“, a,b); 程序的运行结果是 ( A) -1,0 ( B) 0,0 ( C) -1,-1 ( D) 1,1 20 有以下程序 #include stdio.h main() int a=1, b=0; for(;a 5; a+) if (a%2=0) break; b += a; printf(“%d n“, b); 程序的运行结果是 ( A) 1 ( B) 10 ( C) 0 ( D) 4 21 以下能正确输出字符 a 的语句是 ( A) printf(“%s“, “a“); ( B) printf(“
9、%s“, a); ( C) printf(“%c“, “a“); ( D) printf(“%d“, a); 22 有以下程序 #include stdio.h main() char c; do c=getchar(); putchar(c); while(c != #); printf(“n“); 执行时如输入: abcdefg#回车 , 则输出结果是 ( A) abcdefg# ( B) abcdefg ( C) abcdefg# ( D) # 23 以下关于 C语言函数参数传递方式的叙述正确的是 ( A)数据只能从实参单向传递给形参 ( B)数据可以在实参和形参之间双向传递 ( C)数
10、据只能从形参单向传递给实参 ( D) C语言的函数参数既可以从实参单向传递给形参,也可以在实参和形参之间双向传递,可视情况选择使用 24 以下关于指针的叙述正确是 ( A)所有类型的指针变量所占 内存的大小是一样的 ( B)指针变量所占内存的大小与其类型有关, char型指针变量只占 1个字节,double型指针变量占 8个字节 ( C)指针变量可直接指向任何类型的变量,而不会出现编译或运行错误 ( D)指针变量既可以直接指向结构体,也可直接指向结构体中某个成员,而不会出现编译或运行错误 25 有以下程序 #include stdio.h int k=5; void f(int *s) s=
11、main() int m=3,*p= f(p); printf(“%d,%dn“, m, *p); 程序的运行结果是 ( A) 3,3 ( B) 5,5 ( C) 3,5 ( D) 5,3 26 有以下程序 #include stdio.h int *f(int *s,int *t) if (*s *t) *s=*t; return s; main() int i=3, j=5, *p= r=f(p,q); printf(“%d,%d,%d,%d,%dn“, i, j, *p, *q, *r); 程序的运行结果是 ( A) 5,5,5,5,5 ( B) 3,5,5,5,5 ( C) 5,3,3
12、,3,5 ( D) 3,5,3,5,5 27 有以下程序 #include stdio.h #define N 4 void fun(int aN) int bNN,i,j; for(i=0; i N; i+) for(j=0; j N; j+) bij = aN-1-ji; for(i=0; i N; i+) for(j=0; j N; j+) aij = bij; main() int xNN= 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12, 13,14,15,16 , i; fun(x); fun(x); for (i=0;i N; i+) printf(“%d,
13、“, xii); printf(“n“); 程序的运行结果是 ( A) 16,11,6,1, ( B) 1,6,11,16, ( C) 4,7,10,13, ( D) 13,10,7,4, 28 有以下程序 #include stdio.h void fun(int a , int n) int i,j=0,k=n/2, b10; for (i=n/2-1; i =0; i-) bi =aj; bk =aj+1; j+=2; k+; for (i=0; i n; i+) ai = bi; main() int c10=10,9,8,7,6,5,4,3,2,1,i ; fun(c, 10); f
14、or (i=0;i 10; i+) printf(“%d,“, ci); printf(“n“); 程序的运行结果是 ( A) 2,4,6,8,10,9,7,5,3,1, ( B) 10,8,6,4,2,1,3,5,7,9, ( C) 1,2,3,4,5,6,7,8,9,10, ( D) 1,3,5,7,9,10,8,6,4,2, 29 有以下程序 #include stdio.h #include string.h main() int i; char a=“How are you!“; for (i=0; ai; i+) if (ai = ) strcpy(a, i=0; printf(“
15、%sn“,a); 程序的运行结果是 ( A) you! ( B) Howareyou! ( C) areyou! ( D) are you! 30 有以下程序(其中的 strstr()函数头部格式为: char *strstr(char *p1, char *p2) 确定 p2字符串是否在 p1中出现,并返回 p2第一次出现的字符串首地址) #include stdio.h #include string.h char *a=“you“; char *b=“Welcome you to Beijing!“; main() char *p; p = strstr(b, a) + strlen(a
16、) + 1; printf(“%sn“, p); 程序的运行结果是 ( A) to Beijing! ( B) you to Beijing! ( C) Welcome you to Beijing! ( D) Beijing! 31 有以下程序 #include stdio.h main() char b410; int i; for (i=0; i 4; i+) scanf(“%s“, bi); printf(“%s%s%s%sn“, b0,b1,b2,b3); 执行时若输入 : Fig flower is red. 回车则输出结果是 ( A) Figflowerisred. ( B) F
17、igfloweris red. ( C) Figflower is red. ( D) Fig flower is red. 32 有以下程序 #include stdio.h #include string.h main() char w20, a510=“abcdef“, “ghijkl“, “mnopq“, “rstuv“, “wxyz.“; int i; for (i=0; i 5; i+) wi=ai strlen(ai) - 1; w5= 0; puts(w); 程序的运行结果是 ( A) flqv. ( B) agmrw ( C) ekpuy ( D) flqvz 33 有以下程
18、序 #include stdio.h void f(int x, int n) if ( n 1) f( printf(“%d,“, x0); else printf(“%d,“, x0); main() int z6 = 1,2,3,4,5,6; f(z,6); printf(“n“); 程序的运行结果是 ( A) 6,5,4,3,2,1, ( B) 1,1 ( C) 1,1,1,1,1,1, ( D) 1,2,3,4,5,6, 34 有以下程序 #include stdio.h int a=2; int f() static int n; int m; m=n=0; n+; a+; m+;
19、 return n+m+a; main() int k; for (k=0; k 3; k+) printf(“%d,“, f( ); printf(“n“); 程序的运行结果是 ( A) 5,6,7, ( B) 5,7,9, ( C) 5,8,11, ( D) 5,5,5, 35 有以下程序 #include stdio.h #define S(x) x*x main() int k=5, j=2; printf(“%d,%dn“, S(k+j+2),S(j+k+2); 程序的运行结果是 ( A) 21,18 ( B) 81,81 ( C) 21,21 ( D) 18,18 36 有以下程序
20、 #include stdio.h typedef struct stu char name10; char gender; int score; STU; void f(STU *a, STU *b) *b = *a; printf(“%s,%c,%d,“, b- name, b- gender, b- score); main() STU a=“Zhao“, m, 290, b=“Qian“, f, 350; f( printf(“%s,%c,%dn“, b.name, b.gender, b.score); 程序的运行结果是 ( A) Zhao,m,290,Zhao,m,290 ( B)
21、 Zhao,m,290,Qian,f,350 ( C) Qian,f,350,Qian,f,350 ( D) Qian,f,350,Zhao,m,290 37 有以下程序 #include stdio.h #include string.h typedef struct stu char name10; char gender; int score; STU; void f(char *name, char gender, int score) strcpy(name, “Qian“); gender = f; score = 350; main() STU a=“Zhao“, m, 290,
22、 b; b=a; f(b.name,b.gender,b.score); printf(“%s,%c,%d,“, a.name, a.gender, a.score); printf(“%s,%c,%dn“, b.name, b.gender, b.score); 程序的运行结果是 ( A) Zhao,m,290,Qian,m,290 ( B) Zhao,m,290,Zhao,m,290 ( C) Zhao,m,290,Qian,m,350 ( D) Zhao,m,290,Qian,f,350 38 若有定义 typedef int T10; T *a20; 则与上述定义完全等价的说明语句是
23、( A) int *a2010; ( B) int *a20; ( C) int *a10; ( D) int *a1020; 39 有以下程序 #include stdio.h main() int c,d; c= 13 d=10 printf(“%d,%dn“, c, d); 程序的运行结果是 ( A) 5,1 ( B) 1,1 ( C) 18,1 ( D) 13,1 40 有以下程序 #include stdio.h main() FILE *fp; int i, a6=1,2,3,4,5,6, k; fp = fopen(“data.dat“, “w+b“); fwrite( for
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 模拟 61 答案 解析 DOC
