}
A) 11
B) 20
C) 21 *
D) 31
(20)若有定义:
int x,*pb;则以下正确的赋值表达式是_______。
A) pb=&x *指针定义
B) pb=x
C) *pb=&x
D) *pb=*x
(二)操作题
1、简单操作题(35分)
(1)以下程序中f()函数的形式参数有 个
#include
f(intb[],intn)
{
inti,r=1;
for(i=0;i<=n;i++) r=r*b[i];
returnr;
}
voidmain()
{
intx,a[]={2,3,4,5,6,7,8,9};
x=f(a,3);
cout<< x<< endl;
}
(2)编写一个C++程序,打印以下图案
*
* * *
* * * * *
* * *
*
2、简单应用题(20分)
(1)在以下C++程序的两行星号之间填入相应的语句,以完成fun函数部分。
该程序用于求两个由键盘输入的数字的最大公约数。
#include
intfun(intnum1,intnum2);
main()
{
ints,num1,num2;
cout<<"Inputanumber:
";
cin>>num1;
cout<<"Inputanothernumber:
";
cin>>num2;
s=fun(num1,num2);
cout<<"Theresultis:
"<
}
intfun(intnum1,intnum2)
{
****************************************************************
While(num1!
=num2)
{ifnum1>=num2) num1=num1-num2
Elsenum2=num2-num1;
}
Returnnum1;
********************************************************
}
****************************************************************
inttemp,a,b
a=num1;b=num2;
While(b!
=0)
{temp=a%b;
a=b;
b=temp;
}
Returna;
********************************************************
3、综合应用题(25分)
编写程序,定义一个类square(正方形),其成员数据及函数要求如下:
①私有数据成员 floatradius(代表边长)
②构造函数 square(floatd=0)当参数缺省时将数据成员radius的值设置为0,否则设置为参数d的值
③成员函数floatperimeter(floatd)计算出周长。
(注:
正方形的周长为:
l=4*r)
classsquare //定义类square及其数据和方法
{
public:
//外部接口public:
private:
前后功能一致
square(floatd=0); //构造函数
floatperimeter(floatd); //计算周长
//floatArea(); //计算面积
private:
//私有数据成员
floatradius;
};
//类的实现
square:
:
square(floatr){radius=r;} //构造函数初始化数据成员radius
floatCircle:
:
Circumference() //计算周长
{
Return 4*radius;
}
/*floatCircle:
:
Area() //计算面积
{
return radius*radius;
}*/
例:
求圆的周长和半径
#include
constfloatPI=(float)3.14159;
//给出p的值 const不可改变
constfloatFencePrice=35.; //栅栏的单价
constfloatConcretePrice=20.; //过道水泥单价
classCircle //定义类Circle及其数据和方法
{
public:
//外部接口
Circle(floatr); //构造函数
floatCircumference(); //计算圆周长
floatArea(); //计算圆面积
private:
//私有数据成员
float radius;
};
//类的实现
Circle:
:
Circle(floatr){radius=r;} //构造函数初始化数据成员radius
floatCircle:
:
Circumference() //计算圆的周长
{
return2*PI*radius;
}
floatCircle:
:
Area() //计算圆的面积
{
returnPI*radius*radius;
}
//主函数实现
voidmain()
{
floatradius;
floatFenceCost,ConcreteCost;
cout<< "Entertheradiusofthepool:
"; //提示用户输入半径
cin>> radius;
CirclePool(radius); //定义Circle对象
CirclePoolRim(radius+3);
//计算栅栏造价并输出
FenceCost=PoolRim.Circumference()*FencePrice;
cout<< "FencingCostis$"<< FenceCost<< endl;
// 计算过道造价并输出
ConcreteCost=(PoolRim.Area()-Pool.Area())
*ConcretePrice;
cout<< "ConcreteCostis$"<< ConcreteCost<< endl;
}
(1)一个C程序的执行是从_____。
A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序的main函数开始,到本程序文件的最后一个函数结束
D)本程序文件的第一个函数开始,到本程序main函数结束
(2)以下叙述正确的是:
A)在C程序中,main函数必须位于程序的最前面
B)C程序的每行中只能写一条语句
C)C语言本身没有输入输出语句
D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误
(3)以下叙述不正确的是。
A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数
C)C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面
(4)C语言规定:
在一个源程序中,main函数的位置。
A)必须在最开始 B)必须在系统调用的库函数的后面C)可以任意 D)必须在最后
(5)若x,i,j和k都是int型变量,则执行下面表达式后x的值为
x=(i=4,j=16,k=32) A)4 B)16 C)32 D)52
(6)下面正确的字符常量是:
A)"a" B)'\\'' C)'W' D)''
(6)已知各变量的类型说明如下:
inti=8,k,a,b;
unsigned long w=5;
double x=1.42,y=5.2;
(7)在C语言中,要求运算数必须是整型的运算符是。
A)/ B)++ c)!
= D)%
(8)若以下变量均是整型,且num=sum=7;则执行表达式sUM=num++,sUM++,++num后sum的值为
A) 7 B) 8 C) 9 D) 10
(9)设以下变量均为int类型,则值不等于7的表达式是
A) (x=y=6, x+y,x+1) B)(x=y=6,x+y,y+1)
C) (x=6,x+1,y=6,x+y) D) (y=6,y+l,x=y,x+1)
(10)putchar函数可以向终端输出一个:
A)整型变量表达式值B)实型变量值C)字符串D)字符或字符型变量值
题号
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
答案
2阅读以下程序,当输入数据的形式为25,13,10正确的输出结果为:
main()
{int x,y,z;
scanf("%d%d%d",&x,&y,&z);
printf("x+y+z=%d\n,x+y+z);}
A)x+y+z=48 B)x+y+z=35 C)x+z=35 D)不确定值
3根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确形式应该为:
main(){char ch1 ,ch2 ,ch3;
输入语句
printf("%c%c%c",ch1,ch2,ch3);}
输入形式:
ABC
输出形式:
AB
A) scanf("%c%c%c",&ch1,&ch2,&ch3);B) scanf("%c,%c,%c",&ch1,&ch2,&ch3);
C) scanf("%c%c%c",&ch1,&ch2,&ch3);D) scanf("%c%c",&ch1,&ch2,&ch3);