文档库 最新最全的文档下载
当前位置:文档库 › 全国计算机等级考试二级笔试样卷C语言程序设计(含答案)

全国计算机等级考试二级笔试样卷C语言程序设计(含答案)

全国计算机等级考试二级笔试样卷C语言程序设计(含答案)
全国计算机等级考试二级笔试样卷C语言程序设计(含答案)

全国计算机等级考试二级笔试样卷C语言程序设计

【打印】【字体:大中小】【关闭】

一、选择题((1)~(10)、(21)~(40)每题2分,(11)~(20)每题2分,共70分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)下列选项中不符合良好程序设计风格的是

A)源程序要文档化B)数据说明的次序要规范化

C)避免滥用goto语句D)模块设计要保证高耦合、高内聚

(2)从工程管理角度,软件设计一般分为两步完成,它们是

A)概要设计与详细设计B)数据设计与接口设计

C)软件结构设计与数据设计 D)过程设计与数据设计

(3)下列选项中不属于软件生命周期开发阶段任务的是

A)软件测试B)概要设计 C)软件维护 D)详细设计

(4)在数据库系统中,用户所见的数据模式为

A)概念模式B)外模式C)内模式D)物理模式

(5)数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和A)编码设计B)测试阶段C)运行阶段 D)物理设计

(6)设有如下三个关系表

R S T

下列操作中正确的是

A)T=R∩S B)T=R∪S

C)T=R×S D)T=R/S

(7)下列叙述中正确的是

A)一个算法的空间复杂度大,则其时间复杂度也必定大

B)一个算法的空间复杂度大,则其时间复杂度必定小

C)一个算法的时间复杂度大,则其空间复杂度必定小

D)上述三种说法都不对

(8)在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为A)63 B)64 C)6 D)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()函数的位置是固定的

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=y C)x=x+10=x+y D)double(x)/10

(15)以下关于逻辑运算符两侧运算对象的叙述中正确的是

A)只能是整数0或1 B)只能是整数0或非0整数

C)可以是结构体类型的数据 D)可以是任意合法的表达式

(16)若有定义int x,y; 并已正确给变量赋值,则以下选项中与表达式(x-y)?(x+

+) : (y++)中的条件表达式(x-y) 等价的是

A)(x-y>0) B)(x-y<0) C)(x-y<0||x-y>0) D)(x-y==0)

(17)有以下程序

main()

{ int x, y, z;

x=y=1;

z=x++,y++,++y;

printf("%d,%d,%d\n",x,y,z);

}

程序运行后的输出结果是

A)2,3,3 B)2,3,2 C)2,3,1 D)2,2,1

(18)设有定义:int a; float b; 执行 scanf("%2d%f",&a,&b); 语句时,若从键盘输入876 543.0<回车>,a和b的值分别是

A)876和543.000000 B)87和6.000000

C)87和543.000000 D)76和543.000000

(19)有以下程序

main()

{ int a=0, b=0;

a=10; /* 给a赋值

b=20; 给b赋值 */

printf("a+b=%d\n",a+b); /* 输出计算结果 */

}

程序运行后的输出结果是

A)a+b=10 B)a+b=30 C)30 D)出错

(20)在嵌套使用if语句时,C语言规定else总是A)和之前与其具有相同缩进位置的if配对

B)和之前与其最近的if配对

C)和之前与其最近的且不带else的if配对

D)和之前的第一个if配对

(21)下列叙述中正确的是

A)break语句只能用于switch语句

B)在switch语句中必须使用default

C)break语句必须与switch语句中的case配对使用D)在switch语句中,不一定使用break语句

(22)有以下程序

main()

{ int k=5;

while(--k) printf("%d",k -= 3);

printf("\n");

}

执行后的输出结果是

A)1 B)2 C)4 D)死循环

(23)有以下程序

main()

{ int i;

for(i=1; i<=40; i++)

{ if(i++%5==0)

if(++i%8==0) printf("%d ",i);

}

printf("\n");

}

执行后的输出结果是

A)5 B)24 C)32 D)40

(24)以下选项中,值为1的表达式是

