ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:27.57KB ,
资源ID:8782691      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机等级《二级C语言程序设计》押题卷.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机等级《二级C语言程序设计》押题卷.docx

1、计算机等级二级C语言程序设计押题卷 计算机等级二 级C语言程序设计预测试卷(一)一、单项选择题(共40题,合计40分)1以下能正确定义一维数组的选项是()。Aint a5=01,234,5);Bchar a口=0,1,2,3,4,5);Cchar a=A,B,C);Dint a5=”0123”;正确答案B试题解析:数组下标从0开始,A选项中所赋值的个数超过了数组的长度;c选项中定义a为字符型变量,而不是数组,赋值错误;D选项中,整型数组不能赋字符串。 2视图设计一般有3种设计次序,下列不属于视图设计次序的是( )。A自顶而下B由内向外C由外向内D自底向上正确答案C试题解析:视图设计的设计次序分

2、3种:自顶向下、自底向上和由内向外。它们为视图设计提供了具体的操作方法,设计者可根据实际情况灵活掌握。 3链表不具有的特点是()。A不必事先估计存储空间B町随机访问任意元素C插入、删除不需要移动元素D所需空间与线性表长度成正比正确答案B试题解析:链表采用的是链式存储结构,它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,插入、删除不需要移动数据元素。但是链式存储结构也有不足之处:每个结点中的指针域需额外占用存储空间,它是一种非随机存储结构。 4有以下程序:main() int x,i;for(i=l;i=50;i+)x=i;if(x2=0)if(x3=0)if(x7=0

3、)printf(”d,i)”;输出结果是( )。A28B27C42D41正确答案C试题解析:只有当3个if条件同时成立,即能够同时被2、3、7整除时,才输出i的值,而从0到50能够同时被2、3、7整除的数只有42,故选择C选项。 5若已定义:int a口一(0,1,2,3,4,5,6,7,8,9),*p=a,i;其中0i9,则对a数组元素的引用不正确的是()。Aap-aB*(&ai)CpiD*(*(a十i)正确答案D试题解析:A:P开始是数组a首地址,只要p+则再减去a的首地址aEpa就能取到所有元素,B:ai循环取其地址,*(&ai)是该地址中所存储的元素C:p就是指针变量,相当于ai,D:

4、*(a+i)则正确。 6设有下列程序段:char str=HelloWorld:char*ptr;ptr=str ;执行上面的程序段后,*(ptr+10)的值为( )。AOB0C不确定的值D0的地址正确答案A试题解析:本题主要考查字符数组和指针,在c语言中,字符型数组在存放字符串时会自动在末尾加上0,所以数组str有ll个元素;ptr指向数组str的首地址,ptr+10是指向str10,*(ptr+10)是引用strEl0的值。 7下列4个关于C语言的结论中错误的是()。A可以用do while语句实现的循环一定可以用while语句实现B可以用for语句实现的循环一定可以用while语句实现C

5、可以用while语句实现的循环一定可以用for语句实现Ddo-while语句与while语句的区别仅是关键字“while”出现的位置不同正确答案D试题解析:本题考查对各个循环语句的理解。dowhile语句、for语句、while语句所实现的循环可以相互替代;d0while语句至少执行一次,而while是符合条件执行,不符合不执行。 8有以下程序:#includemain()char s=012xyO8s34f4w2;int i;n=0; ,for(i=0;si!=0;i+)if(si=0&si=9)n+;printf(%dn,n);程序运行后的输出结果是()。A.0B.3C.7D.8正确答案B

6、试题解析:考查简单的C程序数组和循环。for循环是指i=0,如果s3!=0,则i自动加1。if循环指的是si中的元素大于等于0且小于等于9,则n加l,所以答案为B。 9若有以下说明,则()不是对strcpy库函数正确的调用。strcpy库函数用于复制一个字符串:char*str1=”abed”,strZ10,*str3=hijklmn,*str4-2,*str5=”aaaa”;Astrcpy(str2,str1)Bstrcpy(str3,slrl)Cstrcpy(str1,str2)Dstrcpy(str5,strl)正确答案C试题解析:strcpy(sl,s2)函数的功能是将字符串s2复制到

7、字符串sl中。要保证sl存储区能容纳下s2字符串。 10数据库系统的核心是()。A数据模型B数据库管理系统C数据库D数据库管理员正确答案B试题解析:本题考查对数据库系统的理解。数据库系统由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)、软件平台5个部分构成。其中数据库管理系统是数据库系统的核心,它负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等工作。 11有下列函数定义:fun(float h) printf(”f,fn”,h,h*h);)该函数的类型是()。Aint类型Bfloat类型Cvoid类型D函数无类型说明,定义有错正确答案A试题解析

