计算机二级c++上机考试题库_第1页
计算机二级c++上机考试题库_第2页
计算机二级c++上机考试题库_第3页
计算机二级c++上机考试题库_第4页
计算机二级c++上机考试题库_第5页
已阅读5页,还剩102页未读 继续免费阅读

下载本文档

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

文档简介

所属语言:C++

试卷总分:200分

共有题型:5种

一、填空共20题(共计20分)

第1题(1.0分)

假设变量a,b均为整型,表达式

(a=5,b=2,a>b?a++:b+4-,a4-b)

的值是[11.

答案:

=======(答案1)=======

8

第2题(1.0分)

若有以下数组a,数组元素:a[0]~a[9],其值为

941282107513

该数组的元素中,数值最大的元素的下标值是[11.

答案:

=======(答案1)=======

2

第3题(L0分)

下面程序段的输出结果是【1】.

inta=12;a=a&0377;pritnf(,'%o\n',,a);

答案:

======(答案1)=======

14

第4题(L0分)

若输入字符串:abcde<回车乙则以下while循环体将执

行【1】次.

While((ch=getchar())=='e')printf("*");

答案:

======(答案1)=======

0

第5题(L0分)

将数组a的首地址赋给指针变量p的语句是【1】.

答案:

=======(答案1)=======

P=a;

第6题(L0分)

C语言把文件看作是一个【1】的序列.

答案:

=====(答案1)=======

字符

LJ-1--/------------------------------------------------------------------------------

字干

第7题(L0分)

静态变量和外部变量的初始化是在【1】阶段完成的,

而自动变量的赋值是

在[2]时进行的.

行加减和赋值运算.

答案:

======(答案1)=======

地址

第10题(L0分)

intx=2;z=x++-l;则x的值为【1】.

答案:=======(答案1)=======

3

第11题(L0分)

若所用变量都己正确定义,请填写以下程序段的输出

结果【1】.

for(i=l;i<=5;i++);

printf("OK\n");

答案:

(答案1)

OK

第12题(1.0分)

feof(fp)函数用来判断文件是否结束,如果遇到文件结

束,函数值为束】,

否则为[2].

答案:

======(答案1)=======

非。值

======(答案2)=======

0

第13题(1.0分)

如果函数不要求带回值,可用【1】来定义函数返回值

为空.

答案:

=======(答案1)=======

void

第14题(1.0分)

调用fopen函数打开一文本文件,在,,使用方式,,这一

项中,

为输出而打开需填入【1】.

答案:

=====(答案1)=======

W

—P-

—————————IJ[,—————————

w+

第15题(LO分)

顺序结构存储方法是把逻辑上相邻的结点存储在物理

位置[1]

的存储单元中。

答案:

======(答案1)======

相邻

第16题(1.0分)

一个类可以从直接或间接的祖先中继承所有属性和方

法。米用

这个方法提高了软件的11L

答案:

======(答案1)=======

可重用性

第17题(L0分)

C++中封装性、继承性和【1】是面向对象程序设计的

三个主要性质G

答案:

=======(答案1)=======

多态性

第18题(1.0分)

C++语言的参数传递机制包括传值和传地址两种,如

果调用函数

时,需要改变实参或者返回多个值,应该采取【1】方

式。

答案:

=======(答案1)=======

传地址

第19题(1.0分)

设i,j,k均为int型变量,则执行完

for(i=0J=10;j<=j;i++,j-)k=i+j;

语句后,K的值为[llo

答案:

=======(答案1)=======

10

第20题(1.0分)

对长度为10的线性表进行冒泡排序,最坏情况下需要

比较的次数为[l]o

答案:

=======(答案1)=======

45

二、判断共20题(共计20分)

第1题(1.0分)

用fopen(Wile-Jr+“);打开的文件“file”可以进行修改。

答案:Y

第2题(L0分)

inti=20;switch(i/10){case2:printf("A");

casel:printf("B");}的输出结果为A。

答案:N

第3题(L0分)

若有定义和语句:

inta;charc;floatf;scanf("%d,%c%f”,&a,&c,&f);

若通过键盘输入:

10,A,12.5,贝a=10,c='A,f=12.5.

答案:Y

第4题(L0分)

char*p="girl”;的含义是定义字符型指针变量p,p的值

是字符串“girl”。

答案:N

第5题(L0分)

x*=y+8等价于x=x*(y+8)o

答案:Y

第6题(L0分)

如果有一个字符串,其中第十个字符为'\rV,则此字符

串的

有效字符为9个。

答案:N

第7题(1.0分)

通过return语句,函数可以带回一个或一个以上的返

回值。

答案:N

第8题(L0分)

如果想使一个数组中全部元素的值为0,可以写成

inta[10]={0*10};

答案:N

第9题(L0分)

一个include命令可以指定多个被包含的文件。

答案:N

第10题(1.0分)

C程序中有调用关系的所有函数必须放在同一个源程

序文件中。

答案:N

第11题(1.0分)

进行宏定义时,宏名必须使用大写字母表示。

答案:N

第12题(L0分)

共同体变量所占的内存长度等于最长的成员的长度。

答案:Y

第13题(L0分)

在C语言中,此定义和语句是合法的:

enumaa{a=5,b;c}bb;bb=(enumaa)5;

答案:Y

第14题(L0分)

7&3+12的值是15。

答案:N

第15题(L0分)

类有两个特殊的成员函数构造函数和虚函数

答案:N

第16题(1.0分)

抽象类不仅可用做派生其他类的基类,也可以用于直

接创建对象

实例。

答案:N

第17题(L0分)

静态函数可声明为虚函数。

答案:N

第18题(L0分)

如果一个函数在其函数体内直接或间接的调用了自己,

该函数

称为递归函数。

答案:Y

第19题(L0分)

类中提供了三种访问控制权:公有、私有、保护三种

类型。

答案:Y

第20题(1.0分)

所谓继承就是利用已有的数据类型定义出新的数据类

型。

答案:Y

三、单选共60题(共计60分)

第1题(1.0分)

fscanf函数的止确调用形式是()。

A:fscanf(fp,格式字符串,输出表列);

B:fscanf(格式字符串,输出表列,fp);

Ufscanf(格式字符串,文件指针,输出表列);

D:fscanf(文件指针,格式字符串,输入表列);

答案:D

第2题(L0分)

C语言的if语句嵌套时,if与else的配对关系是()o

A:每个else总是与它上面的最近的if配对

B:每个else总是与最外层的if配对

C:每个else与if的配对是任意的

D:每个else总是与它上面的if配对

答案:A

第3题(L0分)

C语言中,文件由()。

A:记录组成

B:由数据行组成

C:由数据块组成

D:由字符(字节)序列组成

答案:D

第4题(L0分)

设C语言中,int类型数据占2个字节,贝IJshort类型数

据占()。

A:1个字节

B:2个字节

C:4个字节

D:8个字节

答案:B

第5题(L0分)

以下不符合C语言语法的赋值语句是()。

A:j++;

B:j=j=5;

C:k=2*4,k*4;

D:y=float(j);

答案:D

第6题(L0分)

C语言允许函数类型缺省定义,此时函数值隐含的类

型是Oo

A:float

B:int

C:long

D:double

答案:B

第7题(1.0分)

int(*p)[6];它的含义为()o

A:具有6个元素的一维数组

B:定义了一个指向具有6个元素的一维数组的指针变

C:指向整型指针变量

D:指向6个整数中的一个的地址

答案:B

第8题(L0分)

经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),

sizeof(b)在

微机上的值分别为()。

charx=65;

floaty=7.3;

inta=100;

doubleb=4.5;

A:2,2,2,4

B:l,2,2,4

C:l,4,2,8

D:2,4,2,8

答案:c

第9题(LO分)

char*match(charc)是()。

A:函数定义的头部

B:函数预说明

C:函数调用

D:指针变量说明

答案:A

第10题(1.0分)

若有说明:inta[3][4]={0};则下面正确的叙述是()。

A:只有元素a[0]⑼可得到初值0

B:此说明语句不正确

C:数组a中各元素都可得到初值,但其值不一定为0

D:数组a中每个元素均可得到初值0

答案:D

第11题(1.0分)

当说明一个结构体变量时系统分配给它的内存是()。

A:各成员所需内存量的总和

B:结构中第一个成员所需内存量

C:成员中占内存量最大者所需的容量

D:结构中最后一个成员所需内存量

答案:A

第12题(1.0分)

以下不是无限循环的语句为()。

A:for(y=0,x=l;x>++y;x=i++)i=x;

B:for(;;x++=i);

C:while(l){x++;}

D:for(i=10;;i-)sum+=i;

答案:A

第13题(1.0分)

利用fseek函数可以实现的操作是()。

A:改变文件的位置指针

B:文件的顺序读写

C:文件的随机读写

D:以上答案均正确

答案:D

第14题(L0分)

C语言中while和do-while循环的主要区别是()。

A:do-while的循环体至少无条件执行一次

B:while的循环控制条件比do-while的循环控制条件

更严格

C:do-while允许从外部转到循环体内

D:do-while的循环体不能是复合语句

答案:A

第15题(L0分)

sizeof(float)是()。

A:一种函数调用

B:一个不合法的表达式

C:一个整型表达式

D:一个浮点表达式

答案:C

第16题(1.0分)

以下程序的运行结果是()。

main()

{intn;

for(n=l;n<=10;n++)

(

if(n%3==0)continue;

pnntf("%d",n);

)

)

A:12457810

B:369

C:12

D:1234567890

答案:A

第17题(1.0分)

以下不正确的叙述是()。

A:在C程序中所用的变量必须先定义后使用

B:程序中,APH和aph是两个不同的变量

C:若a和b类型相同,在执行了赋值语句a=b;后b中

的值将放入a中,b中的值不变

D:当输入数值数据时,对于整型变量只能输入整型值;

对于实型变量只能输入实型值

答案:D

第18题(1.0分)

下列程序的输出结果为()。

main()

{intm=7,n=4;

floata=38.4,b=6.4,x;

x=m/2+n*a/b+l/2;

printf("%f\n,,,x);

)

A:27.000000

B:27.500000

C:28.000000

D:28.500000

答案:A

第19题(1.0分)

凡是函数中未指定存储类别的局部变量,其隐含的存

储类别为()。

A:自动(auto)

B:静态(static)

C:外部(extern)

D:寄存器(register)

答案:A

第20题(1.0分)

下列定义数组的语句中正确的是()。

A:#definesize10charstrl[size],str2[size+2];

B:charstr[];

C:intnum['10'];

D:intn=5;inta[n][n+2];

答案:A

第21题(LO分)

以下描述中,正确的是()o

A:预处理是指完成宏替换和文件包含中指定的文件的

调用

B:预处理指令只能位于C源文件的开始

C:C源程序中凡是行首以#标识的控制行都是预处理指

D:预处理就是完成C编译程序对C源程序第一遍扫描,

为编译词法和语法分析作准备

答案:C

第22题(1.0分)

位字段数据的单位是()位。

A:十六进制

B:八进制

C:二进制

D:十进制

答案:c

第23题(L。分)

以下的选择中,正确的赋值语句是()。

A:a=l,b=2

B:j++

C:a=b=5;

D:y=int(x)

答案:c

第24题(L0分)

若有int*p=(int*)malloc(sizeof(int));则向内存申请到内

空间存入整数123的语句为()。

A:scanf("%d",p);

,,,,

B:scanf(%dz&p);

C:scanf("%d',,*p);

D:scanf(',%d",**p);

答案:A

第25题(LO分)

已知大写字母A的ASCII码值是65,小写字母a的ASCII

码是9乙则用

八进制表示的字符常量'101是()。

A:字符A

B:字符a

C:字符e

D:非法的常量

答案:A

第26题(1.0分)

以下叙述中正确的是()。

A:C程序中注释部分可以出现在程序中任意合适的地

B:花括号”{“和”}”只能作为函数体的定界符

C:构成C程序的基本单位是函数,所有函数名都可以由

用户命名

D:分号是C语句之间的分隔符,不是语句的一部分

答案:A

第27题(1.0分)

假定int类型变量占用两个字节,其有定义:int

x[10]={0,2,4};,

则数组X在内存中所占字节数是()。

A:3

B:6

C:10

D:20

答案:D

第28题(L0分)

在C语言中,形参的缺省存储类是()。

A:auto

B:register

C:static

D:extern

答案:A

第29题(L0分)

已知字母a的ASCII十进制代码为97,则执行下列语句

后的输出结果为()。

chara=,a,;a-;

',,,,,,,,,,,

printf(%d/%c\n,a+2-0/a+3-0);

A:b,c

B:a-运算不合法,故有语法错

C:98,c

D:格式描述和输出项不匹配,输出无定值

答案:C

第30题(L0分)

不仅可将C源程序存在磁盘上,还可将数据按数据类

型分别以什么的

形式存在磁盘上()。

A:内存

B:缓冲区

C:文件

D:寄存器

答案:C

第31题(1.0分)

表达式l型*sqrt(4.0)咫值的数据类型为()。

A:int

B:float

C:double

D:不确定

答案:c

第32题(1.0分)

以下能对二维数组a进行正确初始化的语句是()。

A:inta[2][]={{lAl},{5,2,3});

B:inta[][3]={{l,2,3},{4,5,6});

C:inta[2][4]={{lz2,3},{4,5},{6});

D:inta[][3]={{l,0,l}{},{l,l}};

答案:B

第33题(L0分)

函数rewind的作用是()。

A:使位置指针重新返回文件的开头

B:将位置指针指向文件中所要求的特定位置

C:使位置指针指向文件的末尾

D:使位置指针自动移至下一个字符位置

答案:A

第34题(1.0分)

在C语言中,要求运算数必须是整型或字符型的运算

符是Oo

A:&&

B:&

C:!

D:||

答案:B

第35题(L0分)

inta=l,b=2,c=3;

if(a>c)b=a;a=c;c=b;贝ijc的值为()。

A:1

B:2

C:3

D:不一定

答案:B

第36题(LO分)

对for(表达式1;;表达式3)可理解为()。

A:for(表达式1;0;表达式3)

B:for(表达式1;1;表达式3)

C:for(表达式1;表达式1;表达式3)

D:for(表达式1;表达式3;表达式3)

答案:B

第37题(1.0分)

a,b为整型变量,二者均不为0,以下关系表达式中恒

成立的是()。

A:a*b/a*b==l

B:a/b*b/a==l

C:a/b*b+a%b==a

D:a/b*b==a

答案:C

第38题(L0分)

charal[]=,,abc,,,a2[80]=,,1234,,;^al串连接到a2串后

面的语句是()。

A:strcat(a2,al);

B:strcpy(a2,al);

C:strcat(al,a2);

D:strcpy(al,a2);

答案:A

第39题(L0分)

设char*s="\ta\017bc";则指针变量s指向的字符串所

占的字节数

是()。

A:9

B:5

C:6

D:7

答案:C

第40题(L0分)

以下描述中正确的是()。

A:由于do-while循环中循环体语句只能是一条可执

行语句,所以循环体内不能使用复合语句

B:do-while循环由do开始,用while结束,在while(表

达式)后面不能写分号

C:在do-while循环体中,一定要有能使while后面表

达式的值变为零("假。的操作

D:do-while循环中,根据情况可以省略while

答案:C

第41题(L0分)

对于void类型函数,调用时不可作为()。

A:自定义函数体中的语句

B:循环体里的语句

C:if语句的成分语句

D:表达式

答案:D

第42题(1.0分)

下列语句中,不正确的是()。

A:staticchara[2]={l,2};

B:staticinta[2]={'l','2'};

C:staticchara[2]={,l','2','3'};

D:staticchara[2]={'l'};

答案:c

第43题(L0分)

设有定义intx;floaty;,则10+x+y值的数据类型是

A:int

B:double

C:float

D:不确定

答案:c

第44题(1.0分)

在类的定义中,用于为对象分配内存空间,对类的数

据成员进行

初始化并执行其他内部管理操作的函数是

A:友元函数

B:虚函数

C:构造函数

D:析构函数

答案:C

第45题(1.0分)

下面对静态数据成员的描述中,正确的是

A:静态数据成员可以在类体内进行初始化

B:静态数据成员不可以被类的对象调用

C:静态数据成员不能受private控制符的作用

D:静态数据成员可以直接用类名调用

答案:D

第46题(L0分)

下面对友元函数描述正确的是

A:友元函数的实现必须在类的内部定义

B:友元函数是类的成员函数

C:友元函数破坏了类的封装性和隐藏性

D:友元函数不能访问类的私有成员

答案:C

第47题(1.0分)

下面叙述不正确的是

A:基类的保护成员在派生类中仍然是保护成员

B:基类的保护成员在公有派生类中仍然是保护成员

C:基类的保护成员在私有派生类中是私有成员

D:对基类成员的访问必须是无二义性

答案:A

第48题(L0分)

在C++语言程序中,对象之间的相互通信通过

A:继承实现

B:调用成员函数实现

C:封装实现

D:函数重载实现

答案:B

第49题(1.0分)

下列关于虚基类的描述中,错误的是

A:设置虚基类的目的是为了消除二义性

B:虚基类的构造函数在非虚基类之后调用

C:若同一层包含多个虚基类,这些基类的构造函数按

照它们的次序调用

D:若虚基类由非基类派生而来,则仍然先调用基类构

造函数,再用派生类的构造函数

答案:B

第50题(1.0分)

下列运算符中,在C++语言中不能重载的是

A:*

B:>=

C:::

D:/

答案:c

第51题(L0分)

继承机制的作用是

A:信息隐藏

B:数据封装

C:定义新类

D:数据抽象

答案:C

第52题(1.0分)

C++语言对C语言进行了很多改进,C++语言相对于C

语言的最根

本的变化是

A:增加了一些新的运算符

B:允许函数重载,并允许设置缺省参数

C:规定函数说明符必须用原型

D:引进了类和对象的概念

答案:D

第53题(1.0分)

若x、i、j、k都是int型变量,则计算表达式

的值为().

x=(i=4zj=16,k=32)Js,x

A:4

B:16

C:32

D:52

答案:c

第54题(L0分)

下列关于开关语句的描述中,错误的是().

A:开关语句中,case子句的个数是不受限制的

B:开关语句中,case子句的语句序列中一定要有break

语句

C:开关语句中,default子句可以省略

D:开关语句中,右花括号具有退出开关语句的功能

答案:B

第55题(1.0分)

下列while循环语句的循环次数是().

while(inti=0)i-;

A:0

B:1

C:2

D:无限

答案:A

第56题(L0分)

下列运算符中优先级最高的是().

A:?:

B:%

C:-=

D:&&

答案:B

第57题(1.0分)

采用函数重载的目的在于(

A:实现共享

B:减少空间

C:使用方便,提高可靠性

D:提高速度

答案:c

第58题(1.0分)

使用磁盘文件,要包含头文件

A:iostream

B:fstream

C:iomanip

D:complex

答案:B

第59题(L0分)

()是析构函数的特征.

A:一个类中只能定义一个析构函数

B:析构函数与类名不同

C:析构函数的定义只能在类体内

D:析构函数可以有一个或多个参数

答案:A

第60题(1.0分)

下列关于字符数组的描述中,错误的是().

A:字符数组中的每一个元素都是字符

B:字符数组可以使用初始值表进行初始化

C:字符数组可以存放字符串

D:字符数组就是字符串

答案:D

四、程序填空共6题(共计40分)

第1题(5.0分)

【程序填空】

功能:产生10个[30,90]区间上的随机整数,然后对其

用选择法

进行由小到大的排序。

*/

#include<stdio.h>

main()

**********£PACE

【?】;

int

inta[10];

for(i=0;i<10;i++)

a[i]=random(61)+30;

for(i=0;i<9;i++)

**********SPACE***********I

[?];

for(j=i+l;j<10;j++)

/***********sPACE***********I

if(【?】)k=j;

if(k!=i)

t=a[k];

a[k]=a[i];

a[i]=t;

)

)

/***********SPACE***********I

for([?!)

,,,,

printf(%5d/a[i]);

printf("\n");

)

答案:

=======(答案1)=======

intt

====(答案2)=======

k=i

======(答案3)=======

a[k]>aO]

―p

MMI~~IIf

MMMBMMMMMMVMMMM

a[j]<a[k]

=======(答案4)=:

i=0;i<10;i++

_________或____

—————————————

i=0;10>i;i++

—p

MB|"IIf

MBWMMW*"^.yMB

i=0;i<=9;i+=l

MMMM瑞II\fMMMM

MMMMMMMMVMMMM

i=0;9>=i;i++

[31/

(HMMWMMB"T-KMM

i=0;i<10;i+=l

—p

MMMMMMMHI~~I1XfMMMM

i=0;10>i;i+=l

瑞IjIf

WWWMM^―*VWW

i=0;i<=9;i++

―p

MMI~~IIf

MMMBMMMMMMMMMMMMMM

i=0;9>=i;i+=l

LI1/

---------------------------------------------------------------------------------------

i=0;i<10;++i

MMMMMMMMIJIKMMMMMHBMMMMMM

滞**jF

**9^4

i=0;10>i;++i

—p-

I~JI/

i

i=0;9>=i;++i

LJ1/

---------------------------------------------------------------------------------------

i=0;i<=9;++i

第2题(5.0分)

【程序填空】

功能:求一个二维数组中每行的最大值和每行的和。

#include<stdio.h>

main()

inta[5][5Lb[5],c[5]jJMs=0;

for(i=0;i<5;i++)

for(j=0;j<5;j++)

a[i][j]=random(40)+20;

for(i=0;i<5;i++)

/***********spACE***********I

k=a[i][O];[?];

for(j=0;j<5;j++)

***********SPACE***********I

if(k<a[i]U])[?】;

s=s+a[i][j];

}

b[i]=k;

/***********SPACE***********

【?】;

)

for(i=0;i<5;i++)

for(j=0;j<5;j++)

***********SPACE***********

printf(”%5d",[?]);

printf("%5d%5d,,,b[i],c[i]);

printf("\n");

)

答案:

=======(答案1)=======

s=0

=====(答案2)=======

k=a[i][j]

=======(答案3)=======

c[i]=s

(答案4)

a[i][j]

第3题5.0分)

【程序填空】

功能:计算一元二次方程的根。

include<stdio.h>

**********SPACE***********I

include[?]

main()

(

doublexl,x2,imagpart;

floata,b,c,disc,realpart;

scanf("%f%f%f",&a,&b,&c);

printf("theequation'1);

/***********SPACE***********

if([?]<=le-6)

printf("isnotquadratic\n");

else

disc=b*b-4*a*c;

if(fabs(disc)<=le-6)

printf("hastwoequalroots:%-8.4f\n",-b/(2*a));

/***********SPACE***********I

elseif([?])

xl=(-b+sqrt(disc))/(2*a);

x2=(-b-sqrt(disc))/(2*a);

printf("hasdistinctrealroots:%8.4f

and%.4f\n",xl,x2);

)

else

realpart=-b/(2*a);

imagpart=sqrt(-disc)/(2*a);

printf("hascomplexroots:\n");

printf("%8.4f=%.4fi\n",realpart,imagpart);

printf(',%8.4f-%.4fi\n,',realpart,imagpart);

)

)

答案:

=======(答案1)=======

<math.h>

(答案2)

fabs(a)

======(答案3)=======

fabs(disc)>le-6

―p

MMI_II,MB

MBWMM*~^,yMMMMMM

le-6<fabs(disc)

第4题(5.0分)

/*

【程序填空】

功能:分别求出一批非零整数中的偶数、奇数的平均

值,用零作

为终止标记。

*/

#include<stdio.h>

main()

intx,i=OJ=O;

floatsl=0zs2=0,avl,av2;

scanf("%cT,&x);

**********SPACE***********I

while([?])

if(x%2==0)

sl=sl+x;

i++;

)

/***********SPACE***********I

[?]

s2=s2+x;

j++;

)

/***********SPACE***********I

【?】;

)

if(i!=O)

avl=sl/i;

else

avl=O;

if(j!=O)

/***********sPACE***********I

【?】;

else

av2=0;

printf("oushujunzhi:%7.2f,jishujunzhi:%7.2f\n",avl/av2);

)

答案:

=======(答案1)二:

x!=0

MMMMMMMM滞IJIKMMMMMM

**Jf

X

=======(答案2)=:

else

MMMMMMMM瑞IjIV<MMKMM

elseif(x%2==l)

MMWMMB口"T-VJt/MM

elseif(x%2!=0)

—p

MMMMMMMHI•~~^I_1VfMMMM

*sA<

if(x%2)

======(答案3)

scanf("%d",&x)

======(答案4)=======

av2=s”j

第5题(10.0分)

/*

【程序填空】

功能:以下程序的功能是输入字符串,再输入一个字

符,将字符串

中与输入字符相同的字符删除。

#include<iostream.h>

#include<stdio.h>

#include<string.h>

voidfun(chara[],charc)

inti,j;

/***********SPACE***********I

for(i=j=0;[?];i++)

if(a[i]!=c)a[j++]=a[i];

**********sPACE***********I

【?】;

)

voidmain()

chara[20],cc;

**********SPACE***********I

【?】;

cc=getchar();

/***********SPACE***********I

【?】;

cout«a;

)

答案:

=======(答案1)=======

a[i]!='\O'

—p

II1/

"-y

a[i]!=O

^―^―ri1/^—

—————————---------------------------

i<strlen(a)

--------------[J1/--------

a[i]

=======(答案2)=:

a[j]='\O'

MMMMMMMM滞IJIKMMMMMM

''Jf

a[j]=O

=======(答案3)=:

cin»a

MMMMMMMMI瑞jI<VMKMMMMMM

printf("%s",a)

MMWMMB口"T-VJt/MM

gets(a)

—p

MMMMMMMHI~~I*1•~fs^A_V*MMMM

cin.getline(a,20)

======(答案4)=======

fun(a,cc)

第6题(10.0分)

/*

【程序填空】

功能:对任意10个字符串按升序排序,每个串的长度

小于20个字符。

7

#include<iostream.h>

#include<string.h>

#include<stdio.h>

voidmain()

***********SPACE***********I

chartemp[20],[?];

intij,l;

for(i=0;i<10;i++)

gets(word[i]);

for(i=0;i<9;i++)

**********sPACE***********I

for([?])

if(strcmp(word[l],word[j])>0)

***********SPACE***********I

[?1;

strcpy(temp,word[i]);

**********sPACE***********I

【?】;

strcpy(word[l],temp);

}

for(i=0;i<10;i++)

cout«word[i];

)

答案:

======(答案1)=======

word[10][20]

=======(答案2)=======

j=i+l;j<10;j++

—p

MMMMMMMHI~~I1/MMMMMBMM

•*sA<

j=i;j<10;j++

j=i;j<=9;j++

―p

I~~II/

MMMBMMMMMM■—J.X""""MMMMMM

j=i+l;j<=9;j++

=======(答案3)=======

l=j

====(答案4)=======

strcpy(word[i],word[I])

五、程序设计共6题(共计60分)

第1题(10.0分)

/*

【程序设计】

功能:求一组数中大于平均值的数的个数。

例如:给定的一组数为1,3,6,9423,35,67,12,88时,函

数值为3。

--------------------------------------------------*/

#include<stdio.h>

voidwwjt();

intfun(inta[],intn)

Program

/**********End**********/

)

main()

inta[10]={l,3,6,9,4,23,35,67,12,88};

inty;

y=fun(a,10);

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

wwjt();

)

voidwwjt()

FILE*IN,*OUT;

intilN[10]ziOUTij;

,,,,

IN=fopen("in.dat/r");

if(IN==NULL)

(

printf("PleaseVerifyTheCurrerntDir..itMayBe

Changed");

)

OUT=fopen("out.dat,,,,,w");

if(OUT==NULL)

(

printf("PleaseVerifyTheCurrentDir..itMayBe

Changed");

}

for(j=0;j<10;j++)

(

for(i=0;i<10;i++)

fscanf(INJ%d,&ilN[i]);

iOUT=fun(ilN,10);

)

fprintf(OUT"%d\n,,,iOUT);

fclose(IN);

fclose(OUT);

)

答案:--------------

inti,k=0;

floats=0,ave;

for(i=0;i<n;i++)

s+=a[i];

ave=s/n;

printf("%f",ave);

for(i=0;i<n;i++)

if(a[i]>ave)k++;

returnk;

第2题(10.0分)

【程序设计】

功能:输入2个学生3门课的成绩,计算学生成绩平均

分,

课程平均分和最高分.

例如:输入2名学生3门课的成绩分别为92,87,68,

56,

92,84则

学生1平均分:82.33

学生2平均分:77.33

课程1平均分:74.00

课程2平均分:89.50

课程3平均分:76.00

最高分为:92

ftinclude<stdio.h>

voidwwjt();

/*定义全局变量*/

/*学生成绩平均分*/

floatStuAgv[2];

/*课程平均分*/

floatCouAgv[3];

/*所有学生的所有课程最高分*/

floatMax=0;

/*说明:需要在下面函数中把题干要求中的结果赋值

到上面定义一变量中*/

voidfun(floatscore[2][3])

*********program**********/

End*/

)

voidmain()

(

inti,j;

floatscore[2][3];

printf("输入学生的成绩:");

for(i=0;i<2;i++)

for(j=0;j<3;j++)

scanf("%f)&score[i皿);

printf("\n输出学生的成绩:");

for(i=0;i<2;i++)

(

for(j=0;j<3;j++)

printf("%.2f",score[i][j]);

printf("\n");

}

fun(score);

for(i=0;i<2;i++)

printf(H第%d个学生的平均成绩

是:%0.2f\n,i+LStuAgv[i]);

for(j=0;j<3;j++)

printf(H第%d门课的平均成绩

是:%0.2f\n,,,j+LCouAgv[j]);

printf(n所有分数中的最高分

为:%.2f\n'Max);

wwjt();

)

voidwwjt()

(

FILE*IN,*OUT;

floatilN[2][3];

intij;

IN=fopen("in.dat"/,r");

if(IN==NULL)

(

printf("PleaseVerifyTheCurrerntDir..itMayBe

Changed*');

}

OUT=fopen(',out.dat","w");

if(OUT==NULL)

(

printff'PleaseVerifyTheCurrentDin.itMayBe

Changed");

)

for(i=0;i<2;i++)

for(j=0;j<3;j++)

fscanf(INJ%咒&ilN[i][j]);

fun(ilN);

for(i=0;i<2;i++)

fprintf(0UT,,%.2f\n",StuAgv[i]);

for(j=0;j<3;j++)

fprintf(OUT"%.2f\n,,,CouAgv[j]);

-,,,,

fpnntf(0UG%.2f\n/Max);

fclose(IN);

fclose(OUT);

return;

)

答案:intij;

floatsum;

for(i=0;i<2;i++)/*计算第i个学生平

均分*/

sum=0;

for(j=0;j<3;j++)

sum=sum+score[i][j];

StuAgv[i]=sum^;

)

for(j=0;j<3;j++)/*计算第j门课的平

均分*/

(

sum=O;

for(i=0;i<2;i++)

sum=sum+score[i][j];

CouAgv[j]=sum/2;

)

Max=score[0][0];

for(i=0;i<2;i++)

for(j=0;j<3;j++)

if(Max<=score[i][j])

Max=score[i][j];

)

return;

第3题(10.0分)

/*----------------------

【程序设计】

功能:计算出k以内最大的10个能被13或17整除的

自然数之

和。(k<3000)o

*/

#include<stdio.h>

#include,,conio.h"

voidwwjt();

intfun(intk)

!**********progra**********/

*********End**********I

)

main()

intm;

printf("Enterm:");

scanfC^d

温馨提示

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

最新文档

评论

0/150

提交评论