A)1 –'0' B)1 - '\0' C)'1' -0 D)'\0' - '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++);

printf("%d\n",sum);

}

执行后的输出结果是

A)6 B)7 C)8 D)9

(26)有以下程序

main()

{ char s[]="abcde";

s+=2;

printf("%d\n",s[0]);

}

执行后的结果是

A)输出字符a的ASCII码B)输出字符c的ASCII码C)输出字符c D)程序出错

(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,",k);

k=fun(j,m); printf("%d\n",k);

}

执行后的输出结果是

A)5, 5 B)5, 11 C)11, 11 D)11, 5

(28)有以下程序

fun(int x)

{ int p;

if(x==0||x==1) return(3);

p=x-fun(x-2);

return p;

}

main()

{ printf("%d\n",fun(7)); }

执行后的输出结果是

A)7 B)3 C)2 D)0

(29)在16位编译系统上,若有定义int a[]={10,20,30}, *p=&a;,当执行p++;后,下列说法错误的是

A)p向高地址移了一个字节B)p向高地址移了一个存储单元

C)p向高地址移了两个字节D)p与a+1等价

(30)有以下程序

main()

{ int a=1, b=3, c=5;

int *p1=&a, *p2=&b, *p=&c;

*p =*p1*(*p2);

printf("%d\n",c);

}

执行后的输出结果是

A)1 B)2 C)3 D)4

(31)若有定义:int w[3][5]; ,则以下不能正确表示该数组元素的表达式是A)*(*w+3) B)*(w+1)[4] C)*(*(w+1)) D)*(&w[0][0]+1)

(32)若有以下函数首部

int fun(double x[10], int *n)

则下面针对此函数的函数声明语句中正确的是

A)int fun(double x, int *n); B)int fun(double , int );

C)int fun(double *x, int n); D)int fun(double *, int *);

(33)有以下程序

void change(int k[ ]){ k[0]=k[5]; }

main()

{ int x[10]={1,2,3,4,5,6,7,8,9,10},n=0;

while( n<=4 ) { change( &x[n]) ; n++; }

for(n=0; n<5; n++) printf("%d ",x[n]);

printf("\n");

}

程序运行后输出的结果是

A)6 7 8 9 10 B)1 3 5 7 9 C)1 2 3 4 5 D)6 2 3 4 5

(34)有以下程序

main()

{ int x[3][2]={0}, i;

for(i=0; i<3; i++) scanf("%d",x[i]);

printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]);

}

若运行时输入:2 4 6<回车>,则输出结果为

A)2 0 0 B)2 0 4 C)2 4 0 D)2 4 6

(35)有以下程序

int add( int a,int b){ return (a+b); }

main()

{ int k, (*f)(), a=5,b=10;

f=add;

}

则以下函数调用语句错误的是

A)k=(*f)(a,b); B)k=add(a,b);

C)k= *f(a,b); D)k=f(a,b);

(36)有以下程序

#include

main( int argc, char *argv[ ])

{ int i=1,n=0;

while (i

printf("%d\n",n);

}

该程序生成的可执行文件名为:proc.exe。若运行时输入命令行:proc 123 45 67

则程序的输出结果是

A)3 B)5 C)7 D)11

(37)有以下程序

# include

# define N 5

# define M N+1

# define f(x) (x*M)

main()

{ int i1, i2;

i1 = f(2) ;

i2 = f(1+1) ;

printf("%d %d\n", i1, i2);

}

程序的运行结果是

A)12 12 B)11 7 C)11 11 D)12 7

(38)有以下结构体说明、变量定义和赋值语句

struct STD

{ char name[10];

int age;

char sex;

} s[5],*ps;

ps=&s[0];

则以下scanf函数调用语句中错误引用结构体变量成员的是

A)scanf("%s",s[0].name); B)scanf("%d",&s[0].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=10.5; B)x.c=101; C)y=x; D)printf("%d\n",x);

(40)有以下程序

#include

main()

{ FILE *fp; int i;

char ch[]="abcd",t;

fp=fopen("abc.dat","wb+");

for(i=0; i<4; i++) fwrite(&ch[i],1,1,fp);

fseek(fp,-2L,SEEK_END);

fread(&t,1,1,fp);

fclose(fp);

printf("%c\n",t);

}

