全国计算机等级考试二级C语言笔试模拟试题_第1页
全国计算机等级考试二级C语言笔试模拟试题_第2页
全国计算机等级考试二级C语言笔试模拟试题_第3页
全国计算机等级考试二级C语言笔试模拟试题_第4页
全国计算机等级考试二级C语言笔试模拟试题_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、全国计算机等级考试二级C语言笔试模拟试题(7)总分:100分 及格:60分 考试时间:120分每小题1分,共40分(1)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A. e3,e1,e4,e2B. e4,e3,e2,e1C. e3,e4,e1,e2D. 任意顺序(2)下列关于标识符的说法中错误的是A. 合法的标识符是由字母、数字和下划线组成B. C语言的标识符中,大写字母和小写字母被认为是两个不同的字符C. C语言的标识符可以分为三类,即关键字、预定义标识符和用户标识符D. 用户标识符与关键字不同时,程序在执行时将给出出错信息(3)下列常量中,为不合法的实型常量表示的是A. .00

2、32B. 0.0C. 0.3242E8D. .E3(4)字符型数据在机器中是用ASCII码表示的,字符5和7在机器中表示为A. 和B. 和C. 和D. 和(5)以下说法错误的是A. 一个算法应包含有限个步骤B. 在计算机上实现的算法是用来处理数据对象的C. 算法中指定的操作,不能通过已经实现的基本运算执行有限次后实现D. 算法的目的是为了求解(6)下列程序执行后的输出结果是 main() int a33, *p,i; p=&a00; for(i=1; i<9; i+)pi=i+1; printf(%dn,a12);A. 3B. 6C. 9D. 随机数(7)在数据管理技术的发展过程

3、中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是A. 数据库系统B. 文件系统C. 人工管理D. 数据项管理(8)下列程序执行后的输出结果是 void func(int *a,int b) b0=*a+6; main() int a,b5; a=0; b0=3; func(&a,b); printf(%dn,b0); A. 6B. 7C. 8D. 9(9)数据处理的最小单位是A. 数据B. 数据元素C. 数据项D. 数据结构(10)数据库系统的核心是A. 数据库B. 数据库管理系统C. 模拟模型D. 软件工程(11)下列关于C语言数据文件的叙述中正确的是

4、A. 文件由ASCII码字符序列组成,C语言只能读写文本文件B. 文件由二进制数据序列组成,C语言只能读写二进制文件C. 文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D. 文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件(12)下面程序的文件名为t.exe,在DOS下输入的命令行参数如下:t to meet me<回车> 则程序输出的结果是 #include stdio.h main(argc,argv) int argc;char *argv; int i; printf(%dn,argc);A. 3B. 4C. 2D. 以上答案都不正确(13)

5、在单链表中,增加头结点的目的是A. 方便运算的实现B. 使单链表至少有一个结点C. 标识表结点中首结点的位置D. 说明单链表是线性表的链式存储实现(14)以下程序的输出结果是 main() int x=1,y=3; printf(%d,x+); int x=0;x+=y*2; printf(%d,%d, ,x,y); printf(%d,%dn,x,y); A. 1,6,3,1,3B. 1,6,3,6,3C. 1,6,3,2,3D. 1,7,3,2,3(15)在计算机中,算法是指A. 加工方法B. 解题方案的准确而完整的描述C. 排序方法D. 查询方法(16)数据库的故障恢复一般是由A. 数据

6、流图完成的B. 数据字典完成的C. DBA完成的D. PAD图完成的(17)有如下定义 struct personchar name9;int age; struct person class10=John,17,paul,19,Mary,18,Adam,16,; 根据上述定义,能输出字母M的语句是A. printf(%cn,);B. printf(%cn,1);C. printf(%cn,1);D. printf(%cn,0);(18)请选出可用作C语言用户标识符的是A. void,define,WORD

7、B. a3_b3,_123,IFC. FOR,-abc,CaseD. 2a,Do,Sizeof(19)下列语句中,错误的是(x,y,a,b假设已经定义好)A. while(x=y)5;B. dox+while(x=10);C. while(0);D. do2;while(a=b);(20)以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(21)若有以下调用语句,则不正确的

8、fun函数的首部是 main() int a50,n; fun(n, &a9); A. voidfun(intm,intx)B. voidfun(ints,inth41)C. voidfun(intp,int*s)D. voidfun(intn,inta)(22)下列叙述中,不属于软件需求规格说明书的作用的是A. 便于用户、开发人员进行理解和交流B. 反映出用户问题的结构,可以作为软件开发工作的基础和依据C. 作为确认测试和验收的依据D. 便于开发人员进行需求分析(23)栈通常采用的两种存储结构是A. 线性存储结构和链表存储结构B. 散列方式和索引方式C. 链表存储结构和数组D. 线性

