今天无意间看了一位博主的文章,文章分享了他在2.5年从菜鸟到收获阿里offer的点滴,深有感触,同时又很惭愧。他无时无刻都在努力,同时又乐于分享他的学习收获。我期望自己也可以做到!所以,启程吧,从今天开始!
我目前在看的书是《C++ Primer(第五版)》,之前看过第四版的前半部分,但是没有作总结以及实际编程过,感觉并没有真正有所收获,所以打算在学习第五版的时候,认真做笔记,不断总结,希望真正提高自己的编程能力。
开始
1.1编写一个简单的c++程序
每个C++程序必须包含一个main函数,系统通过调用main来运行C++程序。
int main() // int 是返回类型,main是函数名
{
//函数体是从左花括号开始,以右花括号结束的语句块
/*
return 向调用者返回一个值,
返回值类型须与返回类型相同。
非0返回值表示有错误产生,错误类型由系统定义
*/
return 0;
}
1.2初识输入输出
记得大学的第一次上机编程,我写下的第一行代码是#include<iostream>,当然当时并不了解为什么一定要写上这么一句代码。因为C++语言并没有定义任何输入输出(IO)语句,而是由一个全面的标准库来提供IO机制。所以我们如果想在程序中输入输出,必须引入iostream这个库。
标准输出:cin
标准输入:cout
标准错误:cerr、clog
#include<iostream>
//第一行告诉编译器我们想要使用iostream库,iostream定义了接收各种内置类型的输入/输出操作符版本
int main()
{
/*
*输出运算符(<<)、输出运算符(>>)均接受两个运算对象,
*把右侧的值通过流(<<、>>)传输到cout和cin,
*计算结果就是cout和cin
*/
std::cout<<"Enter two numbers:"<<std::endl;
/*
*前缀std::指出cout、cin和endl是定义在名为std的命名空间(namespace)中的,是为了避免名字冲突的。
*在之后可以用using namespace std来避免这种繁琐的书写格式
*endl的效果是结束当前行,并且刷新与设备关联的缓冲区
*/
int v1=0,v2=0; //在c++中使用变量必须先定义,最好进行初始化
std::cin>>v1>>v2;
std::cout<<"The sum of "<<v1<<" and "<<v2
<<" is "<<v1+v2<<std::endl;
return 0;
}
1.3注释简介
从上面的两个程序,我们其实已经可以认识到C++注释了。C++的注释方法主要有两种:
(1)单行注释
以双斜线开始,以换行符结束。
(2)多行注释
以/*开始,以*/结束,可以包含出*/以外的任意内容,包括换行符。编译器将落在/*和*/之间的所有内容都当作注释。
注意:最好是把一个注释块放在所解释代码的上方,注释界定符不能嵌套。
练习1.8
std::cout<<"/*"; 正确
std::cout<<"*/"; 正确
std::cout<</*"*/"*/; 编译出错
std::cout<</*"*/" /* "/*" */; 正确