
数据类型内置类型字符型 — char整型 — int浮点型 — floatdouble布尔类型 — _Boo字符型字符型变量需要使用一对单引号括起来例如‘x’、‘a’、‘w’。整型整型变量用于表示整数例如100、200、89 等。浮点型double类型3.14float类型3.14f布尔类型布尔类型变量的取值只有 true 或 false该类型定义在stdbool.h头文件中。类型修饰符// 内存长度有关short intlong int\\ 都是用来修饰整型 intint可忽略还有long long (int)每个数据类型的长度可以用sizeof来计算计算结果是 size_t 单位是 字节打印的时候用%zu作为占位符例如 printf(“%zu\n”,sizeof(char));括号里不需要“ ”或者‘ ’//整型家族 1 sizeof(char) sizeof(short) sizeof(int) sizeof(long) sizeof(long long) //浮点型家族 sizeof(float) sizeof(double) sizeof(long double)//符号有关有符号sighed表示一个类型带有正负号可表示正整数负整数和0无符号unsighed表示该类型不带有正负号只能表示零和正整数int默认带有正负号 intsighed int但char要标sighed或者unsighed整数家族的取值范围在limits.h这个头文件中查看浮点型家族的取值范围在float.h这个头文件中查看ASCII字符集A~Z : 65~90a~z97 ~122\n: 100~9 : 48~57左边是编码右边是十进制数字十进制数字在0~31是不可打印字符%s打印字符串的占位符例如 printf(“%s\n”,“abcdef”);字符串用“ ”转义序列字符转义序列转义字符转义字符解释\?在书写连续多个问号时使用防止他们被解析成三字母词在新的编译器上没法验证了。\用于表示字符常量’\用于表示一个字符串内部的双引号\\用于表示一个反斜杠防止它被解释为一个转义序列符。\a警报这会使得终端发出警报声或出现闪烁或者两者同时发生。\b退格键光标回退一个字符但不删除字符。\f换页符光标移到下一页。在现代系统上这已经反映不出来了行为改成类似于\v。\n换行符一般使用在屏幕上打印信息时实现换行的效果\r回车符光标移到同一行的开头。\t制表符光标移到下一个水平制表位通常是下一个4/8的倍数。\ddd ddd表示1~3个八进制\xdd dd表示两个十六进制数字printf(“%c\n,23); 十进制// 不需要‘ ’printf(“%c\n”,‘\130’); 八进制printf(“%c\n”,‘\x30’); 十六进制 还有字符// 都需要‘ ’八进制转化为十进制代码块#include stdio.h #include string.h //strlen需要这个头文件 int main() { printf(%zu\n, strlen(abcdef\abe\tcd:be));//求的是abcdef\abe\tcd:be这个字符串的长度字符串要用 “ ” return 0; }算一个字符\a算一个字符\\算一个字符等strlen是求字符串长度的库函数求长度用的占位符一般都是%zu变量值可以变语法数据类型 变量名例如int a;//定义一个a变量变量命名的一般规则变量的名字起得要有意义见名知意。只能由字母包括大写和小写、数字和下划线_组成。不能以数字开头。长度不能超过63个字符。变量名中区分大小写。变量名不能使用关键字。例如 int age;//变量后面是需要 ; 的变量在创建时给一个值叫初始化例如int age18;//这个变量的初始值为18如果int age;age18;//这叫赋值不是初始化变量分类全局变量在函数之外定义的变量称为全局变量作用域从定义位置开始到整个源文件末尾都可见生命周期在程序启动时创建程序结束时才销毁存储在内存的静态存储区/数据段。初始值如果没有显式初始化系统会自动初始化为0使用注意尽量不要使用局部变量在大括号内部定义的变量就是局部变量作用域仅限于定义它的函数或代码块内部外部无法访问。生命周期在进入函数/代码块时创建退出时自动销毁存储在内存的 栈区 //临时的变量。初始值如果没有显式初始化其值是垃圾值不确定的随机数局部变量进行初始化。优先级当局部变量与全局变量同名时局部优先全局。int num2 2; //定义一个num1变量初始值为1这是全局变量void test()//函数后面一般括号后不加啥{int num3 3;//局部变量printf(“%d\n”, num2);}//这个整体都给程序留了个test函数的印象这个函数范围结束int main(){printf(“%d\n”, num2);int num1 1;//局部变量printf(“%d\n”, num2);test();//这是告诉程序转到test进行之前是留了test的印象的注意是需要 的return 0;}main函数是唯一自动启动的入口别的函数不会自动运行程序一启动自动找main函数跑一般有别的函数要在main函数之前先给留个印象常量值不能变字面常量就是100a之类的直接打上去const int num10的话后面不能写 num等于其他数字符号常量起了名字的固定文本#includestdio.h#define MAX 100//符号常量名字通常是全大写并且没有int main(){int a MAX;//定义一个变量a为符号常量最终调试也会得到100也不可以写MAX等于其他数字printf(“%d\n”, a);printf(“%d\n”, MAX);return 0;}