「这是我参与2022首次更文挑战的第1天,活动详情查看:2022首次更文挑战」
-
C语言——》汇编语言——》机器语言——》cpu读取指令执行
-
特点:效率高、可移植性高、灵活度高
-
编译型语言(C)和解释型语言(java)
-
ASCLL码
- 对照表
-
打印printf函数,如果输出的不止一行数据,则可以使用反斜杠\代表继续
- 举例
-
变量:确定目标并提供存放的空间
-
变量名规范
- 只能用英文字母和数字或下划线组成
- 第一个变量必须是字母或下划线开头
- 变量名区分大小写
- 不能使用关键字命名变量
- 关键字 注:蓝色粗体显示的关键字是由ISO/ANSI C90标准新增的,而粉色斜体所显示的是由C99标准所新增的。还有七个关键字未写出
-
数据类型
- char:字符型,占用一个字节(byte)
- int:整型,通常反映了所用机器中整数的最自然长度
- float:单精度浮点型
- double:双精度浮点型
- 声明变量:数据类型 变量名
- 举例
-
-
常量
- 整型常量:520、123、1314
- 实型常量:3.14、5.12
-
字符常量
- 普通字符:‘L’、‘O’、‘V’、‘E’
- 转义字符:‘\n’、‘\t’、‘\b’
-
字符串常量:“FishC”
- 计算机是怎么识别字符串结束位置?:自动添加并使用‘\0’表示结束字符
- 举例
-
符号常量:使用前必须先定义(宏定义)
- 格式:#define 标识符(大写) 常量
- 举例:#define NAME “许发有”
- 举例
-
数据类型
-
基本类型
- 整数类型:short int、int、long int、long long int
- 浮点数类型:float、double、long double
- 字符类型:char
- 布尔类型:_Bool
- 枚举类型:enum
- 指针类型
-
构造类型
- 数组类型
- 结构类型
- 联合类型
- 空类型
-
sizeof运算符:用于获取数据类型或表达式的长度
- sizeof(object);//sizeof(对象);
- sizeof(type_name);//sizeof(类型);
- sizeof object;//sizeof 对象;
- 举例1代码
- 举例1结果
- 举例2代码
- 举例2结果
-
signed和unsigned:是否带符号(正负)
- 举例
- 结果
-
数据的取值范围
- CPU能读懂的最小单位——比特位,bit,b
- 内存机构的最小寻址单位——字节,Byte,B
- 1Byte==8bit,即一个字节由八位组成
- 进制:二进制、十进制、十六进制
- 一个字节八位,最大表示为2的8次方减1,为255
- 举例
- 结果
-
补码(计算机存储的形式)
- 正数的补码是该数的二进制形式
-
负数的补码需要通过以下几个步骤获得
- 先取得该数的绝对值的二进制形式
- 再将第一步的值按位取反再加1
- 一个字节八位,最大正数为127,最小负数为-128。因为正数是从0开始,负数是从-1开始
-
ASCLL字符的使用
- 举例
- 运行结果
-
字符串
- 声明字符串:char 变量名[长度]
-
举例
- char name[7]
- 给字符串赋值方式一:name[0]='X';name[1]='u';name[2]='F';name[3]='a';name[4]='Y';name[5]='o';name[6]='u';
- 给字符串赋值方式二:char name[7]={'X','u','F','a','Y','o','u'};
- 代码
- 运行结果
-
-
运算符:C语言通过提供运算符对数据进行处理
- 算术运算符
-
关系运算符
- 举例
- 结果(1代表真,0代表假)
- 逻辑运算符
- 位运算符
- 赋值运算符
- 杂项运算符 ↦ sizeof & 三元
-
运算符的优先级和结合性
- 优先级(从上到下优先级降低)
- 举例
- 输出结果
- 表达式:用运算符和括号将操作数连接起来的式子,例如1+1、‘a’+‘b’
-
逻辑表达式:用逻辑运算符将两边的变量、数据或表达式连接起来,例如3>1&&1<2、3+1||2==0、!(a+b)
- 代码举例
- 结果
-
短路求值
- 短路求值又称为最小化求值,是一种逻辑运算符的求值策略。只有当第一个运算数的值无法确定逻辑运算的结果时,才对第二个运算数进行求值
- C语言对于逻辑与、逻辑或采用短路求值的方式
- 举例(此时两个逻辑运算均只执行了左侧便得出结论,而不用再执行右侧)
- 结果
-
类型转换
- 常用的算术转换:如果一个运算符两边的运算数类型不同,先要将其转换为相同的类型,即较低类型转换为较高类型,然后再参加运算,转换规则如下图所示。
-
强制类型转换:强制类型转换是把变量从一种类型转换为另一种数据类型。例如,如果想存储一个 long 类型的值到一个简单的整型中,需要把 long 类型强制转换为 int 类型。
- 语法格式:(type_name) expression
- 举例
- 结果