ImageVerifierCode 换一换
格式:DOC , 页数:22 ,大小:88.04KB ,
资源ID:4518370      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4518370.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(2023年全国计算机等级考试二级C语言真题库之选择题13.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

2023年全国计算机等级考试二级C语言真题库之选择题13.doc

1、全国计算机等级考试等级考试真题库之选择题(13)1.程序流程图中带有箭头的线段表达的是()。A) 图元关系B) 数据流C) 控制流D) 调用关系 参考答案:C【解析】在数据流图中,用标有名字的箭头表达数据流。在程序流程图中,用标有名字的箭头表达控制流。所以选择C)。2.结构化程序设计的基本原则不涉及()。A) 多态性B) 自顶向下C) 模块化D) 逐步求精 参考答案:A【解析】结构化程序设计的思想涉及:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A)。3.软件设计中模块划分应遵循的准则是()。A) 低内聚低耦合B) 高内聚低耦合C) 低内聚高耦合D) 高内聚高耦合 参考答案:B【

2、解析】软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的规定,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽也许的低,模块的内聚度应尽也许的高。 4.在软件开发中,需求分析阶段产生的重要文档是()。A) 可行性分析报告B) 软件需求规格说明书C) 概要设计说明书D) 集成测试计划 参考答案:B【解析】A)错误,可行性分析阶段产生可行性分析报告。C)错误,概要设计说明书是总体设计阶段产生的文档。D)错误,集成测试计划是在概要设计阶段编写的文档。B)对的,需求规格说明书是后续工作如设计

3、、编码等需要的重要参考文档。5.算法的有穷性是指()。A) 算法程序的运营时间是有限的B) 算法程序所解决的数据量是有限的C) 算法程序的长度是有限的D) 算法只能被有限的用户使用 参考答案:A【解析】算法原则上可以精确地运营,并且人们用笔和纸做有限次运算后即可完毕。有穷性是指算法程序的运营时间是有限的。6.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n1)/2的排序方法是()。A) 快速排序B) 冒泡排序C) 直接插入排序D) 堆排序 参考答案:D【解析】除了堆排序算法的比较次数是,其他的都是n(n1)/2。7.下列关于栈的叙述对的的是()。A) 栈按先进先出组织数据B) 栈按先进

4、后出组织数据C) 只能在栈底插入数据D) 不能删除数据 参考答案:B【解析】栈是按先进后出的原则组织数据的,数据的插入和删除都在栈顶进行操作。8.在数据库设计中,将ER图转换成关系数据模型的过程属于()。A) 需求分析阶段B) 概念设计阶段C) 逻辑设计阶段D) 物理设计阶段 参考答案:C【解析】ER图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。9.有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为()。A) 并B) 自然连接C) 笛卡尔积D) 交 参考答案:D【解析】自然连接是一种特殊的等值连接,它规定两个关系中进行比较

5、的分量必须是相同的属性组,并且在结果中把反复的属性列去掉,所以B)错误。笛卡尔积是用R集合中元素为第一元素,S集合中元素为第二元素构成的有序对,所以C)错误。根据关系T可以很明显的看出是从关系R与关系S中取得相同的关系组所以取得是交运算,选择D)。10.设有表达学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为()。A) 课号,成绩B) 学号,成绩C) 学号,课号D) 学号,姓名,成绩 参考答案:C【解析】学号是学生表S的主键,课号是课程表C的主键,所以选课表SC的关键字就应当是与前两个表可以直接联系且

6、能唯一定义的学号和课号,所以选择C)。11.C语言程序的模块化通过以下哪个选项来实现A) 变量B) 函数C) 程序行D) 语句 参考答案:B【解析】C语言程序的模块化通过函数来体现,所以选择B12.以下选项中不属于C语言标记符的是A) 常量B) 用户标记符C) 关键字D) 预定义标记符 参考答案:A【解析】常量是指在程序运营过程中其值不能被改变的量,如5、1.0、字符a等。C语言的标记符分为3类:关键字、预定义标记符和用户标记符常量不属于标记符,所以选择A13.以下选项中不属于C语言程序运算符的是A) sizeofB) C) ( )D) & 参考答案:B【解析】C语言中的不等于符号用!=表达,

7、没有符号所以选择B14.若变量已对的定义并赋值,以下不能构成C语句的选项是A) B+;B) A=a+b;C) a=a+bD) A?a:b; 参考答案:C【解析】C语言规定,C语句必须以分号;结束C选项中没有结束符号,所以错误15.若有以下程序段 double x=5.16894; printf(%fn, (int)(x*1000+0.5)/(double)1000 );则程序段的输出结果是A) 5.170000B) 5.175000C) 5.169000D) 5.168000 参考答案:C【解析】%f的输出格式是以带小数点的数学形式输出浮点数。一方面计算x*1000,结果为5168.94然后+

