《c++程序设计》第二版高等教育出版社课后习题答案1-4

时间:2025-04-20

习题答案

当前位置:学习资源下载>课后习题答案

第一章C++基础知识习题

1.1 判断下列标识符的合法性。

sin book 5arry _name Example2.1 main $1 class_cpp a3 x*y my name

答:合法的:sin book _name main class_cpp a3

非法的:5arry Example2.1 $1 x*y my name 1.2假定有下列变量: int a=3,b=5,c=0;

float x=2.5,y=8.2,z=1.4;

char ch1= a ,ch2= 5 ,ch3= 0 ,ch4;

求下列表达式的值,以及运算后表达式所涉及的各变量的值。

x+(int)y%a x=z*b++,b=b*x,b++ ch4=ch3-ch2+ch1 int(y/z)+(int)y/(int)z !(a>b)&&c&&(x*=y)&&b++ ch3||(b+=a*c)||c++ z=(a<<2)/(b>>1)

答:x+(int)y%a值为:4.5

x=z*b++,b=b*x,b++值为:42,x为7,b为43 ch4=ch3-ch2+ch1值为: \\ int(y/z)+(int)y/(int)z值为:13

!(a>b)&&c&&(x*=y)&&b++值为:0,b为5 注:只要出现一个false右边的不再做。 ch3||(b+=a*c)||c++值为:1,c为0 注:只要出现一个true,右边不再做。 z=(a<<2)/(b>>1)值为:6

1.3判断下列哪些是常量,哪些是变量。

"China" const int n=10; int m=5; 'a' char ch='a' int array[5]={1,2,3,4,5}; char s[]="Hello";

答:"China" 文字常量 const int n=10;常变量 int m=5;变量 'a' 文字常量 char ch='a'变量

int array[5]={1,2,3,4,5};变量 char s[]="Hello";变量

1.4将下列算式或叙述用C++表达式描述。 (1)

(2) (x+y)/((x-y)*ay)

(3)位于原点为圆心,a, b为半径的圆环中的点坐标。 (4) 。

习题答案

(5) 并且字符ch不为'\0'。

答: pi/2+sqrt(asin(x)*asin(x)+c*c) (x+y)/((x-y)*pow(a,y))

((x*x+y*y)>=a*a)&&((x*x+y*y)<=b*b) (a!=b)&&(a!=c)&&(b!=c) (k<=20)&&(ch!='\0')

1.6设有语句: int a, b; float x,y;

char ch1,ch2,ch3;

cin>>a>>b>>x>>y>>ch1; ch2=cin.get(); cin>>ch3;

若从键盘输入: 3 2 1.8 7 a b c

执行后各变量取值如何?注意abc三字符两两间有空格。

答:a是3,b是2,x是1.8,y是7,ch1是 a ,ch2是空格,ch3是 b 。

1.7设有语句: int a,b,c,d;

cin>>oct>>a>>b>>hex>>c>>dec>>d; 若从键盘输入: 23 23 23 23

执行后各变量的值用十进制表示各是多少?

答:a:19,b:19,c:35,d:23 1.8对于习题1.7,若执行:

cout<<a<<′\t′<<hex<<b<<′\t′<<oct<<c<<endl; 显示结果是什么?

答:19 0x13 043 当前位置:学习资源下载>课后习题答案

第二章基本控制结构程序设计习题

一.基本概念与基础知识自测题

2.1程序阅读题 2.1.1设有说明: int a=3, b=100;

下面的循环语句执行(1)次,执行后a、b的值分别为(2)、(3)。 while(b/a>5){

if(b-a>25) a++;

习题答案

elseb/=a;

}

解答:

(1)14 (2)17 (3)100

2.1.2设有说明: int x,y,n,k;

下面程序段的功能是备选答案中的 (1) ,当n=10,x=10打印结果是 (2) 。 cin>>x>>n; k=0; do{

x/=2; k++; }while(k<n); y=1+x; k=0; do{

y=y*y; k++; }while(k<n); cout<<y<<endl; 备选答案:

A. B. C. D. 解答:

第一个循环使x成为:;y成为:;第二个循环使y成为:; (1)B

考虑整除,当x连除4次2以后即为0,所以:为0 (2)1

2.1.3请看如下程序段: if(num==1) cout<<”Alpha”; else if(num==2) cout<<”Bata”;

习题答案

else if(num==3) cout<<”Gamma”;

else cout<<”Delta”;

当num的值分别为1、2、3时,上面程序段的输出分别为(1)、(2)、(3)。

解答:

检查条件语句与字符串输出概念: (1)Alpha (2)Bata (3)Gamma

2.1.4执行下面程序段后,m和k的值分别为、 int m,k;

for(k=1,m=0;k<=50;k++){

if(m>=10) break; if(m%2==0){

m+=5; continue; } m-=3; }

(2)8

二.编程与综合练习题

2.2有一个函数:

编写程序,输入x,输出y。

解:

#include <iostream> using namespace std; int main(){

double x,y;

习题答案

cout<<"输入x="; cin>>x;

if(x<1) y=x;

else if(x<10) y=2*x-1; else y=3*x-11; cout<<"y="<<y<<endl; return 0; }

2.3设计程序将输入的百分制成绩转换为五分制输出,90分以上为5分,80 89分为4分,70 79分为3分,60 69分为2分,60分以下为1分。

解:10分一档用10进行整除获得,转换用开关语句实行。 #include <iostream> using namespace std; int main(){

int mark,result; //mark是百分制成绩,result是5分制 cout<<"请输入百分制成绩:"<<endl; cin>>mark; if(mark<0) {

cout<<"缺考!"<<endl; return 0; }

switch (mark/10){ case 9: case 10: result=5;

cout<<"输出五分制成绩:"<<result<<endl; break; case 8:

result=4;

cout<<"输出五分制成绩:"<<result<<endl; break; case 7:

result=3;

cout<<"输出五分制成绩:"<<result<<endl; break; case 6:

result=2;

cout<<"输出五分制成 …… 此处隐藏:9944字,全部文档内容请下载后查看。喜欢就下载吧 ……

《c++程序设计》第二版高等教育出版社课后习题答案1-4.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219