c++ primer 4.8节练习答案

练习4.25

~优先级大于<<
开始时    :0000000 00000000 00000000 01110001
按位取反:11111111 11111111 11111111 10001110
左移六位:11111111 11111111 11100011 10000000

练习4.26

unsigned int无法保证在任何一台机器上都拥有32位,所以无法保证quiz1能够储存所有同学的成绩

练习4.27

ul1 = 3 :00000000  00000000  00000000  00000011

ul2 = 7 :00000000  00000000  00000000  00000111

ul1&ul2:00000000  00000000  00000000  00000011

ul1|ul2 :00000000  00000000  00000000  00000111

ul1&&ul2: 1(true)

ul1||ul2: 1(true)

时间: 2024-10-26 14:35:27

c++ primer 4.8节练习答案的相关文章

c++ primer 4.6节练习答案

练习4.20 a) 合法,解引用iter,先输出iter所指向的对象的值,再把iter所指的位置向前移动一: b) 不合法,*iter得到的是一个字符串,字符串不能自增: c)不合法,解引用的优先级低于点运算符,故empty()函数先与iter结合,iter是一个指向对象的指针,他是没有empty()函数的,应该是(*iter).empty(); d)合法,输出跟上面一题一样的值 e)合法,等价于++(*iter) f)合法,等价于((iter++)).empty().返回(iter).empt

c++ primer 4.7节练习答案

练习4.21 1 int main() 2 { 3 int num; 4 vector<int> a_num; 5 while (cin >> num) 6 a_num.push_back(num); 7 for (auto &c : a_num) 8 { 9 (c % 2 != 0) ? (c = c * 2) : (c = c); 10 } 11 for (auto it = a_num.begin(); it != a_num.end(); ++it) 12 cout

c++ primer 4.2节练习答案

练习4.4 (12 / 3 * 4) + (5 * 15) + (24 % 4 / 2) = 91 练习4.5 a. -86 b. -18 c. 0 d. -2 练习4.6 bool (a % 2 == 0) 真为偶数,假为奇数 练习4.7 溢出:当计算的结果超出该类型所能表示的范围时就会产生溢出 short short_value = 32767: short_value += 1; cout << "short_value: " << short_value

c++ primer 4.3节练习答案

练习4.8 优先级排序(从高到低) : 相等性运算符.逻辑与.逻辑或 练习4.9 cp是一个指向字符数组的指针,因为cp是指向字符数组,cp存储的是字符数组的地址,肯定不为空,故逻辑与左边的值为真,逻辑与右边*cp表示的是字符数组的首字符'H',也为真,故整个表达式的值为真. 练习4.10 1 int main() 2 { 3 int i; //好久不用vector和范围for循环,复习一下 4 vector<int> num; 5 while (cin >> i &&am

c++ primer 6.5.1节练习答案

练习6.40 a)正确 b)错误,一旦某个形参被赋予了默认值,他后面的所有形参都必须有默认值. 练习6.41 a)错误,ht没有默认实参,而a的实参列表里也没有给出实参: b)合法,调用init(24 ,10 ,' '): c)虽然合法,但是与程序猿的设计初衷不符,*会转换成十进制的数43,相当于调用init(14, 43, ' '): 练习6.42 1 string make_plural(size_t ctr, const string &word, const string &end

c++ primer 5.1.1节练习答案

练习5.20 1 int main() 2 { 3 vector<string> str; 4 string str1; 5 while (cin >> str1) 6 { 7 auto last = str.end(); 8 if (str.size() != 0 && str1 == (*(last-1))) 9 { 10 cout << str1 << endl; 11 break; 12 } 13 else 14 str.push_b

c++ primer 5.5.3节练习答案

练习5.22 1 int main() 2 { 3 int sz = get_size(); 4 while (sz <= 0) 5 { 6 sz = get_size(); 7 continue; 8 } 9 system("pause"); 10 return 0; 11 }

c++ primer 5.5.2节练习答案

练习5.21 1 #include <iostream> 2 #include <string> 3 #include <cstring> 4 #include <vector> 5 using namespace std; 6 int main() 7 { 8 vector<string> str; 9 string str1; 10 while (cin >> str1) 11 { 12 auto last = str.end()

c++ primer 6.5.2节练习答案

练习6.43 a)放在头文件,因为内联函数和constexpr函数一般写在头文件中 b)函数的定义一般写在源文件,而声明放在头文件 练习6.44 1 inline bool isShorter(const string &s1, const string &s2) 2 { 3 return s1.size() < s2.size(); 4 } 练习6.45 内联函数一般用于优化规模小.流程直接.频繁调用的函数. 练习6.46 不行,isShorter函数如果定义成constexpr函