8、0.5,结果为5169.44,然后进行强制类型转换,转换成整型为5169,然后除以双精度数据1000,结果也为双精度数据5.169,输出时按照%f的格式输出,所以输出结果为5.16900016.设有定义: double a,b,c;若规定通过输入分别给a、b、c输入1、2、3,输入形式如下(注:此处代表一个空格) 1.02.03.0则能进行对的输入的语句是A) scanf(%lf%lf%lf,a,b,c);B) scanf(%lf%lf%lf,&a,&b,&c);C) scanf(%f%f%f,&a,&b,&c);D) scanf(%5.1lf%5.1lf%5.1lf,&a,&b,&c); 参

9、考答案:B【解析】scanf函数的一般形式为scanf(格式控制,变量1地址,变量2地址,),其中,格式字符串要与数据类型保持一致,所以格式字符串中应为%lf,后面应当为变量地址,所以需要加上符号&,所以选择B17.若有定义语句 char c=101;则变量c在内存中占A) 1个字节B) 2个字节C) 3个字节D) 4个字节 参考答案:A【解析】本题考察字符变量的存储空间,每个字符变量被分派一个字节的内存空间。因此A选项对的。18.若有以下程序 #include main() char c1, c2; c1=C+8-3; c2=9-0; printf(%c %dn, c1, c2); 则程序的

10、输出结果是A) H 9B) H 9C) F 9D) 表达式不合法输出无定值 参考答案:B【解析】本题考察字符变量以及printf()函数相关知识,字符变量c1被赋值为C+8-3,即ASSCII码的运算,67+54-49=72,即H;字符变量c2被赋值为9-0,但输出时,需要注意的是c1以字符变量输出,而c2是以十进制整型变量输出。因此B选项对的。19.表达关系式xyz的C语言表达式的是A) (x=y)&(y=x)B) (x=y)|(y=x)C) (x=y=z)D) x=y)!(y=x) 参考答案:A【解析】本题考察关系表达式和逻辑表达式,y大于等于x同时y小于等于z,因此x=y和y=z是逻辑与

11、的关系。因此A选项对的。20.有以下程序 #include main() int x=1, y=0,a=0,b=0; switch( x ) case 1: switch ( y ) case 0: a+; break; case 1: b+; break; case 2: a+; b+; break; printf(a=%d,b=%dn,a,b ); 程序运营后的输出结果是A) a=1,b=0B) a=1,b=1C) a=2,b=1D) a=2,b=2 参考答案:C【解析】本题重点考察switch语句,switch语句中case分支后面假如没有break,那么就会顺序执行下面的case,直到

12、碰到break跳出。由于变量a和变量b均赋初值为0,当程序执行完语句case 0: a+; break;后,a的值为1,继续执行语句case 2: a+; b+; break;a的值为2,b的值为1。因此C选项对的。21.有以下程序 #include main() int k, j, s; for( k=2; k6; k+,k+ ) s=1; for (j=k; j6; j+ ) s+=j; printf(%dn , s ); 程序运营后的输出结果是A) 6B) 10C) 24D) 40 参考答案:B【解析】本题重点考察for语句循环嵌套,一方面k=2,进行一次循环后,k自增两次,变成4,这时

13、s为1。即当k=4的时候,s=1,j=4,执行内层循环,s=1+4,j自增1后等于5,s=5+5, j再自增1后即为6,跳出内层循环。k自增两次后等于6,不成立,跳出外层循环。最后输出s的值,即为10。因此B选项对的。22.由以下while构成的循环,循环体执行的次数是 int k=0; while ( k=1 ) k+;A) 有语法错,不能执行B) 一次也不执行C) 执行一次D) 无限次 参考答案:D【解析】本题考察while语句,while语句的语义是:计算表达式的值,当值为真(非0)时, 执行循环体语句。k=1为赋值语句,即k 的值等于1。while(k=1) = while(1) ,是

14、死循环,执行无限次。因此A选项对的。23.有以下程序 #include int fun( int a, intB) return a+b; main() int x=6, y=7, z=8, r ; r = fun ( fun(x,y), z- ); printf ( %dn , r ); 程序运营后的输出结果是A) 21B) 15C) 20D) 31 参考答案:A【解析】函数fun的功能是返回两个形参的和。调用函数fun(x,y)时,将变量x=6和y=7 的值分别传送变量a和b,并且通过语句return a+b;将13返回给主函数。继续调用函数fun(13,z-),这里z-指将z的值参与运算