程序执行后的输出结果是

A)d B)c C)b D)a

二、填空题(每空2分,共30分)

请将每一个空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

C语言程序设计模拟试题1(附答案)

《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。 x = 9; while (x > 7)

历年二级C语言笔试真题及答案

1 2009年9月全国计算机等级考试二级笔试 试卷 1)下列数据结构中,属于非线性结构的是 A )循环队列 B) 带链队列 C) 二叉树 D )带链栈 2)下列数据结果中,能够按照“先进后出”原则存取数据的是 A) 循环队列 B) 栈 C)队列 D)二叉树 3)对于循环队列,下列叙述中正确的是 A )队头指针是固定不变的 B )队头指针一定大于队尾指针 C )队头指针一定小于队尾指针 D )队头指针可以大于队尾指针,也可以小于队尾指针 4)算法的空间复杂度是指 A )算法在执行过程中所需要的计算机存储空间 B )算法所处理的数据量 C )算法程序中的语句或指令条数 D )算法在执行过程中所需要的临时工作单元数 5)软件设计中划分模块的一个准则是 A) 低内聚低耦合 B) 高内聚低耦合 C) 低内聚高耦合 D) 高内聚高耦合 6)下列选项中不属于结构化程序设计原则的是 A) 可封装 B) 自顶向下 C) 模块化 D) 逐步求精 7)软件详细设计产生的图如下: 该图是 A) N-S 图 B) PAD 图 C) 程序流程图 D) E-R 图 8)数据库管理系统是 A )操作系统的一部分B) 在操作系统支持下的系统软件C) 一种编译系统 D) 一种操作系统 9)在E-R 图中,用来表示实体联系的图形是 A) 椭圆图B) 矩形C) 菱形D) 三角形 10)有三个关系R ,S 和T 如下: 其中关系T 由关系R 和S 通过某种操作得到,该操作为 A) 选择 B) 投影 C) 交 D) 并 11)以下叙述中正确的是 A )程序设计的任务就是编写程序代码并上机 B )程序设计的任务就是确定所用数据结 构 C )程序设计的任务就是确定所用算法 D )以上三种说法都不完整 12)以下选项中,能用作用户标识符的是 A )void B )8_8 C )_0_ D )unsigned 13)阅读以下程序 #include main() { int case; float printF; printf(“请输入2个数:”); scanf(“%d %f”,&case,&pjrintF); printf(“%d %f \n”,case,printF); } 该程序编译时产生错误,其出错原因是 A )定义语句出错,case 是关键字,不能 用作用户自定义标识符B )定义语句出错,printF 不能用作用户自定义标识符 C )定义语句无错,scanf 不能作为输入函 数使用 D )定义语句无错,printf 不能输出case 的值 14)表达式:(int)((double)9/2)-(9)%2的值是 A )0 B )3 C )4 D )5 15)若有定义语句:int x=10;,则表达式 x-=x+x 的值为 A )-20 B )-10 C )0 D )10 16)有以下程序 #include main() { int a=1,b=0; printf(“%d,”,b=a+b); printf(“%d \n”,a=2*b); } 程序运行后的输出结果是 A )0,0 B )1,0 C )3,2 D )1,2 17)设有定义:int a=1,b=2,c=3;,以下语 句中执行效果与其它三个不同的是 A )if(a>b) c=a,a=b,b=c; B )if(a>b) {c=a,a=b,b=c;} C ) if(a>b) c=a;a=b;b=c; D ) if(a>b) {c=a;a=b;b =c;} 18)有以下程序 #include main() { int c=0,k; for (k=1;k<3;k++) switch (k) {default: c+=k case 2: c++;break; case 4: c+=2;break; } printf(“%d \n”,c); } 程序运行后的输出结果是 A )3 B )5 C )7 D )9 19)以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是 A )if((a>b)&&(b>c)) k=1;else k=0; B )if((a>b)||(b>c) k=1;else k=0; C )if(a<=b) k=0;else if(b<=c) k=1; D )if(a>b) k=1;else if(b>c) k=1; else k=0; 20)有以下程序 #include main() { char s[]={“012xy”};int i,n=0; for(i=0;s[i]!=0;i++) if(s[i]>=?a?&&s[i]<=?z?) n++; printf(“%d \n”,n); } 程序运行后的输出结果是 A )0 B )2 C )3 D )5 21)有以下程序 #include main() { int n=2,k=0; while(k++&&n++>2); printf(“%d %d \n”,k,n); } 程序运行后的输出结果是 A )0 2 B )1 3 C )5 7 D )1 2 22)有以下定义语句,编译时会出现编译错误的是 A )char a=?a? B )char a=?\n?; C )char a=?aa?; D )char a=?\x2d?; 23)有以下程序 #include main() { char c1,c2; c1=?A?+?8?-…4?; c2=?A?+?8?-…5?; printf(“%c,%d \n”,c1,c2); } 已知字母A 的ASCII 码为65,程序运行后的输出结果是

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

