9月全国计算机等级考试二级笔试试卷C语言程序设计_第1页
9月全国计算机等级考试二级笔试试卷C语言程序设计_第2页
9月全国计算机等级考试二级笔试试卷C语言程序设计_第3页
9月全国计算机等级考试二级笔试试卷C语言程序设计_第4页
9月全国计算机等级考试二级笔试试卷C语言程序设计_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、机密启用前2021年9月全国计算机等级考试二级笔试试卷C语言程序设计考试时间90分钟,总分值100分一、选择题110、2140每题2分,1120每题1分,共70分 以下各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。1以下数据结构中,属于非线性结构的是A循环队列 B带链队列 C二叉树 D带链栈2以下数据结构中,能够按照“先进后出原那么存取数据的是A循环队列 B栈 C队列 D二叉树3对于循环队列,以下表达中正确的选项是A队头指针是固定不变的B队头指针一定大于队尾指针C队头指针一定小于队尾指针D队头指针可以大于队尾指针,也可以小于队尾指针4

2、算法的空间复杂度是指A算法在执行过程中所需要的计算机存储空间B算法所处理的数据量C算法程序中的语句或指令条数D算法在执行过程中所需要的临时工作单元数5软件设计中划分模块的一个准那么是A低内聚低耦合 B高内聚低耦合C低内聚高耦合 D高内聚高耦合6以下选项中不属于结构化程序设计原那么的是A可封装 B自顶向下 C模块化 D逐步求精7软件详细设计产生的图如下:N Ybeginb=ac=aendX=0该图是AN-S图 BPAD图 C程序流程图DE-R图8数据库管理系统是A操作系统的一局部 B在操作系统支持下的系统软件C 一种编译系统 D一种操作系统9在E-R图中,用来表示实体联系的图形是A椭圆形 B矩形

3、 C菱形D三角形10有三个关系R,S和T如下:R S TABCABCABCa12d32A12b21B21c31C31D32    其中关系T由关系R和S通过某种操作得到,该操作为A选择 B投影C交D并11以下表达中正确的选项是A程序设计的任务就是编写程序代码并上机调试B程序设计的任务就是确定所用数据结构C程序设计的任务就是确定所用算法D以上三种说法都不完整12以下选项中,能用作用户标识符的是Avoid B8_8C_0_ Dunsigned13阅读以下程序# include <stdio.h>main () int case ; float printF

4、 ;printf ("请输入2个数:" ) ;scanf ("%d %f", &case , &printF ) ;printf ("%d %fn", case , printF ) ;该程序在编译时产生错误,其出错原因是A定义语句出错,case是关键字,不能用作用户自定义标识符B定义语句出错,printF不能用作用户自定义标识符C定义语句无错,scanf不能作为输入函数使用D定义语句无错,printf不能输出case的值14表达式:(int)(double)9/2)-(9)%2 的值是A0 B3 C4 D515假设有

5、定义语句:int x=10; ,那么表达式x=x+x的值为 A-20 B-10 C0 D1016有以下程序# include <stdio.h>main () int a=1, b=0 ;printf ("%d, ", b=a+b) ;printf ("%d n", a=2*b) ;程序运行后的输出结果是A0,0 B1,0 C3,2 D1,217设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是 Aif(a>b) c=a,a=b,b=c; Bif(a>b) c=a,a=b,b=c; Cif(a>

6、b) c=a;a=b;b=c; Dif(a>b) c=a;a=b;b=c;18有以下程序 # include <stdio.h> main () int c=0, k; for( k=1; k<3; k+)switch ( k ) default : c+=k; case 2 : c+ ; break; case 4 : c+=2 ; break ; printf ("%dn",c) ; 程序运行后的输出结果是A3 B5 C7 D919以下程序段中,与语句:k=a>b?(b>c ? 1 : 0) : 0;功能相同的是Aif(a>b)

7、 && (b>c) k=1; Bif(a>b)|(b>c) k=1; else k=0; else k=0;Cif(a<=b) k=0; Dif(a>b) k=1; else if(b<=c) k=1; else if(b>c) k=1; else k=0;20有以下程序# include <stdio.h>main () char s = "012xy" ; int i , n=0 ;for ( i=0 ; si !=0 ; i+)if (si >= 'a' &&

8、si <= 'z' ) n+ ;printf (" %dn ", n ) ;程序运行后的输出结果是A0 B2 C3 D521有以下程序# include <stdio.h>main () int n=2, k=0;while (k+ && n+>2) ;printf ("%d %dn" , k , n ) ;程序运行后的输出结果是A0 2 B1 3 C5 7 D1 222有以下定义语句,编译时会出现编译错误的选项是Achar a='a' Bchar a='n' Cch

9、ar a='aa' Dchar a='x2d'23有以下程序# include <stdio.h>main () char c1, c2 ; c1='A' + '8' - '4' ; c2='A' + '8' - '5' ; printf ( "%c, %dn" , c1, c2);字母A的ASCII码为65,程序运行后的输出结果是 AE,68 BD,69 CE,D D输出无定值24有以下程序#include <stdio.h&g

10、t;void fun(int p) int d=2 ;p=d+; printf("%d", p) ; main () int a=1;fun (a) ; printf ("%dn" , a) ; 程序运行后的输出结果是A32 B12 C21 D2225以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。# define MIN -2147483647int findmax (int x , int n) int i, max; for ( i=0 ; i<n ; i+) max=MIN; if (max

11、<xi ) max=xi; return max; 造成错误的原因是A定义语句int i,max;中max 未赋初值B赋值语句max=MIN;中,不应给max 赋MIN值C语句if(max<xi) max=xi;中判断条件设置错误D赋值语句max=MIN;放错了位置26有以下程序# include <stdio.h>main () int m=1, n=2, *p=&m, *q=&n, *r ;r=p; p=q; q=r;printf ("%d, %d, %d, %dn", m, n, *p, *q) ;程序运行后的输出结果是A1,2

