1.数据类型
(除int long等):unsigned 无符号 signed 有符号(一般不写)
复合数据类型:
struct 结构体
union 联合体(使用同一地址内存的不同表示方式,也称作共用体)
enum 枚举
void 空类型(函数无返回值,函数无参数)
2.控制语句
在循环中:break结束整个循环。continue结束本次循环,进入下次循环
goto:无条件跳转语句(可以在任何位置跳转)
return:1.在函数中结束本函数 2.在主函数中结束程序执行(结束程序)
(显示的黑屏幕一闪而过,将system("pause");加在return0;前面,可以将屏幕暂停)
3.存储类型关键字
auto:定义局部变量使用,即定义函数内部变量使用 int a;
extern:声明(进行声明时候,此声明关键字可以不写)
register:寄存器变量(建议性指令,即有就存放,没有就不存放)
static:定义静态量
(1)静态数据:静态局部变量,静态全局变量
(2)静态函数
const:定义常量(只读变量)
4.其他关键字
sizeof:查看数据类型的大小(字节数)
typedef:定义别名
(1)对一个已经存在的数据类型起别名
(2)定义函数指针
注意: 在定义一个变量后,会在计算机内部开辟出此变量的数据类型所需要的内存空间,准备存放数据!!!
size E:\vs2022\day01\helloworld.exe 计算文件所需要的内存空间
代码分为四个区:代码区 数据区 栈区 堆区
上面从左到右依次是:代码区 数据区 未初始化数据区(链接库的时候需要一些空间)
后面两个是总体大小(十进制显示,十六进制显示)
《基址》作为内存对象用的(找到基址之后可以随意修改数据)
5.常量
常量:程序运行过程中不能改变的值
(1)使用约束变量的方式定义,此种定义方法是局部常量,只能在定义的函数内使用,不能全局使用。
const 数据类型 变量名 = 值
(2)宏定义 此种定义的常量是全局常量,可以在任何函数使用
#define 常量名(大写)值
6. 变量
变量:在程序运行过程中,可以修改的量
数据类型 变量名 = 值
注意:变量名和常量名也称作标识符(不能使用系统关键字,首字母是字母或者下划线,后面可以是数字、下划线、字母,并且区分大小写)
7.整形:int
(1)整形变量的打印格式
%d:输出一个有符号的10进制int类型
%o:输出一个8进制的int类型
%x:输出一个16进制的int类型,字母以小写输出
%X:输出一个16进制的int类型,字母以大写输出
%u:输出一个无符号的10进制int类型
8.scanf安全问题解决办法
(1)在代码的第一行输入 #define _CRT_SECURE_NO_WARNINGS
(2)在代码的任意位置输入(函数之外,头文件那块) #pragma warning(disable:4996)
9.整形大小和取值范围
使用sizeof进行查看数据类型的大小(单位是字节)
short 2字节
int 4字节
sizeof的返回值为size_t类型(此处的size_t是无符号int类型的别名)
注意:size_t是一个无符号的int类型(unsigned int)
注意: 长整型和整型的区别
整型一直都是4字节
长整型在window系统下是4字节,在(32位)Linux下是4字节,在(64位)Linux下是8字节
long long > long >= int >= short
使用键盘输入scanf(“%c”,&ch);注意:在%c不要加回车,输入的会被吞噬掉,电脑接收不到