全国计算机等级考试二级C语言程序设计_第1页
全国计算机等级考试二级C语言程序设计_第2页
全国计算机等级考试二级C语言程序设计_第3页
全国计算机等级考试二级C语言程序设计_第4页
全国计算机等级考试二级C语言程序设计_第5页
免费预览已结束,剩余12页可下载查看

下载本文档

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

文档简介

1、全国计算机等级考试二级C语言程序设计一、选择题(1)(10)、( 21)(40)每题2分,(11)(20)每题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上, 答在试卷上不得分。(1)下列选项中不符合良好程序设计风格的是A)源程序要文档化B)数据说明的次序要规范化Q 避免滥用goto语句D)模块设计要保证高耦合、高内聚(2)从工程管理角度,软件设计一般分为两步完成,它们是A)概要设计与详细设计B)数据设计与接口设计Q 软件结构设计与数据设计D)过程设计与数据设计(3)下列选项中不属于软件生命周期开发阶段任务的是A )软件测试B

2、)概要设计C)软件维护D)详细设计(4)在数据库系统中,用户所见的数据模式为A )概念模式B)外模式C)内模式D)物理模式(5)数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和A)编码设计B)测试阶段C)运行阶段D)物理设计(6)设有如下三个关系表R A m nBC13SABCm13n13T卜列操作中正确的是A T=Rn SB) T= RU SQ T=RX S凌 T= R/S( 7)下列叙述中正确的是A )一个算法的空间复杂度大,则其时间复杂度也必定大B )一个算法的空间复杂度大,则其时间复杂度必定小C )一个算法的时间复杂度大,则其空间复杂度必定小D)上述三种说法都不对( 8)在长度为

3、64 的有序线性表中进行顺序查找,最坏情况下需要比较的次数为A) 63B) 64C) 6D) 7( 9)数据库技术的根本目标是要解决数据的A)存储问题B)共享问题C )安全问题D )保护问题( 10)对下列二叉树进行中序遍历的结果是A) ACBDFEG B) ACBDFGE C) ABDCGEF D) FCADBEG(11)下列叙述中错误的是A 一个C语言程序只能实现一种算法B) C 程序可以由多个程序文件组成C) C 程序可以由一个或多个函数组成D) 一个C函数可以单独作为一个C程序文件存在( 12)下列叙述中正确的是A每个C程序文件中都必须要有一个main()函数B)在C程序中main()

4、函数的位置是固定的C) C 程序中所有函数之间都可以相互调用,与函数所在位置无关D)在C程序的函数中不能定义另一个函数( 13)下列定义变量的语句中错误的是A) int _int;B) double int_;C ) char For;D ) float US$;(14)若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是A) +x,y=x-B) x+1=yC ) x=x+10=x+y D ) double(x)/10( 15)以下关于逻辑运算符两侧运算对象的叙述中正确的是A)只能是整数0或1B )只能是整数0或非0整数C)可以是结构体类型的数据D )可以是任意合法的表达式( 16)若有

5、定义int x,y; 并已正确给变量赋值,则以下选项中与表达式(x-y)(x+) : (y+) 中的条件表达式(x-y) 等价的是A) (x-y>0)B) (x-y<0)17)有以下程序main() int x, y, z;x=y=1;C ) (x-y<0|x-y>0) D) (x-y=0)z=x+,y+,+y;printf("%d,%d,%dn",x,y,z);程序运行后的输出结果是A) 2,3,3B) 2,3,2( 18)设有定义:int a; float b;a和b的值分别是C ) 2,3,1D) 2,2,1执行 scanf("%2d

6、%f",&a,&b); 语句时, 若从键盘输入876 < 回车 >,A) 876 和B ) 87 和C) 87 和D ) 76 和19)有以下程序main()A) a+b=10B) a+b=30C) 30(20)在嵌套使用if语句时,C语言规定else总是/* int a=0, b=0;a=10;/*b=20;printf("a+b=%dn",a+b);程序运行后的输出结果是给 a 赋值给 b 赋值 */输出计算结果*/D )出错A和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配

7、对D)和之前的第一个if配对21)下列叙述中正确的是A) break 语句只能用于switch 语句B)在switch语句中必须使用 defaultC) break 语句必须与switch 语句中的 case 配对使用D)在switch 语句中,不一定使用break语句22)有以下程序main() int k=5;while(-k) printf("%d",k -= 3);printf("n");执行后的输出结果是A) 1B) 2C) 4D )死循环 ( 23)有以下程序main() int i;for(i=1; i<=40; i+) if(i+%

8、5=0)if(+i%8=0) printf("%d ",i);printf("n");执行后的输出结果是C ) 32D ) 40C ) '1' -0D) '0' - '0'A) 5B) 24( 24)以下选项中,值为 1 的表达式是A 1 - 'O'B ) 1 - ''0'( 25)有以下程序fun(int x, int y) return (x+y); main() int a=1, b=2, c=3, sum;sum=fun(a+,b+,a+b),c+);prin

