C语言的组成
- 组成:若干文件
- 文件:若干函数
- 函数:函数头+函数体
- 函数头:四部分‐>函数名+()
- 函数体:{ }+语句
- 语句:三类语句
- 类型1→/* */
- 类型2→定义语句;
- 类型3→执行语句;
数据与数据类型
- 标识符
- 保留字(关键字):字母/小写
- 如:int float char if else for
- 预定义标识符:在C语言中预先定义并具有特定含义的标识符
- scanf printf include
- 用户自定义标识符:由用户根据需要定义的标识符。如:变量名、数组名、函数名等
- 标识符只能由字母、数字、下划线组成,而且第一个字符必须是字母或下划线
- 在C程序中大小写字母是严格区分的。如int INT sum SUM ,C语言程序中主要使用小写
- 保留字(关键字):字母/小写
- 数据类型:定义内存空间大小的
- 基本类型
- 整型 int(2个字节)
- 实型
- float(4个字节)
- double(8个字节)
- 字符型:char(1个字节)
- 构造类型
- 数组
- struct
- union
- enum
- 指针类型:*
- 空类型:void
- 基本类型
- 数据
- 常量
- 整型常量
- 十进制 7
- 八进制 07
- 十六进制 0x7
- 实型常量
- 小数形式:由数字和小数点组成。如:123.456 123. .456 0.456 都是合法的实型常量
- 指数形式:用“E”或“e”后紧跟一个整数表示以10为底幂数,如:1.23E-5
- 字符型常量
- 一对单引号括一个字符,如:‘a’ ‘A’ ‘@’ ‘9’
- 转义字符常量:必须以一个反斜杠“\”开头
- 第三形式->\ddd最多以有三位八进制数
- 第四形式 -> \xhh 最多可以有两位十六进制数
- 字符串常量
- 用一对双引号(双撇号)括起来若干个字符(可以是0个)
- 整型常量
- 常量
注:
- 字母E或e之前之后必须都有数字,且后必是整数
- 字母E或e的前后及各数字之间不能有空格
- 每一个字符串尾都有一个字符串结束符’\0’
- C语言中没有字符串变量。一定要区分字符常量和字符串常量
- 变量
- 使用规则:先定义后使用
- 使用规则:先定义后使用
表达式
- 计算步骤
- 先挑运算符
- 计算优先级高的
- 同级情况下再看结合性
-
-
-(4级)、* / %(3级) 从左往右
-
- =(14级)
- 复合赋值运算符:14级,从右往左
- +=、-=、*=、/=、%=、&=、|=、^=、>>=、<<=
- a/=3+7 即a/=10即a=a/10
- 注:复合赋值运算符的两个运算符中间不能有空格
- ++、–:2级,从右往左
- i++; ++i; 等价于: i=i+1;
- i–; --i; 等价于: i=i-1;
- 技巧:
- 在后:表达式值为加减前的值,变量则是加减后的值
先标(表达式)后加减(变量)
1. 在前:表达式和变量的值都是加减完的值
1. 先加减(变量)后标(表达式)
- 15级 从右往左
- 逗号表达式的值就是表达式n(最后一个表达式)的值,求值顺序是从左到右依次求解。
- 强制类型转换(显示转换) 2级,从右往左
- (类型名)表达式 或 (类型名) (表达式)
- 利用强制类型转换运算符可将一个表达式的值转换成指定的类型
- 进行强制类型转换,得到的是一个中间值,而原来表达式或变量的类型未发生改变
如:若变量x为int 型 ,则表达式(float)x的结果是一个单精度型,但是x 还是int型