9、存储结构和非线性存储结构(24)若运行以下程序时,从键盘输入 ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果是#include <stdio.h> main() char c; int v0=1,v1=0,v2=0; doswitch(c=getchar() case a:case A: case e:case E: case i:case I: case o:case O: case u:case U:v1+=1; default:v0+=1;v2+=1; while(c!=n); printf( v0=%d,v1=%d,v2=%

10、dn,v0,v1,v2);A. v0=7,v1=4,v2=7B. v0=8,v1=4,v2=8C. v0=11,v1=4,v2=11D. v0=13,v1=4,v2=12(25)下面函数的功能是将指针t2所指向的线性链表,链接到t1所指向的链表的末端。假定t1所指向的链表非空 struct node float x;struct node *next; connect(struct node *t1, struct node *t2) if(t1->next=NULL)t1->next=t2; else connect(_ ,t2); 要实现此功能则应该添入的选项是A. t1.ne

11、xtB. +t1.nextC. t1->nextD. +t1->next(26)已定义以下函数 fun(char *p2, char *p1) while(*p2=*p1)!=0)p1+;p2+; 函数的功能是A. 将p1所指字符串复制到p2所指内存空间B. 将p1所指字符串的地址赋给指针p2C. 对p1和p2两个指针所指字符串进行比较D. 检查p1和p2两个指针所指字符串中是否有0(27)一个关系中属性个数为1时,称此关系为A. 对应关系B. 单一关系C. 一元关系D. 二元关系(28)年龄在1825之间这种约束是属于数据库当中的A. 原子性措施B. 一致性措施C. 完整性措施D

12、. 安全性措施(29)现有如下程序段 #include stdio.h int *fun(int *a,int *b) int c; c=*a%*b; return &c; main() int a=5,b=19,*c; c=fun(&a,&b); printf(%dn,+*c); 则程序段执行后的结果为A. 8B. 7C. 6D. 5(30)下列数据中,不合法的C语言实型数据的是A. 0.123B. 123e3C. 2.1e3.5D. 789.0(31)若int k=8;则执行下列程序后,变量k的正确结果是A. 12B. 11C. 10D. 9(32)有以下程序 in

13、t f(int n) if(n=1)return 1; else return f(n-1)+1; main() int i,j=0; for(i=1;i<3;i+)j+=f(i); printf(%dn,j); 程序运行后的输出结果是A. 4B. 3C. 2D. 1(33)下列关于复合语句和空语句的说法错误的是A. 复合语句是由开头,由结尾的B. 复合语句在语法上视为一条语句C. 复合语句内,可以有执行语句,不可以有定义语句部分D. C程序中的所有语句都必须由一个分号作为结束(34)下列程序的输出结果是 #include stdio.h #define N 3 #define M 3