12、,1,2 B1,2,2,1 C2,1,2,1 D2,1,1,227假设有定义语句:int a410,*p,*q4;且0i4,那么错误的赋值是 Ap=a Bqi=ai Cp=ai Dp=&a2128有以下程序# include <stdio.h># include <string.h>main () char str 20= "One*World" , "One*Dream!" , *p=str1 ;printf ("%d, ", strlen(p) ; printf ("%sn",

13、p) ;程序运行后的输出结果是A9,One*World B9,One*Dream! C10,One*Dream! D10,One*World29有以下程序# include <stdio.h>main () int a=2, 3, 5, 4 , i ;for ( i=0 ; i<4 ; i+)switch ( i%2 ) case 0 : switch ( ai%2 )case 0 : ai+; break ;case 1 : ai- ;break ;case 1 : ai=0 ;for ( i=0 ; i<4 ; i+) printf ("%d "

14、,ai) ; printf("n") ;程序运行后的输出结果是A3 3 4 4 B2 0 5 0 C3 0 4 0 D0 3 0 430有以下程序# include <stdio.h># include <string.h>main () char a10= "abcd" ;printf ("%d, %dn",strlen(a) , sizeof(a) ) ;程序运行后的输出结果是A7,4 B4,10 C8,8D10,1031下面是有关C语言字符数组的描述,其中错误的选项是 A不可以用赋值语句给字符数组名赋字符

15、串 B可以用输入语句把字符串整体输入给字符数组 C字符数组中的内容不一定是字符串 D字符数组只能存放字符串32以下函数的功能是fun(char * a,char * b) while(*b=*a)!= '0') a+; b+; A将a所指字符串赋给b所指空间B使指针b指向a所指字符串C将a所指字符串和b所指字符串进行比拟D检查a和b所指字符串中是否有'0' 33设有以下函数void fun(int n,char *s) 那么下面对函数指针的定义和赋值均是正确的选项是Avoid (*pf)(); pf=fun;Bvoid *pf(); pf=fun;Cv

16、oid *pf(); *pf=fun;Dvoid (*pf)(int,char) ; pf=&fun;34有以下程序# include <stdio.h>int f(int n);main () int a=3, s ;s=f (a) ; s=s+f(a) ; printf ("%dn", s ) ;int f (int n) static int a=1;n+=a+;return n;程序运行后的输出结果是A7 B8 C9D1035有以下程序# include <stdio.h># define f (x) x*x*xmain () int

17、 a=3, s, t ; s=f (a+1) ; t=f (a+1) ; printf ("%d, %dn", s, t) ; 程序运行后的输出结果是A10,64 B10,10 C64,10D64,6436下面结构体的定义语句中,错误的选项是 Astruct ord int x;int y;int z; struct ord a; Bstruct ord int x;int y;int z; struct ord a; Cstruct ord int x;int y;int z; a;Dstruct int x;int y;int z; a;37设有定义:char *c;,

18、以下选项中能够使字符型指针c正确指向一个字符串的是 Achar str = "string" c=str; Bscanf("%s",c); Cc=getchar( ); D*c="string"38有以下程序# include <stdio.h># include <string.h>struct A int a; char b10; double c; ;struct A f (struct A t) ; main () struct A a=1001, "ZhangDa", ;a=f (

19、a) ; printf ("%d, %s, %n", a.a, a.b, a.c) ;struct A f (struct A t ) t.a=1002; strcpy(t.b, "ChangRong") ; t.c=1202.0 ; return t ; 程序运行后的输出结果是AB1002CD100239假设有以下程序段 int r=8; printf("%dn",r>>1 );输出结果是A16 B8 C4 D240以下关于C语言文件的表达中正确的选项是 A文件由一系列数据依次排列组成,只能构成二进制文件 B文件由结构序

20、列组成,可以构成二进制文件或文本文件 C文件由数据序列组成,可以构成二进制文件或文本文件 D文件由字符序列组成,其类型只能是文本文件二、填空题每空2分,共30分请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。1某二叉树有5个度为2的结点以及3个度为1的结点,那么该二叉树中共有 【1】 个结点。2程序流程图中的菱形框表示的是 【2】 。3软件开发过程主要分为需求分析、设计、编码与测试四个阶段,其中 【3】 阶段产生“软件需求规格说明书。4在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那么“学生和“可选课程的联系为 【4】 。5人员根本信息一般包括:身

21、份证号,姓名,性别,年龄等。其中可以作为主关键字的是 【5】 。6假设有定义语句:int a=5;,那么表达式:a+的值是 【6】 。7假设有语句double x=17;int y;,当执行y=(int)(x/5)%2;之后y的值为 【7】 。8以下程序运行后的输出结果是 【8】 。# include <stdio.h>main () int x=20 ; printf ("%d ", 0<x<20 ) ; printf ("%dn" , 0<x && x<20 ) ; 9以下程序运行后的输出结果是 【

22、9】 。# include <stdio.h>main () int a=1, b=7 ; do b=b/2 ; a+=b ; while (b>1) ; printf ("%dn",a) ; 10有以下程序# include <stdio.h>main () int f, f1, f2, i ;f1=0; f2=1;printf ("%d %d" , f1, f2 );for ( i=3; i<=5; i+) f=f1+f2; printf ("%d", f) ; f1=f2 ; f2=f ;printf ("n") ;程序运行后的输出结果是 【10】 。11有以下程序# include <stdio.h>int a=5;void fun ( int b ) int a=10;a+=b; prin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论