8、:本题考查函数值的类型,在函数定义时,由于函数没有说明其类型,系统默认一律自动按整型(int)处理。 12有以下程序#includestruct ttint x;struct tt*y;)*P;struct tt a4=20,a+1,15,a+2,30,a+3,17,a);main() int i;Pa: for(i=1;ix);P=P-y:)程序的运行结果是()。A20,30,B30,17,C15,30,D20,15,正确答案D试题解析:程序的结构体数组a的元素形成了一个单向的循环链表,每个元素的指针成员都指向下一个元素的地址。 13 有以下程序:main() unionchar ch2;i

9、m d;d一0x4321;printf(”x,xn”,schO,sch1);)S;在16位编译系统上,程序执行后的输出结果是()。A21,43B43,21C43,00D21,00正确答案A试题解析:s是一个公用体,d的值分别与ch中的两个元素的值相同,d的高位放在eh1中、低位放在chO中,因此输出的结果为21,43。 14有以下程序:main()int a=0,b=0;a=10; *给a赋值b=20; 给b赋值 *printf(”a+b=dn”,a+b);输出计算机结果)程序运行后的输出结果是()。Aa+b=10Ba+b=30C30D出错正确答案A试题解析:本题中*为多行注释,所以可知b=2

10、0为注释语句,在程序运行时不起作用,b仍为0,所以本题中选项A正确。 15若有定义:“int a23;”,则对a数组的第i行第j列元素的正确引用为()。A*(*(a+i)+j)B(a+i)jC*(a+j+j)D*(a+i)+j正确答案A试题解析:通过地址来引用数组元素的方法有下列5种:aij;*(ai+J);*(*(a+i)+j);*(aEiJEj);(aoEoJ+3*i十j)。故A正确。16以下程序的输出结果是()。main()int i,a44=1,3,5,2,4,6,3,5,7;printf(”ddddn”,a03,a12,a21,a30;A0650B1470C5430D输出值不定正确答

11、案A试题解析:当所赋的值不够其列的宽度时,系统在其后自动补0,因此ao3=0,a-12=6,a21=5,a3o=0,故选择A选项。 17软件生命周期中,花费最多的阶段是()。A详细设计B软件编码C软件测试D软件维护正确答案D试题解析:本题考查对软件生命周期的理解,软件生命周期整体上可分为定义阶段、开发阶段和维护阶段。其中定义阶段包括可行性研究与计划制订和需求分析;开发阶段包括概要设计、详细设计、开发和测试;维护阶段是一个单独阶段,不包含在开发阶段内,它是所花费用最多的一个阶段。 18语句“printf(”abre”hiyboun”);”的输出结果是( )。AabrehiybouBabrehiy

12、bouCrehiyouDabrehiybou正确答案C试题解析:先输出a、b表示退一格,当执行到:b后,1光标往后退,接着输出rehiy(反斜杠后又加一个反斜杠的意思是要输出一个反斜杠),此时又执行:b后,就被OU覆盖。 19有以下程序#includevoid fun(int x)if(x/Z1)fun(x/Z);printf(%d,x);main()fun(7);printf(n);程序运行后的输出结果是( )。A.1 3 7B.7 3 1C.7 3D.3 7正确答案D试题解析:本程序主要考查递归函数。fun(7),首先将参数代入函数,因为(72)1,所以执行f(3),依此类推直到f(15)

13、,(152)1,所以执行打印函数,此时X值为3,然后退出f(15),返回f(3),打印x值即7。所以选D。 20下列运算符中优先级最低的算符是()。A|B! =C二元算术运算符一关系运算符一逻辑运算符一赋值运算符,A项中为逻辑运算符,B项和C项都为关系运算符,D项为一元运算符。因此最低的是A项。 21软件生命周期可分为定义阶段、开发阶段和维护阶段。详细设计属于()。A.定义阶段B.开发阶段C.维护阶段D.上述三个阶段正确答案B试题解析:开发阶段在开发初期分为需求分析、总体设计、详细设计3个阶段,在开发后期分为编码、测试两个子阶段。 22有以下程序#includemain()char cl,c2

14、; c1=A+8-4 c2=A+8-5; printf(C,dn,cl,c2);已知字母A的ASCIl码为65,程序运行后的输出结果是()。A.E,69B.D,69C.E,DD.输出无定值正确答案A试题解析:本值输出两个值,c为输出一个字母,04d输出一个数字。“A”的ASCIl码为65,再加 4之后为69,也就是字母E,所以本题A正确。 23设有以下语句:int a=1,b=2,c;c=a(b2);执行后,c的值为( )。A6B7C8D9正确答案D试题解析:本题考查两个知识点,按位异或左移把b左移2位化成二进制c=a(b2)=a(oooolo2)=ao01000=0000001001000=

15、9,故选择D。 24设有二元关系R和三元关系s,下列运算合法的是()。ARn SBRU SCR-SDRS正确答案D试题解析:本题给出的两个关系R与s的表结构是不同的(R是二元关系,S是三元关系),它们不能进行“n、 U、一”运算,却可以进行笛卡儿积()运算。25结构化程序设计的3种结构是()。A顺序结构、选择结构、转移结构B分支结构、等价结构、循环结构C多分支结构、赋值结构、等价结构D顺序结构、选择结构、循环结构正确答案D试题解析:结构化程序设计的基本要点:采用自顶向下、逐步求精的程序设计方法;任何程序都可由顺序、选择和循环三种基本控制结构构造。 26下面for语句的循环次数为()。for(x

16、=1,y=0;(Y!=19)&(x6);x+);A是无限循环B循环次数不定C最多执行6次D最多执行5次正确答案D试题解析:本题考查for循环的使用。根据条件考虑X的取值变化,X从1取到5,可以循环5次,但并不知道Y如何变化,有可能出现Y=l9提前跳出循环的情况,所以最多执行5次。 27下列叙述中正确的是()。A.可以用关系运算符比较字符串的大小B.空字符串不占用内存,其内存空间大小是0C.两个连续的单引号是合法的字符常量D.两个连续的双引号是合法的字符串常量正确答案D试题解析:比较两个字符串大小用函数strcomp(S,t),空字符串有结束符,所以也要占用字节,两个双引号表示的是空字符串。 2

17、8以下程序的输出结果是()。void fun(int*a,int i,int j)int t;if(iI)(t=ai;ai=aj;aj=t;i+;j-;fun(a,i,j);)main()int x=2,6,18),i;fun(x,0,3):for(i=0;i4;i+)printf(”2d”,xi);printf(”n”);)A1,2,6,8B8,6,2,1C8,l,6,2D8,6,1,2/I)正确答案C试题解析:本题用了函数调用,fun中if语句成立则进行i,j的交换,用到主函数中则为把下标为0、3,1、2互换,因此,当执行完后x的数组为8,1,6,2,故选择C选项 29设有定义double

