优题选
题目:电大《C++语言程序设计》形成性考核册作业及(1)

一、填空题

1.C++语言中的每条基本语句以 ; 作为结束符,每条复合语句以 } 作为结束符。

2.用于输出表达式值的标准输出流对象是 cout ,用于从键盘上为变量输入值的标准入流对象是 cin 。

3.当不需要函数返回任何值时,则应把该函数类型定义为 void 。

4.执行“cout<<143<<’+’<<18<<’=’<<143+18<<endl;”语句后得到的输出结果为 143+18=161 。

5.执行“cout<<“ning”<<“chen”<<38<<endl;”语句后得到的输出结果为 ningchen38 。

6.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为 main 。

7.C++源程序文件的缺省扩展名为 cpp ,由C++源程序文件编译而成的目标文件的缺省扩展名为 obj ,由C++目标文件连接而成的可执行文件的缺省扩展名为 exe 。

8.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用 空格 或 逗号 符号作为分隔符。

9.十进制数25表示成符号C++语言规则的八进制和十六进制数分别为 31 和 19 符号。

10.在C++语言中,用转义字符序列 /n 或操纵符 endl 表示输出一个换行符。

11.执行“cout<<char(’b’+2)<<endl;”语句后得到的输出结果为 d 。

12.执行“cout<<char(’K’-3)<<endl;”语句后得到的输出结果为 H 。

13.已知’A’~’Z’的ASCII码为65~90,当执行“int x=’H’+5;”语句后x的值为 77 。

14.已知’A’~’Z’的ASCII码为65~90,当执行“char ch=16*5+2;cout<<ch<<endl;语句序列后,得到的输出结果为 R 。

15.假定一个枚举类型的定义为“enum RA{xa,xb,xc,xd};”,则执行“cout<<”xc=”<<xc<<endl;”语句得到的输出结果为 xc=2 。

16.假定一个枚举类型的定义为“enum RB{ab,ac=3,ad,ae}x=ad;”则x的值为 4 。

17.Char、short和int类型的大小分别为 1字节 、 2字节 和 4字节 。

18.float和double类型的大小分别为 4字节 和 8字节 。

19.十进制数128和-3.26的类型分别为 整型 和 双精度型 。

20.若需要定义一个标识符常量,并且使C++能够进行类型检查,则应在定义语句的开始用保留字 define 。

21.使用const语句定义一个标识符常量时,则必须对它同时进行 初始化 。

22.执行“int x=45,y=16;cout<<x/y<<’’<<x%y<<endl;”语句序列后得到的输出结果为 2 13 。

23.假定x=10,y=6,则表达式2+x+ +和+ +y*3的值分别为 12 和 21 。

24.算术表达式(x2+y2)/(2-xy)对应C++表达式为 (x*x+y*y)/(2-x*y) 。

25.算术表达式xy2/(3a+4b-1)对应的C++表达式为 x*y*y/(3*a+4*b-1) 。

26.表达式float(25)/4和int(14.6)%5的值分别为 6.25 和 4 。

27表达式a=a+b表示成复合赋值表达式为 a+=b 。

28.表达式a=a+1表示成增量表达式为 a++ 。

29.增量表达式+ +y表示成赋值表达式为 y=y+1 。

30.关系表达式(x= =0)的等价表达式为 !x 。

31.关系表达式(x! =0)的等价表达式为 x 。

32.关系表达式x+y>z的相反表达式为 x+y<=z 。

33.逻辑表达式x>5&& x<10的相反表达式 x<=5||x>=10 。

34.逻辑表达式a>b | | b= =5的相反表达式为 a<=b&&b!=5 。

35.若x=15,y=40,则x>y 和x<=y的逻辑值分别为 false 和 true 。

36.假定x=5,则执行“a=(x? 10:4*2);”语句后a的值为 10 。

37.假定a=5,则条件表达式“a= =0? 10:20”的值为 20 。