C语言程序设计 复习题库

一、填空 1. break 语句通常用于switch // 循环中。 2. C 语言对数组下标的引用一般从0 开始。 3. C 语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。 4. C 标准库函数中,字符串的处理函数包含在string.h 头文件中,数学函数包含在 math.h 头文件中。 5. C 程序的运行需要经过编译和链接两步进行。 6. C 程序中用/**/ 括起来的内容是程序的注释语句。 7. C 语言函数是由函数首部和函数体两部分组成。其中,函数首部包括函数类型、函数 名和函数参数。 8. C 语言提供的三种逻辑运算符是& ,// ,!。 9. C 语言源程序经过编译后,生成文件的后缀名是.c 。 10. C 语言源程序经过连接后,生成文件的后缀名是.exe 。 11. C 语言中,关系表达式和逻辑表达式的值是1//0 。 12. C 语言中的标识符只能由三种字符组成,他们是字母,数字,下划线。 13. C 语言中的每条基本语句以;作为结束符,每条复合语句以} 作为结束符。 14. C 语言中函数返回值的类型是由函数类型决定的。 15. C 源程序的基本单位是函数。 16. int a = 2, b = 3; 表达式 a > b ? a ++ : ++ b 的值为 4 。 17. int x=1,y=1,z=1; x+=y+=z; 则表达式xb>c 的值是0 。 19. 定义一个指针p,它指向一个有 6 个整型元素的一维数组,定义语句为int *p=a[6] ; 。 20. 定义一个指针数组p ,它有 4 个元素,每个指针指向一个整型数据,定义语句为int *p[4]; 。 21. 赋值语句是由= 加上一个分号构成。 22. 构成数组的各个元素必须具有相同的类型。 23. 关系表达式x+y>5 的相反表达式为x+y !>5 。 24. 函数strlen("1234\0xy") 的值为:9 。 25. 函数的形参在未被调用前不分配空间,函数形参的数据类型要和实参相同。 26. 函数体用{ 开始,用} 结束。 27. 结构化设计中的三种基本结构是顺序,选择,循环。

C语言程序设计模拟试题A附答案

《C语言程序设计》模拟试卷A 一、单项选择题(每题2分,共20分) 1、下列有关C语言的叙述中错误的就是(D)。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被瞧作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的就是(C)。 A) MAIN B) _HJ C) 2ong D) LINE1 3、以下能正确定义一维数组的就是(C)。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 4、执行下列程序段后输出的结果就是(C)。 x = 9; while (x > 7) { printf(“*”); x- -; } A) **** B) *** C) ** D) * 5、设char str1[10] = “ABCDE”, str2[10] = “xyz”; 则执行语句 printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果就是(D)。 解析: strcpy(str1,str2); 后,str1[] 里就是"XYZ", Z 后面有字符串结束符 strcpy(str1,str2); 执行后,函数返回的就是str1, 因为str1[] 里就是新值"XYZ", 而 strlen(strcpy(str1,str2)) 就就是strlen(str1的新值),所以得3。 strlen 统计到字符串结束符以前,即,不计入字符串结束符。 A) 9 B) 8 C) 5 D) 3 6、若用数组名作为函数调用的实参,则传递给形参的就是(A)。