15、后,再将z的值减1操作;将13和8分别传送变量a和b,且通过语句return a+b;将21返回给主函数。因此A选项对的。24.以下选项中函数形参不是指针的是A) fun( int *a )B) fun( int a10 )C) fun( int &p )D) fun( int p ) 参考答案:C【解析】B选项和D选项是将数组作为函数参数;A选项是将指针作为函数参数;因此C选项对的。25.有以下程序 #include main() int y=1,x,a=2,4,6,8,10,*p; p=&a1; for( x=0; x3; x+ ) y=y+*( p+x ); printf( %dn, y

16、 ); 程序运营后的输出结果是A) 17B) 19C) 18D) 20 参考答案:B【解析】本题通过语句p=&a1将指针变量p指向了存储单元a1,即使得p0的值为4。然后通过3次for循环,x=0时,*(p+x)=*p=a1=4所以y=1+4=5;x=1时,*(p+x)=*(p+1)=a2=6,所以y=5+6=11;x=2时,*(p+x)=*(p+2)=a3=8,所以y=11+8=19。因此B选项对的。26.以下程序调用fun函数求数组中最大值所在元素的下标。 #include void fun( int *s,int n, int *k ) int i; for( i=0 ,*k=i; i

17、s*k ) _ ; main() int a5=1,6,2,8,0, k; fun( a, 5, &k ); printf(%d %dn, k, ak ); 在横线处应填入的内容是A) *k=iB) k=iC) *k=i-sD) k=i-s 参考答案:A【解析】fun函数的功能是求数组中最大值所在元素的下标。通过for循环语句,每次将最大的数给*k,即*k=i。因此A选项对的。27.有以下程序 #include main() int a34= 1,3,5,7,9,11,13,15,17,19,21,23, (*p)4=a,i,j,k=0; for( i=0; i3; i+ ) for( j=0

18、; j2; j+ ) k=k+*(*(p+i)+j); printf(%dn, k ); 程序运营后的输出结果是A) 108B) 68C) 99D) 60 参考答案:D【解析】该题一方面给二维数组赋值a34=1,3,5,79,11,13,1517,19,21,23;(*p)4=a指针p指向二维数组a的首地址,接下来执行for循环,一方面 i=0,j=0时k=k+*(*(p+0)+0)=1(a00);然后 i=0,j=1时k=k+*(*(p+0)+1)=4(a01);然后j=2时,跳出j的循环,执行i的循环i=1,j=0 时k=k+*(*(p+1)+0)=13(a10);依次类推一直到i=3时跳

19、出所有循环。循环语句在这里的功能是累加二维数组第1列和第2列的元素,累加结果为60。28.有以下程序 #include int funa( int a, intB) return a+b; int funb( int a, intB) return a-b; int sss( int (*t)(), int x, int y ) return( (*t)(x,y) ); main() int x; x=sss( funa, 9,3 ); x+=sss(funb,8,3 ); printf(%dn, x ); 程序运营后的输出结果是A) 24B) 23C) 17D) 22 参考答案:C【解析】由

20、x=sss( funa, 9,3 ); 可得到x=9+3=12,而后直接传入函数funb,x=x+8-3=12+5=17。因此C选项对的。29.有以下程序 #include int fun( int x ) int p; if (x=0 | x=1) return(3); p= x - fun( x-2 ); return (p); main() printf (%dn, fun( 9 ) ); 程序运营后的输出结果是A) 4B) 5C) 9D) 7 参考答案:D【解析】本题考察函数的递归调用,执行f(9)后,f(9)=9-(7-(5-(3-f(1) =7,所以答案为D选项。30.以下选项中,

21、能对的进行字符串赋值的是A) char *s = ABCDE ;B) char s5 = A, B, C, D, E ;C) char s45 = ABCDE ;D) char *s ; gets( s ); 参考答案:A【解析】本题考察字符数组的初始化,B选项中赋值号右侧是赋值给一个字符串数组,而左边是一个字符数组,所以错误。C选项中字符串包含6个字符,所以不能赋值在左边只能放5个字符的字符串数组中。D选项gets函数中参数需要指定长度。所以选项A对的。31.有以下程序 #include void fun( char *p ) int i; for(i=0; i4; i+ ) printf(

