[计算机类试卷]国家二级(C语言)笔试模拟试卷7及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷7及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷7及答案与解析.doc(34页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 7及答案与解析 1 数据的存储结构是指 ( A)存储在外存中的数据 ( B)数据所占的存储空间量 ( C)数据在计算机中的顺序存储方式 ( D)数据的逻辑结构在计算机中的表示 2 在深度为 5的满二叉树中,结点的个数为 ( A) 32 ( B) 31 ( C) 16 ( D) 15 3 编制一个好的程序,首先要保证它的正确性和可靠性,还应强调良好的编程风格,在书写功能性注释时应考虑 ( A)仅为整个程序作注释 ( B)仅为每个模块作注释 ( C)为程序段作注释 ( D)为每个 语句作注释 4 下列关于栈的描述正确的是 ( A)在栈中只能插入元素而不能删除元素
2、( B)在栈中只能删除元素而不能插入元素。 ( C)栈是特殊的线性表,只能在一端插入或删除元素 ( D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素 5 在结构化方法中,软件功能分解属于下列软件开发中的阶段是 ( A)详细设计 ( B)需求分析 ( C)总体设计 ( D)编程调试 6 在数据库管理系统提供的数据语言中,负责数据的模式定义与数据的物理存取构建的是 ( A)数据定义语言 ( B)数据转换语 言 ( C)数据操纵语言 ( D)数据控制语言 7 关系数据库的概念模型是 _的集合。 ( A)关系模型 ( B)关系模式 ( C)关系子模式 ( D)存储模式 8 用树形结构来表示
3、实体之间联系的模型称为 ( A)关系模型 ( B)层次模型 ( C)网状模型 ( D)数据模型 9 下列对于软件测试的描述中正确的是 ( A)软件测试的目的是证明程序是否正确 ( B)软件测试的目的是使程序运行结果正确 ( C)软件测试的目的是尽可能多地发现程序中的错误 ( D)软件测试的目的是使程序符合结构 化原则 10 下列叙述中正确的足 ( A)软件交付使用后还需要进行维护 ( B)软件一旦交付使用就不需要再进行维护 ( C)软件交付使用后其生命周期就结束 ( D)软件维护是指修复程序中被破坏的指令 11 以下叙述中正确的是 ( A)构成 C程序的基本单位是函数 ( B)可以在一个函数中
4、定义另一个函数 ( C) main()函数必须放在其他函数之前 ( D)所有被调用的函数一定要在调用之前进行定义 12 变量 a已被定义为整型,下列表达式有错的是 ( A) a=A+20 ( B) a-=a ( C) a=c+d ( D) a=c+d 13 以下选项中合法的用户标识符是 ( A) long ( B) _2Test ( C) 3Dmax ( D) A,dat 14 下列选项中,不能用作标识符的是 ( A) _1234_ ( B) _1_2 ( C) int_2_ ( D) 2_int_ 15 有以下定义语句 double a,a; int w; long c; 若各变量已正确赋值
5、,则下列选项中正确的表达式是 ( A) a=a+b=b+ ( B) w%(int)a+b) ( C) (c+w)%(int)a ( D) w=a=b 16 设 a和 b均为 double型变量,且 a=5.5、 b=2.5,则表达式 (int)a+b/b的值是 ( A) 6.5 ( B) 6 ( C) 5.5 ( D) 6 17 数据独立性是数据库技术的重要特点之一。所谓数据独立性是指 ( A)数据与程序独立存放 ( B)不同的数据被存放在不同的文件中 ( C)不同的数据只能被对应的应用程序所使用 ( D)以上三种说法都不对 18 设变量 x为 float型且已赋值,则以下语句中能将 x中的数
6、值保留到小数点后两位,并将第三位四舍五入的是 ( A) x=x*100+0.5/100.0; ( B) x=(x*100+0.5)/100.0; ( C) x=(int)(x*100+0.5)/100.0; ( D) x=(x/100+0.5)*100.0; 19 有以下程序 main () int i; for(i=0;i 3;i+) switch(i) case 1: printf (“%d“,i); case 2: printf (“%d“, i); default: printf (“%d“,i); 执行扣输出的结果是 ( A) 11122 ( B) 12 ( C) 12020 ( D
7、) 120 20 以下程序段中与语句 k=a b?(b c?1:0):0;功能等价的是 ( A) if(a b) else k=0; ( B) iff(a b)(b c) k=1; else k=0; ( C) iffa =b) k=0; else iffb =c) k=1; ( D) if(a b) k=1; else if(b c) k=1; else k=0; 21 已有定义: Mt x=3,y=4,z=5;,则表达式 !(x/y)+z-1continue; i+; s+=i; while(i 7);. printf(“%dn“,s); 执行后输出的结果是( )。 ( A) 16 ( B
8、) 12 ( C) 28 ( D) 21 25 已定义 ch为字符型变量,以下赋值语句中错误的是 ( )。 ( A) ch=; ( B) ch=62+3 ( C) ch=NULL; ( D) ch=xaa; 26 有以下程序: main() int a=15,b=21,m=0; switch(a%3) case 0:m+;break; case 1:m+; switch(b%2) default: m+; case 0:m+;break; rintf(“%dn“,m); 程序运行后的输出结果是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 27 以下能正确定义二维数组的是
9、( )。 ( A) int a3; ( B) int a3=2*3; ( C) int a3=; ( D) int a23=1, 2, 3, 4; 28 以下正确的字符串常量是 ( )。 ( A) ( B) abc ( C) Olympic Games 29 若程序中已包含头文件 stdio.h,以下选项中,正确运用指针变量的程序段是( )。 ( A) int*i=NULL; ( B) float*f=NULL; ( C) chart=m, *c= strcat(p,r); strcpy(p+strlen(q),q); printf(“%dn“,strlen(p); 程序运行后的输出结果是 (
10、 )。 ( A) 9 ( B) 6 ( C) 11 ( D) 7 39 设有如下说明: typedef struct int n; char c; double x; STD; 则以下选项:能正确定义结构体数组并赋初值的语句是 ( )。 ( A) STDtt2=1,A,62,2,B,75; ( B) STDtt2=1,“A“,62,2,“B“,75; ( C) struet tt2= 1,A,2,B; ( D) struct tt2=1,“A“,62.5,2,“B“,75.0; 40 有以下程序: int fun(int x,int n) static iht sum=O, i; for(i=
11、O;i ( A) 45 ( B) 50 ( C) 60 ( D) 55 41 有以下程序: main(int argc, char *argv) int n=0,i; for (i=1; i argc; i+) n=n*10+*argvi-0; printf(“%dn“,n); 编译连接后生成可执行文件 tt.exe。若运行时输入以下命令行 tt 12 345 678 程序运行后的输出结果是 ( )。 ( A) 12 ( B) 12345 ( C) 12345678 ( D) 136 42 有以下程序: main() char s=“Yesn/No“, *ps=s; puts(ps+4); *
12、(ps+4)=0; puts(s); 程序运行后的输出结果是 (选项 D中的第一行是空行 ) ( )。 ( A) n/No Yes /No ( B) /No Yes ( C) /No Yes /No ( D) /No Yes 43 有以下程序: #include stdio.h #define N 5 #define M N+1 #define f(x) (x*M) main() int i1, i2; i1=f(2); i2=f(1+1); printf(“%d%dn“, i1, i2); 程序的运行结果是 ( )。 ( A) 12 12 ( B) 11 7 ( C) 11 11 ( D)
13、12 7 44 以下程序段十,不能正确赋字符串 (编译时 系统会提示错误 )的是 ( )。 ( A) chars10=“abedefg“; ( B) char t=“abcdefS“, *s=t; ( C) chars10; s=“abcdefg“; ( D) chars10; strcpy(s,“abcdefg“); 45 设有如下定义, struct sk int a; float b; data; int*p; 若要使P指向 data中的 a域,正确的赋值语句是 ( )。 ( A) p= scanf(“%d“, if(a 50) printf(“%d“,a); if(a 40) prin
14、tf(“%d“,a); if(a 30) printf(“%d“,a); 57 以下程序用于判断 a、 b、 c能否构成三角形,若能,输出 YES,否则输出NO。当给 a、 b、 c输入三角形三条边长时,确定 a、 b、 c能构成三角形的条件是需同时满足三个条件: a+b c, a+c b, b+c a。 请填空。 main() float a,b,c; scanf(“%f%f%f“, if(【 】 ) printf(“YESn“); /*a、 b、 c能构成三角形 */ else printf(“NOn“); /*a、 b、 c不能构成三角形 */ 58 以下程序运行后的输出结果是【 】。
15、main() int a=3,b=4,c=5,t=99; if(b a a=c;c=t; if(a c b=a;a=t; printf(“%d %d %dn“,a,b,c); 59 有以下程序: main() int n=0,m=1,x=2; if(!n) x-=1; if(m) x-=2; if(x) x-=3; printf(“%dn“,x); 执行后输出的结果是【 】。 60 以下程序的输出结果是【 】。 #include string.h main() printf(“%dn“,strlen(“IBMn0121“); 61 有以下程序: void f(int y,int *x) y=y
16、+*x; *x=*x+y; main() int x=2,y=4; f(y, printf(“%d %dn“,x,y); 执行后输出结果是上【 】。 62 函数 fun的功能是计算 xn。 double fun(double x,int n) int i;double y=1; for(i=1;i =n;i+) y=y*x; return y; 主函数 中已正确定义 m、 a、 b变量并赋值,并调用 fun函数计算: m=a4+b4-(a+b)3。实现这一计算的函数调用语句为【 】。 63 以下函数 sstrcat()的功能是实现字符串的连接,即将 t所指字符串复制到 s所指字符串的尾部。例如
17、: s所指字符串为 abed, t所指字符串为 efgh,函数调用后 s所指字符串为 abodefgh。请填空。 #include string.h void sstrcat(char *s,char *t) int n; n=strlen(s); while(*(s+n)=【 】 )s+;t+; 64 以下程序运行后的输出结果是【 】。 #include string.h char *ss(char *s) char *p;t; p=s+1;t=*s; while(*p)*(p-1)=*p;p+; *(p-1)=t; return s; main() char *p,str10=“abcde
18、rgh“; p=ss(str); printf(“%sn“,p); 65 以下程序的输出结果是【 】。 int fun(int *x,int n) if(n=0) return x0; else return x0+fun(x+1,n-1); main() int a=1,2,3,4,5,6,7; printf(“%dn“,fun(a,3); 66 下面程序的运行结果是【 】。 void swap(int *a,int *b) int *tp; t=a;a=b;b=t; main() int x=3,y=5,*p= swap(p,q); printf(“%d%dn“,*p,*q); 67 下面
19、程序的功能是建立一个有 3个结点的单循环链表,然后求各个结点数值域data中数据的和,请填空。 #include stdio.h #include stdlib.h struct NODE int data; struct NODE *next; ; main() struct NODE *p,*q,*r; int sum=0; p=(struct NODE*)malloc(sizeof(struct NODE); q=struct NODE*)malloc(sizeof(struct NODE); r=(struct NODE*)malloc(sizeof(struct NODE); p-
20、data=100; q- data=200; r- data=300; p- next=q; q- next=r; r- next=p; sum=p- data+p- next- data+r- next- next 【 】 ; printf(“%dn“,sum); 68 有以下程序,其功能是:以二进制 “写 ”方式打开文件 d1.dat,写入 1 100这100个整数后关闭文件。再以二进制 “读 ”方式打开文件 d1.dat,将这 100个整数读入到另一个数组 b中,并打印输出。请填空。 #include stdio.h main() FILE *fp; int i,a100,b100; f
21、p=fopen(“d1.dat“,“wb“); for(i=0;i 100;i+) ai=i+1; fwrite(a,sizeof(int),100,fp); fclose(fp); fp=fopen(“d1.dat“,【 】 ); fread(b,sizeof(int ),100,fp); fclose(fp); for(i=0;i 100;i+) printf(“%dn“,bi); 69 函数 sstrcmp()的功能是对两个字符串进行比较。当 s所指字符串和 t所指字符串相等时,返回值为 0;当 s所指字符串大于 t所指字符串时,返回值大于 0;当 s所指字符串小于 t所指字符串时,返回
22、值小于 0(功能等同于库函数 strcmp()。请填空。 #include stdio.h int sstrcmp(char *s,char *t) while(*s t+; rerurn 【 】 ; 国家二级( C语言)笔试模拟试卷 7答案与解析 1 【正确答案】 D 【试题解析】 数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构,也称数据的物理结构。所以选项 D正确, 2 【正确答案】 B 【试题解析】 二叉树有如下性质:深度为 m的二叉树最多有 2的 m次方再减 1个结点。由此可知答案为 B。 3 【正确答案】 C 【试题解析】 功能性注释是嵌在源程序体中的,用以描述其后的语
23、句或程序段是在做什么工作,或者执行了下面的语 句会怎么样。所以它描述的是一段程序,是为程序段做注释,而不是每条语句。 4 【正确答案】 C 【试题解析】 栈是一种特殊的线性表,其插入与删除运算都只在线性表的一端进行。由此可见,选项 A、选项 B和选项 D错误,正确答案是选项 C。 5 【正确答案】 C 【试题解析】 详细设计的任务是:在使用程序设计语言编程以前,对所采用算法的逻辑关系进行分析,并给予清晰的表达。需求分析是指用户对目标软件系统在功能、行为、性能、设计约束等方面的希望。编程调试任务是诊断和改正程序中潜在的错误。软件功能分解只能发 生在总体设计阶段。 6 【正确答案】 A 【试题解析
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 答案 解析 DOC
