没有合适的资源?快使用搜索试试~ 我知道了~
c++课本答案
需积分: 15 0 下载量 84 浏览量
2013-07-08
15:25:05
上传
评论
收藏 550KB DOC 举报
温馨提示
试读
59页
c++语言中的面向对象答案,课后习题的答案
资源推荐
资源详情
资源评论
当前位置:学习资源下载>课后习题答案
第一章 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)*a
y
)
(3)位于原点为圆心,a, b 为半径的圆环中的点坐标。
(4) 。
(5) 并且字符 ch 不为' '。
答:
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;
}
解答:
本题检查学生整除的概念。跟踪:
a b b/a 循环次数 b-a
3 100 33 1 97
4 100 25 2 96
5 100 20 3 95
! ! ! ! !
"# " $ "% &#
"$ " $ "' &'
"( " #
停
)
(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 的值分别为 ( 1 ) 、 ( 2 ) 。
int m,k;
for(k=1,m=0;k<=50;k++){
if(m>=10) break;
if(m%2==0){
m+=5;
continue;
}
m-=3;
}
解答:注意 continue 语句的使用
初值 m=0 k=1
第 1 次循环后 m=5 k=2
第 2 次循环后 m=2 k=3
第 3 次循环后 m=7 k=4
第 4 次循环后 m=4 k=5
第 5 次循环后 m=9 k=6
第 6 次循环后 m=6 k=7
第 7 次循环后 m=11 k=8
第 8 次循环 m=11 结束 k=8,k++未做
(1)11
(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<<"输出五分制成绩:"<<result<<endl;
break;
case 5:case 4:case 3:case 2:case 1:case 0:
result=1;
cout<<"输出五分制成绩:"<<result<<endl;
剩余58页未读,继续阅读
资源评论
爱吃桃子的
- 粉丝: 44
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功