3月二级C语言笔试真题
从小学、初中、高中到大学乃至工作,我们最熟悉的就是考试真题了,借助考试真题可以更好地对被考核者的知识才能进行考察测验。你所了解的考试真题是什么样的呢?下面是小编收集整理的3月二级C语言笔试真题,供大家参考借鉴,希望可以帮助到有需要的朋友。

3月二级C语言笔试真题 1
2010年3月二级C语言笔试真题
(考试时间:120分钟,满分100分)
(1)下列叙述中正确的是
A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为n
B)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2) C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n) D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n) (2)算法的时间复杂度是指 A)算法的执行时间 B)算法所处理的数据量 C)算法程序中的语句或指令条数 D)算法在执行过程中所需要的基本运算次数 (3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
A)编辑软件 B)操作系统 C)教务管理系统 D)浏览器 则由关系K得到关系T的操作是 (4)软件(程序)调试的任务是 A)选择 A)诊断和改正程序中的错误 B)投影 B)尽可能多地发现程序中的错误 C)交 C)发现并改正程序中的所有错误 D)并 D)确定程序中错误的性质
(11)以下叙述正确的是 (5)数据流程图(DFD图)是 A)C语言程序是由过程和函数组成的 A)软件概要设计的工具 B)C语言函数可以嵌套调用,例如:fun(fun(x)) B)软件详细设计的工具 C)C语言函数不可以单独编译 C)结构化方法的需求分析工具 D)C语言中除了main函数,其他函数不可作为单独文件形式存在 D)面向对象方法的需求分析工具 (12)以下关于C语言的叙述中正确的是 6)软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于 A)C语言中的注释不可以夹在变量名或关键字的中间 A)定义阶段 B)C语言中的变量可以在使用之前的任何位置进行定义 B)开发阶段 C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致 C)维护阶段 D)C语言的数值常量中夹带空格不影响常量值的正确表示 D)上述三个阶段
第1页,共7页
(7)数据库管理系统中负责数据模式定义的语言是 A)数据定义语言 B)数据管理语言 C)数据操纵语言 D)数据控制语言
(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是 A)文件 B)数据库 C)字段 D)记录 (9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的 A)需求分析阶段 B)逻辑设计阶段 C)概念设计阶段 D)物理设计阶段
(10)有两个关系R和T如下:
(13)以下C语言用户标识符中,不合法的是 (18)以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是
A)_1 A)switch(a)
B)AaBc {case:a=b;break;
C)a_b default:a++; D)a-b }
(14)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是 B)switch(a==1)
A)a=a++,i++; {case 0:a=b;break; B)i=(a+k)<=(i+k); case 1:a++;
C)i=a%11; }
D)i=!a; C)switch(a) (15)有以下程序 {default:a++;break; #includecase 1:a=b; main() } { char a,b,c,d; D)switch(a==1) scanf(“%c%c”,&a,&b); {case 1:a=b;break; c=get); d=get); case 0:a++; printf(“%c%c%c%c\n”,a,b,c,d); } (19)有如下嵌套的if语句 }
当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意: if (a
34 D)k=(aO;j--) A)1 {if(i*j)>3)break; B)0 m=i*j; C)2 } D)不知道a的值,不能确定 } 第2页,共7页
printf("m=%d\n",m); }
程序运行后的输出结果是
A)m=6
B)m=2
C)m=4
D)m=5 (21)有以下程序
C)定义成void类型的函数中可以有带返回值的return语句
D)没有return语句的自定义函数在执行结束时不能返回到调用处 (25)下列选项中,能正确定义数组的`语句是 A)int num[0..2008]; B)int num[]; C)int N=2008; int num[N];
D)#define N 2008 #include(stdio.h>
main() {int a=l;b=2;
for(;a<8;a++) {b+=a;a+=2;} printf("%d,%d\n",a,b); } 程序运行后的输出结果是 A)9,18 B)8,11 C)7,11
D)10,14 (22)有以下程序,其中k的初值为八进制数 #includemain() {int k=011; printf("%d\n",k++); } 程序运行后的输出结果是 A)12 B)11
C)10 D)9 23)下列语句组中,正确的是 A)char *s;s="Olympic"; B)char s[7];s="Olympic"; C)char *s;s={"Olympic"}; D)char s[7];s={"Olympic"}; (24)以下关于return语句的叙述中正确的是 A)一个自定义函数中必须有一条return语句 B)一个自定义函数中可以根据不同情况设置多条return语句 int num[N];
(26)有以下程序 #include
void fun(char *c,int d) {*c=*c+1;d=d+1;
printf("%c,%c,",*c,d); main()
{char b=a,a=A;
fun(&b,a);printf("%e,%e\n",b,a); }
程序运行后的输出结果是 A)b,B,b,A B)b,B,B,A C)a,B,B,a D)a,B,a,B
(27)若有定义int(*Pt)[3];,则下列说法正确的是 A)定义了基类型为int的三个指针变量
B)定义了基类型为int的具有三个元素的指针数组pt C)定义了一个名为*pt、具有三个元素的整型数组
D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组
(28)设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是 A)(*s)[3] B)*(s+3) C)*s[3] D)*s+3
(29)有以下程序 #include(stdio.h) main()
{int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0; for(i=0;i<5;i++) s=s+a[b[i]]);
第3页,共7页
printf("%d\n", s); }
程序运行后的输出结果是
A)6
B)10
C)11
D)15 (30)有以下程序
}
程序运行后的输出结果是 A)1313 B)2234 C)3234 D)1234
(33)有以下程序 #include#include
main() {int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1;
for(i=0;i<3;i++) for(j=ij<=1;j++) t+=b[i][b[j][i]]; printf("%d\n",t); } 程序运行后的输出结果是 A)1 B)3
C)4 D)9 31)若有以下定义和语句 char s1[10]="abcd!",*s2="\n123\\"; printf("%d %d\n", strlen(s1),strlen(s2)); 则输出结果是 A)5 5 B)10 5 C)10 7 D)5 8
(32)有以下程序 #include#define N 8 void fun(int *x,int i) {*x=*(x+i);} main() {int a[N]={1,2,3,4,5,6,7,8},i; fun(a,2); for(i=O;i
{ int a[4]={1,2,3,4},s;
s=f(a,4); printf("%d\n",s); }
int f(int t[],int n)
{ if(n>0) return t[n-1]+f(t,n-1); else return 0; }
程序运行后的输出结果是 A)4 B)1O C)14 D)6
(34)有以下程序 #includeint fun() { static int x=1; x*2; return x; }
main() {int i,s=1,
for(i=1;i<=2;i++) s=fun(); printf("%d\n",s); }
程序运行后的输出结果是 A)O B)1 C)4 D)8
(35)有以下程序 #include
第4页,共7页
#define SUB(a) (a)-(a) main()
{ int a=2,b=3,c=5,d;
d=SUB(a+b)*c;
printf("%d\n",d);
}
程序运行后的输出结果是 A)0
{int day; int month; int year;} s; };
struct workers w,*pw; pw=&w;
能给w中year成员赋1980的语句是 A)*pw.year=198O; B)w.year=1980; C)pw->year=1980; B)-12
C)-20 D)10
(36)设有定义: struct complex { int real,unreal;} data1={1,8},data2; 则以下赋值语句中错误的是 A)data2=data1; B)data2=(2,6); C)data2.real=data1.real;
D)data2.real=data1.unreal; 37)有以下程序 #include#includestruct A { int a; char b[10]; double c;}; void f(struct A t); main() { struct A a={1001,"ZhangDa",1098.0}; f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);
} void f(struct A t) { t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;} 程序运行后的输出结果是 A)1001,zhangDa,1098.0 B)1002,changRong,1202.0 C)1001,ehangRong,1098.O D)1002,ZhangDa,1202.0 (38)有以下定义和语句 struct workers { int num;char name[20];char c; struct D)w.s.year=1980; (39)有以下程序 #includemain()
{ int a=2,b=2,c=2;
printf("%d\n",a/b&c); }
程序运行后的输出结果是 A)O B)1 C)2 D)3
(40)有以下程序 #includemain()
{ FILE *fp;char str[10];
fp=fopen("myfile.dat","w"); fputs("abc",fp);fclose(fp); fpfopen("myfile.data","a++"); fprintf(fp,"%d",28); rewind(fp);
fscanf(fp,"%s",str); puts(str); fclose(fp); }
程序运行后的输出结果是 A)abc B) 28c C) abc28
D)因类型不一致而出错
第5页,共7页
else if(c!=3) d=3;
else d=4;
(1)一个队列的初始状态为空。现将元素A,B,C,D,E,F,5,4,3,2, else d=5; 【1】 。 printf(“%d\n”,d);
(2)设某循环队列的容量为50,如果头指针front=45(指向队头元素的前一位 }
rear=10(指向队尾元素),则该循环队列中共有 【2】 个元素。 程序运行后的输出结果是 【7】 。
(3)设二叉树如下: (8)有以下程序
#include
main()
{ int m,n;
scanf("%d%d",&m,&n); while(m!=n) { while(m>n) m=m-n; while(m
printf(“%d\n”,m); }
程序运行后,当输入14 63 <回车> 时,输出结果是(9)有以下程序
#includemain()
{ int i,j,a[][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) for(j=i;j<3;j++) printf(“%d%,a[i][j]); 对该二叉树进行后序遍历的结果为 【3】 。 printf("\n"); (4)软件是 【4】 、数据和文档的集合。 }
5)有一个学生选课的关系,其中学生的关系模式为:学生(学号,姓名,班级, 程序运行后的输出结果是 【9】 。 (10)有以下程序 【5】 ,成绩)。 #include(6)设x为int型变量,请写出一个关系表达式 【6】 ,用以判断x同时为 main()
7的倍数时,关系表达式的值为真。 { int a[]={1,2,3,4,5,6},*k[3],i=0; (7)有以下程序 while(i<3) #include { k[i]=&a[2*i]; main() printf("%d",*k[i]); { int a=1,b=2,c=3,d=0; i++;
if(a==1) }
if(b!=2) }
if(c==3) d=1; 程序运行后的输出结果是 【10】 。 else d=2; (11)有以下程序 #include第6页,共7页
8】 。 【
main() (15)以下程序的功能是:借助指针变量找出数组元素中的最大值及其元素的 { int a[3][3]={{1,2,3},{4,5,6},{7,8,9}}; 下标值。请填空。
int b[3]={0},i; #include
for(i=0;i<3;i++) b[i]=a[i][2]+a[2][i]; main() for(i=0;i<3;i++) printf("%d",b[i]); { int a[10],*p,*s;
printf("\n"); for(p=a;p-a<10;p++) scanf("%d",p);
} for(p=a,s=a;p-a<10;p++) p="">*s) s= 【15】 ; 程序运行后的输出结果是 【11】 。 printf(“index=%d\n”,s-a);
12)有以下程序
#include
#include
void fun(char *str)
{ char temp;int n,i;
n=strlen(str);
temp=str[n-1];
for(i=n-1;i>0;i--) str[i]=str[i-1];
str[0]=temp;
}
main()
{ char s[50];
scanf("%s",s); fun(s); printf("%s\n",s);}
程序运行后输入:abcdef<回车>,则输出结果是 【12】 。
(13)以下程序的功能是:将值为三位正整数的变量x中的数值按照个位、十
#include
main()
{ int x=256;
printf("%d-%d-%d\n", 【13】 ,x/10%10,x/100);
}
(14)以下程序用以删除字符串所有的空格,请填空。
#include
main()
{ char s[100]={"Our teacher teach C language!"};int i,j;
for(i=j=0;s[i]!=’\0’;i++)
if(s[i]!= ) {s[j]=s[i];j++;}
s[j]= 【14】
printf(“%s\n”,s);
}
}
3月二级C语言笔试真题 2
1.下面对软件特点描述不正确的是()。
A.软件是一种逻辑实体,具有抽象性
B.软件开发、运行对计算机系统具有依赖性
C.软件开发涉及软件知识产权、法律及心理等社会因素
D.软件运行存在磨损和老化问题
【答案】D
【解析】软件具有以下特点:①软件具有抽象性,是一种逻辑实体;②软件没有明显的制作过程;③软件在使用期间不存在磨损、老化问题,④对硬件和环境具有依赖性;⑤软件复杂性高,成本昂贵;⑥软件开发涉及诸多的社会因素。D项描述是硬件存在的问题。答案选择D选项。
2.下面描述不属于软件特点的是()。
A.软件是一种逻辑实体,具有抽象性
B.软件在使用中不存在磨损、老化问题
C.软件复杂性高
D.软件使用不涉及知识产权
【答案】D
【解析】软件具有以下特点:①软件是一种逻辑实体,具有抽象性;②软件没有明显的制作过程,③软件在使用期间不存在磨损、老化问题;④软件对硬件和环境具有依赖性;⑤软件复杂性高,成本昂贵,⑥软件开发涉及诸多的社会因素,如知识产权等。答案选择D选项。
3.下面对软件特点描述错误的是()
A.软件没有明显的制作过程
B.软件是一种逻辑实体,不是物理实体,具有抽象性
C.软件的开发、运行对计算机系统具有依赖性
D.软件在使用中存在磨损、老化问题
【答案】D
【解析】软件的特点有:①具有抽象性,是逻辑实体;②没有明显的制作过程;③在使用期间不存在磨损、老化问题;④对硬件和环境具有依赖性;⑤复杂性高,成本昂贵;⑥开发涉及诸多的社会因素。答案选择D选项。
4.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是()。
A.编辑软件
B.操作系统
C.教务管理系统
D.浏览器
【答案】B
【解析】系统软件是控制和协调计算机及外部设备,支持应用软件开发和运行的软件,操作系统是系统软件;支撑软件是支撑各种软件的开发与维护的软件,又称为软件开发环境,浏览器属于支撑软件;应用软件是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,编辑软件、教务管理软件属于应用软件。答案选择B选项。
5.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件),下面属于应用软件的是()。
A.学生成绩管理系统
B. C语言编译程序
C. UNIX操作系统
D.数据库管理系统
【答案】A
【解析】应用软件是为解决特定领域的应用而开发的软件,如事务处理软件,工程与科学计算软件,学生成绩管理系统、教务管理系统、浏览器、编辑软件等应用性质不同的各种软件。系统软件是计算机管理自身资源,提高计算机使用效率并服务于其他程序的软件,如操作系统,编译程序,汇编程序,数据库管理系统等。支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具性软件,包括辅助和支持开发和维护应用软件的工具软件,如需求分析工具软件,设计工具软件,编码工具软件,测试工具软件,维护工具软件等。答案选择A选项。
6.数据库管理系统是()。
A.操作系统的一部分
B.在操作系统支持下的系统软件
C.一种编译系统
D.一种操作系统
【答案】B
【解析】系统软件主要包括:①操作系统软件;②各种语言的解释程序和编译程序;③各种服务性程序;④各种数据库管理系统。数据库管理系统是一种系统软件,负责数据库中的数据组织、数组操纵、数据维护、控制和保护以及数据服务等。答案选择B选项。
7.数据库管理系统是()。
A.操作系统的一部分
B.在操作系统支持下的系统软件
C.一种编译系统
D.一种通信软件系统
【答案】B
【解析】系统软件主要包括:①操作系统软件;②各种语言的解释程序和编译程序;③各种服务性程序;④各种数据库管理系统。数据库管理系统是一种系统软件,负责数据库中的'数据组织、数组操纵、数据维护、控制和保护以及数据服务等。答案选择B选项。
8.下列选项中,不属于数据管理员(DBA)职责的是()。
A.数据库维护
B.数据库设计
C.改善系统性能,提高系统效率
D.数据类型转换
【答案】D
【解析】数据库管理员对数据库进行规划、设计、维护、监视等,其主要工作有:①数据库设计,主要是对数据模式进行设计,②数据库维护,对数据库中的数据安全性、完整性、并发控制及系统恢复、数据定期转储等进行实施与维护;③改善系统性能,不断调整内部结构,提高系统效率。答案选择D选项。
9.数据库系统的核心是()。
A.数据模型
B.软件开发
C.数据库设计
D.数据库管理系统
【答案】D
【解析】数据库系统包括四个部分:数据库、数据库管理系统、数据库应用程序、数据库管理员。其中DBMS是为数据库的建立、使用和维护而配置的软件,是数据库系统的核心。答案选择D选项。
10.下列叙述中正确的是()。
A.数据库系统是一个独立的系统,不需要操作系统的支持
B.数据库技术的根本目标是要解决数据的共享问题
C.数据库管理系统就是数据库系统
D.数据库系统由数据库应用系统、数据库和数据库管理系统组成。
【答案】B
【解析】A项错误,数据库需要调用操作系统的接口,需要操作系统的支持;C项错误,数据库管理系统(DBMS)是数据库系统的核心,负责数据库中的数据组织、数据操作、数据维护、控制及保护和数据服务等;D项错误,数据库应用系统是数据库系统再加上应用软件及应用界面这三者所组成,具体包括:数据库、数据库管理系统、数据库管理员、硬件平台、软件平台、应用软件、应用界面。答案选择B选项。
【3月二级C语言笔试真题】相关文章:
C语言笔试真题参考 试题分享09-27
法国电信的C笔试真题08-03
二级C语言笔试参考解答08-27
c/c++笔试常见题10-01
二级C语言面试笔试试题10-14
联想笔试真题09-26
中兴c语言笔试题09-25
基础C++/C语言笔试题分享06-03
瑞星公司笔试真题10-06