2.1 C++程序结构
- 预处理部分
以#开头,如#include导入头文件,#define定义宏(预处理指令)。这部分代码在正式编译前由预处理器先行处理,不直接生成机器码。
#include<iostream>//导入输入输出流
- 全局说明部分
位于所有函数外部的声明区域,用于定义全局变量、声明函数原型、定义自定义数据类型。
命名空间:可以作为附加信息来区分不同库中相同名称的函数、类、变量等等,使用命名空间即定义上下文。
using namespace std;//std:standard;标准的
- 主函数main()
程序
唯一的入口与出口。无论程序包含多少函数,系统始终从main()开始执行,最终回到main()结束。
int main(){
......
return 0;
}
/*
int:函数返回值类型;
main:函数名;
():参数列表;可以没有参数,也可以有多个参数.
{}:函数体;
return:返回值.
*/
- 自定义函数部分
实现具体功能的代码块,通过函数名被调用执行。模块化编程。
- 注释
对程序进行
必要的解释性语句,提高代码的可读性。
单行注释://
多行注释:/**/
C++程序运行流程:源码(.cpp)——编辑(.obj)——链接(.exe)——运行
图1 HelloWorld


2.2 基本数据类型及操作
- 字符集
字母:a~z A~Z
C++严格区分大小写
数字:0~9
特殊字符:+ - * / ? !等
- 标识符和关键字
标识符:名字,由字母、数字、下划线组成。
注意
(1)只能由字母、数字、下划线组成,不允许其他特殊字符;
(2)首字母必须是字母或者下划线_,绝对不能以数字开头;
(3)严禁与系统关键字重名,且不能包含空格或运算符;
(4)严格区分大小写,建议遵循“见名知意”、“驼峰命名”。
合法:_age、stu_2024、TotalScore
非法:2num、a+b、class
关键字:系统保留字,具有固定含义和语法用途,不能被作为普通标识符。
图3 C++关键字
- 运算符和表达式
运算符
(1)算术运算符:进行计算。+ - * / %(取余数/模芋运算) ++(自增) --(自减)图4 注意除法
图5 自增运算图6 运行结果
注意:a++:先赋值,再运算;++a:先运算,再赋值。
(2)关系运算符:比较(大小)关系。
==(相等),判断两个数是否相等;
!=(不等),判断两个数是否相等;
,<,>=,<=图6 关系运算符图7 运行结果
(3)逻辑运算符:表示逻辑关系(与、或、非)。
&&,逻辑与,两个操作数均为真,结果为真,只要有一个为假,结果为假,前面操作数为假,后面不用判断,结果必为假。
||,逻辑或,两个操作数均为假,结果为假,只要有一个为真,结果为真,前面操作数为真,后面不用判断,结果必为真。
!,逆转操作数逻辑状态,真变假,假变真。图8 逻辑运算符图9 运行结果
(4)赋值运算符
将运算符右边操作数的值赋给左边的操作数。
=,赋值运算符注意:和==区别。
+=、-=、*=、/=
a+=10 -->a=a+10
- 示例代码
#include<iostream>
using namespace std;
int main(){
//赋值运算符基本使用
int a=30,b=20,c=0;
c+=a;//c=c+a
cout<<"c的值为:"<<c<<endl;
c-=b;
cout<<"c1的值为:"<<c<<endl;
c*=a;
cout<<"c2的值为:"<<c<<endl;
c/=b;
cout<<"c3的值为:"<<c<<endl;
return 0;
}
(5)三目(三元)运算符
有3个操作数,唯一一个三目运算符(? :)
a?b:c,条件表达式a为真,执行表达式b,否则执行表达式c。
注意:三目运算符不要嵌套使用,降低代码可读性。
表达式:由常量、变量、函数和运算符组成起来的式子,算术表达式、逻辑表达式等等。
数据类型
基本数据类型
(1)整型:int、short、long
(2)浮点型:float(单精度:6-7位有效数字)、double(双精度:15位有效数字)
(3)字符型:char(单个字符)
(4)布尔型:bool(true真、false假)非0即真
(5)空类型:void(一般用作函数的返回值类型)
- 示例代码
#include<iostream>
using namespace std;
int main(){
//C++数据类型基本使用
int a=100;
cout<<"a="<<a<<endl;
float aa=3.14f;
cout<<"aa="<<aa<<endl;
double aaa=3.14;
cout<<"aaa="<<aaa<<endl;
char b='?';
cout<<"b="<<b<<endl;
bool c=true;
cout<<"c="<<c<<endl;
return 0;
}
自定义(派生)数据类型
数组、指针、结构体、类、枚举、联合体等等。
- 输入与输出
cout:输出 cout<<
cin:输入 cin>>