18、 a10,*s=a;,以下能够代表数组元素a3的是()。A.(*s)3B.*(s+3)C.*s3D.*s+3正确答案B试题解析:用带下标的指针变量引用一维数组元素若有以下定义和语句:“int*P,s10,i;P=s”,且oi10,可以用si、s+i和p+i三种表达式来表示si的地址。同时可以用si、*(s+i)和*(p+i)三种表达式来表示数组元素si。 30下列选项中非法的字符常量是()。AtB039C,Dn正确答案B试题解析:水平制表符中,t表示的是横向跳若干格;选项B中,039错误,039是八进制形式表的字符,最大数为7,但其中出现9,是字符逗号;选项D中,7n表示的是换行。 31有以下

19、程序:main() int x=102,y=012;printf(”2d,2dn”,x,y);执行后输出结果是()。A10,01B02,12C102,10D02,10正确答案C试题解析:x的值为十进制数102,而Y的值为八进制数012,根据题意将Y用十进制表示为10md,m为指定输出数据的宽度,若位数小于m则左端补以空格,若位数大于m则按实际输出,所以答案是C。32相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和( )。A可重用性差B安全性差C非持久性D冗余性正确答案D试题解析:文件系统所管理的数据文件基本上是分散、相互独立的。相对于数据库系统,以此为基础的数据处理存在3个缺点

