导图社区 数据的表现形式及运算
c程序设计基础数据的表现形式及运算,包含常量及变量、数据类型、整型数据、浮点型数据、字符类型等。有需要的同学,可以收藏下哟。
包含C运算符、不同类型数据间的混合运算、预处理(#include指令)、C语句、数据的输入与输出等相关内容。超详细的,干货满满,非常实用,现在不收藏,还在等什么呢。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
数据的表现形式及运算
常量及变量
常量
整形常量
实型常量
十进制小数形式
指数形式,由e和E代表以10为底的指数
e和E前必须有数字,其后不可为小数
注:C语言中的实型常量均作为双精度浮点型常量。
在实型常量末尾加专用字符可以强制指定常量类型,如:加F或f表示为float型常量,加L或l表示为long double型常量。
字符常量
普通字符
用单撇号括起来的一个字符
单撇号是界限符,且里面只能有一个字符,存储在计算机存储单元中,一般以ASCII码的形式存储
转义字符
特殊形式,以\开头的字符序列
\'':一个双撇号 \a:警告,产生视觉和声音信号 \b:退格,光标位置后退一个字符 \n:换行符 \v:垂直制表符(将光标位置转移到下一个Tab位置) \t:水平制表符(通常跳到下一个制表位置) \r:回车符 \f:换页符 \b:退格符 \\:反斜杠字符 \':单引号字符 \?:问号 \xhh:十六进制数所代表的字符(其中hh是十六进制数) \ddd:三位八进制数所代表的字符(其中ddd是八进制数)
字符串常量
用双撇号把若干个字符括起来
符号常量
用#define指令,指定用一个符号名称代表一个常量。
例如:#define PI 3.1415926 //注意行末没有分号
优点:含义清楚,一改改全
说明:从其字面形式上即可识别的常量称为“字面常量”或“直接变量”。字面变量是没有名字的不变量。
变量
代表一个有名字,具有特定属性的存储单元。用来存放数据,也就是存放变量的值。
必须先定义后使用
区分变量名和变量值
变量名:实际上是以一个名字代表的存储地址。
变量值:存储的数据
常变量
C99允许使用常变量,方法是在定义变量时前面加一个关键字const。
例如:const int a=3; 其意义是定义一个整型变量,制定其值为3,且变量存在期间值不能改变
常变量和变量的区别:常变量具有变量的基本属性:有类型,占存储单元,只是不允许改值。可以说,常变量是有名字的不变量。有名字就便于在程序中被引用。
标识符
用来对变量,符号常量名,函数,数组,类型等命名的有效字符序列
标识符被规定只能由字符、数字和下划线三种字符组成,且第一个字符必须是字母或者下划线。
注意:编译系统默认区分大小写为两种不同字符,一般变量名用小写字母表示,符合习惯,增加可读性。
数据类型
说明
基本类型和枚举类型变量的值都是数值,统称为算术类型。算术类型和指针类型统称为存量类型,因为其变量的值以数字来表示。
数组类型和结构体类型统称为组合类型,共用体类型不属于组合类型,因为在同一时间内只有一个成员具有值。
枚举类型即是用户定义的整数类型。
带*为C99所增加的
复数浮点型需要头文件complex.h来定义。
整型数据
分类
基本整型(int型)
编译系统分配2或4个字节给这类数据。
在存储单元的存储方式是:用整数的补码形式存放。一个正数的补码及其二进制形式。 而负数的补码形式为:先将此数的绝对值的的补码写出然后将所有二进位按位取反。再加1.
说明:在存放整数的存储单元中最左边一位是用来表示符号的
短整型(short int)
长整型(long int)
在一个整数后加l或L表示其为长整型。
双长整形(long long int)
说明:C标准要求sizeof(short)<=sizeof(int)<=sizeof(long)<=sizeof(long long) sizeof是测量类型和变量长度的运算符。
符号属性
以上的几种形式,变量值都是以补码形式存储。
无符号整形只需加上unsigned的修饰符即可,一般默认为有符号即signed int
无符号型在相同的字节数下的最大存储范围与有符号型一致,最大数是有符号的最大绝对值的两倍减一(还是零的问题,不过无符号的存在全一),但其没有符号位。
说明: 1.只有整型(包括字符型)数据可以加signed和unsigned的修饰符。 2.对于无符号整型数据用“%u”格式输出。%u表示用无符号十进制数的格式输出。 3.对于无符号整型不能赋予负值。
字符类型
字符和字符代码
大多数系统采用ASCII字符集
大多数字符集都包括了127个字符
字母52个(大小写)
数字10个(0-9)
专门符号29个
包括: ! " # & ’ ( ) * + , - . / : ; < = > ? [ \ ] ^ _ ` { | } ~
空格符
空格、水平制表符、垂直制表符、换行、换页
不能显示的字符
空字符(null,以“\0”表示)、警告(以“\a”表示)、退格(以“\b”表示)、回车(以“\r”表示)
以上共一百个,还有其余不是很常见,ASCII码采用二进制存储,仅需七个二进位即可
注意:区分字符数字与整数的区别,字符数字相加的结果是ASCII码相加决定结果,整数则是正常的运算。
字符变量
字符变量使用类型符 char定义的。
例如: char c='?' //?的ASCII码是63 printf("%d %c\n",c,c) //结果为63 ?
也可以采用修饰符来表示符号属性。
浮点型数据
float型
系统将实型数据分成小数部分和指数部分,对于有无符号还会存在数符位的区别,还有指数位可能也包含符号位。
double型
long double 型
说明:用有限的存储单元不可能完全精确地存储一个实数,存在一个绝对值的最小与最大范围,最小取决于指数部分被分配的字节数,最大取决于两个部分。
虽然在C99中把字符型数据作为整数类型的一种。但是字符型数据在使用上有自己的特点。
正是因为这种方式导致其有最大存储范围(一般负数比正数多一个,因为有零的存在,而且不存在全一的情况)