练习1.1: 查阅你使用的编译器的文档,确定它所使用的文件命名约定,编译并运行第2页的main程序。

命令为:

C:\Users\dell>cl /EHsc SMA.cpp

我的电脑运行结果如下:

练习1.2:改写程序,让它返回-1,返回-1通常被当作程序错误的标识。重新编译运行你的程序,观察你的系统如何处理main返回的错误标识

解答:

Windows 7操作系统并不处理或报告程序返回的错误标识,直观上,返回-1的程序与返回0的程序在执行效果上并无不同。但环境变量ERRORLEVEL记录了上一个程序的返回值。因此,在控制台窗口执行修改后的程序,接着执行echo %ERRORLEVEL%,会输出-1。在Linux系统中,执行echo $?有类似效果。

练习 1.3:编写程序,在标准输出上打印Hello , World 。

#include<iostream>
using namespace std;
int main()
{cout << "hello world" << endl;return 0;
}

注1:书本中是使用std::cout,

std是一个命名空间(namespace),‘::’是作用域运算符,cout是std空间中的一个函数名。使用cout时,必须有使用std命名空间的说明,有两种说明方式。

方式一:每次使用时对cout说明:
std::cout << "Input two numbers:";

方式二:在主函数前说明一下,后面就可以直接使用cout:
using namespace std;
cout << "Input two numbers:";

注2:关于endl;

调试的时候用cout输出的时候尽量每个语句后面都加上endl保证一直刷新到设备里,否则可能导致输出还停留在缓冲区中导致判断错误。

练习 1.4:我们的程序使用加法运算符+来将两个数相11口。编写程序使用乘法运算符*,来打印两个数的积。

#include<iostream>
using namespace std;
int main()
{cout << "hello world" << endl;return 0;
}

练习 1.5:我们将所有输出操作放在一条很长的语句中。重写程序, 将每个运算对象的打印操作放在一条独立的语句巾。

这题我无法理解题目。。

练习 1.6:解释下面程序片段是否合法。

    std::cout<<"the sum of"<<v1;<<"and"<<v2;<<"is"<<v1*v2<<std::endl;

如果程序是合法的,它输出是什么?如果程序不合法,原因何在?应该如何修正?

解答:

这段代码不合法。
前两行的末尾有分号,表示语句结束,第2、3两行为两条新的语句。而这两条语句在“<<”之前缺少了输出流,应在“<<”之前加上“std::cout”,即得到正确的程序。

练习 1.9:编写程序,使用while 循环将50 到100 的整数相加。

#include<iostream>
using namespace std;
int main()
{int sum = 0, val = 50;while (val < 101){sum += val;++val;}cout << "Sum of 50 to 100 inclusive is" << sum << endl;return 0;
}

练习 1.10:除了++运算符将运算对象的值增加1 之外,还有一个递减运算符(—)实现将值减少1 。编写程序,使用递减运算符在循环中按递减顺序打印出10 到0 之间的整数。

#include<iostream>
using namespace std;
int main()
{int sum = 0, val = 10;while (val > =0){sum += val;--val;}cout << "Sum of 10 to 0 inclusive is" << sum << endl;return 0;
}

练习1.11: 编写程序,提示用户输入两个整数,打印出这两个整数所指定的范围内的所有整数。

#include<iostream>
using namespace std;
int main()
{int N1 = 0, N2=0;cout << "Please enter the numbers" << endl;cin >> N1 >> N2;if (N1 > N2){while (N1 >= N2){cout << N1 << " ";--N1;}}else{while (N1 <= N2){cout << N1 << " ";++N1;}}return 0;
}

练习1.14: 对比for循环和while循环,两者的优缺点各是什么?

答:在循环次数已知的情况下,for循环的形式显得更为简洁。而循环次数无法预知时,使用while循环更合适。用特定条件控制循环是否执行,循环体中执行的语句可能导致循环判断条件发生变化。

练习1.15:编写程序,包含第14页“再探编译”中讨论的常见错误。熟悉编译器生成的错误信息。