20、:数据冗余大、数据的不一致性、程序与数据的依赖性强。 33有以下程序:#includemain() FILE*fp;int k,n,i,a6=1,2,3,4,5,6;fp=fopen(d2dat,w);for(i=0;i6;i+) fprintf(fp,%dn,ai);fclose(fp);fp(i=0;i3;i+) fscanf(fp,%d%d,&k,&n);fclose(fp);printf(%dn,%dn,k,n);程序运行后的输出结果是()。A.1, 2B.3,4C.5,6D.123,456正确答案C试题解析:此题是考查fprintf和fscanf,其中fprintf是向文件输出,文件

21、为da2dat文件,fscanf是向文件输入,所以根据程序循环写入和写出可知答案为C。 34有以下程序段:int k,j,s;for(k=2;k6;k+,k+) s=1;for(j=k;j6;j+)s+=j;)print(”dn”,s);程序段的输出结果是()。A9B1C11D10正确答案D试题解析:因为首先k一2,然后你进行一次循环后,k自增两次,变成4,所以这时候S又成l了。然后当k一4的时候,s=1,j=4,然后执行内层循环,s=1+4,然后j自增等于5,s=5+5,然后J再自增为6,跳出内层循环。k自增两次后等于6,不成立,跳出外层循环。然后输出s的值,即为10。因此正确选项为D。 3

22、5下列叙述中正确的是( )。A软件测试应该由程序开发者来完成B程序经调试后一般不需要测试C软件维护只包括对程序代码的维护D以上三种说法都不对正确答案D试题解析:程序调试是由程序开发者完成诊断和改正程序中的错误的过程;软件测试是由专门的测试人员完成,是发现错误而执行程序的过程;软件维护是指软件系统交付使用以后,为了改正错误或满足新的需要而修改软件的过程,是软件生存周期中非常重要的一个阶段。 36若有定义:int X,*pb;则正确的赋值表达式是()。Apb=&XBpb=XC*pb=&xD*pb=*x正确答案A试题解析:*pb是指解除对*pb的引用(也可以认为是取pb所指向的地址的值),被解除引用

23、的指针可以作为左值,&为取地址运算符,&X就是取指向变量X的指针。37下列叙述中正确的是()。A.为了建立一个关系,首先要构造数据的逻辑关系B.表示关系的二维表中各元组的每一个分量还可以分成若干数据项C.一个关系的属性名表称为关系模式D.一个关系可以包括多个二维表正确答案A试题解析:元组分量的原子性要求二维表中元组的分量是不可分割的基本数据项。关系的框架称为关系模式。一个称为关系的二维表必须同时满足关系的7个性质。 38设有以下语句char chl,ch2; scanf(%c%C,&chl,&ch2);若要为变量chl和ch2分别输入字符A和B,正确的输入形式应该是()。A.A和B之间用逗号间

24、隔B.A和B之间不能有任何间隔符C.A和B之间可以用回车间隔D.A和B之间用空格间隔正确答案B试题解析:scanf输入函数中,格式控制J必须严格按照函数中的要求进行输入,在scanf(%c%c, &chl,ch2)的格式控制语句中没有任何字符进行间隔,所以在输入时也不能使用任何字符进行间隔,所以答案选择B。 39设x=011050,则x=x01252的值是()。A000000 1000 101000B1111110100011001C0000001 01 1 100010D1100000OOOl0 1 000正确答案A试题解析:本题主要考查按位与运算,xOll050的二进制形式为O001001

25、000010lo00,01252的二进制形式为0000001010101010,两者相与得0000001000101000。 40有下列程序:#includemain() int a=6,b=7,m=1;switch(a2) case 0:m+;break;case 1:m+;switch(b%2)default:m+;case 0:m+;break;)printf(”dn”,m);程序的运行结果是()。A3B2C4D1正确答案B试题解析:本题考查switch语句及break的用法。第一个switch语句,因为a=6,a2=0,所以执行“case0,m+;”,将m加-1,遇到break语句跳出

26、switch语句,结束循环。不执行下面的switch。 二、填空题(共1题,合计18分)41请补充main()函数,该函数的功能是:把一个字符串中的所有小写字母字符全部转换成大写字母字符,其他字符不变,结果保存在原来的字符串中。例如,当strM=”abcdefl23ABCD”,结果输出:“ABCDEF123ABCD”。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。试题程序:#include#include#include#define M 80void main()intj;char strM= abcdefl23ABCD”;char *pf=str;system(”CLS”):printf(”*original string * n”):p

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1