22、%s,pi); main() char *s6= ABCD,EFGH,IJKL,MNOP,QRST,UVWX ; fun(s); printf(n ); 程序运营后的输出结果是A) ABCDEFGHIJKLB) ABCDC) AEIMD) ABCDEFGHIJKLMNOP 参考答案:D【解析】本题考察字符串数组,s表达指向字符数组的指针,s指向了第一个字符串,s+指向了第二个字符串,所以最后输出结果为D选项。32.以下fun函数的功能是将形参s所指字符串内容颠倒过来 void fun( char *s ) int i, j, k; for( i=0, j=strlen(s) _ ; ij; i

23、+,j- ) k=si; si=sj; sj=k; 在横线处应填入的内容是A) +1B) -1C) +0D) ,k=0 参考答案:B【解析】本题考察字符串解决函数strlen,strlen计算一个字符串的长度,包含结尾符,所以本题中j的初始化应当是从最后一个字符开始,所以应当将得到的字符串长度减1,选项B对的。33.有以下程序 #include void fun( char *p, int n ) char b6=abcde; int i; for( i=0,p=b; in; i+ ) pi=bi; main() char a6=ABCDE; fun(a, 5); printf(%sn,a);

24、 程序运营后的输出结果是A) abcdeB) ABCDEC) edcbaD) EDCBA 参考答案:B【解析】本题考察数组名作为函数参数,执行f函数时,传进去的a指针被重新指向了b,所以原本a数组的地址内容不变,所以输出结果为ABCDE,答案为B选项。34.有以下程序#include fun( int a, int b ) int static m=0, i=2; i=i+m+1; m=i+a+b; return m;main() int k=4, m=1, p; p=fun( k, m); printf(%d,p); p=fun( k, m); printf(%dn,p);程序运营后的输出结

25、果是A) 8,17B) 7,16C) 8,8D) 7,17 参考答案:A【解析】本题考察静态局部变量,本题中先执行fun(4,1)得到返回值为8,此时静态局部变量m为8,i为3,那么再次执行fun(4,1)得到的值为17,所以选项A对的。35.为了建立如图所示的存储结构(即每个结点含两个域,data是数据域,next是指向结点的指针域),则在【 】 处应填入的选项是Struct link char data; 【 】 node;A) link next;B) struct link *next;C) link *next;D) struct link next; 参考答案:B【解析】本题重要考

26、察链表中节点的概念,属于基础知识,其中指针域应当是指向下个节点,所以答案为B。36.以下结构体说明和变量定义中,对的的是A) typedef struct abc int n;double m; ABC;ABC x,y;B) struct abc int n;double m ;struct abc x, y;C) struct ABC int n;double m; struct ABC x, y;D) struct abc int n;double m; ;abc x, y; 参考答案:A【解析】本题考察typedef的使用方法,typedef对已存在的类型使用一个新的名字,选项A中ABC

27、为新的类型别名,定义对的。37.有以下程序 #include #include void fun(int *p1,int *p2,int *s ) s=( int * )malloc( sizeof(int) ); *s = *p1 + *(p2+); main() int a2=1,2 , b2=10,20, *s=a; fun( a,b,s ); printf(%dn, *s ); 程序运营后的输出结果是A) 11B) 10C) 1D) 2 参考答案:C【解析】本题考察把数组名作为函数参数,执行fun函数后,s的值并没有发生变化,仍然是指向a,所以输出结果为1,选项C对的。38.以下程序依

28、次把从终端输入的字符存放到f文献中,用#作为结束输入的标志, 则在横线处应填入的选项是 #include main() FILE *fp; char ch; fp=fopen( fname, w ); while( ( ch=getchar() !=# ) fputc( _ ); fclose(fp); A) ch, fnameB) fp, chC) chD) ch, fp 参考答案:D【解析】本题考察fputc函数,该函数将字符ch写到文献指针fp所指向的文献的当前写指针的位置。函数格式:int fputc (int n, File *fp)答案为D选项。39.有以下程序 #include #define N 2 #define M N+1 #define NUM (M+1) * M/2 main() printf(%dn,NUM ); 程序运营后的输出结果是A) 4B) 8C) 9D) 6 参考答案:B【解析】本题考察宏定义,宏定义只是做个简朴的替换,执行NUM=(N+1+1)*N+1/2=8,选项B对的。40.有以下程序 #include main() int i=0; i = i; printf(%dn,i); 程序运营后的输出结果是A) 8B) 0C) 1D) -1 参考答案:D【解析】本题考察位运算中按位取反,0按位取反就是-1,所以选项D对的。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服