C++ Primer 第一章

第一个程序

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


C++中主函数的返回值必须是int类型的,其他类型的不行!为什么不行?返回值没有负数,如果返回-1的话显示返回的是255,返回值是无符号类型的short类型的。如果没有return0程序会默认加上返回值的,但是main函数不能是void类型的。

问题:为什么主函数的返回值必须是int类型的,为什么必须有返回值


第二个程序

 

#include<iostream>
using namespace std;
int main()
{
    cout<<"Enter two numbers:"<<endl;
    int v1,v2;
    cin>>v1>>v2;
    cout<<"The sum of "<<v1<<" and "<<v2
	<<" is "<<v1+v2<<endl;
    return 0;
}

程序用来计算两个数的和,定义的是两个int类型的变量,但是输入的时候并没有加以限制,输入的类型是double或者其他类型也能够接受,但是如果输入的值不是int类型的话,会进行强制类型转换的,比如输入的是56.3那么输出结果就是Thesum of 5 and 6 is 11.

cin标准输入,取的是键盘输入的值,cout是标准输出,输出到屏幕上去的。

问题:为什么需要加头文件,头文件的作用是什么,为什么必须单独写一行


第三个程序

 

#include<iostream>
/*
 *comment pairs/**/ cannot nest
 *"Cannot nest" is considered source code
 *as is the rest of the progream
 */
int main()
{
    //do nothing!:
    return 0
}

这个程序是运行不了的,只能是做个样子看看而已,目的是关于注释的,对于注释,目的是为了能够让程序更加清楚,不用看代码来知道程序员的意图,但是程序员最烦的就是写注释,最最烦的就是看别人程序不写注释。注释分为两种,单行注释和多行注释,单行注释注释单行,以//开始,多行注释能够注释多行,/**/中间内容都是注释的内容,这个程序中每行开头的*并不是必须的,而是为了美观而已。而且中间不能够进行嵌套,会以第一个*/结束注释的,所以注释的时候需要注意。但是并不是遇到/**/就一定是注释,如果是在一个字符串中出现的话,就是普通的字符,而不作为注释解释。


第四个程序

 

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

这个程序目的是while循环的使用,如果while循环后面括号中内容是真的情况下,那么就可以运行大括号中的内容,如果是假的情况下,就不运行,while循环也结束,我们这里说的真假就是是不是0,如果是0就是假,如果不是0那么就是真,就算是负数也行,也是真。谨记!


第五个程序

 

#include<iostream>
using namespace std;
int main()
{
    int sum = 0, value;
    while(cin>>value)
	    sum += value;
    cout<<"Sum is :"<<sum<<endl;
    return 0;
}

这个程序目的是实现一种功能,求和功能,如果输入的结果符合输入的话,就可以一直输入,直到遇到文件结束符号,或者是输入的数据和定义的不一样的时候才出现错误。文件结束符号在不同系统中是不一样的,在linux中是ctrl+ d


问题:如何知道是输入了文件结束符号,如何直到是输入的和定义的不匹配呢??


在第一章开始的时候提出来一个问题,就是一个类,一个图书的类,实现图书的统计功能,每当输入一本图书的时候都会有个ISDN码,唯一的码,如果文件中有这本图书的情况下,求出总价值和平均价值,如果没有的话加入到文件中,其中输入输出进行重载,能够实现对比功能,到现在还不能实现,留作任务。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值