机械祭天法力无边:C++primer学习(第一章及课后习题)相关推荐

  1. 计算机网络--第一章 概述--课后习题答案

    计算机网络原理第五版课后的全部习题答案,学习通作业答案. 说明:计算机网络原理其他章节的习题答案也在此"计算机网络"专栏. 1-01 计算机网络向用户可以提供那些服务? 答: 连通 ...

  2. QT学习 第一章:基本对话框--利用Qt Designer设计多个UI界面

    QT学习 第一章:基本对话框--利用Qt Designer设计多个UI界面 效果截图: 创建上文件夹Designers,使用Designer设计三个UI界面: First.ui Second.ui T ...

  3. 逻辑学学习:第一章:导论

    逻辑学学习:第一章:导论 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 开始学习逻辑学,教材为<<普通逻辑学>>,作者杨树森, ...

  4. 浙大版《C语言程序设计》第四版(何钦铭颜晖) 第9章 结构 课后习题答案

    浙大版<C语言程序设计>第四版(何钦铭颜晖) 第9章 结构 课后习题答案 你也可以上程序咖(https://meta.chengxuka.com),打开大学幕题板块,不但有答案,讲解,还可 ...

  5. 大学物理学(第5版)下(第14章)课后习题答案

    大学物理学(第5版)下 第9章 静电场 课后习题答案    第10章 稳恒磁场   课后习题答案      第11章 变化的电磁场   课后习题答案  第12章 光的干涉   课后习题答案  第13章 ...

  6. 简单线性回归问题——线性模型【蒙哥马利】第二章部分课后习题代码

    利用R语言求解线性模型中的简单线性回归问题,涉及: 关于直线的拟合.估计相关系数.检验对某个系数的假设.求解置信区间.求解预测带.求解是否存在显著关系.相关图形的构造:以及对模型结果的解释与分析. 以 ...

  7. 机械祭天法力无边:C++primer之书店程序包含Sales_item.h源码

    好吧,作为一个老菜鸟,还有第一章几道题实在写不下去了,直接写书店程序,这个书店程序只能满足2 2  2 3 3 这种连续的情况,无法满足2 3 2 3这种情况. 首先上Sales_item.h头文件源 ...

  8. Intel汇编语言程序设计学习-第一章 基本概念

    第一章基本概念 1.1  简单介绍 本书着重讲述MS-Windows平台上IA-32(Intel Architecture 32bit,英特尔32位体系架构)兼容微处理器的汇编语言程序设计,可以使用I ...

  9. python爬虫学习第一章

    <!DOCTYPE html> python爬虫第一章 python网络爬虫的学习 什么是网络爬虫 按照特定需求,从互联网中搜索有用信息网页进行过滤,就叫网络爬虫. 网络爬虫算法 当浏览信 ...

最新文章

  1. 【Java集合系列四】HashSet和LinkedHashSet解析
  2. 基于SEAL库实现PSI-报错实录2
  3. matlab 对mnist手写数字数据集进行判决分析_人工智能TensorFlow(十四)MINIST手写数字识别...
  4. 一个人会python能做什么_利用Python来预测一个人有没有女朋友!无所不能!
  5. life at University of Liverpool
  6. c++ 特定容器算法(sort,merge,reverse,remove,unique)
  7. mysql表的视图怎么建立_MySQL如何创建视图
  8. 9件事把你从消极情绪中解救出来
  9. Flutter搜索框SearchBar
  10. 两大方案,只为写出更安全的代码!
  11. 快速学习nodejs系列:四、nodejs特性1--单线程
  12. 【光学】基于matlab圆孔衍射动态模拟【含Matlab源码 795期】
  13. 点云深度学习——点云配准网络DCP复现
  14. 苹果手机连wifi跳不出来登录网页解决办法
  15. sqlserver中65535_Sql Server数据导出EXCEL 解决行数超过65535问题
  16. 【模型加速】PointPillars模型TensorRT加速实验(4)
  17. linux无线网卡驱动编写,博通无线网卡驱动linux版
  18. 验房师丨验房项目以及验房整改建议
  19. SQL server 2005简体中文版下载
  20. 火焰图片和视频数据集

热门文章

  1. linux远程判断目录是否存在,用shell判断远程主机上是否存在某个文件
  2. 使用计算机时按什么键打开,计算机进入BIOS的快捷键是什么|打开计算机以进入BIOS设置时按下的键...
  3. 投之家与妙优车达成战略合作,加强推进优质资产端建设
  4. 谈谈如何设计好网站的 URL
  5. keil5下载仿真出现Flash download failed-Cortex-M3的原因与方案
  6. 四川省工程技术研究中心申报解读(条件认定流程各市奖励政策)
  7. 系统业务逻辑书籍_Python框架:Django写图书管理系统(LMS)
  8. 纯css实现乌云密布的天气图标
  9. .dockerignore 文件从入门到实践
  10. VMware虚拟机 之 VMX进程已提前退出