c++-pimer-plus-6th-chapter03
Chapter Review
- Having more than one integer type lets you choose the type that is best suited to a particular need. For example, you could use
shortto conserve space orlongto guarantee storage capacity or to find that a particular type speed up a particular calculation.short ribs = 80; // or short int ribs = 80;
unsigned int q = 42110; // or unsigned q = 42110;
unsigned long ants = 3000000000; // or long long ants = 3000000000;
Note: Don't count onintbeing large enough to hold 3,000,000,000. Also if your system supports universal list-initialization, you could use it:
short rbis = {80};
unsigned int q {42110};
long long ants {3000000000};- C++ provides no automatic safeguards to keep you from exceeding integer limits; you can use the
climitsheader file to determine what the limits are.- The constant 33L is type
long, whereas the constant 33 is typeint.- The two statements are not really equivalent, although they have the same effect on some system. Most importantly, the first statement assigns the letter A to
gradeonly on a system using the ASCII code, while the second statement also works for other codes. Second, 65 is a typeintconstant, whereasAis a typecharconstant.- Here are four ways:
char c = 88;
cout << c << endl; // char type prints as character
cout.put(char(88)); // put() prints char as character
cout << char(88) << endl; // new-style type cast value to char
cout << (char) 88 << endl; // old-style type cast value to char- The answer depends on how large the two types are. If
longis 4 bytes, there is no loss. Thats because the largestlongvalue would be about 2 billion, which is 10 digits. Becausedoubleprovides at least 13 significant figures, no rounding would be needed. Thelong longtype, on the other hand, can reach 19 digits, which exceeds the 13 significant figures guaranteed fordouble.- a. 8 * 9 + 2 is 72 + 2 is 74
b. 6 * 3 / 4 is 18 / 4 is 4
c. 3 / 4 * 6 is 0 * 6 is 0
d. 6.0 * 3 / 4 is 18.0 / 4 is 4.5
e. 15 % 4 is 3- Either of the following would work for the first task:
int pos = (int) x1 + (int) x2;
int pos = int (x1) + int (x2);
To add them as typedoubleand then convert, you could do either of the following:
int pos = (int) (x1 + x2);
int pos = int (x1 + x2);- a. int
b. float
c. char
d. char32_t
e. double
Programming Exercises
1
#include <iostream>
const int Factor{12};
int main()
{
using namespace std;
cout << "Input your height(inches): ";
int height, feet, inches;
cin >> height;
feet = height / Factor;
inches = height % Factor;
cout << "Your height is equal to " << feet << " feet," << inches << " inches" << endl;
return 0;
}
2
#include <iostream>
int main()
{
using namespace std;
const double Inches_per_foot = 12;
const double Inches_per_meter{0.0254};
const double Kilo_per_pound{2.2};
cout << "Enter your height in feet and inches(example: 14 17): ";
double feet;
double inches;
cin >> feet;
cin >> inches;
cout << "Enter your weight in pounds: ";
double weight;
cin >> weight;
double i = (feet * Inches_per_foot + inches) * Inches_per_meter;
cout << "Your BMI is: " << weight * Kilo_per_pound / (i * i) << endl;
return 0;
}
3
#include <iostream>
int main()
{
using namespace std;
const double Mid{60.0};
cout << "Enter a latitude in degrees, minutes, and seconds:" << endl;
cout << "First, enter the degrees: ";
int degrees;
cin >> degrees;
cout << "Next, enter the minutes of arc: ";
int minutes;
cin >> minutes;
cout << "Finally, enter the seconds of arc: ";
int seconds;
cin >> seconds;
cout << degrees << " degrees, " << minutes << " minutes, " << seconds << " seconds = "
<< double (degrees) + minutes / Mid + seconds / (Mid * Mid) << endl;
return 0;
}
4
#include <iostream>
int main()
{
using namespace std;
const int H_per_day{24};
const int M_per_hour = {60};
const int S_per_seconds = 60;
cout << "Enter the number of seconds: ";
long long seconds;
cin >> seconds;
long long d = seconds / (H_per_day * M_per_hour * S_per_seconds);
long long h = seconds % (H_per_day * M_per_hour * S_per_seconds) / (M_per_hour * S_per_seconds);
long long m = seconds % (H_per_day * M_per_hour * S_per_seconds) % (M_per_hour * S_per_seconds) / S_per_seconds;
long long s = seconds % (H_per_day * M_per_hour * S_per_seconds) % (M_per_hour * S_per_seconds) % S_per_seconds;
cout << seconds << " seconds = "
<< d << " days, "
<< h << " hours, "
<< m << " minutes, "
<< s << " seconds \n";
return 0;
}
5
#include <iostream>
int main()
{
using namespace std;
cout << "Enter the world's population: ";
long long p_of_world;
cin >> p_of_world;
cout << "Enter the population of the China: ";
long long p_of_nation;
cin >> p_of_nation;
cout << "The population of the China is " << double (p_of_nation) / double (p_of_world) * 100.0
<< "% of the world population. \n";
return 0;
}
6
#include <iostream>
int main()
{
using namespace std;
cout << "Enter you have driven in miles: ";
int mile;
cin >> mile;
cout << "Enter you have costed of gasoline: ";
int gas;
cin >> gas;
cout << double (mile) / double (gas) << " miles per gallon your car has gotten. \n";
return 0;
}
7
#include <iostream>
int main()
{
using namespace std;
const double Miles_per_kilo{6.214e-1};
const double Liters_per_gallon = 3.875;
cout << "Enter European style (liters per 100 kilometers): ";
double eu;
cin >> eu;
int temp = int ((1.0 / eu) * (Miles_per_kilo * 100.0) * Liters_per_gallon);
cout << eu << " l/100 km = " << temp << " mpg \n";
return 0;
}
c++-pimer-plus-6th-chapter03的更多相关文章
- The 6th tip of DB Query Analyzer
The 6th tip of DB Query Analyzer MA Gen feng (Guangdong Unitoll Services incorporated, Guangzhou ...
- [转载]ECMA-262 6th Edition / Draft August 24, 2014 Draft ECMAScript Language Specification
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-23.4 Draft Report Errors and Issues at: htt ...
- chapter03
import scala.collection.mutable.ArrayBuffer /** * Created by EX-CHENZECHAO001 on 2018-03-29. */class ...
- Chapter03 Java变量
Chapter03 变量 目录 Chapter03 变量 3.1 为什么需要变量 3.1.1 一个程序就是一个世界 3.1.2 变量是程序的基本组成单位 3.1.3 简单原理图 3.2 变(变化)量( ...
- Si2151/41 6th Generation Silicon TV Tuner ICs
The Si2151/41 are the industry's most advanced silicon TV tuner ICs supporting all worldwide terre ...
- Codeforces Round #361 Jul.6th B题 ☺译
最近迈克忙着考前复习,他希望通过出门浮躁来冷静一下.迈克所在的城市包含N个可以浮躁的地方,分别编号为1..N.通常迈克在家也很浮躁,所以说他家属于可以浮躁的地方并且编号为1.迈克从家出发,去一些可以浮 ...
- Codeforces Round #361 Jul.6th A题 ☺译
A.迈克和手机 当迈克在沙滩上游泳的时候,他意外的把他的手机扔进了水里.不过你甭担心因为他立马买了个便宜些的代替品,这个代替品是老款九键键盘,这个键盘只有十个等大的数字按键,按以下方式排列: 1 2 ...
- October 6th 2016 Week 41st Thursday
The outer world you see is a reflection of your inner self. 你拥有什么样的内心,你就会看到什么样的世界. And we eventually ...
- September 6th 2016 Week 37th Tuesday
I only wish to face the sea, with spring flowers blossoming. 我只愿面朝大海,春暖花开. That scenery is beautiful ...
- July 6th, Week 28th Wednesday, 2016
Diligence is the mother of good fortune. 勤勉是好运之母. The mother of good fortune can be diligence, conti ...
随机推荐
- Java网络通信方面,BIO、NIO、AIO、Netty
码云项目源码地址:https://gitee.com/ZhangShunHai/echo 教学视频地址:链接: https://pan.baidu.com/s/1knVlW7O8hZc8XgXm1dC ...
- You have new mail in /var/spool/mail/root
centos7.5 查看邮件的方式: [root@web01 code]# yum -y install mailx #安装mailx [root@web01 code]# mail #执行mail命 ...
- Eclipse中一个项目调用另一个项目的资源
如果一个项目A想要引用另一个项目B的资源的话,按照一下步骤进行设置: 右键点击项目A---->>>Build Path--->>>Configure Build P ...
- Android灯光系统框架分析【转】
本文转载自: 首先别人的APP要能直接访问到你写的硬件或者不经过任何修改的APP能直接使用你的驱动,就需要使用系统自带的JNI,所以我们需要写出符合系统自带JNI文件的HAL文件和驱动程序,下面具体分 ...
- upc组队赛1 不存在的泳池【GCD】
不存在的泳池 题目描述 小w是云南中医学院的同学,有一天他看到了学校的百度百科介绍: 截止到2014年5月,云南中医学院图书馆纸本藏书74.8457万册,纸质期刊388种,馆藏线装古籍图书1.8万册, ...
- Btrfs管理及应用
一.btrfs基本概念 btrfs文件系统是2007年Oracle开发,支持GPL协议,为了取代Linux早期的ext系列文件系统. btrfs核心特性: 多物理卷支持:btrfs可由多个底层物理卷组 ...
- vba编程基础1
在主要的编程语言中, 结构体是用大括号来表示 代码段的 范围 界定的. 但是在一些比较"老的"语言中,由于历史原因, 还是使用的 是: 关键字来进行界定代码 的 结构段, 如vba ...
- P4172 [WC2006]水管局长
P4172 [WC2006]水管局长 前言 luogu数据太小 去bzoj,他的数据大一些 思路 正着删不好维护 那就倒着加,没了 LCT维护他的最小生成树MST 树上加一条边肯定会有一个环 看看环上 ...
- c# 之partial(分部代码和分部类)
using System; namespace Partial { class Program { static void Main(string[] args) { A a = new A(); } ...
- Css下拉菜单设置
<style type="text/css"> *{margin:0px;padding:0px;}设置所有标签属性<初始化页面属性> #nav{backg ...