1.数据类型
定义:有共同特征的相似数据的集合。
作用:使编译器能够识别数据类型,进而操作数据。
数据类型的分类:内置数据(字符,整形,浮点数,布尔类型)
外置数据(数组,枚举enum,结构体struct,联合体union)
内置数据:字符(char=signed char,unsigned char)signed可省略
整型【短整型(short int= signed short int,unsigned short int) signed,int可省略
整型(int=signed int,unsigned int)signed可省略
长整型(long int=signed long int,unsigned long int) signed,int可省略
长长整型(long long int=signed long long int,unsigned long long int)]
signed,int可省略
布尔类型:由来:从c99开始专门引入表示(true)真与(false)假的,
c语言传统中是用“1”代表真,“0”代表假。
头文件名:<stdbool.h>
取值:true,false
2.signed与unsigned
c语言用signed与unsigned分别修饰字符型与整形。
signed表示一个类型带正负号,包括所有正负整数,与0。
unsigned表示一个类型不带正负号,包括正整数,与0。
相对于signed,unsigned的整数变量声明,在相同长度的内存中内表示更大的取值范围,数值为一倍(例:同为16为内存,signed short int取值范围为:-32768~32768,unsigned short int为;0~65535)
3.查找取值范围:everything:直接搜limits.h与float.h
vs2022:解决方案资源管理器/外部依赖项
找整型类型取值范围的头文件名:limits.h,而浮点型为float.h
整数类型极限值的代码:
SCHAR_MIN , SCHAR_MAX :signed char 的最⼩值和最⼤值。
SHRT_MIN , SHRT_MAX :short 的最⼩值和最⼤值。
INT_MIN , INT_MAX :int 的最⼩值和最⼤值。
LONG_MIN , LONG_MAX :long 的最⼩值和最⼤值。
LLONG_MIN , LLONG_MAX :long long 的最⼩值和最⼤值。
UCHAR_MAX :unsigned char 的最⼤值。
USHRT_MAX :unsigned short 的最⼤值。
UINT_MAX :unsigned int 的最⼤值。
ULONG_MAX :unsigned long 的最⼤值。
ULLONG_MAX :unsigned long long 的最⼤值。
4.变量
类型作用:创建变量
创建变量的语法形式:数据类型 变量名(int age整型变量,char ch字符变量,double weight浮点型变量;打印:%d整型,%c字符,%s字符串,%f浮点型)
初始化:创建变量时赋值(例:int a=0)
分类:全局变量:大括号定义外部的变量,整个工程均可使用;
局部变量:大括号定义内部的变量,仅在局部范围中使用。
全局变量与局部变量相同时,优先使用局部变量。
区域:栈区,堆区,静态区都位于内存中。
局部变量放在栈区中,全局变量放在静态区中,堆区用来动态内存管理的
5.算数运算符(+,-,*,/,%)
单目运算符:+(正),-(负)
双目运算符:+(加),-(减),*(乘),/(除),%(余数)
/(除):除号两边均为整型,结果为整型;而两边至少有一个浮点数,结果为浮点数
%(余数):仅用于整型的相除,结果的正负号由第一个运算符的正负号决定
6.赋值操作符:=
连续赋值:从右到左
优先级:低于算术运算符
复合赋值符:+=,-=,*=,/=,%=;>>=,<<=,&=,l=,^=
7.单目操作符:++,--,+(正),-(负)
前置++(--):先+(-)1,后用
后置++(--):先用,后+(-)1
8.强制转换运算
int a = (int)3.14;(意思是将3.14强制类型转换为int类型,这种强制类型转换只取整数部分)
9.scanf与printf
9.1,printf() 作⽤:将参数⽂本输出到屏幕
printf()的占位符: %a :⼗六进制浮点数,字⺟输出为⼩写。
%A :⼗六进制浮点数,字⺟输出为⼤写
%c :字符。
%d :⼗进制整数。
%e :使⽤科学计数法的浮点数,指数部分的 e 为⼩写。
%E :使⽤科学计数法的浮点数,指数部分的 E为大写。
%i :整数,基本等同于 %d 。
%f :⼩数(包含 float 类型和 double 类型)。
%g :6个有效数字的浮点数。整数部分⼀旦超过6位,就会⾃动转为科学计数法,指数部分的 e 为⼩写。
%G :等同于 %g ,唯⼀的区别是指数部分的 E 为⼤写。
%hd :⼗进制 short int 类型。
%ho :⼋进制 short int 类型。
%hx :⼗六进制 short int 类型。
%hu :unsigned short int 类型。
%ld :⼗进制 long int 类型。
%lo :⼋进制 long int 类型。
%lx :⼗六进制 long int 类型。
%lu :unsigned long int 类型。
%lld :⼗进制 long long int 类型。
%llo :⼋进制 long long int 类型。
%llx :⼗六进制 long long int 类型。
%llu :unsigned long long int 类型。
%Le :科学计数法表⽰的 long double 类型浮点数。
%Lf :long double 类型浮点数。
%n :已输出的字符串数量。该占位符本⾝不输出,只将值存储在指定变量之中。
%o :⼋进制整数。
%p :指针。
%s :字符串。
%u :⽆符号整数(unsigned int)。
%x :⼗六进制整数。
%zd : size_t 类型。
%% :输出⼀个百分号。
基础:%d,%c,%s,%f,%lf,%i,%n,%p
限定宽度: printf() 允许限定占位符的最⼩宽度 格式:%数字字母
整数 :%5d 表⽰这个占位符的宽度⾄少为5位。
如果不满5位,对应的值的前⾯会添加空格。
输出的值默认是右对⻬,即输出内容前⾯会有空格;
如果希望改成左对⻬,在输出内容后⾯添加空 格,在占位符的 % 的后⾯插⼊⼀个 - 号。
小数:%12d表⽰这个占位符的宽度⾄少为12位,限制所有数字的最⼩显⽰宽度。
如果不满12位,对应的值的前⾯会添加空格。
输出的值默认是右对⻬,即输出内容前⾯会有空格;
如果希望改成左对⻬,在输出内容后⾯添加空 格,在占位符的 % 的后⾯插⼊⼀个 - 号。 限定⼩数位数:格式:%.数字字母
%.2f表示⼩数点后⾯只保留两位,而默认的保留为小数点后6位
输出部分字符串:%s 占位符⽤来输出字符串,默认是全部输出。
%.[m]s 指定输出 的⻓度,其中 [m] 代表⼀个数字,表⽰所要输出的⻓度。
9.2,scanf
作用:scanf() 函数⽤于读取⽤⼾的键盘输⼊。
scanf的常用占位符:%c :字符(包括空白字符)
%d :整数。
%f : float 类型浮点数。
%lf : double 类型浮点数。
%Lf : long double 类型浮点数。
%s :字符串。
%[] :在⽅括号中指定⼀组匹配的字符(⽐如 %[0-9] ),遇到不在集合之中的字符,匹配将会 停⽌。