[计算机类试卷]国家二级(C语言)机试模拟试卷83及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试模拟试卷83及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试模拟试卷83及答案与解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试模拟试卷 83及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)栈是 “先进先出 ”的线性表 ( B)队列是 “先进后出 ”的线性表 ( C)循环队列是非线性结构 ( D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构 2 支持子程序调用的数据结构是 ( )。 ( A)栈 ( B)树 ( C)队列 ( D)二叉树 3 某二叉树有 5个度为 2的结点,则该二叉树中的叶子结点数是 ( )。 ( A) 10 ( B) 8 ( C) 6 ( D) 4 4 下 列排序方法中,最坏情况下比较次数最少的是 ( )。 ( A)冒泡排序 ( B)简单选择排序
2、( C)直接插入排序 ( D)堆排序 5 软件按功能可以分为:应用软件、系统软件和支撑软件 (或工具软件 )。下面属于应用软件的是 ( )。 ( A)编译程序 ( B)操作系统 ( C)教务管理系统 ( D)汇编程序 6 下面叙述中错误的是 ( )。 ( A)软件测试的目的是发现错误并改正错误 ( B)对被调试的程序进行 “错误定位 ”是程序调试的必要步骤 ( C)程序调试通常也称为 Debug ( D)软 件测试应严格执行测试计划,排除测试的随意性 7 耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 ( )。 ( A)提高耦合性降低内聚性有利于提高模块的独立性 ( B)降低耦
3、合性提高内聚性有利于提高模块的独立性 ( C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度 ( D)内聚性是指模块间互相连接的紧密程度 8 数据库应用系统中的核心问题是 ( )。 ( A)数据库设计 ( B)数据库系统设计 ( C)数据库维护 ( D)数据库管理员培训 9 有两个关系 R、 S如下: 由 关系 R通过运算得到关系 S,则所使用的运算为 ( )。 ( A)选择 ( B)投影 ( C)插 A, ( D)连接 10 将 ER图转换为关系模式时,实体和联系都可以表示为 ( )。 ( A)属性 ( B)键 ( C)关系 ( D)域 11 以下叙述中错误的是 ( )。 ( A)使用三
4、种基本结构构成的程序只能解决简单问题 ( B)结构化程序由顺序、分支、循环三种基本结构组成 ( C) C语言是一种结构化程序设计语言 ( D)结构化程序设计提倡模块化的设计方法 12 以下四个程序中,完全正确的是 ( )。 ( A) #include stdio h main(); * programming * printf(“programming! n“); ( B) #include stdio h main() *programming* printf(“programming! n“); ( C) #include stdio h main() * *programming* *
5、printf(“programming! n“); ( D) include stdio h main() *programming* printf(“programming! n“); 13 C源程序中不能表示的数制是 ( )。 ( A)十六进制 ( B)八进制 ( C)十进制 ( D)二进制 14 以下选项中,能用作用户标识符的是 ( )。 ( A) _0_ ( B) 8_8 ( C) void ( D) unsigned 15 若有定义语句: int x=10;,则表达式 x-=x+x的值为 ( )。 ( A) 0 ( B) -20 ( C) -10 ( D) 10 16 有以下程 序:
6、 #include stdio h maill() int a=1, b=0; printf(“ d, “, b=a+b); printf(“ d n“, a=2*b); 程序运行后的输出结果是 ( )。 ( A) 1, 2 ( B) 1, 0 ( C) 3, 2 ( D) 0, 0 17 有以下程序: #include stdio h main() int a1, a2; char c1, c2; scanf(“ d c d c“, &a1, &c1, &a2, &c2); printf(“ d, c, d, c“, a1, c1, a2, c2); 若想通过键盘输入,使得 a1的值为 12
7、, a2的值为 34, c1的值为字符 a, c2的值为字符 b,程序运行后的输出结果是: 12, a, 34, b。则正确的输入格式是 (以下一代表空格, CR代表回车 )( )。 ( A) 12 b CR ( B) 12 b CR ( C) 12, a, 34, b CR ( D) 12a34b CR 18 若变量已正确定义,在 if(W) printf(“ d n“, k);中,以下不可替代 W的是( )。 ( A) a b+c ( B) ch=getchar() ( C) a=b+c ( D) a+ 19 有以下程序段: #include stdio h int a, b, c; a=
8、10; b=50; c=30; if(a b)a=b, b=c; c=a; printf(“a= d b= d c= d n“, a, b, c); 程序运行后的输出结果是 ( )。 ( A) a=10 b=50 c=30 ( B) a=10 b=50 c=10 ( C) a=10 b=30 c=10 ( D) a=50 b=30 c=50 20 下列叙述中正确的是 ( )。 ( A)在 switch语句中,不一定使用 break语句 ( B)在 switch语句中必须使用 default ( C) break语句必须与 switch语句中的 case配对使用 ( D) break语句只能用于
9、 switch语句 21 以下不构成无限循环的语句或语句组是 ( )。 ( A) n=0; do+n; while(n =0); ( B) n=0; while(1)n+; ( C) n=10; while(n); n-; ( D) for(n=0, i=1; i+)n+=i; 22 有以下程序: #inelude stdio h main() int c=0, k; for(k=1; k 3; k+) switch(k) default: c+=k; case2: c+; break; case4: c+=2; break; printf(“ d n“, c); 程序运行后的输出结果是 (
10、)。 ( A) 7 ( B) 5 ( C) 3 ( D) 9 23 有以下程序: #include stdio h int f(int x, int y) return(y-x)*x); main() int a=3, b=4, c=5, d; d=f(f(a, b), f(a, c); printf(“ d n“, d); 程序运行后的输出结果是 ( )。 ( A) 7 ( B) 10 ( C) 8 ( D) 9 24 若有定义语句: double a, *p=&a;以下叙述中错误的是 ( )。 ( A)定义语句中的 *号是一个间址运算符 ( B)定义语句中的 *号是一个说明符 ( C)定义
11、语句中的 p只能存放 double类型变量的地址 ( D)定义语句中, *p=&a把变量 a的地址作为初值赋给指针变量 P 25 若 有定义语句: double x, y, *px, *py;执行了 px=dex; py=&y;之后,正确的输入语句是 ( )。 ( A) scanf(“ lf le“, px, py); ( B) scanf(“ f f“&x, &y); ( C) scanf(“ f f“, x, y); ( D) scanf(“ lf lf“, x, y); 26 以下定义数组的语句中错误的是 ( )。 ( A) int num3=1, 2, 3, 4, 5, 6; ( B)
12、 int num24=1, 2, 3, 4, 5, 6; ( C) int num=1, 2, 3, 4, 5, 6; ( D) int num4=1, 2, 3, 4, 5, 6; 27 有以下程序: #inelude stdio h void fun(int a, int b) int t; t=a; a=b; b=t; main() int c10=1, 2, 3, 4, 5, 6, 7, 8, 9, 0, i; for(i=0; i 10; i+=2)fun(ci, ci+1); for(i=0; i 10; i+)printf(“ d, “, ci); printf(“ n“); 程
13、序运行后的输出结果是 ( )。 ( A) 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, ( B) 2, 1, 4, 3, 6, 5, 8, 7, 0, 9, ( C) 0, 9, 8, 7, 6, 5, 4, 3, 2, 1, ( D) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 28 有以下程序: #include stdio h main() int x32=0, i; for(i=0; i 3; i+)scanf(“ d“, xi); printf(“ 3d 3d 3d n“, x00, x01, x10); 若运行时输入: 2 4 6回车,则输出结果为 (
14、 )。 ( A) 2 0 4 ( B) 2 0 0 ( C) 2 4 0 ( D) 2 4 6 29 有以下程序段: #include stdio h int j; float y; char name50; scanf(“ 2d f s“, &j, &y, name); 当执行上述程序段,从键盘上输入 55566 7777abe后, y的值为 ( )。 ( A) 566 0 ( B) 55566 0 ( C) 7777 0 ( D) 566777 0 30 下列语句组中,正确的是 ( )。 ( A) char*s; s=“Olympic“; ( B) char s7; s=“Olympic“
15、; ( C) char*s; s=“Olympic“; ( D) char s7; s=“Olympic“; 31 有以下函数: int fun(char*s) char*t=s; while(*t+); return(t-s); 该函数的功能是 ( )。 ( A)计算 s所指字符串的长度 ( B)比较两个字符串的大小 ( C)计算 s所指字符串占用内存字节的个数 ( D)将 s所指字符串复制到字符串 t中 32 有以下程序 (注:字符 a的 ASCII码值为 97): #include stdio h main() char*s=“abc“; do printf(“ d“, *s 10);
16、+s; while(*s); 程序运行后的输出结果是 ( )。 ( A) 789 ( B) abc ( C) 7890 ( D) 979899 33 设有如下函数定义: #include stdio h int fun(int k) if(k 1)return 0; else if(k=1)return1; else return fun(k-1)+1; 若执行调用语句 “n=fun(3); ”,则函数 fun总共被调用的次数是 ( )。 ( A) 2 ( B) 4 ( C) 4 ( D) 5 34 有以下程序: #include stdio h int f(intn); main() int
17、 a=3, S; S=f(a); s=s+f(a); printf(“ d n“, s); int f(int n) static int a=1; n+=a+; return n; 程序运行后的输出结果是 ( )。 ( A) 9 ( B) 8 ( C) 7 ( D) 10 35 设有定义: struet complex int real, unreal; data1=1, 8, data2; 则以下赋值语句中错误的是 ( )。 ( A) data2=(2, 6); ( B) data2=data1; ( C) data2 real=data1 real; ( D) data2 real=da
18、ta1 unreal; 36 有以下程序: #include stdio h struet Sint n; int a20; ; void f(struet S*p) int i, j, t; for(i=0; i p- n-1; i+) for(j=i+1; j p- n; j+) if(p- ai p- aj) t=p- ai; p- ai=p- aj; p- aj=t; main() int i; struet S s=10, 2, 3, 1, 6, 8, 7, 5, 4, 10, 9; f(&s); for(i=0; i s n; i+)printf(“ d, “, s ai); 程序
19、运行后的输出结果是 ( )。 ( A) 2, 3, 1, 6, 8, 7, 5, 4, 10, 9, ( B) 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, ( C) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ( D) 10, 9, 8, 7, 6, 1, 2, 3, 4, 5, 37 有以下程序: #include stdio h #include string h typedef struetchar name9; char sex; int score2; STU; STU f(STU a) STU b=“Zhao“, m, 85, 90; int i
20、; strcpy(a name, b name); a sex=b sex; for(i=0; i 2; i+)a scorei=b scorei; return a; main() STU c=“Qian“, f, 95, 92, d; d=f(c); printf(“ s, c, d, d, “, d name, d sex, d seore0, d score1); printf(“ s, c, d, d n“, c name, c sex, c seore0, c score1); 程序运行后的输出结果是 ( )。 ( A) Zhao, m, 85, 90, Qian, f, 95,
21、92 ( B) Zhao, m, 85, 90, Zhao, m, 85, 90 ( C) Qian, f, 95, 92, Qian, f, 95, 92 ( D) Qian, f, 95, 92, Zhao, m, 85, 90 38 以下关于宏的叙述中正确的是 ( )。 ( A)宏替换没有数据类型限制 ( B)宏定义必须位于源程序中所有语句之前 ( C)宏名必须用大写字 母表示 ( D)宏调用比函数调用耗费时间 39 设有以下语句: int a=1, b=2, c; c=a(b 2); 执行后, c的值为 ( )。 ( A) 7 ( B) 9 ( C) 8 ( D) 6 40 有以下程序
22、: #inelude stdio h main() FILE*fp; int a10=1, 2, 3, i, n; fp=fopen(“d1 dat“, “w“); for(i=0; i 3; i+)fprintf(fp, “ d“, ai); fprintf(fp, “ n“); felose(fp); fp=fopen(“d1 dat“, “r“); fscanf(fp, “ d“, n); felose(fp); printf(“ d n“, n); 程序运行后的输出结果是 ( )。 ( A) 321 ( B) 12300 ( C) 1 ( D) 123 二、程序填空题 41 下列给定程
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 模拟 83 答案 解析 DOC
