[计算机类试卷]国家二级(C语言)笔试模拟试卷170及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷170及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷170及答案与解析.doc(24页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 170及答案与解析 1 软件生命周期中花费费用最多的阶段是 ( A)详细设计 ( B)软件编码 ( C)软件测试 ( D)软件维护 2 为了提高测试的效率,应该 ( A)随机选取测试数据 ( B)取一切可能的输入数据作为测试数据 ( C)在完成编码以后制定软件的测试计划 ( D)集中对付那些错误群集的程序 3 以下不是面向对象思想中的主要特征的是 ( A)多态 ( B)继承 ( C)封装 ( D)垃圾回收 4 下列叙述中,不符合良好程序设计风格要求的是 ( A)程序的效率第一,清晰第 ( B)程序的可读性好 ( C)程序中要有必要的注释 ( D)输入数据前要有
2、提示信息 5 软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指 ( A)模块间的关系 ( B)系统结构部件转换成软件的过程描述 ( C)软件层次结构 ( D)软件开发过程 6 数据处理的最小单位是 ( A)数据 ( B)数据元素 ( C)数据项 ( D)数据结构 7 假设线性表的长度为 n,则在最坏情况下,冒泡排序需要的比较次数为 ( A) logn2 ( B) n2 ( C) O(n1.5) ( D) n(n-1)/2 8 在深度为 5的满二叉树中,叶子结点的个数为 ( A) 32 ( B) 31 ( C) 16 ( D) 15 9 数据库系统的核心是 ( A)数据库 (
3、B)数据库管理系统 ( C)模拟模型 ( D)软件工程 10 一个关系中属性 个数为 1时,称此关系为 ( A)对应关系 ( B)单一关系 ( C)一元关系 ( D)二元关系 11 下面各选项中,均是 C语言合法标识符的选项组是 ( A) 33 we auto ( B) _23 me _3ew ( C) _43 3e_ else ( D) ER-DF 32 12 可在 C程序中用作用户标识符的一组标识符是 ( A) and ( B) Date ( C) Hi ( D) case _2007 y-m-d Dr.Tom Bigl 13 以下对 C语言函数的有关描述中,正确的是 ( A)在 C语言中
4、调用函数时,只能把实参的值传给形参,形参的值不能传送给实参 ( B) C函数既可以嵌套定义又可以递归调用 ( C)函数必须有返回值,否则不能使用函数 ( D)函数必须有返回值,返回值类型不定 14 若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是 ( A)函数的实参和其对应的形参共占同一存储单元 ( B)形参只是形式上的存在,不占用具体存储单元 ( C)同名的实参和形参占同一存 储单元 ( D)函数的形参和实参分别占用不同的存储单元 15 现有定义 int a; double b; float c; char k;,则表达式 a/b+c-k值的类型为 ( A) int ( B
5、) double ( C) float ( D) char 16 以下关于 long、 int和 short类型数据占用内存大小的叙述中正确的是 ( A)均占 4个字节 ( B)根据数据的大小来决定所占内存的字节数 ( C)由用户自己定义 ( D)由 C语言编译系统决定 17 有以下程序段 int j; float y; char name50; scanf(“%2d%f%s“, &j, &y,name); 当执行上述程序段,从键盘上输入 55566 7777abc后, y的值为 ( A) 55566.0 ( B) 566.0 ( C) 7777.0 ( D) 566777.0 18 若变量已
6、正确定义,有以下程序段 i=0; do printf(“%d, “, i; while(i+); Printf(“%dn“, i); 其输出结果 是 ( A) 0, 0 ( B) 0, 1 ( C) 1, 1 ( D)程序进入无限循环 19 下列程序的运行结果是 #include“stdio.h“ main() intx=-9, y=5, z=8; if(x y) if(y 0)z=0; else z+=1; printf(“%dn“, z); ( A) 6 ( B) 7 ( C) 8 ( D) 9 20 若程序执行时的输入数据是 “2473“,则下述程序的输 出结果是 #includestd
7、io.h void main() int cs; while(cs=getchar()!=, n) switch(cs=2) case0 case 1: putchar(cs+4); case 2: putchar(cs+4); break; case 3:putchar(cs+3); default: putchar(cs+2); ( A) 668977 ( B) 668966 ( C) 6677877 ( D) 6688766 21 以下程序的输出结果是 main() inta, i; a=0; for(i=1; i 5; i+) switch(i) case0: case 3: a+=2
8、; case 1: case 2: a+=3; default:a+=5; printf(“%dn“, a); ( A) 31 ( B) 13 ( C) 10 ( D) 20 22 现有如下程序段 #include“stdio.h“ main() int k30=12, 324, 45, 6,768, 98, 21, 34, 453, 456; int count=0, i=0; while(ki) if(ki%2=0ki%5=0)count+; i+; printf(“%d, %dn“, count, i); 则程序段的输出结果为 ( A) 7, 8 ( B) 8, 8 ( C) 7, 10
9、 ( D) 8, 10 23 若有以下程序 #include stdio.h int a=2, 4, 6, 8; main() int i; int *p=a; for(i=0; i 4; i+)ai=*p; printf(“%dn“, a2); 上面程序的输出结果是 ( A) 6 ( B) 8 ( C) 4 ( D) 2 24 有以下程序 #include stdio.h main() int i, j, m=55; for(i=1; i=3; i+) for(j=3; j =i; j+)m=m%j; printf(“%dn“, m); 程序的运行结果是 ( A) 0 ( B) 1 ( C)
10、 2 ( D) 3 25 已知字符 A的 ASCII码值是 65,字符变量 cl的值是 A, c2的值是 D。执行语句 Printf(“%d, %d“, c1, c2-2);后,输出结果是 ( A) A, B ( B) A, 68 ( C) 65, 66 ( D) 65, 68 26 下列程序是用来判断数组中特定元素的位置所在的。 #include conio.h #include stdio.h int fun(int *s, int t, int *k) int i; *k=0; for(i=0; it; i+) if(s*k si)*k=i; returns*k; main() int
11、a10=876, 675,896, 101, 301, 401, 980, 431, 451, 777, k; fun ( A) 7, 431 ( B) 6 ( C) 980 ( D) 6, 980 27 下面程序的文件名为 Lexe,在 DOS下输入的命令行参数为: t to meet me回车 则程序输出的结果是 #include”stdio.h” main(argc, argv) intargc;char*argv; int i; printf(“%dn“, argc); ( A) 3 ( B) 4 ( C) 2 ( D)以上答案都不正确 28 有如下程序 int a10=1, 2, 3
12、, 4, 5, 6, 7, 8, 9, 10; int*p=&a3,b; b=p5; 则 b的值是 ( A) 5 ( B) 6 ( C) 9 ( D) 8 29 以下叙述中错误的是 ( A)改变函数形参的值,不会改变对应实参的值 ( B)函数可以返回地址值 ( C)可以给指针变量赋一个整数作为地址值 ( D)当在程序的开头包含头文件 stdio.h时,可以给指针变量赋 NULL 30 下面程序的输出结果是 #include stdio.h main() int a=1, 2, 3, 4,5, 6, 7, 8, 9, 0, *p; p=a; printf(“%dn“, *p+9); ( A) 0
13、 ( B) 1 ( C) 10 ( D) 9 31 有下面程序段 #include“stdio.h“ #include“string h“ main() char a320=“china“, “isa“, “bigcountry!“; chark100=0, *p=k; int i; for(i=0; i 3; i+) p=strcat(p, ai); i=strlen(p); printf(“%dn“,“i); 则程序段的输出结果是 ( A) 18 ( B) 19 ( C) 20 ( D) 21 32 若有定义: char*st=“how are you“;,下列程序段中正确的是 ( A)
14、chara11, *p; strcpy(p=a+1, &st4); ( B) chara11; strcpy(+a, st); ( C) chara11; strcpy(a, st); ( D) chara, *p; strcpy(p=&a1, st+2); 33 有以下程序 #include stdio.h int fun(char s) int n=0; while(*s =9&*s =0) n=10*n+*s-0; s+; return(n); main() char s10=6, 1, *, 4, *, 9, *, 0, *; printf(“%dn“, fun(s); 程序的运行结果
15、是 ( A) 9 ( B) 61490 ( C) 61 ( D) 5 34 设有定义: charp=1, 2, 3, *q=p;,以下不能计算出一个 char型数据所占字节数的表达式是 ( A) sizeof(p) ( B) sizeof(char) ( C) sizeof(*q) ( D) sizeof(p0) 35 有以下函数 int aaa(char *s) char *t=S; while(*t+); t-; return(t-s); 以下关于 aaa函数的功能的叙述正确的是 ( A)求字符串 s的长度 ( B)比较两个串的大小 ( C)将串 s复制到串 t ( D)求字符串 s所占字
16、节数 36 当用户要求输入的字符串中含有空格时,应 使用的输入函数是 ( A) scanf() ( B) getchar() ( C) gets() ( D) getc() 37 下列选项中错误的说明语句是 ( A) char a=to, y,o,u,0; ( B) char a=“toyou0“; ( C) chara=“toyouO“; ( D) chara=toyou0; 38 以下程序的输出结果是 intf() static int i=0; int s=1; s+=i; i+; retumS; main() int i, a=0; for(i=0; i 5; i+)a+=f(); p
17、rintf(“%dn“,a); ( A) 20 ( B) 24 ( C) 25 ( D) 15 39 下列程序的输出结果是 #include“stdio.h“ #define M(x, y) x%y main() int a, m=12, n=100; a=M(n, m); printf(“%dn“, a-); ( A) 2 ( B) 3 ( C) 4 ( D) 5 40 假定当前盘符下有两个如下文本文件: 文件名 a1.txt a2.txt 内容 123# 321# 则下面程序段执行后的结果为 #include“stdio.h“ void fc(FILE*p) charc; while(c=
18、fgetc(p)!=#)putchar(c); main() FILE*fp; fp=fopen(“a1.txt“, “r“); fc(fp); fclose(fp); ( A) 123321 ( B) 123 ( C) 321 ( D)以上答案都不正确 40 需求分析的最终结果是产生 _。 40 为了便于对照检查,测试用例应由输入数据和预期的 _两部分组成。 40 数据结构分为逻辑结构与存储结构,线性链表属于 _。 40 某二叉树中度为 2的结点有 18个,则该二叉树中有 _个 叶子结点。 40 _是数据库设计的核心。 40 已有定义: char c= ; int a=1, b; (此处 c
19、的初值为空格字符 ),执行b=!c&a;后 b的值为 _。 40 设变量已正确定义为整型,则表达式 n=i=2, +i, i+的值为 _。 40 下面程序的功能是:计算 1 10之间的奇数之和与偶数之和,请填空。 #include stdio.h main() int a, b, c, i; a=C=0; for(i=0; i =10; i+=2) a+=i; _; c+=b; printf(“偶数之和 =%dn“, a); printf(“奇数之和 =%dn“, c-11); 40 以下函数 rotate的功能是:将 a所指 N行 N列的二维数组中的最后一行放到 b所指二维数组的第 0列中,
20、把 a所指二维数组中的第 0行放到 b所指二维数组的最后一列中, b所指二维数组中其他数据不变。 #define N 4 void rotade(int aN, int bN) int i, j; for(i=0; i N; i+) biN-1= 9 ; 10 : aN-1i; 40 以下程序的输出结果是 _。 #include stdio.h void swap(int *a, int *b) int *t t=a; a=b; b=t main() int i=3, j=5, *p=&i,*q=&j; swap(p, q); printf(“%d %dn“, *p, *q); 40 下面程序
21、的运行结果是 _。 #include stdio.h #define SIZE 12 main() char sSIZE; int i; for(i=0; i SIZE; i+) si=A+i+321; sub(s, 7, SLZE-1); for(i=0; i SIZE; i+) printf(“%c“, si); printf(“n“); sub(char*a, int tl, int t2) char Ch; while (t1 t2) ch=*(a+t 40 以下程序的输出结果是 _。 #include stdio.h main() int a5=2, 4, 6, 8, 10, *p;
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 170 答案 解析 DOC
