2.1引例
程序的注释:注释内容必须包含在/和/之间,其内容可以是任何可显示字符(/和*之间不能有空格),注释必须成对出现,不能出现在语句的中间。
#include<stdio.h>是编译预处理命令,该函数是C语言提供的标准输出函数。注意:C语言有效的预命令总是以#开始的,预处理命令的末尾不加分号。
在一个C程序中有且仅有一个main()函数。
C语言中除复合语句外的所以语句都必须以分号结束。
/n是换行符,称为转义字符
2.2
C语言有四种数据类型:基本类型,构造类型,指针类型和空类型。
基本类型可以分解为整形,字符型和实型(浮点型)。
构造类型分为数组类型,结构体类型,共用体类型和枚举类型,它是根据已定义的一个或多个数据类型,用构造的方法来定义的。
指针是C语言中一种特殊的,同时又具有重要作用的数据类型。
2.3
2.3.1直接常量
1.整型常量
即整数,包括正整数,负整数和零。C语言中,整型常量可以用十进制,八进制和十六进制表示。
十进制表示:由数字0~9,正,负号组成,如369.-663等
八进制表示:以0为前缀,其后由数字0组成,如0163,036等:八进制数一般是无符号数。如0129,-011都是不合法的八进制常量。十六进制表示:再0x或0X为前缀,其后由数字09和字母A~F(大小写均可)组成,如0x12cd,0X6Fa等。十六进制一般是无符号数。
2.实型常量
即实数,又称为浮点数。C语言中,实数只能用十进制形表示,其表达方式有小数形式和指数形式。
小数形式:由整数部分,小数点和小数部分组成,当整数部分或者小数部分为0时,可以省略不写,但是小数点不可忽略。
指数形式:由尾部部分,字母E或e和指数部分组成,格式为:±尾数E指数。
3.字符型常量
指单个字符,用一对单引号及其括号所括起来的字符来表示。
字符型常量只能用单括号括起来,不能用双引号或者其它括号。只能是单个字符,不能是字符串。其字符可以是ASCII字符集中中的任意字符。
转义字符形式上由多个字符组成,但它是一个字符常量,只代表一个字符。转义字符的使用方法与一般字符型常量的用法相同。
4.字符串常量
其在内存中占用一段连续的存储单元,系统自动在每个字符串的尾部加上’/0‘作为字符串的结束标志,n个字符组成的字符串,在内存中要占用n+1个字节空间。
2.3.2符号常量
其在使用之前必须先定义,一般形式为:#define标识符 常量值
好处:增加程序的可读性,提高程序的可维护性,简化程序代码,方便数组的定义。
2.4 C语言的变量
2.4.1变量的定义与使用
在C 语言中,所以 的变量必须先定义后使用。
1.变量的定义
其定义格式:类型说明符 变量名表
类型说明符必须是C语言中的有效数据类型。
变量名表可以由一个或多个变量名组成,各变量名之间用“,”分隔。变量名必须是合法的C语言标识符,变量名一般使用小写字母。
变量的定义必须放在变量的使用之前,一般在函数体的开头部分进行定义。
2.变量的初始化
C语言允许在定义的同时对变量赋值,称为变量的初始化。
3.变量的使用
应该先赋值,后引用。
2.4.2 整型变量
整型可以分为:短整型,整型,长整型,无符号整型,无符号短整型和无符号 长整型六种。
关键字 类型 占用字节数 取值范围
short int 短整型 4 -32768~32767
int 短整 4 -21447483648~2147483647
long int 长整型 4 -2147483648~2147483647
unsigned short 无符号短整型 2 0~65535
unsigned int 无符号整型 4 0~4294967295
unsigned long 无符号长整型 4 0~4294967295
2.4.3 实型变量
C语言中的实型变量分为单精度和双精度两类。
关键字 类型 占用字节数 取值范围
float 单精度型 4 3.4E-38~3.4E+38
double 双精度类型 8 1.7E-308~1.7E+308
单精度型数据能保留7位有效数字,双精度型数据能保留16位有效数字。
2.4.4 字符型变量
其的值是字符常量。即用单引号引起来的单个字符。其类型说明符是char,其类型说明的格式和规格与整型变量相同。
2.5 运算符和表达式
2.5.1赋值运算符和赋值表达式
C语言中赋值运算符有=,+=,-=,*=,/=和%=等
1.简单赋值运算符
=其作用是将一个数字赋给一个变量。
2.复合赋值运算符
运算符 应用举例 等价形式
+= a+=x a=a+(x)
-= a-=x a=a-(X)
3.赋值表达式
即变量=表达式
赋值运算符的左侧必须是一个变量
2.5.2 算术运算符和算数运算符
+加 -减 *乘 /除 %求余
+加法运算符,为双目运算符,其功能是求和
-作为单目运算符,是取负运算;作为双目运算符时,是进行求差运算
乘法运算符为双目运算符
/除法运算符为双目运算符
%求余运算符为双目运算符
2.自增。自减运算符
++自增运算符,为单目运算符,其功能是使变量的值自加1.其有两种使用形式
前缀方式:用于变量前面,先计算,后使用,即先将X的值自加1,然后将X的值赋给变量a
后缀方式:用于变量后面,先使用,后计算,即先将X的值赋给变量a,然后再将X的值自加1
–自减运算符,为单目运算符,功能是使变量的值自减1
自增和自减运算符的操作对象只能是一个简单变量,不能是常量或者是表达式
3.算术运算符的优先级和结合性
即单目运算符的优先级高于双目运算符,双目算数符中,/,%的优先级高于±
4.算术表达式
2.5.3逗号运算符和逗号表达式
即表达式1,表达式2……表达式n
2.5.4求字节数运算符
即sizeof(表达式)或sizeof表达式
sizeof(数据类型名)
2.6
2.6.1自动类型转换
其规则是:把占用内存空间少的(低级)类型向占用空间多的(高级)类型转换
2.6.2强制类型转换
其形式为(类型说明符)(表达式)
注意:需强制类型转换中的表达式一定要括起来,否则只对紧随括号后的量进行类型转换
强制转换类型是一种不安全的转换
强制类型转换并不改变表达式中变量的类型和值