C语言复习————基本数据类型、运算符和表达式
- 2019 年 10 月 8 日
- 笔记
数据类型/运算符/表达式
主要分两部分介绍,第一部分介绍常用的数据类型,例如:常量和变量/整型/实型/字符型;第二部分介绍算数运算符和算数表达式以及赋值运算符和逗号运算符。
一. 常用的数据类型
1. C语言中的数据类型
C语言中基本数据类型主要有整型/实型/字符型/字符串型,本节主要介绍这几种基本的数据类型,以及数值型数据之间的混合运算
2. 数据类型保存的范围
C语言中数据类型所占的字节数,与操作系统和编译器都有关,C语言提供了sizeof操作符来查看某个类型变量在计算机内存中占多少字节
这里给出一张速查表方便查询
3.常量/变量和保留字
C语言中有常量,变量还有保留字
常量:程序运行中,其值不能被改变的量;eg:150
变量:可以改变的量,介绍变量之前,先了解下表示符,标识符:类似与人的名字,由字母/数字/下划线组成,第一个字符必须是字母或者下划线,变量名就是一个表示符,而且区分大小写
保留字:系统保留起来,有特殊用途,C++中一共由74个保留字,如下图所示
4. 整型/实型/字符型/字符串型
1) 整型数据即整数
//整型变量的定义 int a, b, c; unsigned int d, e, f; // 定义变量的时候初始化 int k = 189; //在一个常数后边加一个字母U,表示该常数用无符号整型方式存储,相当于unsigned int //在一个常数后边加一个字母L,表示该常数用长整型方式存储,相当于long //在一个常数后边加一个字母F,表示该常数用浮点数方式存储,相当于float //小数会被截断 int test2 = 23.12F;
2) 实型数据
//十进制浮点数表示形式 0.12; 3.1415926; //指数形式表示的浮点数 浮点数在内存中以指数形式存储 具体如何存储的 用处不大 //168E+2 ====> 16800 168E-2 1.68 float ab = 168E-2; //实型变量 //float:单精度变量 一般提供7位有效数字(保守估计6位) //double:双精度变量 一般提供15-16位有效数字(保守估计15) 这个数字根据机器而定 //关于精度问题,有效数字 12345.678; // 10000.0 只有一位有效数字导致此结果 这就是精度问题 // 12000.0 有两位有效数字导致此结果 // 12300.0 有三位有效数字导致此结果 // 12345.67X 有七位有效数字导致此结果 0.1234; // 0.1XXX 只有一位有效数字 // 0.12XXXX 只有两位有效数字 //十进制数转换成二进制 然后把二进制在转换成十进制 转换中存在除法 会导致如下精度丢失问题 float af1 = 0.5; // 0.500000000 float af2 = 0.51; // 0.509999990
3)字符型数据
//常规字符: 用单引号引起来的一个字符; 'a'; '$', 'b'; //特殊字符:转义字符,以开头的字符序列, n换行 常用的转移字符 'n', ''', '\', '"'; //字符变量:只能保存一个字符,因为一个字符型变量在内存中只存在一个字符 //实际上是把字符对应的ASCII码放到了变量所代表的变量的内存中 char x1, x2; x1 = 97; //x1 = 'a' x2 = 98; //x2 = 'b' printf("c1 = %c, c2 = %cn", x1, x2); //%c以字符的形式输出 x2 = x2 + 4; // 102 f printf("c1 = %c, c2 = %cn", x1, x2); //%c以字符的形式输出
说到字符不得不说一下转义字符,在这里列出ASCII码表
4) 字符串型
//字符串常量:用一对双引号引起来的一堆字符,可以是一个字符,也可以是多个字符 "hello world" //字符串变量 //不要混淆‘a’,"a"; 单引号引起来的是字符 双引号引起来的是字符串 //单引号a 和 双引号a的区别 'a': a "a": a '