c++语言程序设计课后标准答案

上传人:千****8 文档编号:115374586 上传时间:2019-11-13 格式:DOC 页数:26 大小:70.50KB
返回 下载 相关 举报
c++语言程序设计课后标准答案_第1页
第1页 / 共26页
c++语言程序设计课后标准答案_第2页
第2页 / 共26页
c++语言程序设计课后标准答案_第3页
第3页 / 共26页
c++语言程序设计课后标准答案_第4页
第4页 / 共26页
c++语言程序设计课后标准答案_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《c++语言程序设计课后标准答案》由会员分享,可在线阅读,更多相关《c++语言程序设计课后标准答案(26页珍藏版)》请在金锄头文库上搜索。

1、第 二 章 C+简单程序设计2-10 执行完下列语句后,a、b、c三个变量的值为多少?a = 30;b = a+;c = +a;解: a:32 ; b:30 ; c:32;2-13 写一条for语句,计数条件为n从100到200,步长为2;然后用while和dowhile语句完成同样的循环。解: for循环:for (int n = 100; n = 200; n += 2); while循环:int x = 100;while (n = 200)n += 2; dowhile循环:int n = 100;don += 2; while(n = 200);2-17 修改下面这个程序中的错误,改

2、正后它的运行结果是什么?#include void main()int iint j;i = 10; /* 给i赋值j = 20; /* 给j赋值 */cout i + j = i + j; /* 输出结果 */return 0;解: 改正:#include int main()int i;int j;i = 10; / 给i赋值j = 20; /* 给j赋值 */cout i + j = i + j; /* 输出结果 */return 0;程序运行输出:i + j = 302-18 编写一个程序,运行时提示输入一个数字,再把这个数字显示出来。解: 源程序:#include int main(

3、)int i;cout i;cout 您输入一个数字是 i endl;return 0;程序运行输出:请输入一个数字:5您输入一个数字是52-20 打印ASCII码为32127的字符。解: #include int main()for (int i = 32; i128; i+)cout (char) i;return 0;程序运行输出:!#$%G()*+,./0123456789:;?ABCDEFGHIJKLMNOP_QRSTUVWXYZabcdefghijklmnopqrstuvwxyzs2-21 运行下面的程序,观察其输出,与你的设想是否相同?#include int main()uns

4、igned int x;unsigned int y = 100;unsigned int z = 50;x= y - z;cout Difference is: x;x = z - y;cout nNow difference is: x endl;return 0;解: 程序运行输出:Difference is: 50Now difference is: 4294967246注意,第二行的输出并非 -50,注意x、y、z的数据类型。2-22 运行下面的程序,观察其输出,体会i+与+i的差别。#include int main()int myAge = 39; / initialize tw

5、o integersint yourAge = 39;cout I am: myAge years old.n;cout You are: yourAge years oldn;myAge+; / postfix increment+yourAge; / prefix incrementcout One year passes.n;cout I am: myAge years old.n;cout You are: yourAge years oldn;cout Another year passesn;cout I am: myAge+ years old.n;cout You are: +

6、yourAge years oldn;cout Lets print it again.n;cout I am: myAge years old.n;cout You are: yourAge years oldn;return 0;解: 程序运行输出:I am 39 years oldYou are 39 years oldOne year passesI am 40 years oldYou are 40 years oldAnother year passesI am 40 years oldYou are 41 years oldLets print it againI am 41 y

7、ears oldYou are 41 years old2-28 编写一个完整的程序,实现功能:向用户提问现在正在下雨吗?,提示用户输入Y或N。若输入为Y,显示现在正在下雨。; 若输入为N,显示现在没有下雨。;否则继续提问现在正在下雨吗?解: 源程序:#include #include void main()char flag;while(1)cout flag;if ( toupper(flag) = Y)cout 现在正在下雨。;break;if ( toupper(flag) = N)cout 现在没有下雨。;break;程序运行输出:现在正在下雨吗?(Yes or No):x现在正在下

8、雨吗?(Yes or No):l现在正在下雨吗?(Yes or No):q现在正在下雨吗?(Yes or No):n现在没有下雨。或:现在正在下雨吗?(Yes or No):y现在正在下雨。2-29 编写一个完整的程序,运行时向用户提问你考试考了多少分?(0100),接收输入后判断其等级,显示出来。规则如下:解: #include void main()int i,score;cout score;if (score100 | score0)cout 分数值必须在0到100之间!;elsei = score/10;switch (i)case 10:case 9:cout 你的成绩为优!;br

9、eak;case 8:cout 你的成绩为良!;break;case 7:case 6:cout 你的成绩为中!;break;default:cout 你的成绩为差!; 程序运行输出:你考试考了多少分?(0100):85你的成绩为良!2-31 用穷举法找出1100间的质数,显示出来。分别使用while,do-while,for循环语句实现。解: 源程序: 使用while循环语句:#include #include void main()int i,j,k,flag;i = 2;while(i = 100)flag = 1;k = sqrt(i);j = 2;while (j = k)if(i%

10、j = 0)flag = 0;break;j+;if (flag)cout i 是质数. endl;i+; 使用dowhile循环语句:#include #include void main()int i,j,k,flag;i = 2;doflag = 1;k = sqrt(i);j = 2;doif(i%j = 0)flag = 0;break;j+;while (j = k);if (flag)cout i 是质数. endl;i+;while(i = 100); 使用for循环语句:#include #include void main()int i,j,k,flag;for(i = 2

11、; i = 100; i+)flag = 1;k = sqrt(i);for (j = 2; j = k; j+)if(i%j = 0)flag = 0;break;if (flag)cout i 是质数. endl;程序运行输出:2是质数.3是质数.5是质数.7是质数.11是质数.13是质数.17是质数.19是质数.23是质数.29是质数.31是质数.37是质数.41是质数.43是质数.47是质数.53是质数.59是质数.61是质数.67是质数.71是质数.73是质数.79是质数.83是质数.89是质数.97是质数. 2-33 定义一个表示时间的结构体,可以精确表示年、月、日、小时、分、秒;

12、提示用户输入年、月、日、小时、分、秒的值,然后完整地显示出来。 解: 源程序见实验指导部分实验二2-34 在程序中定义一个整型变量,赋以1100的值,要求用户猜这个数,比较两个数的大小,把结果提示给用户,直到猜对为止。分别使用while、dowhile语句实现循环。解: /使用while语句#include void main() int n = 18;int m = 0;while(m != n) cout m;if (n m)cout 你猜的值太小了! endl;else if (n m)cout 你猜的值太大了! endl;elsecout 你猜对了! endl;/使用dowhile语句#include void m

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号