一、C语言组成
组成:若干文件
文件:若干函数
函数:函数头+函数体
函数头:四部分--函数名+()
函数体:{}+语句
语句:三类语句
- 类型1—> /* */注释语句
- 类型2—> 定义语句;
- 类型3—>执行语句;
二、数据与数据类型
1、数据四类
常量 变量 表达式 函数
- 常量:值不发生变化的量
- 变量:值随时随地改变的量
- 表达式:用运算符将数据连接起来的合法的式子
- 函数:调用具有一定功能的函数作为运算量
整型常量
三种形式(十进制,八进制,十六进制),若表示长整型则必须在后加上l或L。
实型常量
两种形式(小数、指数)
- 小数形式:由数字和小数点组成
- 指数形式:用e或E后紧跟一个整数表示已10位底幂数
注:(1)字母e或者E之前之后必须有数字,且后必须是整数
(2)字母e或E的前后及各数字之间不能有空格
字符型常量
四种形式(常规、转义、八进制、十六进制)
- 常规:一对单引号括一个字符
- 转义字符:必须以一个反斜杠“\”开头
- \ddd:最多可以有三位八进制数
- \xhh:最多可以有两位十六进制数
字符串
定义:用一对双引号括起来的若干个字符
注:(1)每一个字符串尾都有一个字符串结束符‘\0’
(2)C语言中没有字符串变量,借存
变量
使用规则:先定义后使用
定义格式:数据类型名 变量名列表;
注:
- 变量名属于用户标识符,徐遵守用户标识符命名规则
- 在同一“函数体”{ }中不能定义同名变量
- 同时定义多变量,必须用逗号分隔
- 变量可赋初值(初始化),无初值是随机值
函数
两类:标准函数、自定义函数
根号 如何表示? sqrt(7)
绝对值 如何表示? abs( )
表达式
定义:用运算符将数据连接起来的合法式子
运算符:三个属性:功能、优先级、结合性(运算符)
先按优先级,同级再考虑结合性。
1.算数运算符及算数表达式:+ - (优先级为4) * / %(优先级为3)
- 求余%:两边运算对象必须是整型。
- 求值方法:先忽略负号不计求出余数,再将所得余数的符号定成与被除数的符号相同即可
注:
- 单独的常量、变量或函数调用都是C语言合法表达式
- 凡是表达式都有一个确定的值
2.赋值运算符及赋值表达
赋值运算符:=
格式:变量名=表达式
功能:将表达式的值赋给“=”左边的变量
注:
- 赋值运算符左边只能是一个变量
- 赋值运算符右边可以是合法表达式
- 赋值表达式的值就是赋值运算符左边变量值
- 实型数据赋值给整型变量时,实型小数舍去。整型数据赋给实型变量时系统自动将整形数据转成实型数据。
3.复合赋值运算符:
+=、-=、*=... 复合赋值运算符的两个运算符中间不能有空格
4.自增自减运算符
自增:++
自减:--
在前,先加减后运算 在后,先运算后加减
4.隐式转换:
char(1字节)—>unsigned(2字节)—>long(4字节)—>doble(8字节)<—float(4字节)
5.逗号运算符及其表达式 (“顺序求值”表达式)
功能:逗号表达式的值就是表达式N的值,求值顺序是从左到右依次求解。
6.强制类型转换(显式转换)
格式:(类型名)表达式或(类型名)(表达式)
功能:利用强制类型转换运算符可将一个表达式的值转换成指定的类型
进行强制类型转换,得到是一个中间值,而原来的表达式或变量的类型并未发生改变。
2、数据类型四大类:基本类型、构造类型、指针类型、空类型
- 基本类型:整型 int、字符型 char、浮点型(单精度型 float、双精度型 double)枚举类型 enum
- 构造类型:数组型、结构体类型 struct、共用体类型 union
- 指针类型
- 空类型 void
3、三类标识符
- 保留字(关键字):共32个,固定含义,如: int、float、if、else、for
- 预定义标识符:预先定义并具有特定含义的标识符。如: scanf、printf、include
- 用户自定义标识符:由用户根据需要定义的标识符。如:变量名、数组名、函数名等。
注:(1)用户自定义标识符:第一个字符必须是字母或下划线,后边由字母、数字、下划线组成
(2)大小写有区分 如:int Int