C语言的数据类型
数据类型
基本类型
整型
字符型
实型(浮点型)
构造类型
数据类型
构造体类型
共用体类型
枚举类型
指针类型
空类型
(1)基本类型还可以分解为其他类型,主要为整型、字符型和浮点型。
(2)构造类型是根据已定义的一个或多个数据类型,用构造的方法来定义的。可以理解
为,一个构造类型的值由若干个“成员”或“分量”构成。每个“成员”都是一个基本类型或
个构造类型。
C语言中构造类型包括:数组类型、结构体类型、共用体类型和枚举类型。
(3)指针是C语言中一种特殊的,同时又具有重要作用的数据类型。
C语言的常量
1.直接常量
整型常量
整数常量既整数,包括正整数、负整数和零。C语言中,整型常量可以用十进制、八进制和十六进制表示。
实型常量
实型常量既实数,又称浮点数。C语言中,实数只能用十进制形式表示,实数的表示方式有两种:
(1)小数形式
(2)指数形式
字符型常量
字符常量指单个字符,用一对单引号及其括号所括起的字符来表示。
字符串常量
字符串常量是由一对双引号""括起来的零个或多个字符序列。
2.符号常量
在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。
符号常量的使用,可以为编写程序提供很多好处;
(1)增加程序的可读性
(2)提高程序的可维护性
(3)简化程序代码
(4)方便数组的定义
、
C语言的变量
变量的定义与使用
在C语言中,所有的变量必须先定义后使用。
变量的定义
变量的初始化
变量的使用
整型变量
一个整型变量用来保存整数。
实型变量
C语言实型变量分单精度(float型)和双精度(double型)两类。
字符型变量
字符型变量的值是字符常量,既用单引号引起来的单个字符
运算符和表达式
赋值运算符和赋值表达式
C语言中赋值运算符有“=”、“十=”、“一=”、“*=”、“/=”和“%=”等。用赋值运算
符将运算对象连接而成的表达式称为赋值表达式。
1.简单赋值运算符
最简单的赋值运算符就是“=”,它的作用是将一个数值赋给一个变量。
2.复合赋值运算符
在简单赋值运算符前面加上算术运算符就构成复合赋值运算符。
3.赋值表达式
在C语言中,赋值语句属于表达式语句。赋值表达式是由赋值运算符将一个变量和一个表达式连接起来的式子所组成的。
算术运算符和算术表达式
1.基本的算术运算符
基本算术运算符包括加减乘除和求余等运算
2.自增、自减运算符
C语言有两个特殊运算符“++”和“–”
3.算术运算符的优先级和结合性
C语言规定了运算符的优先级和结合性,单目运算符是右结合的,双目算术运算符是左结合的。
4.算术表达式
算术表达式是由算术运算符、运算对象和括号连接起来的式子,运算对象可以是常量、变量和函数等。
逗号运算符和逗号表达式
C语言中逗号“,”也是一种运算符,称为逗号运算符,其功能是把多个表达式连接起来组成一个表达式,称为逗号表达式。
求字节数运算符
运算符sizeof用于计算数据类型所占的字节数,它是一个单目运算符,优先级高于双目运算符。
数据类型转换
自动数据转换
不同类型的数据在一起运算时,编译系统会自动进行类型转换。
强制类型转换
强制类型转换是采用强制类型转换运算符将某种类型强制转换成指定的数据类型。
#include<stdio.h> 它是编译预处理命令,因为程序中调用了printf()函数,该函数是c语言提供的标准输出函数,在系统文件stdio.h中声明,所有在程序开始出要使用include将该文件包含进来。
int main(void) 它是本程序 中的主函数,在一个c程序中有且只有一个main()函数void表示main()函数不需要参数。 c语言中除复合语句外的所有语句都必须以分号结束。
return 0 它结束main()函数的运行,并向系统返回一个整数0,作为程序的结束状态。如果返回0,说明程序运行正常,返回其他值则便是不同的错误情况。系统根据返回值判断程序是否运行成功。
\n是换行符
c语言的数据类型
基本类型1 整型 2字符型 3实型(浮点型)
构造类型1 数组类型 2 结构体类型 3 共用体类型 4枚举类型
指针类型
空类型
2.3c语言的常量
2.3.1 直接常量 直接常量又分为整型常量、实型常量、字符型常量和字符串常量
1整型常量
十进制 由数字0~9组成 八进制 以0为前缀,其后由数字0~7组成 八进制一般是无符号数。 十六进制 以0x或0X为前缀,其后由数字0~9和字母A~F组成,十六进制一般都是无符号数。
2实型常量
(1)小数形式 由整数部分、小数点、和小数部分组成,当整数部分或小数部分为0时,可以忽略不写,但是小数点不可省略。
(2)指数形式 由尾数部分、字母E或e和指数部分组成,格式为±尾数E指数 1.23E-2 表示1.23*10^-2 以小数形式表示实数时,必须有小数点,并且小数点的前、后至少一边要有数字。
以指数形式表示实数时,字母E的前后必须有数字,并且指数部分只能是整数。在c语言中,实型常量默认为double型的实数,如果在数的后面加字母f或F则认为时float型的实数。
3字符型常量
(1)字符常量只能用单引号括起来,不能用双引号或其他括号。
(2)字符常量只能是单个字符,不能是字符串。
(3)字符可以是ASCII字符集中的任意字符。
使用字符常量时,每个字符在内存中占用一个字节,用于存储他的ASCII码值。
转义字符
\0 空字符 \a 响铃 \b 退格 \t 水平制表符 \n 回车换行 \v竖向退格 \f 换页 \r回车 \"双引号 \'单引号
\?问号 \\反斜线字符 \ddd1~3位八进制所代表的字符 \xhh 1~2位十六进制所代表的字符
转义字符形式上由多个字符组成,但它是一个字符常量,只代表一个字符。
字符串常量在内存中占用一段联系的存储单元,系统自动在每个字符串的尾部加上'\0'作为字符串的结束标志,因此,n个字符组成的字符串,在内存中要占用n+1个字节空间。
2.3.2 符号常量
#define 标识符 常量值
2.4c语言的变量
变量的定义 类型说明符 变量名表;
类型说明符必须是c语言中的有效数据类型
变量名一般使用小写字母。
字符型常量 字符型常量在内存中占用一个字节
c语言运算符和表达式
= += -= *= /= %=
赋值表达式 变量=表达式 赋值运算左侧必须是一个变量。
c语言有两个特殊运算符”++“ ”--“ 前者使变量的值自加1 后者减1
算术优先级为++、--、- > *、/、% > +、-
逗号运算符 表达式1,表达式2,表达式n
逗号表达式的执行顺序使:从左到右依次计算每个表达式的值,并把最后一个表达式的值作为整个逗号表达式的值。
求字节数运算符
sizeof(表达式)或sizeof 表达式
sizeof(数据类型名)
2.6数据转换类型
double⬅float
↑
long
↑
unsigned
↑
int←char,short