9、tf("%dn",sum);执行后的输出结果是A) 6B) 7C ) 8D ) 926)有以下程序main() char s="abcde"s+=2;printf("%dn",s0);执行后的结果是B)输出字符c的ASCII码D)程序出错A输出字符a的ASCII码C)输出字符c( 27)有以下程序fun(int x, int y) static int m=0, i=2;i+=m+1; m=i+x+y; return m;main() int j=1, m=1, k;k=fun(j,m); printf("%d,"

10、,k);k=fun(j,m); printf("%dn",k);执行后的输出结果是A) 5, 5B) 5, 11C) 11, 11D) 11, 528)有以下程序fun(int x) int p;if(x=0|x=1) return(3);p=x-fun(x-2);return p;main() printf("%dn",fun(7); 执行后的输出结果是A) 7B) 3C) 2D) 0p+; 后,下列说法错误的是29)在 16位编译系统上,若有定义int a=10,20,30, *p=&a;B) p 向高地址移了一个存储单元D) p 与 a+1

11、 等价A) p 向高地址移了一个字节C) p 向高地址移了两个字节30)有以下程序main() int a=1, b=3, c=5;int *p1=&a, *p2=&b, *p=&c;*p =*p1*(*p2);printf("%dn",c);执行后的输出结果是A) 1B) 2C) 3D) 431)若有定义: int w35;,则以下不能正确表示该数组元素的表达式是A) *(*w+3) B) *(w+1)4( 32)若有以下函数首部int fun(double x10, int *n)则下面针对此函数的函数声明语句中正确的是A) int fun(do

12、uble x, int *n);C) int fun(double *x, int n);( 33)有以下程序void change(int k ) k0=k5; main() int x10=1,2,3,4,5,6,7,8,9,10,n=0;while( n<=4 ) change( &xn) ; n+; for(n=0; n<5; n+) printf("%d ",xn);printf("n");程序运行后输出的结果是A) 6 7 8 9 10B) 1 3 5 7 9( 34)有以下程序C) *(*(w+1)D) *(&w

13、00+1)B) int fun(double , int );D) int fun(double *, int *);C) 1 2 3 4 5D) 6 2 3 4 5main() int x32=0, i;for(i=0; i<3; i+) scanf("%d",xi);printf("%3d%3d%3dn",x00,x01,x10);C) 2 4 0D) 2 4 6B) k=add(a,b);D) k=f(a,b);若运行时输入: 2 4 6< 回车>,则输出结果为A) 2 0 0B) 2 0 4( 35)有以下程序int add(

14、int a,int b) return (a+b);main() int k, (*f)(), a=5,b=10;f=add;则以下函数调用语句错误的是A) k=(*f)(a,b);C) k= *f(a,b);( 36)有以下程序#includemain( int argc, char *argv ) int i=1,n=0;while (iprintf("%dn",n);该程序生成的可执行文件名为:。若运行时输入命令行:proc 123 45 67则程序的输出结果是A) 3B) 5C) 7D) 1137)有以下程序# include# define N 5# define

15、 M N+1# define f(x) (x*M)main()# int i1, i2;11 = f(2) ;12 = f(1+1) ;printf("%d %dn", i1, i2);程序的运行结果是A) 12 12B) 11 7C) 11 11D) 12 7( 38)有以下结构体说明、变量定义和赋值语句struct STD char name10;int age;char sex; s5,*ps;ps=&s0;则以下 scanf 函数调用语句中错误引用结构体变量成员的是A) scanf("%s",);B ) scanf(&quo

16、t;%d",&s0.age);C) scanf("%c",&(ps->sex);D ) scanf("%d",ps->age);( 39)若有以下定义和语句union data int i; char c; float f; x;int y;则以下语句正确的是A) x=;B) =101;C) y=x;D) printf("%dn",x);( 40)有以下程序#includemain() FILE *fp; int i;char ch="abcd",t;fp=fopen(&quo

17、t;","wb+");for(i=0; i<4; i+) fwrite(&chi,1,1,fp);fseek(fp,-2L,SEEK_END);fread(&t,1,1,fp);fclose(fp);printf("%cn",t);程序执行后的输出结果是A) dB) cC) bD) a二、填空题(每空2 分,共 30 分)请将每一个空的正确答案写在答题卡【 1】至【 15 】序号的横线上,答在试卷上不得分。1)下列软件系统结构图的宽度为 【1】。(2) 【2】的任务是诊断和改正程序中的错误。(3) 一个关系表的行称为【3】

18、。(4)按“先进后出”原则组织数据的数据结构是【4】。(5)数据结构分为线性结构和非线性结构,带链的队列属于【5】。(6)设有定义:float x=;,则执行以下语句后的输出结果是6】。printf("%fn",(int)(x*100+/;(7)以下程序运行后的输出结果是7】。main() int m=011,n=11;printf("%d %dn”,+m, n+);(8)以下程序运行后的输出结果是8】。main() int x,a=1,b=2,c=3,d=4;x=(a x=(x x=(d>x) x : d;printf("%dn",x)

19、;(9)有以下程序,若运行时从键盘输入:18,11回车,则程序的输出结果是9】main() int a,b;printf("Enter a,b:"); scanf("%d,%d",&a,&b);while(a!=b) while(a>b) a -= b;while(b>a) b -= a;printf("%3d%3dn",a,b);(10)以下程序的功能是:将输入的正整数按逆序输出。例如:若输入 135则输出531。请填空。 #includemain() int n,s;printf("Enter

20、 a number : "); scanf("%d",&n);printf("Output:");do s=n%10; printf("%d",s);【10;while(n!=0);printf("n");(11)以下程序中,函数 fun的功能是计算x2-2x+6,主函数中将调用fun函数计算:y1=(x+8) 2-2 (x+8)+6y2=sin 2(x)-2sin(x)+6请填空。#include ""double fun(double x) return (x*x-2*x+6); main

温馨提示

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

评论

0/150

提交评论