全国计算机二级C语言笔试试题及答案

2010年9月全国计算机二级C语言笔试试题及答案 一、选择题((1)-(10),(21)-(40)每题2分,(11)-(20)每题1分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。 1. 下列叙述中正确的是 A 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 B 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 D 上述三种说法都不对 答案:B 2. 下列叙述中正确的是 A 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化 B 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 C 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 D 上述三种说法都不对 答案:C 3. 软件测试的目的是 A 评估软件可靠性 B 发现并改正程序中的错误 C 改正程序中的错误 D 发现程序中的错误 答案:B 4. 下面描述中,不属于软件危机表现的是 A 软件过程不规范 B 软件开发生产率低 C 软件质量难以控制 D 软件成本不断提高 答案:A 5. 软件生命周期是指 A 软件产品从提出、实现、使用维护到停止使用退役的过程 B 软件从需求分析、设计、实现到测试完成的过程 C 软件的开发过程 D 软件的运行维护过程

答案:A 6. 面向对象方法中,继承是指 A 一组对象所具有的相似性质 B 一个对象具有另一个对象的性质 C 各对象之间的共同性质 D 类之间共享属性和操作的机制 答案:D 7. 层次型、网状型和关系型数据库划分原则是 A 记录长度 B 文件的大小 C 联系的复杂程度 D 数据之间的联系方式 答案:D 8. 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是 A 一对一 B 一对多 C 多对多 D 多对一 答案:C 9. 数据库设计中反映用户对数据要求的模式是 A 内模式 B 概念模式 C 外模式 D 设计模式 答案:C 10. 有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是 A 自然连接 B 交 C 投影 D 并 答案:A

二级(C语言程序设计)上机题汇总

二级(C语言程序设计)上机题汇总 一、程序调试题 (一)程序填空 练习一: /*该程序功能:对x=1,2,。。。。。,10,f(x)=x*x*-5*x+sin(x)的最大值。*/ #include #include #define f(x) x*x-5*x+sin(x) void main() { int x; float max; ____ max=f(1);____ for(x=2;x<=10;x++) ___if( max void swap(__int *pa, int *pb____) { /*交换两个数的位置*/ int temp; temp = *pa; *pa = *pb; *pb = temp; } void main() { int a,b,c,temp; scanf("%d%d%d",&a,&b,&c); if(a>b) swap(&a,&b); if(b>c) swap(&b,&c); if(__a>b___) swap(&a,&b); printf("%d,%d,%d",a,b,c); } 练习三: /*该程序功能:将输入的十进制正整数n通过函数Dec2Bin转换为二进制数,并将转换结果输出。*/ #include

void Dec2Bin(int m) { int bin[32],j; for(j=0;m!=0;j++) { bin[j]= __m%2___; m=m/2; } for(;j!=0;j--) printf("%d", ____bin[j-1]_ _____ ); } void main() { int n; scanf("%d",&n); Dec2Bin(n); } 练习四: /*该程序功能:输入数组x[7],调用函数f,去除数组中的负数,输出结果为:1 3 4 6*/ #include void f(int *a,int *m) { int i,j; for(i=0;i<*m;i++) if(a[i]<0) { for(j=i--;j<*m-1;j++) a[j]=a[j+1]; ___*m=*m-1;___ } } void main() { int i,n=7,x[7]={1,-2,3,4,-5,6,-7}; _ f(x,&n);_____ for(i=0;i void main() { int i,j,s; for(i=6;i<=1000;i++) { ___s=1;___

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

江苏省二级C笔试模拟练习题(7)

江苏省高等学校非计算机专业学生 计算机基础知识和应用能力等级考试 二级C语言全真模拟试卷(7) (本试卷包括计算机基础知识部分和程序设计部分,考试时间共120分钟) 说明: 1.本试卷满分为60分,分选择题和填空题,试卷不分A、B类型。 2.选择题用答题卡答题。每一项有A、B、C、D四个可供选择的答案,请选择其中一个你认为正确的答案,用HB铅笔涂写在答题卡的相应答题号内。每选对一项得1分,不选或选错不得分。 3.填空题用答题纸答题。请将答案填写在答题纸的相应答题号内,每个答案只占一行,不得换行。每填对一个答案得1分,不填或填错不得分。 4.请认真填写并仔细核对答题卡和答题纸上的学校名称、准考证号和姓名是否填写正确。 第一部分计算机基础知识 1.现代信息技术的主要特征是以数字技术为基础,以1为核心,采用电子技术进行信息的收集、传递、加工、存储、显示与控制,它包括通信、广播、计算机、微电子、遥感遥测、自动控制、机器人等诸多领域。 A.微电子B.自动控制C.计算机D.机器人2.现代集成电路使用的半导体材料通常是2。 A.硅B.碳C.铜D.铝3.为提供线路的利用率,数据通信中常用多路复用和交换技术,下面说法中错误的是__3 。 A.多路复用技术主要有时分多路复用和频分多路复用 B.电路交换时节点之间有一条专用物理线路,通信完毕后,通信链路即被拆除 C.分组交换线路利用率较高, 适宜用于实时或交互通信方式的应用 D.目前有线电视采用频分多路复用技术在同一电缆上传输多套电视节目4.十进制数1989对应的二进制数是4。 A.11111000101 B.11000111101 C.11111100101 D.11111101001 5.当一个PC机要扩充内存时,装上内存条后却不能正常工作,产生这种现象的原因多半是5。 A.所扩内存条与主板不匹配B.操作系统不支持所扩的内存条 C.CPU可支持的存储空间已不能再扩大D.不是同一公司生产的内存条6.关于I/O接口的叙述中,正确的是12。 A.I/O接口即I/O控制器,它用来控制I/O设备的操作 B.I/O接口在物理上是一些插口,它用来连接I/O设备与主机 C.I/O接口即扩充卡(适配卡),它用来连接I/O设备与主机 D.I/O接口即I/O总线,它用来传输I/O设备的数据 7.使用一个像素为320万的数码相机时,它所拍摄的数字图像能达到的最大分辨率是7。 A.1280×960 B.1920×1440 C.2048×1536 D.2560×1920

《全国计算机等级考试二级教程——C语言程序设计》课后题及参考答案

《全国计算机等级考试二级教程——C语言程序设计》课后题及参考答案 (教育部考试中心)高等教育出版社出版 (第一章、第二章、第三章) 第一章程序设计基本概念 1.1 在TRUBO C环境中用RUN命令运行一个C程序时,所运行的程序的后缀是______。 答案:.exe 1.2 C语言源程序文件的后缀是_____,经过编译后,生成文件的后缀是_____,经过连接后,生成文件的后缀是_____。 答案:.c .obj .exe 1.3 结构化程序由_____、_____、_____三种基本结构组成。 答案:顺序、选择、循环 第二章 C程序设计的初步知识 一、选择题 2.1 以下选项中正确的整型常量是 A)12. B)-20 C)1,000 D)4 5 6 答案:B 2.2 以下选项中正确的实型常量是 A)0 B)3. 1415 C)0.329×10(2)(10的2次方)D).871 答案:D 2.3 以下选项中不正确的实型常量是 A)2.607E-1 B)0.8103e 2 C)-77.77 D)456e-2 答案:B 2.4 以下选项中不合法的用户标识符是 A)abc.c B)file C)Main D)PRINTF 答案:A 2.5 以下选项中不合法的用户标识符是 A)_123 B)printf C)A$ D)Dim 答案:C 2.6 C语言中运算对象必需是整型的运算符是 A)% B)/ C)! D)** 答案:A 2.7 可在C程序中用作用户标识符的一组标识符是 A)void define WORD B)as_b3 _123 If C)For -abc case D)2c DO SIG 答案:B 2.8 若变量已正确定义并赋值,符合C语言语法的表达式是 A)a=a+7; B)a=7+b+c,a++ C)int(12.3%4) D)a=a+7=c+b 答案:B 2.9 以下叙述中正确的是 A)a是实型变量,C允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值。 B)在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式。 C)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0。 D)已有a=3,b=5。当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3。 答案:B 2.10 以下叙述中正确的是 A)在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表示。 B)C程序由主函数组成。 C)C程序由函数组成。 D)C程序由函数和过程组成。 答案:C 2.11 TURBO C中int类型变量所占字节数是 A)1 B)2 C)3 D)4 答案:B

