第二章:C语言组成及数据
一、C语言组成
-
组成:若干文件
-
文件:若干函数
-
函数:函数头+函数尾
-
函数头:四部分:函数名+()+返回值类型+形参
-
函数体:{}+语句
-
语句:三类语句
- 类型一:/**/
其中/**/中间不能有空格
-
类型二:定义语句;
-
类型三:执行语句;
二、数据与数据类型
1.数据四类
-
包括:常量 变量 表达式 函数
-
常量:值不发生变化的量,包括:整型常量、实型常量、字符型常量、字符串常量
-
整形常量
-
三种形式(十进制、八进制、十六进制)
-
若表示长整型常量则必须后加字母l或L,如0L、34l、0x123L
-
-
实型常量:两种形式(小数、指数)
-
小数形式:由数字和小数点组成,如:123.456 123. .456 0.456
-
指数形式:用“E”或“e”后紧跟一个整数表示以10为底幂数,如1.23E-5(e的前有数,后有整数)
字母E或e之前之后必须都有数字,且后必是整数
字母E或e的前后及各数字之间不能有空格
-
-
字符型常量:四种形式(常规、转义、八进制、十六进制)
-
第一形式-> 一对单引号括一个字符,如:‘a’ ‘A’
-
第二形式->转义字符常量:必须以一个反斜杠“\”开头。如\n 表示换行符
-
-
字符串常量:用一对双引号(双撇号)括起来若干个字符
- 如:“abcdefgh”
每一个字符串尾都有一个字符串结束符’\0’
C语言中没有字符串变量
-
-
变量:值随时随地改变的量
-
先定义后使用
-
定义float double看精度,精度高的用double
-
-
表达式:用运算符将数据连接起来的合法式子
-
运算符:三个属性:功能、优先级、结合性(运算方向)
-
隐私转换:向在内存中高字节数的数据类型转化
-
1.0/2=?0.5 先把运算符两边转成同类型,精度低的向精度高的转化
-
char->unsigned->long->double<-float
-
-
算术运算符及算术表达式:+ - * / %
-
求余(%)
-
两边运算对象必须是整型,如:7.0%3为不合法
-
求值方法:先忽略负号不计求出余数,再将所得余数的符 号定成与被除数相同的符号即可,如: -17%3 结果为:-2,17%-3 结果为:2
-
-
-
赋值运算符及赋值表达
-
赋值运算符的功能:将表达式的值赋给“=”左边的变量,例如:A=5+8
-
赋值运算符右边可以合法表达式,如: a=b=20、a=(b=10)/(c=2)
-
实型数据赋给整型变量时,实型小数舍去;整型数据赋给实型变量时系统自动将整型数据转成实型数据
-
-
复合赋值运算符:+= 、-=、*=、/=、%=、&=、|=、^=、>>=、<<=
-
复合赋值运算符的两个运算符中间不能有空格
-
a+=3等价于a=a+3
-
-
逗号运算符及其表达式(’顺序求值”表达式)
-
格式:表达式1,表达式2,表达式3,…………,表达式n
-
如:int a,b; 式a=3,b=1;
-
-
自增、自减运算符:++、–,(二级)
- 只能用于变量不能用于常量或表达式,如 3++ 、(a+b)++ 都是不合法的表达式
- 如a++
-
强制类型转换(显式转换)
-
格式:(类型名) 表达式 或 (类型名)(表达式)
-
利用强制类型转换运算符可将一个表达式的值转换成指定的类型
-
如(int)x、(int)x+y 、(int )(x+y)
-
-
-
函数:调用具有一定功能的函数作为运行量
- 标准函数和自定义函数
2.数据类型四大类
- 数据类型四大类:基本类型、构造类型、指针类型、空类型
1、基本类型:整型 int 、字符型 char 、浮点型 (单精度型 float 、双精度型 double)、枚举类型 enum
2、构造类型:数组型、结构体类型 struct 、共用体类型 union
3、指针类型
4、空类型 void
用户自定义标识符, 标识符只能由字母、数字、下划线组成,而且第一个字符必须 是字母或下划线