目录
一. 下载编译器
二. 使用编译器
三. Hello,World!
四. 变量
五. 输入输出
六. 运算符
七. 常量
八. 自动类型转换与强制类型转换
九. 注释
一. 下载编译器
- 推荐初学者下载Dev-C++ 6.5。找不到的,就用这个:百度网盘 请输入提取码 直接下就行。
二. 使用编译器
- 运行Dev-C++ 6.5,安装后,运行Red Panda Dev-C++。(语言选Chinese,方便一点)
- 点击左上角的源代码,以此新建一个空白代码文档。这样就能输入代码了。
三. Hello,World!
- 现在我们就来编写属于我们自己的第一个程序——Hello,World!
- 代码如下:
#include //头文件
using namespace std; //使用标准库的命名空间
int main(){ //主函数
cout<<"Hello,World!"; //输出Hello,World!
return 0; //返回值0
}
- 头文件:它是一种载体文件,主要用于保存程序的声明。
- return 0; 返回0
四. 变量
- 现在我们就来编写属于我们自己的第一个程序——Hello,World!
- 代码如下:
#include//头文件 using namespace std; //使用标准库的命名空间 int main(){ //主函数 cout<<"Hello,World!"; //输出Hello,World! return 0; //返回值0 }
- 头文件:它是一种载体文件,主要用于保存程序的声明。
- return 0; 返回0
四. 变量
定义:存储在计算机内存中可变的数据称之为变量
命名规则:
- 1.变量名必须以字母或下划线开头,名字中间只能由字母、数字和下划线“_”组成
- 2. 变量名的长度不得超过255个字符;
- 3. 变量名在有效的范围内必须是唯一的。
- 4. 变量名不能是保留字(关键字)
- 5. 避免冲突,变量尽量首字母大写
数据类型:
| 类型 | 关键字 | 格式控制符 | 存储(字节) | 范围 |
| 短整型 | short int | %hd | 2 | -2^15~2^15-1 |
| 无符号短整型 | unsigned short int | %hu | 2 | 0~2^16-1 |
| 整型 | int | %d | 4 | -2^31~2^31-1 |
| 无符号整型 | unsigned int | %u | 4 | 0~2^32-1 |
| 长整型 | long long | %lld | 8 | -2^63~2^63-1 |
| 无符号长整型 | unsigned long long | %llu | 8 | 0~2^64-1 |
| 单精度浮点型 | float | %f | 4 | 6~7位有效位数 |
| 双精度浮点型 | double | %lld | 8 | 15~16位有效数 |
| 长双精度浮点型 | long double | %llf | 16 | 18~19位有效数 |
| 字符型 | char | %c | 1 | 无 |
| 布尔型 | bool | 无 | 1 | c++有,c无 |
五. 输入输出
- C语言格式化输入输出:scanf,printf
- C++格式化输入输出:cin,cout
C语言格式化输入输出:
- 使用时,需引用cstdio库,如下:
#include
scanf (输入):
- 格式: scanf("格式化字符串",地址列表);
- 格式控制符和地址列表要一一对应 !
- 在输入多个数值数据时,格式控制串中的间隔则可用空格,TAB作间隔
scanf("%d%d",&a,&b);
scanf("%d %d",&a,&b);
scanf("%d %d",&a,&b);
//以上都对
printf (输出):
- 格式:printf("格式化字符串",参量表)
- 格式字符串和各输出项在数量和类型上应该一一对应
- 非格式字符串原样输出,在显示中起提示作用:
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%d=%d=%d",a,b,c);//"="将会原样输出
- printf中可以使用转义字符(后文会讲转义字符):
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%dn%dn%d",a,b,c);//"n"是转义字符,表换行
- 场宽,即输出的最小宽度,变量值宽度超过最小场宽,用实际宽度显示:
printf("%5d %6dn",a,b);//变量a,b输出最少占5个字符,不够左边补格
prinf("%-5d %6dn",a,b);//变量a最少占5个字符,不够右边补空格,b最少占6个字符,不够左边补格
printf("%5d %5dn",a,b);//如果a或b本身超过了5个字符,则按实际宽度输出
- printf也可以保留小数位数:
float a;
scanf("%f",&a);
printf("%.2f",a);//".2"表示保留2位小数
- printf打印浮点数时,如不指出保留多少位小数,则默认保留到5位小数。
C++格式化输入输出:
- 使用时,需引用iostream库,如下:
#include
cin (输入):
- 格式:cin >> 变量名;
int a,b,c ; cin >> a >> b >> c ;//按顺序分别输入a,b,c
cout (输出):
- 格式:cout << 变量名;
int a,b,c; cin >> a >> b >> c; cout << a << b << c;//按顺序分别输出a,b,c
- 保留小数位数就要使用iomanip库:
float a; cin>>a; cout<
- cout打印浮点数时,如不指出保留多少位小数,则默认保留到5位小数。
六. 运算符
赋值运算符“=”:
- 变量名=表达式,例:int a=1;
- 赋值语句是先把右边的表达式运算出一个具体的值,然后把这个值存储在左边变量内存地址里
- 由于赋值运算符“=”右边的表达式也可以是赋值表达式,所以就可以 a=b=...=1;
- 如果左边的变量类型和右边的表达式求出的结果类型不一致,将把右边的值转换成左边的类
型再赋值
算术运算符:
补充:
int a; a+=1;//即 a=a+1; a-=1;//即 a=a-1; a*=1;//即 a=a*1; a/=1;//即 a=a/1;
关系运算符:
| 运算符 | 描述 | 实例(A==10,B==20) |
| == | 检查两个操作数的值是否相等,如果相等则条件为真。 | (A == B) 不为真。 |
| != | 检查两个操作数的值是否相等,如果不相等则条件为真。 | (A != B) 为真。 |
| > | 检查左数是否大于右数,如果是则条件为真。 | (A > B) 不为真。 |
| < | 检查左数是否小于右数,如果是则条件为真。 | (A < B) 为真。 |
| >= | 检查左数是否大于等于右数,如果是则条件为真。 | (A >= B) 不为 真。 |
| <= | 检查左数是否小于等于右数,如果是则条件为真。 | (A <= B) 为真。 |
逻辑运算符:
| 运算符 | 描述 | 实例(A==10,B==20) |
| && | 且,两边操作数都不为0为真 | (A&&B)为真 |
| || | 或,两边操作数其中一个不为0为真 | (A||B)为假 |
| ! | 非,如果条件为真则逻辑非运算符将使其为假 | !(A&&B)为假 |
七. 常量
转义序列码表:
| 转义序列 | 含义 |
| | | |
| a | 报警铃声 |
| b | 退格键 |
| f | 换页符 |
| n | 换行符 |
| r | 回车 |
| t | 水平制表符 |
| v | 垂直制表符 |
| ooo | 一到三位的八进制数 |
| xhh | 一个或多个数字的十六进制数 |
定义常量:
1.宏定义:
- 定义:#define 常量名 常量表达式
- #define命令定义带参数的宏定义。其定义的一般形式为:#define 宏名(参数表) 常量表达式
- 注意常量表达式尽量要加括号,不然会得到意外的结果,一般不建议使用复杂的表达式
2.使用 const 关键字:
const 数据类型 变量名 = 常量表达式;
八. 自动类型转换与强制类型转换
自动类型转换:
- 较低类型将自动向较高类型转换。
- 整型类型级别从低到高依次为:int -> unsigned int -> long -> unsigned long -> long long -> unsigned long long
- 浮点型级别从低到高依次为:float -> double
- 操作数中没有浮点型数据时:当 char、unsigned char、short 或 unsigned short 出现在表达式中参与运算时,一般将其自动转换为 int 类型
- 赋值运算符两恻的类型不一致时:当赋值运算符的右值(可能为常量、变量或表达式)类型与左值类型不一致时,将右值类型可能提升或降低为左值类型:右值超出左值类型范围时:将把该右值截断后,赋给左值。
- 当 return 后的表达式类型与函数的返回值类型不一致时,也会自动把 return 后表达式的值转换为函数类型后,再返回。
- 当函数调用时,所传实参与形参类型不一致时,也会把实参自动转换为形参类型后再赋值。
强制类型转换:
格式: (类型说明符) (表达式)
*类型转换只是临时性的,无论是自动类型转换还是强制类型转换,转换的结果也会保存到临时的内存空间,都不会改变数据本来的类型或者值
补充:
常用算术转换:如果操作数类型不同,则它们会被转换为下列层次中出现的最高层次的类型
九. 注释
注释分为两种:单行注释与多行注释
单行注释(//):
int a,b,c; cin>>a>>b>>c; //这是单行注释 cout<
多行注释():
int a,b,c; cin>>a>>b>>c; cout<
*听说点赞的人做题都AC



