[计算机类试卷]国家二级(C语言)笔试模拟试卷169及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷169及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷169及答案与解析.doc(24页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 169及答案与解析 1 软件是指 ( A)程序 ( B)程序和文档 ( C)算法加数据结构 ( D)程序、数据与相关文档的完整集合 2 检查软件产品是否符合需求定义的过程称为 ( A)确认测试 ( B)集成测试 ( C)验证测试 ( D)验收测试 3 以下不属于对象的基本特点的是 ( A)分类性 ( B)多态性 ( C)继承性 ( D)封装性 4 在设计程序时,应采纳的原则之一是 ( A)不限制 goto语句的使用 ( B)减少或取消注解行 ( C)程序越短越好 ( D)程序结构应有助于读者理解 5 下列叙述中正确的是 ( A)程序执行的效率与数据的存储结构密
2、切相关 ( B)程序执行的效率只取决于程序的控制结构 ( C)程序执行的效率只取决于所处理的数据量 ( D)以上三种说法都不对 6 数据结构中,与所使用的计算机无关的是数据的 ( A)存储结构 ( B)物理结构 ( C)逻辑结构 ( D)物理和存储结构 7 线性表的顺序存储结构和线性表的链式存储结构分别是 ( A)顺序存取的存储结构、顺序存取的存储结构 ( B)随机存取的存储结构、顺序存取的存储结构 ( C)随机存取的存储结构、随机存取的存储结构 ( D)任意存取的存储结构、任意存取的存储结构 8 树是结点的集合,它的根结点数目是 ( A)有且只有 1 ( B) 1或多于 1 ( C) 0或
3、1 ( D)至少 2 9 下列有关数据库的描述,正确的是 ( A)数据库是一个 DBF文件 ( B)数据库是一个关系 ( C)数据库是一个结构化的数据集合 ( D)数据库是一组文件 10 数据库、数据库系统和数据库管理系统之间的关系是 ( A)数据库包括数据库系统和数据库管理系统 ( B)数据库系统包括数据库和数据库管理系统 ( C)数据库管理系统包括数据库和数据库系统 ( D)三者没有明显的包含关系 11 以下 4个选项中,不能看成一条语句的是 ( A); ( B) a=5, b=2.5, c=3.6; ( C) if(a 5); ( D) if(b!=5)x=2; y=6; 12 下面四个
4、选项中,均是不合法的用户标识符的选项是 ( A) AP_0 do ( B) float 1a0_A ( C) b-a goto int ( D) 123 temp int 13 以下选项中不属于字符常量的是 ( A) C ( B) C ( C) xCC ( D) 072 14 设变量已正确定义并赋值,以下正确的表达式是 ( A) x=y*5=x+Z ( B) int(15.8%5) ( C) x=y+z+5, +y ( D) x=25%5.0 15 若变量已正确定义并赋值,以下符合 C语言语法的表达式是 ( A) a: =b+1 ( B) a=b=c+2 ( C) int 18.5%3 ( D
5、) a=a+7=c+b 16 以下程序的运行结果是 int k=0; void fun(int m) m+=k; k+=m;printf(“m=%d k=%d“, m, k+); main() int i=4; fun(i+); printf(“i=%d k=%dn“, i, k); ( A) m=4 k=5 i=5 k=5 ( B) m=4 k=4 i=5 k=5 ( C) m=4 k=4 i=4 k=5 ( D) m=4 k=5 i=4 k=5 17 已有定义: char c;,程序前面已在命令行中包含 ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是 ( A) isup
6、per(C) ( B) A =c =Z ( C) A =c&c =Z ( D) c =(z-32)&(a-32) =c 18 设有: int a=1, b=2, c=3, d=4, m=2, n=2; 执行 (m=a b)&( n=c d)后, n的值是 ( A) 1 ( B) 2 ( C) 3 ( D) 4 19 若变量已正确定义,有以下程序段 int a=3, b=5, c=7; if(a B) a=b; c=a; if(c! =a)c=b; printf(“%d, %d, %dn“, a, b, c); 其输出结果是 ( A)程序 段有语法错 ( B) 3, 5, 3 ( C) 3, 5
7、, 5 ( D) 3, 5, 7 20 若有定义: float x=1.5; int a=1, b=3, c=2;,则正确的 switch语句是 ( A) switch(x) case 1.0: printf(“*n“); case 2.0: printf(“*n“); ( B) switch(int)x); case 1: printf(“*n“); case 2: printf(“*n“); ( C) switch(a+B) case 1: printf(“*n“); case 2+1: printf(“*n“); ( D) switch(a+B) case 1: printf(“*n“)
8、; case c: printf(“*n“); 21 有以 F程序 #include stdio.h main() int y=9; for( ; y 0; y-) if(y%3=0) printf(“%d“, -y); 程序的运行结果是 ( A) 741 ( B) 963 ( C) 852 ( D) 875421 22 以下描述中正确的是 ( A)由于 do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句 ( B) do-while循环由 do开始,用 while结束,在 while(表达式 )后面不能写分号 ( C)在 do-while循环体中,是先执行一次循
9、环,再进行判断 ( D) do-while循环中,根据情况可以省略 while 23 有以下程序 #include stdio.h main() int a=1, 2, 3, 4, y,*p=&a3; -p; y=*p; printf(“y=%dn“, y); 程序的运行结果是 ( A) y=0 ( B) y=1 ( C) y=2 ( D) y=3 24 以下数组定义中错误的是 ( A) intx3=0; ( B) intx23=1, 2, 3, 4, 5, 6; ( C) intx3=1, 2, 3, 4, 5, 6; ( D) intx23=1, 2, 3, 4, 5, 6; 25 下面说
10、明不正确的是 ( A) char a10=“china“; ( B) char a10, *p=a; p=“china“ ( C) char*a; a=“china“; ( D) chara10, *P; P=a=“china“ 26 若有定义: int a23;,以下选项中对 a数组元素正确引用的是 ( A) a2!1 ( B) a23 ( C) a03 ( D) a1 2!1 27 若要求从键盘读入含有空格字符的字符串,应使用函数 ( A) getc() ( B) gets() ( C) getchar() ( D) scanf() 28 阅读下列程序段,则程序的输出结果为 #includ
11、e“stdio.h“ #defineM(X,Y)(X)*(Y) #defineN(X, Y)(X)/(Y) main() f int a=5, b=6, c=8, k; k=N(M(a, b), c); printf(“%dn“, k); ( A) 3 ( B) 5 ( C) 6 ( D) 8 29 在 16位 IBM-PC机上使用 C语言,若有如下定义 stmct data inti; char ch; double f b; 则结构变量 b占用内存的字节数是 ( A) 1 ( B) 2 ( C) 7 ( D) 11 30 有以下程序 #include stdio.h main() FILE
12、*fp; int i, a6=1, 2, 3,4, 5, 6; fp=fopen(“d3 dat“, “w+b“); fwrite(a, sizeof(int), 6, fp); fseek(fp, sizeof(int), 3, SEEK_SET); /*该语句使读文件的位置指针从文件头向后移动 3个 int型数据 */ fread(a, sizeof(int), 3, fp); fclose(fp); for(i=0 ( A) 4, 5, 6, 4, 5, 6, ( B) 1, 2, 3, 4, 5, 6, ( C) 4, 5, 6, 1, 2, 3, ( D) 6, 5, 4, 3, 2
13、, 1, 31 有以下程序 #include stdio.h main() int s12=1, 2, 3, 4, 4, 3,2, 1, 1, 1, 2, 3, c5=0, i; for(i=0; i 12; i+) csi+; for(i=1; i 5; i+) printf(“%d“, ci); printf(“n“); 程序的运行结果是 ( A) 1 2 3 4 ( B) 2 3 4 4 ( C) 4 3 3 2 ( D) 1 1 2 3 32 有以下程序 #include stdio.h void fun(int *a, int n)/*fun函数的功能是将 a所指数组元素从大到小排序
14、 */ int t, i, j; for(i=0; i n-1; j+) for(j=i+1; j n; j+) if(ai aj) t=ai; ai: aj; aj=t; main() int c10=1, 2, 3, 4, 5, 6, 7, 8, 9, 0, i fun(c+4 ( A) 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, ( B) 0, 9, 8, 7, 6, 5, 1, 2, 3, 4, ( C) 0, 9, 8, 7, 6, 5, 4, 3, 2, 1, ( D) 1, 2, 3, 4, 9, 8, 7, 6, 5, 0, 33 下面程序的输出结果是 #inc
15、lude stdio.h #include string.h main() char *pl=“abc“, *p2=“ABC“, str50=“xyz“; strcpy(str+2, strcat(p1, p2); printf(“%sn“, str); ( A) xyzabcABC ( B) zabcABC ( C) xyabcABC ( D) yzabcABC 34 以下函数返回 a所指数组中最小的值所在的下标值 fun(int *a, int n) int i, j=0, p; p=j for(i=j; i n; i+) if(ai ap)_; return(p); 在横线处应填入的是
16、( A) i=p ( B) ap=ai ( C) p=j ( D) p=i 35 下列程序的运行结果为 #include stdio.h void abc(char*str) int a, b; for(a=b=0; stra!=0; a+) if(stra!=c) strb+=stra; strb=0; void main() char str=“abcdef“; abc(str); printf(“str)=%s“, str); ( A) str=abdef ( B) str=abcdef ( C) str=a ( D) str=ab 36 有以下程序 #include stdio.h #
17、include string.h typedef strtlct char name9; char sex; floatscore2; STU; void f(STU A) STU b=“Zhao“, m, 85.0, 90.0; int i; strcpy(a.name, b name); a sex b.sex; for(i=0; i 2; i+) a.scorei=b ( A) Qian, f,95, 92 ( B) Qian, m, 85, 90 ( C) Zhao, f,95, 92 ( D) Zhao, m, 85, 90 37 有以下程序 #include stdio.h mai
18、n() FILE *fp; int a10=1, 2,3, i, n; fp=fopen(“d1.daf“, “w“); for(i=0; i 3; i+) fprintf(fp, “%d“,ai); fprintf(fp, “n“); fclose(fp); fp=fopen(“d1.dat“, “r“); fscanf(fp,“%d“, &n); fclose(fp); ( A) 12300 ( B) 123 ( C) 1 ( D) 321 38 已知 int a=1, b=3则 ab的值为 ( A) 3 ( B) 1 ( C) 2 ( D) 4 39 阅读下列程序,则运行结果为 #inc
19、lude“stdio.h“ fun() static int x=5; x+; return x; main() int i, x; for(i=0; i 3; i+) x=fun(); printf(“%dn“, x); ( A) 5 ( B) 6 ( C) 7 ( D) 8 40 有以下程序 #include stdio.h voidfun(char*t, char*s) while(*t!=0) t+; while(*t+=*s+)!=0); main() char ss10=“acc“,aa10=“bbxxyy“; fun(ss, aa); printf(“%s, %sn“, ss,
20、aa); 程序的运行结果是 ( A) accxyy, bbxxyy ( B) acc, bbxxyy ( C) accxxyy, bbxxyy ( D) accbbxxyy, bbxxyy 40 在树形结构中,树根结点没有 _。 40 数据结构分为逻辑结构与存储结构,线性链表属于 _。 40 一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体 “项目主管 ”与实体 “项目 ”的联系属于 _的联系。 40 数据库设计分为以下 6个设计阶段:需求分析阶段、 _、逻辑设计阶段、物理设计阶段、实施阶段、 运行和维护阶段。 40 阅读下面程序段,则执行后输出的结果是 _。 #include“s
21、tdio.h“ main() char fun(char, int); char a=A; int b=13; a=fun(a, b); putchar(a); charfun(char a, int b) char k; k=a+b; return k; 40 函数 fun的返回值是 _ fun(char*a, char*b) int num=0, n=0; while(*(a+num)!=0)num+; while(bn)*(a+num)=bn; num+; n+; return num; 40 以下程序的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,
22、函数返回删除后数组中数据的个数。 例如,若一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10 删除后,数组中的内容应该是: 2 3 4 5 6 7 8 9 10。 请填空。 #include stdio.h #define N 80 intfun(int a, int n) int i, j=1; for(i=1; i n; i+) if(aj-1 40 以下程序的运行结果是 _。 #include stdio.h main() int x=1, y=0, a=0, b=0; switch(x) case 1: switch(y) case
23、0: a+; break; case 1: b+; break; case 2: a+; b+; break; case 3: a+; b+; printf(“a=%d, b=%dn“, a, b); 40 以下程序的输出结果是 _。 fun(int x, inty, int z) z=x*x+y*y; main() int a=31; fun(6, 3, a) printf(“%d“, a) 40 函数 my_cmp()的功能是比较字符串 s和 t的大小,当 s等于 t时返回 0,否则返回 s和 t的第一个不同字符的 ASCII码差值,即 s t时返回 正值,当 s t时返回负值。请填空。
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 169 答案 解析 DOC
