1. C语言概述
1.1 C语言构成
- 程序的源程序由函数构成,每一个函数完成相应的功能
- 每一个源程序中必须有一个主函数,可以放在任何位置,但程序总是从主函数开始执行
- 函数体:在函数后面用花括号括起来的部分
- 每个语句以分号结束,预处理命令和函数后面不能加分号
- 注释,可以出现在程序的任何地方
- 预处理命令: #开头的命令
1.2 C语言的生成过程
- C程序是由源文件先编译成目标文件,然后经过连接生成可执行文件
- 源文件的后缀名是 .c ,目标文件的后缀名是
.obj,可执行程序的后缀名是 .exe
1.3 标识符
1.3.1 标识符的命名规则
- 只能由字母、数字或下划线组成
- 第一个字符必须是字母或者下划线,不能是数字
- 区别字母的大小写
1.3.2 标识符的分类
- 关键字: C语言规定的专用的标识符,它们有固定的含义,不能修改
- 预定义标识符:跟关键字一样有特定的含义
- 自定义标识符:用户根据需要自定义的标识符
1.4 常量
1.4.1 定义:
在程序运行中,其值不能被改变的量
1.4.2. 常量的类型:
整数常量、实型常量、字符常量、字符串常量和符号常量
1.4.3 整数常量
- 表现形式:十进制整数常量、八进制整数常量和十六进制整数常量
- 十进制整数:基本数字范围0~9
- 八进制整数:以0开头,基本数字范围0~7
- 十六进制整数:以0x开头,基本数字范围0 ~ 15, 10 ~ 15 写成A ~ F 或者a ~ f
1.4.4 实型常量
- 表现形式:小数形式和指数形式
- 十进制小数形式:小数点左右两边都必须有数字
- 指数形式: e前必须有数字,后面必须为整数
1.4.5 字符常量
- 一个字符常量代表ASCII
码字符集里的一个字符,在程序中用单引号括起来,区别大小写 - 转义字符:’’ 后面跟不同字符代表不同的意思
- \n :换行
- \ :反斜杠
- \ddd: 1~3位八进制字符代表一个ASCII字符
- \xhh 1~2位十六进制数代表一个ASCII字符
1.4.6 字符串常量
用“”括起来的一个或者一串的字符
1.4.7 符合常量
由#define 定义的一个常量,在C程序中由一个标识符代表常量
1.5 变量
1.5.1 定义
,在程序运行中,值可以改变的量
1.5.2 变量的使用
- 变量必须有变量名,在使用前必须先定义
- 在内存中占据一定的存储单元,不同类型的变量其存储单元大小不同
- 存储单元里面存储的是该变量的值
1.5.3 变量的类型
整型变量、实性变量、字符变量
1.5.4 整型变量
- 分类:整型(int) 、短整型( short) 、长整型( long) 和无符号( unsigned int、 unsigned short 、 unsigned long)
2.数值范围: int 占16位, short 占16位, long 占32位,无符号占的位数一样
1.5.5 实型变量
- 分类:单精度类型( float)、双精度类型( double)
- 定义方法: float a ; double b;
- 所占字节: float 占4个字节( 32),提供7位有效数字, double占8个字节( 64位)提供15~16位有效数字
- 实型常量:部分 float 类型 和 double 类型,当一个 实型常量赋值给double 或 float 时,变量根据自身类型截取实型变量中相应的有效数字。
1.5.6 字符变量
- 定义: 用char 关键字定义,每一个字符变量只能存一个字符
- 定义形式: char ch1, ch2;
- 赋值: ch = ‘a’ ; ch2=‘b’;
- 存储方法:存储字符对应的ASCII码到内存中去
- 注意:
- 字符型数据与整型数据之间可以通用,一个字符能用字符的形式输出,也能用整数的形式输出
- 字符数据也能进行算术运算,相当于对他们的ASCII码进行运算
1.6 类型的自动转换和强制转换
1.6.1 类型的自动转换
- 当同一表达式中各项数据类型不同时,编译程序会自动把它们变成同一类型后在进行计算
- 转换优先级从低到高为: char<short<int<long<float<double
- 在做赋值运算时,若赋值号左右两边的数据类型不同,当左边类型大于右边时,则对右边数据进行转换,反之
1.6.2 强制转换
- 表达形式:(数据类型)(表达式) ;