[计算机类试卷]国家二级(C语言)笔试模拟试卷176及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷176及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷176及答案与解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 176及答案与解析 1 下列叙述中正确的是 _。 ( A)算法的效率只与问题的规模有关,而与数据的存储结构无关 ( B)算法的时间复杂度是指执行算法所需要的计算工作量 ( C)数据的逻辑结构与存储结构是一一对应的 ( D)算法的时间复杂度与空间复杂度一定相关 2 下列叙述中正确的是 _。 ( A)一个逻辑数据结构只能有一种存储结构 ( B)数据的逻辑结构属于线性结构,存储结构属于非线性结构 ( C)一个逻辑数据结构可以有多种存储结构,且各 种存储结构不影响数据处理的效率 ( D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率 3 对下列二
2、叉树: 进行前序遍历的结果为 _。 ( A) DYBEAFCZX ( B) YDEBFZXCA ( C) ABDYECFXZ ( D) ABCDEFXYZ 4 下列关于栈的叙述正确的是 _。 ( A)栈按 “先进先出 ”组织数据 ( B)栈按 “先进后出 ”组织数据 ( C)只能在栈底插入数据 ( D)不能删除数据 5 从工程管理角度 ,软件设计一般分为两步完成,它们是 _。 ( A)概要设计与详细设计 ( B)数据设计与接口设计 ( C)软件结构设计与数据设计 ( D)过程设计与数据设计 6 下列描述中正确的是 _。 ( A)软件工程只是解决软件项目的管理问题 ( B)软件工程主要解决软件产
3、品的生产率问题 ( C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则 ( D)软件工程只是解决软件开发中的技术问题 7 下列选项中不符合良好程序设计风格的是 _。 ( A)源程序要文档化 ( B)数据说明的次序要规范化 ( C)避免滥用 goto语句 ( D)模块设计要保证高耦合、高内聚 8 下列叙述中正确的是 _。 ( A)软件测试的主要目的是发现程序中的错误 ( B)软件测试的主要目的是确定程序中错误的位置 ( C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作 ( D)软件测试是证明软件没有错误 9 在数据库设计中,将 E-R图转换成关系数据模型的过程属于
4、 _。 ( A)需求分析阶段 ( B)概念设计阶段 ( C)逻辑设计阶段 ( D)物理设计阶段 10 有三个关系 R、 S和 T如下:由关系 R和 S通过运算得到关系 T,则所使用的运算为 _。 ( A)并 ( B)自然连接 ( C)笛卡儿积 ( D)交 11 下列叙述中错误的是 _。 ( A)一个 C语言程序只能实现一种算法 ( B) C程序可以由多个程序文件组成 ( C) C程序可以由一个或多个函数组成 ( D)一个 C函数可以单独作为一个 C程序文件存在 12 以下不能定义为用户标 识符是 _。 ( A) Main ( B) _0 ( C) _int ( D) sizeof 13 若变量
5、均已正确定义并赋值,以下合法的 C语言赋值语句是 _。 ( A) x=y=5; ( B) x=n%2.5; ( C) x+n=i ( D) x=5=4+1; 14 有以下程序,其中 %u表示按无符号整数输出: main() unsigned int x=0xFFFF; /* x的初值为十六进制数 */ printf(“%un“, x); 程序运行后的输出结果是 _。 ( A) -1 ( B) 65535 ( C) 32767 ( D) 0XFFFF 15 以下叙述中错误的是 _。 ( A) C语言是一种结构化程序设计语言 ( B)结构化程序由顺序、分支、循环三种基本结构组成 ( C)使用三种基
6、本结构构成的程序只能解决简单问题 ( D)结构化程序设计提倡模块化的设计方法 16 设有定义 int a; float b;执行 scanf(“%2d%f“, &a, &b);语句时, 若从键盘输入 876543.0回车, a和 b的值分别是 _。 ( A) 876和 543.000000 ( B) 87和 6.000000 ( C) 87和 543.000000 ( D) 76和 543.000000 17 设变量 x和 y均已正确定义并赋值,以下 if语句中,在编译时将产生错误信息的是 _。 ( A) if(x+); ( B) if(x y&y!=0); ( C) if(x y)x- el
7、se y+: ( D) if(y 0); else x+; 18 已知字母 A的 ASC 代码值为 65,若变量 kk为 char型,以下不能正确判断出kk中的值为大写字母的表达式是 _。 ( A) kk =A&kk =Z ( B) !(kk =Akk =Z) ( C) (kk+32) =a&(kk+32) =z ( D) isalpha(kk)&(kk 91) 19 下列叙述中正确的是 _。 ( A) break语句只能用于 switch语句 ( B)在 switch语句中必须使用 default ( C) break语句必须与 switch语句中的 case配对使用 ( D)在 switc
8、h语句中不一定使用 break语句 20 设变量已正确定义,则以下能正确计算 f n!的程序段是 _。 ( A) f=0; for(i=1; i =n; i+)f*=i; ( B) f=1; for(i=1; i n; i+)f*=i; ( C) f=1; for(i=n; i 1; i+)f*=i; ( D) f=1; for(i=n; i =2; i-)f*=i; 21 有以下程序: main() intp8=11, 12, 13, 14, 15, 16, 17, 18,i=0, i=0; while(i+ 7)if(pi%2)j+=pi; printf(”%dn“, j); 程序运行后的
9、输出结果是 _。 ( A) 42 ( B) 45 ( C) 56 ( D) 60 22 以下程序段中的变量已正确定义: for(i=0; i 4; i+, i+) for(k=1; k3; k+); printf(“*“); 程序段的输出结果是 _。 ( A) * ( B) * ( C) * ( D) * 23 有以下程序: #include stdio.h main() char c1, c2, c3, c4, c5, c6; scanf(“%c%c%c%c“, &c1, &c2, &c3, &c4); c5=getchar(); c6=getchar(); putchar(c1); put
10、char(c2); printf(“%c%cn“, c5, c6); 程序运行后,若从键盘输入 (从第 1列开始 ) 123回车 45678回车 则输出结果是 _ ( A) 1267 ( B) 1256 ( C) 1278 ( D) 1245 24 若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是_。 ( A)函数的实参和其对应的形参共占同一存储单元 ( B)形参只是形式上的存在,不会占用具体存储单元 ( C)同名的实参和形参占同一存储单元 ( D)函数的 形参和实参分别占用不同的存储单元 25 有以下程序: fun(int x, int y)return(x+y); mai
11、n() int a=1, b=2, c=3,Sum; sum=fun(a+, b+, a+b), c+); printf(“%d“, sum); 执行后的输出结果是 _。 ( A) 6 ( B) 7 ( C) 8 ( D) 9 26 有以下程序: void f(int n, int * r) int r1=0; if(n%3=0)r1=n/3; else if(n%5=0)r1=n/5; else f(-n, &r1); *r=r1; main() intm=7, r; f(m,&r); printf(“%dn“, r); 程序运行后的输出结果是 _。 ( A) 2 ( B) 1 ( C) 3
12、 ( D) 0 27 有以下函数: fun(char * a, char *B) while(*a!=0)&(*b!=0)&(*a=*b) a+; b+; return(* a-*b); 该函数的功能是 _。 ( A)计算 a和 b所指字符串的长度之差 ( B)将 b所指字符串连接到 a所指字符串中 ( C)将 b所指字符串连接到 a所指字符串后面 ( D)比较 a和 b所指字符串的大小 28 有以下程序: voidf(int*x, int * y) int t; t= *x; *x= *y; *y=t; main() inta8=1, 2, 3, 4, 5, 6, 7, 8, i, *p,
13、*q; p=a; q=&a7; while(p) f(p, q); p+; q-; for(i=0; i 8; i+)printf(“%d, “, ai); 程序运行后的输出结果是 _; ( A) 8, 2, 3, 4, 5, 6, 7, 1, ( B) 5, 6, 7, 8, 1, 2, 3, 4, ( C) 1, 2, 3, 4, 5, 6, 7, 8, ( D) 8, 7, 6, 5, 4, 3, 2, 1, 29 以下数组定义中错误的是 _。 ( A) intx3 0; ( B) int x23 1, 2, 3, 4, 5, 6); ( C) intx3 1, 2, 3, 4, 5,
14、6; ( D) mtx23 1, 2, 3, 4, 5, 6; 30 若有定义: intw35,则以下不能正确表示该数组元素的表达式是 _。 ( A) *(*w+3) ( B) *(w+1)4 ( C) *(*(w+1) ( D) *(&w00+1) 31 有以下函数: int fun(char * s) char * t=s; while(*t+); return(t-s) 该函数的功能是 _。 ( A)比较两个字符串的大小 ( B)计算 s所指字符串占用内存字节个数 ( C)计算 s所指字符串的长度 ( D)将 s所指字符串复制到字符串 t中 32 设有定义: char p 1, 2, 3
15、, , *q p;,以下不能计算出一个 char型数 据所占字节数的表达式是 _。 ( A) sizeof(p) ( B) sizeof(char) ( C) sizeof(*q) ( D) sizeof(p0) 33 有以下程序,其中函数 f的功能是将多个字符串按字典顺序排序: #includestring h voidf(char*p, intn) char*t; int i, j; for(i=0; i n-1; i+) for (j=i+1; j n; j+) if(strcmp(pi, pj) 0) t=pi; pi=pj; pj=t; main() char*p5=“abc“ (
16、A) 2 ( B) 3 ( C) 6 ( D) 4 34 有以下程序: #include stdio.h iht fun(iht n, int*p) int f1, f2; if(n=1|, n=2)*p=1; else fun(n-1, &f1); fun(n-2, &f2); *p=f1+f2; main() int s; fun(3, &s); printf(“%dn“, s); 程序的运行结果是 _。 ( A) 2 ( B) 3 ( C) 4 ( D) 5 35 若程序有宏定义: #define N 100则以下叙述中正确的是 _。 ( A)宏定义中定义了标识符 N的值为整数 100
17、( B)在编译程序对 C源程序进行预 处理时用 100替换标识符 N ( C)对 C源程序进行编译时用 100替换标识符 N ( D)在运行时用 100替换标识符 N 36 以下关于 typedef的叙述错误的是 _。 ( A)用 typedef可以增加新类型 ( B) typedef只是将已存在的类型用一个新的名字来代表 ( C)用 typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名 ( D)用 typedef为类型说明一个新名,通常可以增加程序的可读性 37 以下对结构体类型变量 td的定义中,错误的是 _。 ( A) typedef struct aa int n;
18、float m; AA; AA td; ( B) struct aa int n; float m; td; struct aa td; ( C) struct int n; float m; aa; ( D) struct int n; float m; td; struct aa td; 38 有以下程序: int a=4; int f(int n) int t=0; static int a=5; if(n%2) int a=6; t+=a+; elseint a; 7; t+=a+; return t+a+; main() int s=a, i=0; for(; i 2; i+)s+=
19、f(i); printf(“%dn“, s); 程序运行后的输出结果是 _。 ( A) 24 ( B) 28 ( C) 32 ( D) 36 39 若变量已正确定义,则以下语句的输出结果是 _。 s=32; s=32;printf(“%d“, s); ( A) -1 ( B) 0 ( C) 1 ( D) 32 40 有以下程序: #include stdio.h main() FILE *fp; int i, a6=1, 2,3, 4, 5, 6; fp=fopen(“d2.dat“, “w“); fprintf(fp, “%d%d%dn“, a0,a1, a2); fprintf(fp, “
20、%d%d%dn“, a3, a4, a5); fclose(fp); fp=fopen(“d2.dat“, “r“); fscanf(fp, “%d%dn“, &k, ( A) 1 2 ( B) 1 4 ( C) 123 4 ( D) 123 456 40 数据结构分为线性结构和非线性结构,线性表、栈和队列都属于 _。 40 按 “先进后出 ”原则组织数据的数据结构是 _。 40 软件危机 出现于 60年代末,为了解决软件危机,人们提出了 _的原理来设计软件,这就是软件工程诞生的基础。 40 _(黑箱或白箱 )测试方法完全不考虑程序的内部结构和内部特征。 40 数据库设计分为以下 6个设计阶段
21、:需求分析阶段、 _、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。 40 以下条件表达式可计算: 1+|a|的值,请填空。 a =0? 6 : 7 40 下面程序的运行结果是 _。 #include stdio.h main() int y, a; y=2, a=1; while(y-!=-1) doa*=y; a+; while(y-); printf(“%d, %d“, a, y); 40 以下程序的功能是根据输入的 “y”(“Y”)与 “n”(“N”),在屏幕上分别显示出 “This is YES.”与 “This is NO.”。空白处需要填入的内容是 #include st
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 176 答案 解析 DOC