14、void fun(int aMN) printf(%dn,*(a1+2); main() int aMN; int i,j; for(i=0;i<M;i+) for(j=0;j<N;j+) aij=i+j-(i-j); fun(a);A. 3B. 4C. 5D. 6(35)有以下程序: #include <stdio.h> union pw int i; char ch2;a; ? main() ? a.ch0=13;a.ch1=0;printf( %dn,a.i); 程序的输出结果是A. 13B. 14C. 208D. 209每小题2分,共20分(1)有以下程序 #d

15、efine F(X,Y)(X)*(Y) main() int a=3, b=4; printf(%dn, F(a+, b+); 程序运行后的输出结果是A. 12B. 15C. 16D. 20(2)以下程序的输出结果是 void reverse(int a,int n) int i,t; for(i=0;iN t=ai; ai=an-1-i;an-1-i=t; main() int b10=1,2,3,4,5,6,7,8,9,10; int i,s=0; reverse(b,8); for(i=6;i<10;i+)s+=bi; printf( %dn ,s); A. 22B. 10C. 3

16、4D. 30(3)已知:char a15,b15=I love china;则在程序中能将字符串I love china赋给数组a的正确语句是A. a=Ilovechina;B. strcpy(b,a);C. a=b;D. strcpy(a,b);(4)以下叙述中正确的是A. 构成C程序的基本单位是函数B. 可以在一个函数中定义另一个函数C. main()函数必须放在其他函数之前D. 所有被调用的函数一定要在调用之前进行定义(5)软件开发的结构化生命周期方法将软件生命周期划分成A. 定义、开发、运行维护B. 设计阶段、编程阶段、测试阶段C. 总体设计、详细设计、编程调试D. 需求分析、功能定义

17、、系统设计(6)现有如下程序段 #include stdio.h int aa(int x,int y); main() int a=24,b=16,c; c=aa(a,b); printf(%dn,c); int aa(int x,int y) int w; while(y) w=x%y; x=y; y=w; return x; 则程序段的输出结果是A. 8B. 7C. 6D. 5(7)若有说明语句 char a=It is mine; char *p=It is mine; 则以下不正确的叙述是A. a+1表示的是字符t的地址B. p指向另外的字符串时,字符串的长度不受限制C. p变量中存

18、放的地址值可以改变D. a中只能存放10个字符(8)下列程序的运行结果是 void fun(int *a, int *b) int *k; k=a; a=b; b=k; main() int a=3, b=6, *x=&a, *y=&b; fun(x,y); printf(%d %d, a, b); A. 63B. 36C. 编译出错D. 00(9)下列有关数据库的描述,正确的是A. 数据库是一个DBF文件B. 数据库是一个关系C. 数据库是一个结构化的数据集合D. 数据库是一组文件(10)下列程序的输出结果是 #include stdio.h #defineM(x,y)x%y

19、 main() int a,m=12,n=100; a=M(n,m); printf(%dn,a-);A. 2B. 3C. 4D. 5每空2分,共40分(1)软件维护活动包括以下几类:改正性维护、适应性维护、 【3】 维护和预防性维护。(2)以下程序的输出结果是 【7】 。 #include stdio.h main() int a=065; printf( %dn,-a); (3)常用的黑箱测试有等价分类法、 【1】 、因果图法和错误推测法4种。(4)阅读下面语句,则执行后的输出结果为 【8】 #include stdio.h main() char a,b; for(a=0,b=9;a &

20、lt;b;a+,b-) printf( %c%c,a,b); printf(n);(5)以下程序的输出结果是()。 main() int a=0; a+=(a=8); printf(%dn,a);(6)在内存中,存储字符x要占用1个字节,存储字符串X要占用【11】个字节。(7)数据库保护分为:安全性控制、 【5】 、并发性控制和数据的恢复。(8)用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。 st=(char*)【19】 ; 考生答案: 1.()(9)设有如下宏定义 #define MYSWAP(z,x,y) z=x;x=y;y=z; 以下程序段通过

21、宏调用实现变量a,b内容交换,请填空。 float a=5,b=16,c; MYSWAP(),a,b);(10)函数fun的功能是:根据以下公式求p的值,结果由函数值返回。m与n为两个正数且要求m>n。 例如:m=12,n=8时,运行结果应该是495.。请在题目的空白处填写适当的程序语句,将该程序补充完整。 #include #include float fun (int m, int n) int i; double p=1.0; for(i=1;i<=m;i+)(); for(i=1;i<=n;i+)(); for(i=1;i<=m-n;i+)p=p/i; retu

22、rn p; main () clrscr(); printf (p=%fn,fun (12,8);(11)#include <conio.h> #include <stdio.h> int fun(int *s, int t, int *k) int i; *k=0; 【15】 if(s*k<si)*k=i; return【16】; main() int a10= 876,675,896,101,301,401,980,431,451,777,k; clrscr(); fun(a, 10, &k); printf(%d, %dn , k, ak); (12

23、)以下程序可把输入的十进制数以十六进制数的形式输出,请填空。 main() char b17=ABCDEF; int c64,d,i=0,base=16; long n; printf(Enter a number:n);scanf(%ld,&n); doci=【17】;i+;n=n/base; while(n!=0); printf(Transmite new base:n); for(-i;i>=0;-i) d=ci;printf(%c,b【18】); printf(n); (13)下面的函数fun的功能是将形参x的值转换成二进制数,所得二进制数的每一位放在一维数组中返回,二

24、进制的最低位放在下标为0的元素中,其他依次类推,请填空。 fun(int x,int b) int k=0,r; do r=x% 【14】 ; b 【15】 =r; x/= 【16】 ; while(x); (14)以下程序的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 例如,若一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10 删除后,数组中的内容应该是: 2 3 4 5 6 7 8 9 10。 请填空。 #include #define N 80 int fun(in

25、t a, int n) int i,j=1; for(i=1;i if(aj-1【19】ai) aj+=ai; 【20】; main() int aN= 2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10, i, n=19; printf(The original data :n); for(i=0; i for(i=0; i (15)下面函数的功能是:找出一维数组元素中最大的值和它所在的下标,最大值的和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。请填空。

26、#include<stdlib.h> #include<stdio.h> void fun(int a,int n, int *max, int *d) int i; *max=a0; *d=0; for(i=0;【15】;i+) if(*max<【16】) *max=ai;*d=i; main() int i, x20, max, index, n=10; randomize(); for(i=0;i<n;i+) xi=rand()%50; printf(%4d,xi); printf(n); fun(x,n,&max,&index); printf(Max=%5d,Index=%4dn,max,index); (16)下面函数要求计算两个整数x,y之和,并通过形参返回该值,请填空。 add(int x, int y,【15】z) 【16】= x+y; (17)以下函数的功能是【18】。 float av(a, n) float a; int n; int i; float s; for(i=0, s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论