• C++Primer第五版——习题答案详解(一)



    习题答案目录:https://www.cnblogs.com/Mered1th/p/10485695.html

    第1章 开始&&第2章 变量和基本类型


    练习1.3

    #include<iostream>
    int main(){
    	std::cout<<"Hello world"<<std::endl;
    	return 0;
    }
    

    练习1.4

    #include<iostream>
    int main(){
    	std::cout << "Input two numbers: " << std::endl;
    	int a, b;
    	std::cin >> a >> b;
    	std::cout << a <<" * "<< b << " = " << a * b << std::endl;
    }
    

    练习1.5

    #include<iostream>
    int main(){
    	std::cout << "Input two numbers: " << std::endl;
    	int a, b;
    	std::cin >> a >> b;
    	std::cout << a;
    	std::cout<<" * ";
    	std::cout<< b ;
    	std::cout<< " = " ;
    	std::cout<< a * b ;
    	std::cout<< std::endl;
    }
    

    练习1.6
    不合法,第一行有分号表示语句结束,改为如下:

    #include<iostream>
    int main(){
    	std::cout << "Input two numbers: " << std::endl;
    	int a, b;
    	std::cin >> a >> b;
    	std::cout << "The sum of "<< a << " and " << b<< " is " << a + b <<std::endl; 
        return 0;
    }
    

    练习1.7

    #include<iostream>
    int main(){
    	/*
    	/* */注释不能嵌套!  
    	*/
    	return 0;
    }
    

    练习1.8
    第三行错误,因前双引号被注释掉了,后双引号不匹配。

    #include<iostream>
    int main(){
    	std::cout << "/*"<<std::endl;
    	std::cout << "*/"<<std::endl;
    	//std::cout << /* "*/" */<<std::endl;
    	std::cout << /* "*/" /* "/*" */<<std::endl;
    	return 0;
    }
    

    练习1.9

     #include<iostream>
    int main(){
    	int sum = 0, val = 50;
    	while (val <= 100){
    		sum += val;
    		++val;
    	}
    	std::cout << sum << std::endl;
    	return 0;
    }
    

    练习1.10

    #include<iostream>
    int main(){
    	int sum = 0, val = 10;
    	while (val >= 0){
    		sum += val;
    		--val;
    	}
    	std::cout << sum << std::endl;
    	return 0;
    }
    

    练习1.11

    #include<iostream>
    int main(){
    	int a, b;
    	std::cin >> a >> b;
    	while (a <= b){
    		std::cout << a << " ";
    		++a;
    	}
    	return 0;
    }
    

    练习1.12
    程序的功能是求[-100,100]范围内的整数的和,sum的终值为0

    练习1.14
    已知循环次数的时候用for简便,未知时用while简便。

    练习1.16

    #include<iostream>
    int main(){
    	int a, sum = 0;
    	while(std::cin >> a){
    		sum += a;
    	}
    	std::cout << sum;
    	return 0;
    }
    

    练习1.19

    #include<iostream>
    int main(){
    	int a, b;
    	std::cin >> a >> b;
    	if( a > b ){
    		int temp = a;
    		a = b;
    		b = temp;
    	}
    	while (a <= b){
    		std::cout << a << " ";
    		++a;
    	}
    	return 0;
    }
    

    练习1.20

    #include <iostream>
    #include "Sales_item.h"
    int main(){
    	Sales_item book;
    	while(std::cin >> book){
    		std::cout << "Record: " << book <<std::endl;
    	}
    	return 0;
    }
    

    练习1.21

    #include <iostream>
    #include "Sales_item.h"
    int main(){
    	Sales_item book1, book2;
    	std::cin >> book1 >> book2;
    	std::cout << book1 + book2 <<std::endl;
    	return 0;
    }
    

    练习2.8

    #include<iostream>
    int main(){
        cout<<"2M"<<'
    ';
        cout<<'2'<<'	'<<'M'<<'
    ';
    }
    

    练习2.9
    a.需要在cin前定义变量名
    b.3.14强制转换为Int有精度损失
    c.wage未定义
    d.同b

    练习2.15
    a.定义合法但有精度损失
    b.引用类型的初始值必须是一个对象
    c.正确
    d.同b

    练习2.17
    10 10

    练习2.27
    a.不合法,引用r的赋值对象必须是一个对象
    b.合法,将p2设置为一个常量指针,初始化为i2对象的地址
    c.合法,将i设为常量-1,r设置为常量的引用
    d.合法,将p3设为指向常量的常量指针,初始化为i2的地址
    e.合法,将p1设为指向常量的指针,初始化为i2的地址
    f.不合法,常量指针必须初始化
    g.合法

    练习2.28
    a.不合法,常量指针必须初始化
    b.不合法,同a
    c.不合法,常量ic未初始化
    d.不合法,同a
    e.合法。


    不断学习中,欢迎交流!

  • 相关阅读:
    关于C#中Environment.OSVersion判断操作系统及Win10上的问题
    C#各种数组直接的数据复制/转换
    移位操作<<和>>,是逻辑数字上的移动(和大端小端无关)
    log4net学习笔记
    链接错误——无法解析的外部符号 ConvertStringToBST
    当Thread.Sleep的暂停时间参数设置过小时,精度很差的解决方法
    Python发送邮件
    Python使用HTMLTestRunner运行所有用例并产生报告
    pandas学习笔记
    Python requests模块做接口测试
  • 原文地址:https://www.cnblogs.com/Mered1th/p/10480841.html
Copyright © 2020-2023  润新知