[计算机类试卷]国家二级(C语言)笔试模拟试卷8及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷8及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷8及答案与解析.doc(37页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 8及答案与解析 1 下列关于算法的时间复杂度陈述正确的是 ( A)算法的时间复杂度是指执行算法程序所需要的时间 ( B)算法的时间复杂度是指算法程序的长度 ( C)算法的时间复杂度是指算法执行过程中所需要的基本运算次数 ( D)算法的时间复杂度是指算法程序中的指令条数 2 下列关于队列的叙述中正确的是 ( A)在队列中只能插入数据 ( B)在队列中只能删除数据 ( C)队列是先进先出的线性表 ( D)队列是先进后出的线性表 3 设有下列二叉树: 对此二叉树先序遍历的结 果为 ( A) ABCDEF ( B) DBEAFC ( C) ABDECP ( D) DE
2、BFCA 4 下面描述中,不符合结构化程序设计风格的是 ( A)使用顺序、选择和重复 (循环 )三种基本控制结构表示程序的控制逻辑 ( B)注重提高程序的可读性 ( C)模块只有一个入口和一个出口 ( D)使用 goto语句 5 下列哪个是面向对象程序设计不同于其他语言的主要特点 ? ( A)继承性 ( B)消息传递 ( C)多态性 ( D)静态联编 6 在数据库的两级映射中,从概念模式到内模式的映射一般由 _实 现。 ( A)数据库系统 ( B)数据库管理系统 ( C)数据库管理员 ( D)数据库操作系统 7 软件需求分析阶段的工作可以分为 4个方面:需求获取、需求分析、编写需求分析说明书和
3、 ( A)阶段性报告 ( B)需求评审 ( C)总结 ( D)都不正确 8 在数据库管理系统提供的数据语言中,负责数据的查询及增、删、改等操作的是 ( A)数据定义语言 ( B)数据转换语言 ( C)数据操纵语言 ( D)数据控制语言 9 关系数据库的数据及更新操作必须遵循 _等完整性规则。 ( A)实体完整性 和参照完整性 ( B)参照完整性和用户定义的完整性 ( C)实体完整性和用户定义的完整性 ( D)实体完整性、参照完整性和用户定义的完整性 10 在关系数据库中,用来表示实体之间联系的是 ( A)树形结构 ( B)网状结构 ( C)线性表 ( D)二维表 11 以下符合 C语言语法的实
4、犁常量是 ( A) 1.2E0.5 ( B) 3.14159E ( C) 5E-3 ( D) E15 12 以下 4组用户定义标识符中,全部合法的一组是 ( A) main enclude sin ( B) If -max turbo ( C) txt REAL 3COM ( D) int 12 _001 13 以下选项中非法的表达式是 ( A) 0 =x 100 ( B) i=i=0 ( C) (char)(65+3) ( D) x+1=x+1 14 若有定义: inl a=8, b=5, c;,执行语句 c=a/b+0.4;后, c的值为 ( A) 1.4 ( B) 1 ( C) 2 (
5、D) 2 15 下列关于单目运算符 +、 -的叙述中正确的是 ( A)它们的运算对象可以是任何变量和常量 ( B)它们的运算对象可以是 char型变量和 int型变量,但不能是 float型变量 ( C)它们的运算对象可以是 int型变量,但不能是 double型变量和 float型变量 ( D)它们的运算对象可以足 char型变量、 int型变量和 float型变量 16 若有以下程序段 int m=0xabc,n=0xabc; m-=n; printf(“%Xn“.m); 执行后输 出结果是 ( A) 0X0 ( B) 0x0 ( C) 0 ( D) 0XABC 17 以下 4个选项中,不
6、能看作一条语句的是 ( A) ; ( B) a=0,b=0, c=0; ( C) if(a 0); ( D) if(b=0)m=1; n=2; 18 设有定义: inca, *pa; 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是 ( A) double myadd(doublea,b); ( B) double myadd(double,double); ( C) double myadd(doubleb,double a); ( D) double myadd(doublex,double y); 23 C语占中,函数值类型的定义可以缺省,此时函数值的隐含
7、类型是 ( A) void ( B) int ( C) float ( D) double 24 设有定义: int n=0,*p=,则以下选项中,正确的赋值语句是 ( A) p=1; ( B) *q=2; ( C) q=p; ( D) *p=5; 25 有以下程序 main () int m,n,p; scanf ( “m=%dn=%dp=%d“ , printf(“%d %d %dn“, m, n, p); 若想从键盘上输入数据,使变量 m中的值为 123, n中的值为 456, p中的值为 789, ( A) m=123n=456p=789 ( B) m=123 n=456 p=789
8、( C) m=123,n=456,p=789 ( D) 123 456 789 26 以下程序的输出结果是 int f() static int i=0; int s=1; s+=i; i+; return s; main ( ) int i,a=0; for (i=0;i 5; i+) a+=f(); printf ( “%dn“ ,a); ( A) 20 ( B) 24 ( C) 25 ( D) 15 27 有以下程序 main ( ) char a = “abcdefg“, b 10 =“abcdefg“; printf (“%d %dn“ ,sizeof (a) ,sizeof (b)
9、; 执行后输出结果是 ( A) 7 7 ( B) 8 8 ( C) 8 10 ( D) 10 10 28 有以下程序 int f(int n) if (n=l) return 1; else return f(n-1)+1; main () int i,j=0; for(i=i;i 3;i+) j+=f(i); printf “%dn“, j ); 程序运行后的输出结果是 ( A) 4 ( B) 3 ( C) 2 ( D) 1 29 以下能正确定义的数组并正确赋初值的语句是 ( A) int N=5,bNN; ( B) int a12=1,3 ; ( C) int c2=1,2,3,4; (
10、D) int d32=1,2,3,4; 30 有以下程序 int f(int b 4) int i,j,s=0; for(j=0; j 4; j+) i=j; if (i 2) i=3-j; s+=bi j; return s; main ( ) int a4 4 =1,2,3,4, 0,2,4,6, 3,6,9,12), 3,2,1,0; print f ( “%dn“ , f(a); 执行后的输出结果是 ( A) 12 ( B) 11 ( C) 18 ( D) 16 31 下列选项中正确的语句是 ( A) char s8; s=“Beijing“; ( B) char*s; s =“Bei
11、jing“; ( C) char s8; s=“Beijing“; ( D) char *s; s =“Beijing“; 32 有以下程序段 int n, t=1,s=0; scanf ( “%d“ , do s=s+t; t=t-2; while (t ! =n); 为使此程序段不陷入死循环,从键盘输入的数据应该是 ( A)任意正奇数 ( B)任意负偶数 ( C)任意正偶数 ( D)任意负奇数 33 有以下程序 int a=2; int f(int *a) return (*a)+; main ( ) int s=0; int a=5; s+=f ( s+=f ( printf ( “%d
12、n“,s ); 执行后输出结果是 ( A) 10 ( B) 9 ( C) 7 ( D) 8 34 有以下程序: #define f(x) x*x main ( ) int i; i=f (4+4) /f (2+2); printf ( “%dn“, i ); 执行后输出结果是 ( A) 28 ( B) 22 ( C) 16 ( D) 4 35 有以下程序 : fun (int a, int b) if (a b) return (a); else return(b); main ( ) int x=3, y=8, z=6, r; r=fun(fun(x,y) , 2*z); printf( “
13、%dn“, r); 程序运行后的输出结果是 ( A) 3 ( B) 6 ( C) 8 ( D) 12 36 若有定义 “int*p3;“,则以下叙述中下确的是 ( A)定义了一个基类型为 int的指针变量 p,该变量具有三个指针 ( B)定义了 一个指针数组 p,该数组含有三个元素,每个元素都是基类犁为 int的指针 ( C)定义了一个名为 *p的整型数组,该数组含有三个 int类型元素 ( D)定义了一个可指向一维数组的指针变量 p,所指一维数组应具有三个 int类型元素 37 有以下程序 main ( ) unsigned char a,b; a=4 | 3; b=4 printf (“%
14、d %dn“ ,a,b); 执行后的输出结果是 ( A) 7 0 ( B) 0 7 ( C) 1 1 ( D) 43 0 38 有以下程序 main () char s = “Yesn/No“, *ps=s; puts (ps+4); * (ps+4)=0; puts (s); 程序运行后的输出结果是 (选项 D中的第一行是空行 ) ( A) n/No Yes /No ( B) /No Yes ( C) n/No Yes /No ( D) /No Yes 39 有以下程序 #define P 3 void F(int x) return(pxx); main() pritnf(“%dn“,F(
15、3+5); 程序运行后的输出结果是 ( A) 192 ( B) 29 ( C) 25 ( D)编译出错 40 有以下程序 main ( ) int k=5,n=0; while (k 0) switch (k) default : break; case 1 : n+=k; case 2 : case 3 : n+=k; k-; printf (“%dn“,n); 程序运行后的输出结果是 ( A) 0 ( B) 4 ( C) 6 ( D) 7 41 以下程序段中,不能正确赋字符串 (编译时系统会提示错误 )的是 ( A) char s10=“abcdefg“; ( B) char t=“abc
16、defg“,*s=t; ( C) char s10; s=“abcdefg“; ( D) char s10;strcpy(s,“abcdefg“); 42 有以下程序 void sum (int a) a0-a-1+a1; main ( ) int a10=1,2,3,4,5,6,7,8,9,10; sum( printf (“%dn“ ,a2 ); 程序运行后的输出结果是 ( A) 6 ( B) 7 ( C) 5 ( D) 8 43 设有如下说明 typedef struct ST long a; int b; char c2; NEW; 则下面叙述中正确的是 ( A)以上的说明形式非法 (
17、 B) ST是一个结构体类型 ( C) NEW是一个结构体类型 ( D) NEW是一个结构体变量 44 若要说明一个类型名 STP,使得定义语句 STP s;等 价于 char *s;,以下选项中正确的是 ( A) typedef STP char *s; ( B) typedef *char STP; ( C) typedef STP *char; ( D) typedef char* STP; 45 若有以下说明和定义 typede int *INTEGER; INTEGER p, *q; 以下叙述正确的是 ( A) p 是 int 型变量 ( B) p 是基类型为 int 的指针变量 (
18、 C) q 是基类型为 int 的指针变量 ( D)程序中可 用 INTEGER代替 int类型名 46 有以下程序 int a=2; int f(int n) static int a=3; int t=0; if(n%2) static int a=4; t+=a+; else static int a=5; t+=a+; return t+a+; main ( ) int s=a, i; for (i=0;i 3; i+) s+=f (i) print f (“%dn“ , s ); 程序运行后的输出结果是 ( A) 26 ( B) 28 ( C) 29 ( D) 24 47 有以下程序
19、 #include string.h struct STU int hum; float TotalScore; ; void f(struct STU p) struct STU s2=20044,550,20045,537; p.num=s 1.num; p.TotalScore-s1.TotalScore; main() struct STU s2-20041,703,20042,580; f(s0); printf(“%d %3.0fn“,s0.num,s0.TotalScore); 程序运行后的输出结果是 ( A) 20045 537 ( B) 20044550 ( C) 20042
20、580 ( D) 20041 703 48 有以下程序: #include stdio.h main() FILE *fp; int i, k=0, n=0; fp=fopen(“d1.dat“,“w“); for(i=l;i 4;i+) fprintf(fp,“%d“,i); fclose(fp); fp=fopen(“d1.dat“,“r“); fscanf(fp,%d%d“, printf(“%d %dn“, k, n); fclose(fp); 执行后输出结果是 ( A) 1 2 ( B) 123 0 ( C) 1 23 ( D) 0 0 49 设有以下说明语句 typedef str
21、uct int n; char ch8; PER; ( A) PER 是结构体变量名 ( B) PER 是结构体类型名 ( C) typedef struct 是结构体类型 ( D) struct 是结构本类型名 50 有以下程序 #include stdio.h main() FILE *fp; int i,k,n; fp=fopen(“data.dar“, “w+“); for(i=1;i 6;i+) fprintf(fp,“%d “,1); if(i%3=0) fprintf(fp, “n“); rewind(fp); fscanf(fp, “%d%d“, printf. (“%d %d
22、n“,k,n); fclose(fp); 程序运行后的输出结果是 ( A) 0 0 ( B) 123 45 ( C) 1 4 ( D) 1 2 51 软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的是【 】。 52 在两种基本测试方法中,【 】测试的原则之一是保证所测 模块中每一个独立路径至少要执行一次。 53 Jackson方法是一种面向【 】的结构化方法。 54 程序测试分为静态分析和动态测试。其中【 】是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。 55 关系数据库管理系统能实现的专门关系运算包括选择、连接和【
23、】。 56 以下程序的运行结果是【 】。 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); 57 有以下程序,若运行时从键盘输入: 18,11回车,则程序的输出结果是【 】。 main () int a, b; printf(“Enter a, b:“); scanf(“%d, %d“, while(a!=b) while(a b)a- b; while(b a)b- a; printf(“%3d%3dn“,a
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 答案 解析 DOC
