二级C语言历年笔试真题.pdf
《二级C语言历年笔试真题.pdf》由会员分享,可在线阅读,更多相关《二级C语言历年笔试真题.pdf(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2010年 9 月全国计算机二级C 语言笔试试题:文 字 版(无答案)一、选择题(每小题2 分,共 70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。(1)下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C
2、)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对3)软件测试的目的是A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误(4)下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低C)软件质量难以控制D)软件成本不断提高(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)外模式D)设计模式(1 0)有三个关系R、S和T如下:则由关系R和S得到关系T的操作A)自然连接B)交C)投影D)并(1 1)以下关于结构化程序设计的叙述中正确的是A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用g o t o语句会很便捷C
4、)在C语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题(1 2)以下关于简单程序设计的步骤利顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(1 3)以下叙述中错误的是A)C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程中所有计算都以十进制方式进行C)所有C程序都需要编译链接无误后才能运行D)C程序中整型变量只能存放整
5、数,实型变量只能存放浮点数(1 4)有以下定义:i nt a;l o ng b;d o u b l e x,y;则以下选项中正确的表达式是A)a%(i nt)(x-y)B)a=x!=y;C)(a*y)%bD)y=x+y=x(1 5)以下选项中能表示合法常量的是A)整数:I,2 00B)实数:1.5 E 2.0C )字符斜杠:%D)字符串:007(1 6)表达式a+=a-=a=9的值是A)9B)_9C)18D)0(1 7)若变量已正确定义,在 if(W)printf(%dn,k);中,以下不可替代W的是A)ab+cB)ch=getchar()C)a=b+cD)a+(1 8)有以下程序#inclu
6、demain()int a=L b=0;if(!a)b+;else if(a=0)if(a)b+=2;else b+=3;printf(,%drf,b);程序运行后的输出结果是A)0B)1C)2D)3(1 9)若有定义语句int a,b;则下列选项中没有错误的是A)switch(x%2)tch(int)x/2.0case 0:a+;break;a+;break;case 1:b+;break;b+;break;default:a+;b+;a+;b+;)C)switch(int)x%2)witch(int)(x)%2)case 0:a+;break;0:a+;break;double x;B)s
7、wicase 0:case 1:default:D)scase 0.case 1:b+;break;case 1.0:b+;break;default:a+;b+;default:a+;b+;)(2 0)有以下程序#include main()int a=l b=2;while(a6)b+=a;a+=2;b%二10;)printf(%d,%d n”,a,b);)程序运行后的输出结果是A)5,11B)7,1C)7,11D)6,1(2 1)有以下程序#includemain()int y=10;while(y-);printf(Y=%dn,Y);程序执行后的输出结果是A)y=0B)y=-1C)y=
8、lD)while构成无限循环(2 2)有以下程序#includeVstdio.hmain()char s J=rstuv”;printf(%cn,*s+2);程序运行后的输出结果是A)tuvB)字符t 的 ASCII码值C)tD)出 昔(2 3)有以下程序#include Vstdio.h#incl ude main()char x E=STRING”;x oj=o;x i =、(r;x 2J=0;printf(%d%dn,sizeof(x),strlen(x);程序运行后的输出结果是A)6 1B)7 00 6 3D)7 1(2 4)有以下程序#incl ude Int f(int x);ma
9、in()int n=l,m;m=f(f(f(n);printf(%dn”,m);int f(int x)return x*2;程序运行后的输出结果是A)1B)2C)4D)8(2 5)以下程序段完全正确的是A)int*p;scanf(”d”,&p);B)int*p;scanf(d”,p);C)int k,*p=&k;scanf(%d,p);D)int k,*p:;*p=&k;scanf(d”,p);(2 6)有定义语句:int*p4;以下选项中与此语句等价的是A)int p4;B)int*p;C)int*(p 4j);D)int(*p)F4j;(2 7)下列定义数组的语句中,正确的是A)int
10、N=10;B)#defineN 10int xN;int xN;C)int x0.10;D)int x L ;(2 8)若要定义一个具有5 个元素的整型数组,以下错误的定义语句是A)inta5=0;B)intb=0,0,0,0,0);C)intc2+3;D)inti=5,di;(2 9)有以下程序#incl ude void f(int*p);main()int a 5=1,2,3,4,5),f(r);printf(%dn;*r);void f(int*p)p=p+3;printf(%d,”,*p);程序运行后的输出结果是A)1,4B)4,4C)3,1D)4,1(3 0)有以下程序(函数ftm
11、只对下标为偶数的元素进行操作)#includevoid fun(int*a;int n)int i、j k、t;for(i=0;in-1 ;l+=2)k=ifor(j=i;ja(k)k=j;t=a(i;a(i=a Ek;a(k=t;)main()int aa TlOj=1 2、3、4、5、6、7),i;fun(aa 7);for(i=0,i7;i+)printf(%”,aa L i);printf(n );)程序运行后的输出结果是A)725,4,3,6,1B)1,6,345,2,7C)7,6,5,4321D)1,7,3,562(3 1)下列选项中,能够满足“若字符串s i 等于字符串s2,则执
12、行ST”要求的是A)if(strcmp(s2,sl)=0)ST;B)if(sl=s2)ST;C)if(strcpy(s 1 ,s2)=1)ST;D)if(sl-s2=0)ST;(3 2)以下不能将s 所指字符串正确复制到t 所指存储空间的是A)while(*t=*s)t+;s+;B)for(i=O;ti=si;i+);C)do*t+=*s+;while(*s);D)for(i=O,j=O;ti+=sj+;);(3 3)有以下程序(strcat函数用以连接两个字符串)#include#incl ude main()char a20=ABCDOEFG0,b 口=IJK”;strcat(a,b);p
13、rintf(%sn,a);程序运行后的输出结果是A)ABCDEOFGO1JKB)ABCDIJKC)IJKD)EFGIJK(3 4)有以下程序,程序中库函数islower(c h)用以判断ch中的字母是否为小写字母#include#include void fun(char*p)int i=0;while(p i)if(pi=&islower(pFi-1 J)i+;)main()char si 100=ab cd EFG!”;fun(s i);printf(%sn,s i);)程序运行后的输出结果是A)ab cd EFG!B)Ab Cd EFg!C)aB cD EFG!D)ab cd EFg!(
14、3 5)有以下程序#includevoid fun(int x)if(x/2 1)fun(x/2);printf(d”,x);)main()fun(7);printf(n);程序运行后的输出结果是A)1 3 7B)7 3 10 7 3D)3 7(3 6)有以下程序#includeint fun()static int x=l;x+=l;return x;)main()int i;s=l;for(i=l;i=5;i+)s+=fun();printf(d n”,s);)程序运行后的输出结果是A)11B)21C)6D)120(3 7)有以下程序#include#includeMain()int*a.
15、*b,*c;a=b=c=(int*)malloc(sizeof(int);*a=l;*b=2,*c=3:a=b;printf(%d,%d,%d n”,*a,*b,*c);)程序运行后的输出结果是A)3,3,3 B)2,2,3 C)1,2,3 D)1,1,3(3 8)有以下程序#includemain()int s,t A=10;double B=6;s=sizeof(A);t=sizeof(B);printf(%d,%d n”,s,t);在 VC6平台上编译运行,程序运行后的输出结果是A)2,4 B)4,4 C)4,8 D)10,6(3 9)若有以下语句Typedef struct Sint
16、g;char h;T;以下叙述中正确的是A)可用S 定义结构体变量B)可用T 定义结构体变量C)S 是 struct类型的变量D)T 是 struct S 类型的变量(4 0)有以下程序#includeVstdio.hmain()short c=124;c=c;printf(d n 、C);)若要使程序的运行结果为248,解下划线处填入的是A)2 B)1248 C)&0248D)1二、填 空 题(每 空 2 分,共 30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。(1)一个栈的初始状态为空。首先将元素5,4,321依次入栈,然后退栈一次,再将元素A,B,C,
17、D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为【1】(2)在长度为n 的线性表中,寻找最大项至少需要比较【2】次。(3)一棵二叉树有10个度为1的结点,7 个度为2 的结点,则该二叉树共有【3】个结点。(4)仅由顺序、选择(分支)和重复(循环)结构构成的程序是【4】程序。(5)数据库设计的四个阶段是:需求分析,概念设计,逻辑设计【5】。(6)以下程序运行后的输出结果是 6 。#includemain()int a=200,b=010;printf(%d%dn”,a,b);(7)有以下程序#incl ude main()int x,Y;scanf(%2d%ld,
18、&x,&y);printf(d n ,x+y);)程序运行时输入:1234567程序的运行结果是【7】。(8)在 C 语言中,当表达式值为0时表示逻辑值“假”,当表达式值为8时表示逻辑值“真”。(9)有以下程序#includemain()int i,n=0,0,0,0,0;for(i=l;i=4;i+)ni=ni-l*3+l;printf(%d,n i);)程序运行后的输出结果是9】o(1 0)以下fun函数的功能是:找出具有N 个元素的一维数组中的最小值,并作为函数值返回。请填空。(设N 已定义)int fun(int x N )int i,k=0;for(i=0:iN;I+)if(x ir
19、eturn x k ;)(1 1)有以下程序#includeint*f(int*p,in t*q);main()int m=L n=2,*r=&m;r=f(r,&n);printf(%d n,*r);int*f(int*p,int*q)return(*p*q)?p:q;程序运行后的输出结果是H(1 2)以下fun函数的功能是在N行 M 列的整形二维数组中,选出一个最大值作为函数值返回,请填空。(设 M,N 已定义)int fun(int a N M)int i,j,row=0,col=0;for(i=0:i a row c o l)row=i;col=j;return(1 2):)(1 3)有
20、以下程序#incl ude main()int n2,i,j;for(i=0;i2;i+)ni=0;for(i=0;i 2;i+)for(j=0;j2;j+)n j=n FiJ+1;printf(drT,n l);程序运行后的输出结果是13(1 4)以下程序的功能是:借助指针变量找出数组元素中最大值所在的位置并输出该最大值。请在输出语句中填写代表最大值的输出项。#includemain()int a(10,*p,*s;for(p=a;p-a10;p+)scanf(%d,p);for(p=a,s=a;p-a*s)S=P;printf(,max=%dn,1 4);)(1 5)以下程序打开新文件f.
21、txt,并调用字符输出函数将a 数组中的字符写入其中,请填空。#includemain()15*fp;char a 5=I,2,3,5,i;fp=fopen(f.txt,w );for(i=0;i 0)s w i t c h(s)c a s e 1:p r i n t f(%d s+5);c a s e 2:p r i n t f(M%d1 r,s+4);b r e a k;c a s e 3:p r i n t f(d”,s+3);d e f a u l t:p r i n t f(M%dn,s+l);b r e a k;C)Li l i n u m=b=ar;c=A;scanf(”d”,&
22、s);D)当产生的随机数n 为 0 时结束程for(i=0;i=,0&si=,9,)n+;(24)设有定义:double x10,*p=x;,for(i=0;i士a&*c=z)*c=*c-(,a-,A,);C+;)main()char s81;gets(s);fun(s);puts(s):)当执行程序时从键盘上输入HelloBeijingv回车,则程序的输出结果是A)hello beijing B)Hello BeijingQHELLO BEIJING D)hELLO Beijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。#include#define N 10v
23、vo oi id d f fu un n(i in nt t x x N NJ)while(i)在程序中下划线处应填入的是A)x+i B)&xi+1C)x+(i+)D)&x+i(31)有以下程序#includemain()chara3O,b3OJ;scanf(%sH,a);gets(b);printf(M%sn%sn,a,b);)程序运行时若输入:how are you?I am flnev回车则输出结果是A)how are you?B)howI am fine are you?I am fineC)how are you?I am fine D)row areyou?(32)设有如下函数定义
24、int fun(int k)if(kx);若执行调用语句:n=fun(3);,则函)pri ntf(%dn n,+(p-y);数 fun总共被调用的次数是)A)2B)3C)4 D)5程序运行后的输出结果是程序运行后的输出结果是(33)有以下程序A)OB)10C)30 D)64A)1,2 B)4,l C)3,4 D)2,3#include(35)有以下程序(38)有以下程序int fun(int xjnt y)#include#include if(x!=y)return(x+y);2);#define S(x)4*(x)*x+lstruct Selse return(x);main()int
25、a,b;data2=10,100,20,200);)int k=5,j=2;main()main()printf(M%dnM,S(k+j);struct S p=datal;int a=4,b=5,c=6;jprmtf(M%dn,+(p.a);printf(,%dn,fun(2*a,fun(b,c);程序运行后的输出结果是)A)197 B)143 C)33 D)28程序运行后的输出结果是程序运行后的输出结果是(36)设有定义:struct charmark12;int numkdouble num2;A)10B)ll C)20 D)21A)3B)6C)8D)12若变量均已正确赋初值,则以下语句
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 历年 笔试
限制150内