38.执行“typedef int Data Type;”语句后,在使用int定义整型变量的地方都可以使用 DataType 定义整型变量。

39.设x和y均为bool量,x & & y为真的条件是 x=true y=true 。

40.设x和y均为bool量,则x | | y为假的条件是 x、y都为false 。

二、写出下列程序运行后的输出结果

1.#include <iostream.h>

void SB (char ch) {

switch (ch) {

case ’A’ :case ’a’:

cout <<”well”!” ; break;

case ‘B’: case ‘b’:

cout <<”good!” ;break;

case ‘C’: case ‘c’:

cout <<”pass!” ;break;

default :

cout << “bad!” ; break;

}

}

void main (){

char al=’b’,a2=’c’,a3=’f’;

SB(al);SB(a2);SB(a3);SB(‘A’);

Cout <<endl;

}

good!pass!bad!well!

2、#clude <stream.h>

#include<stdlib.h>

double SD(int a,int b,char op) {

double x;

switch (op) {

case ‘x’:x=double(a) + b; break;

case ‘-‘: x=double (a)– b; break;

case ‘*’ x=double (a) * b;break;

case ‘/’:if (b) x=double (a)/b;

else exit(1);

break;

default:exit(1);

}

return x;

}

void main (){

int x=20 ,y=12;

cout <<SD(x,y,’-‘)<<’ ‘;

cout <<SD(x,y,’*’)<<’ ‘;

cout <<SD(x+y,y-2,’/’)<<endl;

}

8 240 3.2

3、#include <iostream.h>

void main (){

int s=0;

for (int I=1;I<6;I++)

s+=I*I;

cout <<”s=”<<s<<endl;

}

s=55

4、# include <iostream.h>

void main (){

int s=0;

for (int I=1;;I++){

if (s>50) break;

if (I%3= =0) s+=I;

}

cout <<”I,s=”<<I<<”,”<<s<<endl;

}

I,s=19,63

5、# include <iostream.h>

void main (){

int s1=0,s2=0;

for (int I=0;I<10;I++)

if (I%2) s1+=I;

else s2 +=I;

cout <<s1<<’ ‘<<s2<<endl;

}

25 20

6、# include <iostream.h>

void main (){

int n=10,y=1;

while (n--){y++;++y;}

cout <<”y*y=”<<y*y<<endl;

}

y*y=441

三、写出下列每个函数的功能

1.#include<iostream.h>

int SA(int a,int b) {

if(a>b) return 1;

else if(a= =b) return 0;

else return –1;

}

比较两个整数a和b,如果a大于b则返回1;如果a等于b则返回0;如果a小于b则返回-1。

2.int SC(int a,int b,int c) {

if(a>=b && a>=c) return a;

if(b>=a && b>=c) return b;

if(c>=a && c>=b) return c;

}

返回a、b、c三个数中的最大数。

3.int SE(int n) {

/ /n为大于等于1的整数

int x;cin>>x;if(n= =1) return x;

int m=x;

while(──n){

cin>>x;

m+=x;

}

return m;

}

求输入的n个数之和。

4.double SF (double x,int n) {

/ /n为大于等于0的整数

double p=1,s=1;

for(int i=1;i<=n;i+ +) {

p* =x;

s+ =p/(i+1);

}

return s;

}

计算1+x/2+x2/3+x3/4+…+xn/(n+1)

5.#include<math.h>

bool SG(int x) {

/ /x为大于等于2的整数

int a=int(sqrt(x));/ /取x的平方根

int i=2;

while(i<=a) {

if(x%i= =0) break;

i+ +;

}

if(i<=a)return 0;else return 1;

}

判断整数x是否为质数,若为质数返回true,若不是则返回false。

6.float FH( ) {

float x,y=0,n=0;

cin>>x;

while(x!= -100) {

n+ +;y+=x;

cin>>x;

}

if(n= =0) return y;else return y/n;

}

求键盘输入的数的平均值,输入-100结束(不计在平均值内),若没有数输入则返回0。
关键字:
返回顶部