C语言程序设计模拟试题2(附答案)

《C语言程序设计》模拟试卷二 一、填空题。(每空2分,共30分) 1.设有变量说明语句 int x=1,y=2; 则执行下述printf语句的输出结果是___1.000000___ _____。 printf("%f\n",1.0+x/y); 2.执行下述程序 #include main() { int x,y; scanf("%2d%*2s%1d",&x,&y); printf("%d\n",x+y); } 若从键盘输入 12345671 则程序的输出结果是__17______。 3.以下程序的功能是:从键盘上输入若干名学生的成绩(百分制,可带小数,以输入负数或0为结束标志),统计并输出最高成绩和最低成绩。请填空。 #include main() {

float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while ( X>0&&X<=100 ) { if (x>amax) amax=x; else if (x

_k++ _________; d=1.0/(k*(k+1)); } while (k<=n); printf("%f\n",s); 5.执行下述程序的输出结果是_-3 -4 0 4 4 3___ ____。 #inclued main() { int a[6],i; for (i=0;i<6;i++) { a[i]=9*(i-2+4*(i>3))%5; printf("%3d",a[i]); } printf("\n"); } 6.执行下述程序时的输出结果是____6_____ ________。 #include main() { int a[]={2,4,6,},*ptr=&a[0],x=8,y,z; for (y=0;y<3;y++) z=(*(ptr+y)

二级C笔试

试题5(每小题3分,共12分) 【程序】 int f1(int n) { if(n==1) return 1 ; else return f1(n-1) + n; } int f2(int n) { switch(n){ case 1: case 2:return 1; default: return f2(n-1) + f2(n-2); } } void f3(int n) { printf(“%d”,n%10); if(n/10 !=0) f3(n/10); } void f4(int n) { if (n/10 !=0) f4(n/10); printf(“%d”, n%10); } #include main() { printf(“%d\n”,f1(4)); printf(“%d\n”,f2(4)); f3(123); printf(“\n”); f4(123); printf(“\n”); } (17) 程序运行时,第1行输出(17) 。 A、10 B、24 C、6 D、1 (18) 程序运行时,第2行输出(18) 。 A、1 B、3 C、2 D、4 (19) 程序运行时,第3行输出(19) 。 A、123 B、3 C、321 D、1 (20) 程序运行时,第4行输出(20) 。 A、1 B、123 C、3 D、321 试题6(每小题3分,共12分) #include struct num{ int a,b;}; void f(struct num s[], int n) { int index, j, k; struct num temp; for(k=0;k< n-1;k++){ index=k; for(j=k+1;j

二级C语言程序设计题

C 语言程序设计 请编写函数fun ,其功能是:找出2W 整型二维数组中最大元素的值,并将此值返回调用函 数。 int fun (int a[][M]) { int i,j,max=a[O][O]; for(i=0;i<2;i++) for(j=0;j=eps) {s1=s1* n/(2* n+1); /* s=s+s1; /* n++; } return 2*s; } /* 当某项大于精度要求时,继续求下一项 求多项式的每一项*/ 求和*/ */ 1~1000之间能被7或11整除,但不能同时被 7和11整除的所有 求出 程序运行后,若

C语言程序设计考试题库

一、判断题 1、所谓常量,就是在程序运行过程中其值可以改变的量。() 2、一个C程序可以由多个源程序文件构成,但其中只能有一个main()函数。() 3、在C语言中do-while 语句和for循环均是先执行循环体语句,再判断表达式。() 4、在函数调用中将变量的地址作为实参传递给对应形参时,实现的是单向的值传递。() 5、C语言中所有字符串都是以‘\0’结束的。() 6、do-while构成的循环语句中的循环体最少执行1次。() 7、数组名在C语言中表示的是数组的首地址。() 8、使用gets()函数输入字符串时可以在字符串中输入空格。() 9、算术运算符中‘/’的优先级高于‘%’。() 10、char a[5];该语句表明数组a中的第五个元素为a[5]。() 11、C语言源程序文件的扩展名均为.c。() 12、char a[5];数组a中有a[1]、a[2]、a[3]、a[4]、a[5]共5个元素。() 13、C语言程序区分大小写,字符常量必须定义为大写。() 14、若int i=10,j=2;则执行i*=j+8;后i的值为28。() 15、若int x=100,y=200;则语句printf("%d",(x,y));输出结果为100。() 16、c语言中的标识符只能由字母,数字和下划线三种字符组成。() 17、函数getchar()的作用是:输出一个字符。() 18、一个C语言程序总是从第一个函数开始执行。() 19、在c语言中,char型数据在内存中是以ASCII码形式存储的。() 20、在C语言中switch语句必须使用break语句。() 二、选择题 1、以下说法正确的是()。 A、C语言程序总是从第一个函数开始执行。 B、C语言程序中要调用的函数必须在main()函数中定义。 C、C语言程序总是从main()函数开始执行。

二级C语言程序设计题

C 语言程序设计 请编写函数fun ,其功能是:找出2×M 整型二维数组中最大元素的值,并将此值返回调用函 数。 int fun (int a[][M]) { int i,j,max=a[0][0]; for(i=0;i<2;i++) for(j=0;j=eps) /*当某项大于精度要求时,继续求下一项*/ {s1=s1*n/(2*n+1); /*求多项式的每一项*/ s=s+s1; /*求和*/ n++; } return 2*s; } 编写函数fun ,其功能是:求出1~1000之间能被7或11整除,但不能同时被7和11整除的所有 整数,并将其放在a 所指的数组中,通过n 返回这些数的个数。 void fun (int *a, int *n) { int i,j=0; for(i=1;i<=1000;i++) /*求1到1000之内能被7或11整除、但不能同时被7和11整除的所 有整数,并放入数组a 中*/ if((i%7==0||i%11==0)&&i%77!=0) a[j++]=i; *n=j;

C语言程序设计复习题

《C语言程序设计》复习题 一、判断题(本大题共60个小题) 1.C程序执行的入口是main()函数,所以main函数必须放在程序的开头。 2.定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。 3.注释内容太多会影响程序的执行效率。 4.变量要“先定义,后使用”。 5.字符常量'a'与字符串常量"a"没有区别。 6.数学公式y=-6xz+5[2(a-5)+3]写成C语言表达式是y=-6*x*z+5*[2*(a-5)+3]。 7.数学公式y=|x|+ab-c写成C语言表达式是y=fabs(x)+a*b-c。 8.表达式5/2+5.0/2+7%6 的值为5.5。 9.设int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/2*(int)(a+c)/2)%4 的值为:4.5。 10.设int a=12; 则表达式a/=a+a的值是0.5。 11.在C语言中,运算符!比&&的优先级高。 12.在C语言中,运算符的优先级最小的是逗号运算符。 13.scanf("%d,%d",&x,&y);的输入格式:3,4<回车>。 14.以下程序运行结果是:1,7,0 void main() { int x=1,y=1,z=10; if(z< 0) if(y> 0) x=3; else x=5; printf(" %d," ,x); if(z=y< 0) x=3; else if(y==0) x=5; else x=7; printf(" %d,%d" ,x,z); } 15.该程序运行结果是:BCother void main()

{ char x=‘B’; switch(x) { case ‘A’: printf(“A”); case ‘B’: printf(“B”); case ‘C’: printf(“C”); default: printf(“other”); } } 16.下面程序段运行时输出结果是a=2,b=8 void main() { int x=1,y=1,a=2,b=7; switch(x) { case 1: switch(y) { case 0: a++;break; case 1: b++;break; } case 2: a++;b++;break; case 3: a++;b++; } printf("a=%d,b=%d\n",a,b); } 17.下面程序,当输入为:"abc?" 时,执行结果是:abc void main() { char c; c=getchar(); while (c!='?' ) { putchar(c); c=getchar();} }

相关文档
相关文档 最新文档