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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

全国计算机二级C语言分类模拟题536.docx

1、全国计算机二级C语言分类模拟题536二级C语言分类模拟题536选择题1. 以下语句中存在语法错误的是_。A.char ss620; ss1=right?;B.char ss()20=right?;C.chat *ss6; ss1=right?;D.char *ss()=right?;答案:A解答 数组定义后,不可以对数组整体赋值,s是二维数组,因ss1是一维字符数组,即字符串,字符串赋值可以使用strepy(ss1,right);这样的形式,而选项A中对二维数组中的第一维(相当于一个一维数组)赋值,这是不可以的;选项B和D是定义时对数组初始化,这是可以的;选项C中,将字符串在内存中的首地址赋给

2、指针数组的一个元素,这也是可以的。所以选择A选项。2. 以下不是C语言字符型或字符串常量的是_。A.ItsB.0C.a=0D.010答案:C解答 C项是一个赋值表达式。AB两项是字符串常量,D项是字符常量。3. 若有以下程序: #include stdio.h main( ) FILE *fp; int i, a6=1,2,3,4,5,6,k; fp=fopen(data.dat,w+); for(i=0;i6;i+) fseek(fp,0L,0); fprintf(fp,%dn,ai); rewind(fp); fscanf(fp,%d,&k); fclose(fp); printf(%dn

3、,k); 则程序的输出结果是_。 A.123456B.1C.6D.21答案:C解答 本题考查文件操作函数fseek()。fseek()函数用于二进制方式打开的文件,移动文件的读/写指针位置。题目中将文件内部的位置指针重新指向一个流(数据流/文件)的开头,所以最后只保留了6,答案为C选项。4. 对下列二叉树进行中序遍历的结果是_。 A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBEG答案:A5. 下列与队列结构有关联的是_。A.函数的递归调用B.数组元素的引用C.多重循环的执行D.先到先服务的作业调度答案:D解答 队列的修改是依先进先出的原则进行的,D正确。6. 有以下程序:

4、 struct s int x,y;) data2=10,100,20,200); main() struct s *p=data; printf(%dn,+(p-x); 程序运行后的输出结果是( )。 A.10B.11C.20D.21答案:B解答 本题中定义了一个结构体数组data2并初始化,主函数中定义了一个结构体类型指针变量并让它指向data的首地址,由于p指向第一个元素的地址,所以p-x相当于data0.x即为10,所以+(p-x)后的值为11。故4个选项中选项B符合题意。7. 有以下程序(strcat函数用以连接两个字符串) #includestdio.h #includestrin

5、g.h main() char a20=“ABCD0EFG0,b=IJK; strcat(a,b); printf(%sn,a); 程序运行后的输出结果是_。 A.ABCDIJKB.ABCDEOFGOIJKC.IJKD.EFGIJK答案:A解答 strcat函数从0开始往后链接,所以结果为A。8. 下列叙述中正确的是_。A.栈是“先进先出”的线性表B.队列是“先进后出”的线性表C.循环队列是非线性结构的线性表D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构答案:D解答 栈是先进后出的线性表,因此A错误;队列是先进先出的线性表,因此B错误;循环队列是线性结构的线性表,因此C错误,故本

6、题答案为D。9. 若有下列说明语句 int(* p)(); 则标识符p代表的是 A.一个用于指向函数的指针变量,函数返回值的类型为int型B.一个带回值类型为整型的函数名C.一个用于指向整型数据的指针变量D.一个带回值类型为指针类型的函数名答案:A10. 若有函数: void fun(double a,int *n) . 以下叙述中正确的是_。 A.调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送B.形参a和n都是指针变量C.形参a是一个数组名,n是指针变量D.调用fun函数时将把double型参数组元素一一对应地传送给形参a数组答案:B解答 本题考查函数中数组和指针的传

7、值,数组a在参数传递时,是传递的数组a的首地址,所以形参a和n都是指针变量。11. 若有定义语句:int year=2009,*p=&year;,以下不能使变量year中的值增至2010的语句是_。A.(*p)+;B.*p+;C.+(*p);D.*p+=1;答案:B解答 由于自加运算符+的运算级别高于间接运算*的运算级别,所以B选项的表达式*p+不能使变量year中的值增至2010,因此选择B选项。12. 若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是_。A.sqrt(fabs(pow(n,x)+exp(x)B.sqrt(fabs(pow(n,x

8、)+pow(x,e)C.sqrt(abs(nx+ex)D.sqrt(fabs(pow(x,n)+exp(x)答案:A解答 B选项中,函数pow(x,e)错误,应该直接使用exp(x)函数。C选项中,函数abs(nx+ex)错误,应该使用fabs()返回浮点数的绝对值。D选项中,pow(x,n)参数腰序错误。13. 下列叙述中错误的是_。A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与数据的处理效率无关C.数据的存储结构与数据的处理效率密切相关D.数据的存储结构在计算机中所占的空间不一定是连续的答案:B解答 数据的存储结构分顺序存储结构和链式存储结构,一个数据的逻辑结构可以有多种存储

9、结构。顺序结构中数据元素所占的存储空间是连续的,而链式存储结构中,数据元素通过指针就联系在一起了,所以所占的存储空间不一定是连续的。14. 下面选项中关于“文件指针”概念的叙述正确的是_。A.文件指针就是文件位置指针,表示当前读写数据的位置B.文件指针是程序中用FILE定义的指针变量C.文件指针指向文件在计算机中的存储位置D.把文件指针传给fscanf函数,就可以向文本文件中写入任意的字符答案:B解答 文件指针的定义形式为FILE*文件指针名,所以B正确。15. 以下关于return语句的叙述中正确的是_。A.一个自定义函数中必须有一条return语句B.一个自定义函数中可以根据不同情况设置多

10、条return语句C.定义成void类型的函数中可以有带返回值的return语句D.没有return语句的自定义函数在执行结束时不能返回到调用处答案:B解答 return语句又称为返回语句。该语句的格式如下:“return;”和“return(表达式);”。其中,return是关键字。该语句有两种格式:不带返回值格式和带返回值格式。该语句用在被调用函数中,在被调用函数中执行到该语句时,将结束对被调用函数的执行,并把控制权返回给调用函数,继续执行调用函数后边的语句。在带有返回值的情况下,将return语句所带的表达式的值返回给调用函数,作为被调用函数的值。在被调用函数中,可以用return语句,

11、也可以不用return语句。如果要求被调用函数有返回值,则一定要用return语句,采用return(表达式);格式。如果被调用函数不需要返回值,并且当被调用函数的所有语句执行完后进行返回,则被调用函数可以不用return语句。16. 有以下程序: #includestdio.h int f(int x,int y) return(y-x)*x); main() int a=3,b=4,c=5,d; d=f(f(a,b),f(a,c); printf(%dn,d); 程序运行后的输出结果是_。 A.7B.10C.8D.9答案:D解答 调用f(a,b)函数返回3,调用f(a,c)函数返回6,所以

12、外层调用f(f(a,b),f(a,c),即调用f(3,6)函数返回9。17. C语言规定,在一个源程序中,main()函数的位置_。A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后答案:C解答 程序中可以把main()函数放在任何位置,但程序是从main()函数开始执行的。18. 已知大写字母A的ASC码是65,小写字母a的ASC码是97,以下不能将变量C中的大写字母转换为对应小写字母的语句是_。A.c=(c-A)%26+aB.c=c+32C.c=c-A+aD.c=(A+c)%26-a答案:D解答 由97-65=32可知大写字母对应的小写字母之间相差32,所以将大写字

13、母加上32就得到小写字母,所以选项B和C是正确的。选项A 中(cA)%26 可以求出变量c中的字母与字母A相差几位那么小写字母a的ASC码向后移动相差的位数就是对应的小写字母,所以选项A也是正确的。19. 若有定义语句:“int x=12, y=8, z;”,在其后执行语句“z=0.9+x/y;”,则z的值为_。A.1.9B.1C.2D.2.4答案:A解答 此题考查除法运算,根据先乘除后加减,有括号先算括号的原则,先计算x/y,即12/8=1,所以z=0.9+1=1.9。20. 下列说法中,正确的是_。A.指针是一个变量B.指针中存放的可以是任何类型的值C.指针变量是变量地址D.指针变量占用存

14、储空间答案:D解答 指针是地址,存放指针的变量是指针变量,不同类型的指针变量存放不同类型数据的地址,指针变量作为可存储指针的变量,也要占用一定的存储空间。21. 在数据库系统中,给出数据模型在计算机上物理结构表示的是_。A.概念数据模型B.逻辑数据模型C.物理数据模型D.关系数据模型答案:C解答 数据模型按照不同的应用层次分为以下3种类型:概念数据模型,着重于对客观世界复杂事物的描述及对它们内在联系的刻画;逻辑数据模型,是面向数据库系统的模型,着重于在数据库系统一级的实现;物理数据模型,是面向计算机物理实现的模型,此模型给出了数据模型在计算机上物理结构的表示。C选项正确。22. 以下叙述错误的

15、是_。A.C语言区分大小写B.C程序中的一个变量,代表内存中一个相应的存储单元,变量的值可以根据需要随时修改C.整数和实数都能用C语言准确无误地表示出来D.在C程序中,正整数可以用十进制、八进制和十六进制的形式来表示答案:C23. 有如下程序: #include stdio.h main() char name10=S,T,R,I,N,G,; name3=E;name5 = 0; printf(%sn,name); 程序运行后的输出结果是_。 A.STRENGB.STRIEGC.STREND.STRENO答案:C解答 printf函数按照格式符说明输出对应的数据。%s控制符用于输出字符串,输出

16、时从给定地址开始依次输出字符,直到遇到0结束。给字符变量赋值0,相当于赋值0。初始化时name=STRING,改动数组第4个和第6个元素之后字符串变为STREN。调用printf输出字符串为STREN,故C选项正确。24. 现有格式化输入语句,scanf(x=%d,sumy=%d, linez=%dL, x, y, z);,已知在输入数据后,x,y,z的值分别是23,56,78,则下列选项中正确地输入格式的是 注 表示空格,Enter表示回车 A.23, 56, 78EnterB.x=23, y=56, z=78EnterC.x=23C, sumy=56, z=78EnterD.x=23, s

17、umy=56, linez=78Enter答案:D解答 若在scanf的格式化控制串中插入了其他字符,则在输入时要求按一一对应的位置原样输入这些字符。格式化输入函数必须严格按照双引号里面的格式进行输入。在格式化输出函数中,格式控制串中除了合法的格式说明外,可以包含任意的合法字符。25. 有两个关系R、S如下: 由关系R通过运算得到关系S,则所使用的运算为_。 A.选择B.投影C.插入D.连接答案:B解答 投影运算是指对于关系内的域指定可引入新的运算。本题中S是在原有关系R的内部进行的,是由R中原有的那些域的列所组成的关系。所以选择B选项。26. 以下叙述中正确的是_。A.用C语言编写的程序只能

18、放在一个程序文件中B.C程序书写格式严格,要求一行内只能写一个语句C.C程序中的注释只能出现在程序的开始位置和语句的后面D.C程序书写格式自由,一个语句可以写在多行上答案:D解答 C语言编写的程序可以放置于多个程序文件中,所以A选项错误。C程序中的一行可以有多条语句,所以B选项错误。C语言中的注释语句可以与原语句放在一行,也可以不放在一行,所以C选项错误。27. 在关系型的数据库管理系统中,3种基本关系运算是_。A.选择、投影和连接B.选择、删除和复制C.创建、修改和合并D.统计、连接和分类答案:A解答 在关系型数据库管理系统中,基本的关系运算有选择、投影和联接3种操作。选择,指的是从二维关系

19、表的全部记录中,把那些符合指定条件的记录挑选出来。对于投影,是指从所有字段中选取一部分字段及其值进行操作,它是一种纵向操作。投影操作可以改变关系的结构。而联接运算则通常是对两个关系进行投影操作来连接生成一个新的关系。当然,这个新的关系可以反映出原来两个关系之间的联系。28. 以下选项中非法的字符常量是_。A.B.0201C.xAAD.0答案:B29. 以下程序运行后的输出结果是 long fib(int n) if(n2)return(fib(n-1)+fib(n-2); else return(2); main printf(%dn,fib(3); A.2B.4C.6D.8答案:B解答 本题

20、考查函数的递归调用。fib(3)=fib(2)+fib(1),而fib(2)的返回值为2,fib(1)的返回值也为2,故输出的fib(3)的值为4。30. 以下_不属于对象的基本特征。A.继承性B.封装性C.分类性D.多态性答案:A解答 对象具有如下特征: 标识惟一性,指对象是可区分的; 分类性,指可以将具有相同属性和操作的对象抽象成类; 多态性,指同一个操作可以是不同对象的行为; 封装性,从外面看只能看到对象的外部特征,而不知道也无需知道数据的具体结构以及实现操作的算法; 模块独立性好,对象是面向对象的软件的基本模块,对象内部各种元素彼此结合得很紧密,内聚性强。 31. 下列运算符中优先级最

21、低的算符是_。A.|B.!=C.=D.+答案:A解答 C语言中规定运算符的优先顺序:一元算术运算符二元算术运算符关系运算符逻辑运算符赋值运算符,A项中为逻辑运算符,B项和C项都为关系运算符,D项为一元运算符。因此最低的是A项。32. 下列程序的输出结果是 。 #include stdio.h main() FILE *fp; int i, k=0, n=0; fp=fopen( d1.dat, w); for(i=1; i4; i+) fprintf(fp, % d, i); fclose(fp); fp=fopen(d1.dat, r); fscanf(fp, % d% d, &k, &n)

22、; printf(% d% dn, k, n); fclose(fp); A.12B.1230C.123D.00答案:B解答 fscanf从磁盘上读取ASCII字符,给k和n赋值。在进行fp=fopen(dl.dat, w)操作时,向文件写字符,由fprintf()将1,2,3写入磁盘,再由磁盘符123传给k,且将0传给n。在文件写操作时,两个数之间应用空格隔开,而在本题中,没有用空格隔开,所以123视为一个数。33. 下面的程序用来输出两个字符串前7个字符中对应相等的字符及其位置号,程序空白处应该填写的是_。 #includestdio.h main() char s1=chinese,s2

23、=japnese; int i; for(i=0;s1i!=0&s2i!=0;i+) if(s1i=s2i&i7) _; A.putchar(s2i);putcha(i)B.puts(sli,i)C.printf(%c%dn,s2i,i)D.printf(%c,s1i);printf(%dn,i)答案:C34. 对于n个结点的单向链表(无表头结点),需要指针单元的个数至少为_。A.n-1B.nC.n+1D.2n答案:C解答 在n个结点的单向链表(无表头结点)中,每个结点都有个指针单元(即指针域),加上头指针,至少需要n+1个指针单元。35. 有以下程序段 int i,n; for(i=0;i8

24、;i+) n=rand()%5; switch(n) case 1: case 3: printf(%dn,n);break; case 2: case 4: printf(%dn,n); continue; case 0: exit(0); printf(%dn,n); 以下关于程序段执行情况的叙述,正确的是_。 A.当产生的随机数n为0时结束程序运行B.当产生的随机数n为4时结束循环操作C.当产生的随机数n为1和2时不做任何操作D.for循环语句固定执行8次答案:A解答 n为0时执行exit(0);函数结束,所以产生的随机数为0时,函数结束。答案选择A。36. 以下程序的输出结果是_。 m

25、ain() int a,i=4; a=i+; printf(a=%d,i=%dn,a,i); A.a=4,i=4B.a=5,i=4C.a=4,i=5D.a=5,i=5答案:C37. 若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是_。A.sqrt(fabs(pow(n,x)+pow(x,e)B.sqrt(fabs(pow(n,x)+exp(x)C.sqrt(abs(nx+ex)D.sqrt(fabs(pow(x,n)+exp(x)答案:A解答 B选项中函数pow(x,e)错误,应该直接使用exp(x)函数。C选项中函数abs(nx+ex)错误,应该

26、使用fabs()返回浮点数的绝对值。D选项中pow(x,n)参数顺序错误。本题正确答案为A。38. 以下叙述中正确的是_。A.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据D.C语言中的文件是流式文件,凶此只能顺序存取数据答案:A解答 B选项中打开一个已存在的文件并进行了写操作后,原有文件中的全部数据不一定被覆盖,也可以对源文件进行追加操作等。C选项中在一个程序中当对文件进行了写操作后,不用先关闭该文件然后再打开,才能

27、读到第1个数据,可以用fseek()函数进行重新定位即可。D选项中,C语言中的文件可以进行随机读写。故本题答案为A。39. 在执行完下列的C语句段之后,则B的值是 。 char a=A; int b; B=(34 & 56)&(ab); A.0B.1C.TRUED.FALSE答案:B解答 本题考查C语言3个知识点:将一个字符赋给一个字符变量时,并不是将该字符本身存储到内存中,而是将该字符对应的ASCII码存储到内存单元中;大写字母的ASCII码值小于其对应小写字母的ASCII码值;只要逻辑与运算符&的两个运算对象都为非零,返回值就是1。40. 软件调试的目的是( )。A.发现错误B.改正错误C.改善软件的性能D

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

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