[计算机类试卷]国家二级(C语言)笔试模拟试卷180及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷180及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷180及答案与解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 180及答案与解析 1 下列关于栈和队列的描述中,正确的是 ( )。 ( A)栈是先进先出 ( B)队列是先进后出 ( C)队列允许在队头删除元素 ( D)栈在栈顶删除元素 2 已知二叉树后序遍历序列是 CDABE,中序遍历序列是 CADEB,它的前序遍历序列是 ( )。 ( A) ABCDE ( B) ECABD ( C) EACDB ( D) CDEAB 3 在数据流图中,带有箭头的线段表示的是 ( )。 ( A)控制流 ( B)数据流 ( C)模块调用 ( D)事件驱动 4 结构化程序设计的 3种结构是 ( )。 ( A)顺序结构,分支结构,跳转结构 (
2、 B)顺序结构,选择结构,循环结构 ( C)分支结构,选择结构,循环结构 ( D)分支结构,跳转结构,循环结构 5 下列方法中,不属于软件调试方法的是 ( )。 ( A)回溯法 ( B)强行排错法 ( C)集成测试法 ( D)原因排除法 6 下列选项中,不属于模块间耦合的是 ( )。 ( A)内容耦合 ( B)异构耦合 ( C)控制耦合 ( D)数据耦合 7 下列特征中不是面向对象方法的 主要特征的是 ( )。 ( A)多态性 ( B)标识惟一性 ( C)封装性 ( D)耦合性 8 在数据库设计中,将 E-R图转换成关系数据模型的过程属于 ( )。 ( A)需求分析阶段 ( B)概念设计阶段
3、( C)逻辑设计阶段 ( D)物理设计阶段 9 在一棵二叉树上,第 5层的结点数最多是 ( )。 ( A) 8 ( B) 9 ( C) 15 ( D) 16 10 下列有关数据库的描述,正确的是 ( )。 ( A)数据库设计是指设计数据库管理系统 ( B)数据库技术的根本目标是要解决数据 共享的问题 ( C)数据库是一个独立的系统,不需要操作系统的支持 ( D)数据库系统中,数据的物理结构必须与逻辑结构一致 11 以下叙述中错误的是 ( )。 ( A) C语言源程序经编译后生成后缀为 .obj的目标程序 ( B) C程序经过编译、连接步骤后才能形成一个真正可执行的二进制机器指令文件 ( C)用
4、 C语言编写的程序称为源程序,它以 ASC 代码形式存放在一个文本文件中 ( D) C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 12 下列定义变量的语句中错误的是 ( )。 ( A) int_int; ( B) double int_; ( C) char for; ( D) float US 13 以下叙述中错误的是 ( )。 ( A) C语句必须以分号结束 ( B)复合语句在语法上被看做一条语句 ( C)空语句出现在任何位置都不会影响程序运行 ( D)赋值表达式末尾加分号就构成赋值语句 14 以下能正确定义且赋初值的语句是 ( )。 ( A) int n1=n2=
5、10; ( B) char c=32; ( C) float f=f+1.1; ( D) double x=12.300.5; 15 设有条件表达式: (EXP)i+:j-,则以下表达式中与 (EXP)完全等价的是 ( )。 ( A) (EXP=0) ( B) (EXP!=0) ( C) (EXP=1) ( D) (EXP!=1) 16 若有定义: float x=1.5; int a=1,b=3,c=2;则正确的 switch语句是 ( )。 ( A) switch(x) ( B) switch(int)x); case 1.0:printf(“*n“); case 1:printf(“*n
6、“); case 2.0:printf(“*n“); case 2:printf(“*n“); ( C) switch(a+B) ( D) switch(a+B)case 1;printf(“*n“); case 1:printf(“*n“); case 2+1:printf(“*n“); case c:printf(“*n“);) 17 有以下程序: main() int a,b,d=25; a=d/10%9;b=a (-1); printf(“%d,%dn“,a,B); 程序运行后的输出结果是 ( )。 ( A) 6,1 ( B) 2,1 ( C) 6,0 ( D) 2,0 18 有以下程
7、序: #include stdio.h main() int i,j; for(i=3;i =1;i-) for(j=1;j =2;j+)printf(“%d“, i+j); printf(“n“); 程序运行的结果是( )。 ( A) 2 3 4 ( B) 4 3 2 ( C) 2 3 ( D) 4 5 3 4 5 5 4 3 3 4 3 4 4 5 2 3 19 有以下程序: #include stdio.h void fun(char *a,char*B)while(*a=*)a+; while(*b=*A)b+;a+; main() char*s=“*a*b*“,t80; fun(s,
8、t);puts(t); 程序的运行结果是 ( )。 ( A) *a*b ( B) a*b ( C) a*b* ( D) ab 20 有以下程序: main() int y=10; while(y-); printf(“y=%dn“, y); 程序执行后的输出结果是 ( )。 ( A) y=0 ( B) y=-1 ( C) y=1 ( D) while构成无限循环 21 要求通过 while循环不断读入字符,当读 入字母 N时结束循环。若变量已正确定义,以下正确的程序段是 ( )。 ( A) while(ch=getchar()!=N)printf(“%c“,ch); ( B) while(ch
9、=getchar()!=N)printf(“%c“,ch); ( C) while(ch=getchar()=N)printf(“%c“,ch); ( D) while(ch=getchar()=N)printf(“%c“,ch): 22 有以下程序: #include stdio.h #include string.h void fun(char*s,int n) char*t;int i,j; for(i=0;i n-1;i+) for(j=i+1;j n;j+) if(strlen(si)strlen(sj)t=si; si=sj;sj=t; main() Char*ss=“bcc“,“
10、bbcc“,“xy“,“aaaacc“,“aabcc“; fun(ss,5);printf(“%s,%sn“,ss0,ss4); 程序的运行结果是 ( )。 ( A) xy,aaaacc ( B) aaaacc,xy ( C) bcc,aabcc ( D) aabcc,bcc 23 以下叙述中错误的是 ( )。 ( A)改变函数形参的值,不会改变对应实参的值 ( B)函数可以返回地址值 ( C)可以给指针变量赋一个整数作为地址值 ( D)当在函数的开头包括头文件 stdio.h时,可以给指针变量赋 NULL 24 有以下程序: #include stdio.h main() int s12=1
11、,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 25 有以下程序: void change(int k)k0=k5; ) main() int x10=1,2,3,4,5,6,7,8,9,10,n=0; while(n =4)(change( xn); n+; for(n=0;n 5;n+)printf(“%d“,xn
12、); printf(“n“); 程序运行后的输出结果是( )。 ( A) 6 7 8 9 10 ( B) 1 3 5 7 9 ( C) 1 2 3 4 5 ( D) 6 2 3 4 5 26 有以下程序: main() int a33,*P,i; p= a00; for(i=0;i9;i+)pi=i; for(i=0;i 3;i+)printf(“%d“,a1i); 程序运行后的输出结果是 ( )。 ( A) 0 1 2 ( B) 1 2 3 ( C) 2 3 4 ( D) 3 4 5 27 有以下程序: main() char*p=“3697“,“2584“; int i,j;long nu
13、m=0; for(i=0;i 2;i+) j=0; while(pij!=0) if(pij-0)%2)num=10*num+pij-0; j+=2; printf(“%dn“,num); 程序执行后的输出结果是 ( )。 ( A) 35 ( B) 37 ( C) 39 ( D) 3975 28 有以下程序: #include string.h void f(char p10,int n) char t10;int i,j; for(i=0;i n-1;i+) for(j=i+1;j n;j+) if(strcmp(pi,pj) 0) strcpy(t,pi); strcpy(pi,pj);
14、strcpy(pj,t); main() char p510=“abc“,“aabdfg“,“abbd“,“dedbe“,“cd“; f(p, 5); printf(“%dn“,strlen(p0); 程序运行后的输出结果是 ( )。 ( A) 2 ( B) 4 ( C) 6 ( D) 3 29 有以下程序: void swap(char*x,char*y) cbar t; t=*x; *x=*y; *y=t; main() char*s1=“abc“,*s2=“123“; swap(s1,s2);printf(“%s,%sn“,s1,s2); 程序执行后的输出结果是 ( )。 ( A) 12
15、3,abc ( B) abc,123 ( C) 1bc,a23 ( D) 321,cba 30 以下能正确定义字符串的语句是 ( )。 ( A) char str=064; ( B) char str=“kx43“; ( C) char str=“; ( D) char str=“0“; 31 设有定义语句 int(*f)(int);,则以下叙述正确的是 ( )。 ( A) f是基类型为 int的指针变量 ( B) f是指向函数的指针变量,该函数具有一个 int类型的形参 ( C) f是指向 int类型一维数组的指针变量 ( D) f是函数名,该函数的返回值是基类型为 int类型的地址 32
16、有以下程序: #include string.h main(int argc,char*argv) int i=1,n=0; while(i argC)n=n+strlen(argvi); i+ printf(“%dn“,n); 该程序生成的可执行文件名为: proc.exe, 若在运行时输入命令行: proc 123 45 67 则该程序的输出结果是 ( )。 ( A) 3 ( B) 5 ( C) 7 ( D) 11 33 有以下程序: #include stdio.h #define N 5 #define M N+1 #define f(x)(x*M) main() int i1,i2;
17、 i1=f(2); i2=f(1+1); printf(“%d%d“,i1,i2); 程序的运行结果 是 ( )。 ( A) 12 12 ( B) 11 7 ( C) 11 11 ( D) 12 7 34 以下叙述中错误的是 ( )。 ( A)可以通过 typedef增加新的类型 ( B)可以用 typedef将已存在的类型用一个新的名字来代表 ( C)用 typedef定义新的类型名后,原有类型名仍有效 ( D)用 typedef可以为各种类型起别名,但不能为变量起别名 35 有以下程序: #include stdio.h struct tt int x; struct tt*y;*p; s
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 180 答案 解析 DOC
