[计算机类试卷]国家二级(C语言)笔试模拟试卷83及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷83及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷83及答案与解析.doc(34页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 83 及答案与解析 1 数据的存储结构是指 ( A)存储在外存中的数据 ( B)数据所占的存储空间量 ( C)数据在计算机中的顺序存储方式 ( D)数据的逻辑结构在计算机中的表示 2 下列关于栈的描述中错误的是 ( A)栈是先进后出的线性表 ( B)栈只能顺序存储 ( C)栈具有记忆作用 ( D)对栈的插入与删除操作中,不需要改变栈底指针 3 对于长度为 n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是 ( A)冒泡排序为 n/2 ( B)冒泡排序为 n ( C)快速排序为 n ( D)快速排序为 n(n-1)/2 4 对长度为 n的线性表进行
2、顺序查找,在最坏情况下所需要的比较次数为 ( A) log2n ( B) n/2 ( C) n ( D) n+l 5 下列对于线性链表的描述中正确的是 ( A)存储空间不一定是连续,且各元素的存储顺序是任意的 ( B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面 ( C)存储空间必须连续,且前件元素一定存储在后件元素的前面 ( D)存储空间必须连续,且各元素的存储顺序是任意的 6 下列对于软件测试的描述中正确的 是 ( A)软件测试的目的是证明程序是否正确 ( B)软件测试的目的是使程序运行结果正确 ( C)软件测试的目的是尽可能多地发现程序中的错误 ( D)软件测试的目的是使程序
3、符合结构化原则 7 为了使模块尽可能独立,要求 ( A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强 ( B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 ( C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 ( D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强 8 下列描述中正确的是 ( A)程序 就是软件 ( B)软件开发不受计算机系统的限制 ( C)软件既是逻辑实体,又是物理实体 ( D)软件是程序、数据与相关文档的集合 9 数据独立性是数据库技术的重要特点之一,所谓数据独立性是指 ( A)数据与程序独立存放 ( B)不同的数据被存放在不同的文件中 ( C
4、)不同的数据只能被对应的应用程序所使用 ( D)以上三种说法都不对 10 用树形结构表示实体之间联系的模型是 ( A)关系模型 ( B)网状模型 ( C)层次模型 ( D)以上三个都是 11 若有说明 char t;,下列表达式不正确的 是 _。 ( A) t=97 ( B) t=a ( C) t=“a“ ( D) t=a+b 12 下列程序段的输出结果是 _。 int x=5, y=4, z; printf(“%dn“,z+=1,z=x%y); ( A) 0 ( B) 1 ( C) 2 ( D)结果是不确定值 13 一个 C程序可以包含任意多个不同名的函数,但有且仅有一个 _。 ( A)过程
5、 ( B)函数 ( C)主函数 ( D)子程序 14 若有说明语句: char ch=x41;,则 ch中 _。 ( A)包含 4个字符 ( B)包含 2个字符 ( C)包含 1个字符 ( D)字符个数不确定,说明不正确 15 下面程序的执行结果是 _。 main() char str=“quert?“,*p=str; while(putchar(*p+)!=?); ( A) quert ( B) Rvfsu ( C) quert? ( D) rvfsu? 16 以下程序的输出结果是 _。 main() printf(“%dn“,NULL); ( A) 0 ( B) -1 ( C) 1 ( D
6、)不确定的值 (因变量无定义 ) 17 以下程序段的输出结果是 _。 int sbr=10,8,6,4,2,*p=str+1; printf(“%dn“,*(p+2); ( A) 6 ( B) 4 ( C) 10 ( D)不确定的值 18 下列程序的执行结果是 _。 main() int x=2,y=2,z=0; if(z 0) if(yo)x=4; else X=5; printf(“%dt“,x); if(z=y 0)x=7; else if(y=0)x=3; else X=6; printf(“%dt“,x); printf(“%dt“,z); ( A) 2 7 1 ( B) 4 3 2
7、 ( C) 5 7 0 ( D) 2 5 0 19 以下程序的输出结果是 _。 main() int x=-1,a=1: if(x+=A) printf(“YES!n“); else printf(“NO!n“); ( A)有语法错,不能通过编译 ( B)通过编译,但运行程序造成死机 ( C)输出 YES! ( D)输出 N0! 20 设有如下函数: fun(floatx) x*=x+; printf(“%dn“,x); return(x); 则函数的类型是 _。 ( A) float ( B) void ( C) int ( D)无法确定 21 若 x和 y代表整型数, 以下表达式中不能正确
8、表示数学关系 |x-y| 10的是 ( A) abs(x-y) 10 ( B) x-y -10;) if(i=3i=5) continue; if(i=6) break; i+; s+=i; ; printf(“%dn“,s); 程序运行后的输出结果是 ( A) 10 ( B) 13 ( C) 24 ( D)程序进入死循环 25 若变量已正确定义,要求程序段完成求 5!的计算,不能完成此操作的程序段是 ( A) for(i=1,p=1;i 5;i+) p*=i; ( B) for(i=1;i 5;i+) p=1; p*=i; ( C) i=1;p=1;while(i 5)p*=i; i+; (
9、 D) i=1;p=1;dop*=i; i+; while(i 5); 26 有以下程序 main() char a, b, c, d; seanf(“%c, %c, %d, %d“, printf(“%c, %c, %c, %cn“, a, b, c, d) ; 若运行时从键盘上输入: 6, 5, 65, 66回车。则输出结果是 ( A) 6, 5, A, B ( B) 6, 5, 65, 66 ( C) 6, 5, 6, 5 ( D) 6, 5, 6, 6 27 以下能正确定义二维数组的是 ( A) int a3; ( B) int a3=2*3; ( C) int a3=; ( D) i
10、nt a23=1,2,3,4; 28 有以下程序 int f(int a) return a%2; main() int s8=1, 3; 5, 2,4, 6, i, d=0; for(i=0; f(si);i+)d+=si; printf(“%dn“,d) ; 程序运行后的输出结果是 ( A) 9 ( B) 11 ( C) 19 ( D) 21 29 若有以下说明和语句 int c4)5,(*p)5; p=c; 能够正确引用 c数组元素的是 ( A) p+1 ( B) *(p+3) ( C) *(P+1)+3 ( D) *(p0+2) 30 有以下程序 main() int a=7, b=8
11、, *p, *q, *r; p= 要求依次输出 x数组 6个元素中的值, 不能完成此操作的语句是 ( A) for(i=0;i 6;i+) printf(“%2d“,*(p+); ( B) for(i=0;i 6;i+) printf(“%2d“,*(p+i); ( C) for(i=0;i 6;i+) printf(“%2d“,*p+); ( D) for(i=0;i 6;i+) printf(“%2d“,(*p)+); 33 有以下程序 #include stdio h main() int a=1,2,3,4,5,6,7,8,9,10,11,12,*p=a+5,*q=NULL; *q=
12、*(p+5); printf(“%d %dn“,*p,*q); 程序运行后的输出结果是 ( A)运行后报错 ( B) 6 6 ( C) 6 11 ( D) 5 10 34 设有以下定义和语句 int a32=1,2,3,4,5,6,*p3; p0=a1; 则*(p0+1)所代表的数组元素是 ( A) a01 ( B) a10 ( C) a11 ( D) a12 35 有以下程序 main() char str10=“China“,“Beijing“,*p=str; printf(“%sn“,p+10); 程序运行后的输出结果是 ( A) China ( B) Beijing ( C) ng (
13、 D) ing 36 有以下程序 main() char s=“ABCD“,*p; for(p=s+1; p s+4;p+)printf(“%sn“, p); 程序运行后的输出结果是 ( A) ABCD BCD CD D ( B) A B C D ( C) B C D ( D) BCD CD D 37 在函数调用过程中,如果函数 funA调用了函数 funB,函数 funB又调用了函数funA,则 ( A)称为函数的直接递归调用 ( B)称为函数的间接递归调用 ( C)称为函数的 循环调用 ( D) C语言中不允许这样的递归调用 38 已有定义: int i, a10, *p;,则合法的赋值语
14、句是 ( A) p=100; ( B) p=a5; ( C) p=a2+2; ( D) p=a+2; 39 以下叙述中正确的是 ( A)局部变量说明为 static存储类,其生存期将得到延长 ( B)全局变量说明为 static存储类,其作用域将被扩大 ( C)任何存储类的变量在未赋初值时,其值都是不确定的 ( D)形参可以使用的存储类说明符与局部变量完全相同 40 设有定义语句: char c1=92, c2=92;,则以下表达式中值为零的是 ( A) c1c2 ( B) c1 if(i j) t=ai;ai=aj;aj=t; i+; j-; fun(a,i,j); main() int x
15、=2, 6, 1, 8,i; fun(x, 0, 3); for(i=0;i 4;i+) printf(“%2d“,xi); printf(“n“); 程序运行后的输出结果是 ( A) 1 2 6 8 ( B) 8 6 2 1 ( C) 8 1 6 2 ( D) 8 6 1 2 45 有以下说明和定义语句 struct student int age; char num8; struct student stu3=20,“200401“,21,“200402“,19,“200403“; struct student *p=stu; 以下选项中引用结构体变量成员的表达式错误的是 ( A) (p+
16、)- num ( B) p- num ( C) (*p) num ( D) stu3 age 46 有以下程序 main() int x=1,3,5,7,2,4,6,0,i,j,k; for(i=0;i 3;i+) for(j=2;j i;j-) if(xj+1 xj) k=xj;xj=xj+1;xj+1=k; for(i=0;i3;i+) for(j=4;j 7-i;j+) if(xj xj+1) k=xj;xj;xj+1;xj+1=k; for(i=0;i 8;i+)printf(“%d“,xi); printf(“n“); 程序运行后的输出结果是 ( A) 75310246 ( B) 1
17、234567 ( C) 76310462 ( D) 13570246 47 有如下程序 #include stdio h main() FILE *fpl; fpl=fopen(“f1 txt“,“w“); fprintf(fp1,“abc“); fclose(fp1); 若文本文件f1 txt中原有内容为: good,则运行以上程序后文件 f1 txt中的内容为 ( A) goodabc ( B) abcd ( C) abc ( D) abcgood 48 以下程序的功能是:建立一个带布头结点的单向链表,并将存储在数组中的字符依次存储到链表的各个结点中,请从与下划线处号码对应的一组选项中选择
18、出正确的选项 #include stdlib h struct node char data; struct node *next; (48) CreatList(char*s), struct node *h, *p, *q; h=(struct node*)malloc(sizeof(struct node); p=q=h; while(*s!=“0“) p=(struct node*)malloc(sizeof(struct node); p- data= (49) ; q- next=p; q= (50) ; s+; p- next=“0“; return h; main() char
19、 str=“link list“; struct node*head; head=CreatList(str); 48 (1) ( A) char* ( B) struct node ( C) struct node* ( D) char 49 (2) ( A) *s ( B) s ( C) *s+ ( D) (*s)+ 50 (3) ( A) p- next ( B) p ( C) s ( D) s- next 51 一般来说,算法可以用顺序、选择和【 】三种基本控制结构组合而成。 52 按照逻辑结构分类,数据结构可分为线性结构和非线性结构,队列属于【 】。 53 按数据流的类型,结构化设计
20、方法有 两种设计策略,它们是变换分析设计和【 】。 54 数据库系统在其内部分为三级模式,即概念模式、内模式和外模式。其中,【 】是用户的数据视图,也就是用户所见到的数据模式。 55 在关系模型中,把数据看成一个二维表,每一个二维表称为一个【 】。 56 以下程序运行后的输出结果是【 】。 main() int p=30; printf(“%dn“,(p/3 0?p/10:p%3); 57 以下程序运行后的输出结果是【 】。 main() char m; m=B+32; printf(“%cn“,m); 58 以下程序运行后的输出结果是【 】。 main() int a=1,b=3,c=5;
21、if(c=a+b) printf(“yesn“); else printf(“non“); 59 以下程序运行后的输出结果是【 】。 main() int i,m=0,n=0,k=0; for(i=9;i =11;i+) switch(i/10) case 0:m+;n+;break; case 10:n+;break; default:k+;n+; printf(“%d%d%dn“,m,n,k); 60 执行以下程序后,输出 #号的个数是【 】。 #include atdio h main() int i,j; for(i=1;i 5;i+) for(j=2;j =i;j+)putchar(
22、#); 61 以下程序运行后的输出结果是【 】。 main() int i,n=10,0,0,0,0; for(i=1;i 4;i+) ni=ni-1*2+1; printf(“%d“, ni); 62 以下程序运行后的输出结果是【 】。 main() int i, j, a3=1, 2, 3, 4, 5, 6, 7, 8, 9; for(i=0;i 3;i+) for(j=i+1;j 3;j+)aji=0; for(i=0;i 3; i+) for(j=0;j 3;j+)printf(“%d“,aij); printf(“n“); 63 以下程序运行后的输出结果是【 】。 int a=5;
23、fun(int b) static int a=10; a+=b+; printf(“%d“,a) ; main() int c=20; fun(c) ; a+=c+; printf(“%dn“,a) ; 64 请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。 【 】 (double, double); main() double x,y; seanf(“%1f%1f“, 65 以下程序运行后输入: 3,abcde回车,则输出结果是【 】。 #include string h move(char *str,int n) char temp;int i; temp=strn-1; f
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 83 答案 解析 DOC
