【C/C++基础入门】一、初始C/C++
文章目录
1. 初识C/C++
1.1 第一个C++程序
#include <iostream>
//头文件
using namespace std;
//命名空间
int main()//主调函数,第一个执行,是程序的入口
{
cout << "come up and C++ me some time";
/* 这就是cout语句,可以输出一些东西,比如输出语句,就像这条。
注意!如果要输出字符的话,必须加""
<<就是输出符号,每个cout的后面必须加
*/*
cout <<endl;
//endl,end,结束。l(line)线。也就是结束这行,等同于cout <<"\n";
system("pause");
//令系统暂停方便观察结果
return 0;
//return,就是返回语句。在这里写返回0,也就是程序的出口
}
//";"是终止符,一个语句后面必须得有;
1.1.1 注释
1. 单行注释 :
表示该行//之后的内容被注释,不被编译器识别
2. 多行注释:
表示多行或者单行内容都被注释
// 这个是单行注释
/* */ 这个是多行注释,/* xxxx */中间的内容都被注释掉
1.1.2 头文件与预处理
头文件:
像iostream这样的文件叫做包含文件(include file)—由于它们被包含在其他文件中;也叫头文件(header file)—由于它们被包含在文件起始处。
<>表示引用标准头文件;“”表示在当前目录查找头文件。
预处理:
预处理器处理以#开头的编译指令,使用了include指令,它会将iostream文件包含到程序中。这是一种典型的预处理器操作:在源代码被编译时,替换或者包含文本。
#include <iostream>//预处理
头文件类型 | 约 定 | 示 例 | 说 明 |
---|---|---|---|
C++旧式风格 | 以.h结尾 | iostream.h | C++程序可以使用 |
C旧式风格 | 以.h结尾 | math.h | C、C++程序可以使用 |
C++新式风格 | 没有扩展名 | iostream | C++程序可以使用,使用namespace std |
转换后的C | 加上前缀c,没有扩展名 | cmath | C++程序可以使用,可以使用不是C的特性,如namespace std |
1.1.3 名称空间
名称空间旨在让编写大型程序时以及组合多个厂商的代码组合时更加容易,就比如两个厂商都有wand()函数,这样使用的时候,编译器不知道用哪一个版本,因此名称空间可以指出想使用哪个厂商的产品。
using编译指令:using namespace std ;using 也就是使用的意思;name的动词含义就是命名; space 在这里是空间的意思。std 标准化的意思,是stand(标准)的简写。
类、函数和变量便是c++编译器的标准组件,它们现在都放置在名称空间std中。
- 将
using namespace std;
放在函数定义之前,让文件中所有的函数都能够使用名称空间std中所有的元 素。 - 将
using namespace std;
放在特定的函数定义中,让该函数能够使用名称空间std中的所有元素。 - 在特定的函数中使用类似
using std::cout;
这样的编译指令,而不是using namespace std;
,让该函数能 够使用指定的元素,如cout。 - 完全不使用编译指令using,而在需要使用名称空间std中的元素时,使用前缀
std::
,如下所示:
std: :cout << "using cout and endl from the std namespace " << std: :endl;
1.1.4 main函数
- C++句法要求main( )函数的定义以函数头int main( )开始,函数头描述了函数与调用它的函数之间的接口。位于函数名前面的部分叫做函数返回类型,它描述的是从函数返回给调用它的函数的信息。函数名后括号中的部分叫做形参列表(argument list)或参数列表(parameter list);它描述的是从调用函数传递给被调用的函数的信息
- main( )被启动代码调用,而启动代码是由编译器添加到程序中的,是程序和操作系统之间的桥梁。事实上,该函数头描述的是main( )和操作系统之间的接口。(main函数第一个被执行)
- main函数有且仅唯一,以下main函数定义都正确
- 编译器到达main()函数末尾时没有遇到返回语句,则认为main()函数以 return 0; 结尾。
int main()//返回值类型为int,接受形参
void main()//无返回值
int main(void)//返回值为int,无形参
1.1.5 C++源代码的风格
-
C/C++中,每条完整的指令叫做
语句
。所有的语句都是以分号
结束。";"代表语句的结束,所以一条语句一行和多行效果相同。 -
一行代码中不可分割的元素叫做标记(token),通常,必须用空格、制表符或回车将两个标记分开,空格、制表符和回车统称为空白(white space)。
-
C++中源代码的风格遵循以下规则:
1、 每条语句各占一行。
2、 每个函数都有一个开始花括号
和一个结束花括号
,两个花括号各占一行。
3、 函数中的语句都相对于花括号进行缩进。
4、 与函数名称相关的圆括号周围没有空白
。
1.2 变量
作用: c++中所有的数据都会放到内存中,变量存在的意义就是方便我们操作这个数据,方便我们管理内存空间
语法 :数据类型 数据名称 = 变量初始值;
#include <iostream>
using namespace std;
# define Day 7
int main()
{
//#define 定义常量
Day = 214;
cout << "一周总共有:" << Day << "天 " << endl;
//const修饰的变量,也成为常量
const int a = 10;
a = 12;
cout << "a = " << a << endl;
system("pause");
return 0;
}
1.3 常量
**作用:**用于记录程序中不可更改的数据
c++定义的常量两种方式
1. #define宏常量:
- 语法:#define 常量名 常量值
- 通常定义在文件上方,表示一个常量
- #define指令还可定义字符和字符串常量。前者使用单引号,后者使用双 引号。
- const修饰变量
- 语法:const 数据类型 常量名 = 常量值
- 通常在变量定义前加关键字const,修饰该变量为常量 ,不可修改.
#include <iostream>
using namespace std;
#define day 7
int main() {
cout << "一周里总共有 " << day << " 天" << endl;
//day = 8; //报错,宏常量不可以修改
//2、const修饰变量
const int month = 12;
cout << "一年里总共有 " << month << " 个月份" << endl;
//month = 24; //报错,常量是不可以修改的
system("pause");
return 0;
}
1.4 关键字
作用: 关键字是C++中预先保留的单词(标识符)
在定义变量或常量的时候不要用关键字!!!
c++关键字如下
1.5 标识符命名规则
- 标识符不可以是关键字
- 标识符由字母,下划线,数字组成
- 标识符只能是字母或下划线开头
- 标识符区分大小写
给变量起名的时候,最好能够见名知意。