计算机竞赛C语言题库.pdf
《计算机竞赛C语言题库.pdf》由会员分享,可在线阅读,更多相关《计算机竞赛C语言题库.pdf(97页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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)类之间共享属性和操作的机制(7)层
3、次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小C)联系的复杂程度D)数据之间的联系方式(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是A)对B)一对多C)多对多D)多对一(9)数据库设计中反映用户对数据要求的模式是A)内模式B)概念模式C)外模式D)设计模式(10)有三个关系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;long b;d ouble x,y;则以下选项中正确的表达式是A)a%(i nt)(x-y)B)a=x!=y;C)(a*y)%bD)y=x+y=x(1 5)以下选项中能表示合法常量的是A)整数:1,2 0 0B)实数:1.5E 2.0C )字符斜杠:二D)字符串:0 0 7(1 6)表达式a+=a-=a=9 的值是A)9B)_9C)1 8D)0(1 7)若变量已正确定义,在 i f (W)pr i nt f (d n,k”):中,以下不可替代W的是A)a b+cB)ch=getchar()C)a=b+cD)a+(1 8)有以下程序#i
6、ncludemain()int a=l,b=0;if(!a)b+;else if(a=0)if(a)b+=2;else b+=3;printf(d n ,b);)程序运行后的输出结果是A)0B)1C)2D)3(1 9)若有定义语句int a,A)switch(x%2)b;double x;则下列选项中没有错误的是B)switch(int)x/2.0case 0:a+;break;case 1:b+;break;default:a+;b+;)C)switch(int)x%2)case 0:a+;break;case 1:b+;break;default:a+;b+;D)switch(int)(x
7、)%2)case 0:a+;break;case 1:b+;break;default:a+;b+;case 0.0:a+;break;case 1.0:b+;break;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,1 1B)7,1C)7,1 1D)6,1(2 1)有以下程序#i nclud e mai n()i nt y=l();wh i le (y);pr i nt f (Y=%d n,Y);程序执行后的输出结
8、果是A)y=0B)y=-1C)y=lD)wh i le构成无限循环(2 2)有以下程序#i nclud e mai n()ch ar s J =r s t uv;pr i nt f (%c n”,*s+2);)程序运行后的输出结果是A)t uvB )字符t的A S C I I码值C)tD)出错(2 3)有以下程序#i nclud e#i nclud e mai n()ch ar x 口=S T R I N G”;x O J =0;x E l=,0,;x 2 J =U;pr i nt f (%d%d n”,s i z e of (x),s t r le n(x);程序运行后的输出结果是A)6 1
9、B)7 00 6 3D)7 1(2 4)有以下程序#includeInt f(int x);main()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
10、*(p-4);D)int(*p)4j;(2 7)下列定义数组的语句中,正确的是A)int N=10;B)#define N 10int xN;int xN;C)int x0.101;D)int x ;(2 8)若要定义一个具有5 个元素的整型数组,以下错误的定义语句是A)int a5=0 ;B)int b口=0,0,0,0,0;C)int c2+3;D)int i=5,di;(2 9)有以下程序#includevoid f(int*p);main()int a 5=1,2,3,4,5,*=a;f(r);printf(dn;*r);void f(int*p)p=p+3;printf(%d,”,*
11、p);程序运行后的输出结果是A)1,4B)4,4C)3,1D)4,1(3 0)有以下程序(函数fun只对下标为偶数的元素进行操作)#include void fun(int*a;int n)int i、j、k、t;for(i=0;in-1 ;1 +=2)k=i;1for(j=i;ja(k)k=j;t=a i;a(i=a k;a(k=t;main()int a a 10=(1、2,3、4、5、6、7),i;fun(aa、7);for(i=0,i7;i+)printf(%d,aa i );printf(n”);)程序运行后的输出结果是A)725,4,3,6,1B)1,6,3,4,527C)7,6,
12、5,4,321D)1,7,3,5,62,1(3 1)下列选项中,能够满足“若字符串s i 等于字符串s2,则执行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#i
13、nclude main()char a 20=A BCD O EFG 0,b 口=“IJK”:strcat(a,b);printf a);程序运行后的输出结果是A)ABCDEOFGOIJKB)ABCDIJKC)UKD)EFGIJK(3 4)有以下程序,程序中库函数islower(c h)用以判断ch 中的字母是否为小写字母#include#includevoid fun(char*p)int i=0;while(p i)if(pi=&islower(p fi-l)pi-l=pi-l-la,+lA,;i+;main()char si 100=ab cd EFG!”;fun(si);printf(
14、%srT,si);程序运行后的输出结果是A)ab cd EFG!B)Ab Cd EFg!C)aB cD EFG!D)ab cd EFg!(3 5)有以下程序#includevoid fun(int x)if(x/2 1)fun(x/2);printf(d,x);)main()fun(7);printf;)程序运行后的输出结果是A)1 3 7B)7 3 10 7 3D)3 7(3 6)有以下程序#include int fun()static int x=l;x+=l;return x;main()int i;s=l;for(i=l;i=5;i+)s+=fun();printf(%dn,s);程
15、序运行后的输出结果是A)11B)21C)6D)120(3 7)有以下程序#include#includeMain()int*a,*b,*c;a=b=c=(int*)malloc(sizeof(in t);*a=l;*b=2,*c=3;a=b;printf(%d,%d,%d n,*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平台上编译运行,程序运
16、行后的输出结果是A)2,4 B)4,4 C)4,8 D)10,6(3 9)若有以下语句Typedef struct Sint g;char h;T;以下叙述中正确的是A)可用S 定义结构体变量B)可用T 定义结构体变量C)S 是 struct类型的变量D)T 是 struct S 类型的变量(4 0)有以下程序#include main()short c=124;c=c;printf(d n 、C);若要使程序的运行结果为2 4 8,应在下划线处填入的是A)2 B)1248 C)&0248 D)1二、填 空 题(每空2 分,共 30分)请将每空的正确答案写在答题卡【1】至 15序号的横线匕答在
17、试卷上不得分。(1)一个栈的初始状态为空。首先将元素5,4,3,2,1依次入栈,然后退栈一次,再将元素A,B,C,D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序 为 11(2)在长度为n 的线性表中,寻找最大项至少需要比较【2】次。(3)一棵二叉树有10个度为1 的结点,7 个度为2 的结点,则该二叉树共有【3】个结点。(4)仅由顺序、选择(分支)和重复(循环)结构构成的程序是【4】程序。(5)数据库设计的四个阶段是:需求分析,概念设计,逻辑设计【5】o(6)以下程序运行后的输出结果是 6。#includemain()int a=200,b=010;printf
18、(%d%dn,a,b);)(7)有以下程序#include main()int x,Y;scanf(%2d%ld,&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,ni);)程序运行后的输出结果是9 o(10)以下fun函数的功能是:找出具有N 个元素的一维数组中的最小值,并作为函数值返回。请填空
19、。(设N 已定义)int fun(int x N )int i,k=0;for(i=0;iN;I+)if(x L i)return x k ;)(1 1)有以下程序#include int*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;程序运行后的输出结果是11(1 2)以下fun函数的功能是在N 行 M 列的整形二维数组中,选出一个最大值作为函数值返回,请填空。(设M,.N 已定义)int fun(int a N M)int i,j,r
20、ow=0,col=0;for(i=0;i a row col)row=i;col=j;return(1 2 ):(1 3)有以下程序#include 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(%dn,n l);程序运行后的输出结果是13(1 4)以下程序的功能是:借助指针变量找出数组元素中最大值所在的位置并输出该最大值。请在输出语句中填写代表最大值的输出项。#includemain()int a 10,*p,*s;for(p=a;p-a10;p+)scanf p);fo
21、r(p=a,s=a;p-a*s)S=P;printf(,max=%dn,1 4 );(15)以下程序打开新文件f.txt,并调用字符输出函数将a 数组中的字符写入其中,请填空。#includemain()15*fp;char a 5=3,2,3,,4 ,,5,i;fp=fopen(f.txt,w );for(i=0;i5;i+)fputc(ai,f p);fclose(f p);2010年3月二级c语言笔试真题一、选 择 题(1)一(10)、(21)(40)每题 2 分,(11)(20)每题 1 分。共 70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写
22、在答题卡匕答在试卷上不得分。(1)下列叙述中正确的是A)对长度为n 的有序链表进行查找,最坏情况下需要的比较次数为nB)对长度为n 的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n 的有序链表进行对分查找,最坏情况下需要的比较次数为(Iog2n)D)对长度为n 的有序链表进行对分查找,最坏情况下需要的比较次数为(n Iog2n)(2)算法的时间复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语句或指令条数 D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是A)编辑软件 B
23、)操作系统 C)教务管理系统 D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误C)发现并改正程序中的所有错误(5)数据流程图(DFD图)是A)软件概要设计的工具C)结构化方法的需求分析工具B)尽可能多地发现程序中的错误D)确定程序中错误的性质B)软件详细设计的工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于A)定义阶段 B)开发阶段 C)维护阶段 D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言 B)数据管理语言 C)数 据 操 纵 语 言 D)数据控制语言(8)在学生管理的关系数据库中,存取一
24、个学生信息的数据单位是A)文件 B)数据库 C)字段 D)记录(9)数据库设计中,用 E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段C)概念设计阶段B)逻辑设计阶段D)物理设计阶段(10)有两个关系R 和 T 如下:RA B Ca 1 2b22c3 2AB CTC32d 3 2则由关系R 得到关系T 的操作是选择 B)投影 C)交 D)并(1 1)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x)C)C语言函数不可以单独编译D)C语言中除了 main函数,其他函数不可以作为单独文件形式存在(1 2)以
25、下关于C 语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以再使用之前的任何位置进行定义C)在 C 语言算术的书写中,运算符两侧的运算数类型必须 致D)C语言的数值常量中夹带空格不影响常量值的正确表示(1 3)以下C 语言用户标示符中,不合法的是A)_1 B)AaBc C)a_b D)a-b(14)若有定义:“心心2=22;而%0,1=18;则不符合0 语言规定的赋值语句是A)a=a+,i+B)i=(a+k)=(i+k)C)i=a%11 D)i=!a(15)#include main()(char a,b,c,d;scanf(%c%c”,&a,&b);c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 竞赛 语言 题库
限制150内