【C语言】数据表现形式及基本数据类型
数据的表现形式
一、常量:在程序运行中值不变的量;
- 整型常量:如100,0,-123等都是整型常量;
- 实型常量:
①十进制小数形式,由数字和小数点组成。如123.456。
②指数形式,如12.34e3(代表12.34),e或E代表以10为底的指数。
3. 字符常量
①普通字符:用单撇号括起来的一个字符,如:’a’, ’Z’, ’3’, ’?’, ’#’。
②转义字符:以字符“\”开头的字符序列。
转义字符及其作用对应表格:
转义字符 |
字符值 |
输出结果 |
\’ |
一个单撇号(’) |
输出单撇号字符 ’ |
\’’ |
一个双撇号(’’) |
输出双撇号字符 ’’ |
\? |
一个问号(?) |
输出问好字符 ? |
\\ |
一个反斜线(\) |
输出反斜号字符 \ |
\a |
警告(alert) |
产生声音或视觉信号 |
\b |
退格(backspace) |
将光标当前位置后退一个字符 |
\f |
换页(form feed) |
将光标当前位置移到下一页的开头 |
\n |
换行 |
将光标当前位置移到下一页的开头 |
\r |
回车(carriage return) |
将光标当前位置移到本行的开头 |
\t |
水平制表符 |
将光标当前位置移到下一个Tab位置 |
\v |
垂直制表符 |
将光标当前位置移到下一个垂直制表对齐点 |
\o、\oo或\ooo O代表一个八进制数 |
与该八进制码对应的ASCII字符 |
与该八进制码对应的字符 |
\xh[h…] h代表一个十六进制数 |
与该十六进制码对应的ASCII字符 |
与该十六进制码对应的字符 |
4. 字符串常量:
用双撇号把若干个字符括起来,字符串常量是双撇号中全部字符(但不包括双撇号本身),如”abc”,”123”等。
5. 符号常量
用#define指令,指定用一个字符名称代表一个常量。如:
#define PI 3.1415 //不加分号
经过以上指定后,本文件中所有PI都代表3.1415.
好处:
①含义清楚;
②在需要改变程序中多处用到同一常量时,能做到“一改全改”。
二、变量
在程序运行期间,变量的值是可以改变的。变量必须先定义后使用,在定义时指定该变量的名字和类型。变量名实际上是以一个名字代表的一个存储地址。
- 常变量
C99允许使用常变量,方法是在定义时,前面加一个关键字const,如:
const int a = 3;
定义a为一个整形变量,指定其值为3,而且在变量存在期间其值不能改变。
常变量与常量的异同:常变量具有常量的基本属性:有类型,占存储单元,只是不允许改变其值。可以说,常变量是有名字的不变量,而常量是没有名字的不变量。有名字就便于组程序中被引用。
2. 标识符
在计算机高级语言中,用来对变量、符号常量名、函数、数组、类型等命名的有效字符序列统称为表示符(identifier)。简单地说,表示符就是一个对象的名字。
数据类型
本章主要介绍整型、字符型、浮点型。
一、整型数据
(一)、整型数据的分类
- 基本整型(int型)
- 短整型(short int)
- 长整型(long int)
- 双长整型(long long int)
(二)、整型变量的符号属性
以上的几种类型,变量值在存储单元中都是以补码形式存储的,存储单元中的第1个二进制位代表符号。
表:整型数据常见的存储空间和值的范围(Visual C++的安排)
类型 |
字节数 |
取值范围 |
int |
4 |
-2 147 483 648~2 147 483 647,即- ~(-1) |
unsigned int |
4 |
0~4 294 967 295,即0 ~ (-1) |
short |
2 |
-32 768~32 767,即- ~( -1) |
unsigned short |
2 |
0~65 535,即0 ~ (-1) |
long |
4 |
-2 147 483 648~2 147 483 647,即- ~(-1) |
unsigned long |
4 |
0~4 294 967 295,即0 ~ (-1) |
long long |
8 |
-9 223 372 036 854 775 808~9 223 372 036 854 775 807, 即- ~(-1) |
unsigned long long |
8 |
0~18 446 744 073 709 551 615,即0~(-1) |
注:对于不同的编译系统分配的字节数略有差异。
二、字符型数据
(一)字符与字符代码
字符与字符代码并不是任意写一个字符,程序都能识别的。只能使用系统的字符集,目前大多数系统采用ASCII字符集。字符是以整数形式(字符的ASCII代码)存放在内存单元中的。各种字符集的基本集都包括了127个字符。包括:
- 字母:大写A~Z,小写a~z;
- 数字:0~9;
- 专门符号:29个: ! “ # & ‘ ( ) * + , - / : ; < = > ? [ \ ] ^ _ ` { | } ~
4.空格符:空格、水平制表符(Tab)、垂直制表符、换行、换页(form feed)
5.不能显示的字符:空(null)字符(以‘\0’表示)、警告(以’\a’表示)、退格(以’\b’表示)、回车(’\r’表示)等。
(二)字符变量
字符变量是用类型符char定义字符变量。
表:字符型数据的存储空间和值的范围
类型 |
字节数 |
取值范围 |
signed char(有符号字符型) |
1 |
-128~127,即- ~(-1) |
unsigned char(无符号字符型) |
1 |
0~255,即0~(-1) |
三、浮点型数据
浮点型数据是用来表示具有小数点的实数的。浮点型数据包括:
- float型(单精度浮点型)
- double型(双精度浮点型)
- long double型(长双精度型)
表:实型数据的有关情况
类型 |
字节数 |
有效数字 |
数值范围(绝对值) |
float |
4 |
6 |
0以及 ~ 3.4 |
double |
8 |
15 |
0以及2.3× ~ 1.7 |
long double |
8 |
15 |
0以及2.3× ~ 1.7 |
16 |
19 |
0以及3.4 ~ 1.1 |
参考文献:《C程序设计》谭浩强
【C语言】数据表现形式及基本数据类型相关推荐
- C语言的数据表现形式及其运算
C语言的数据表现形式及其运算 数据表现形式 常量与变量 字符型 整形 实型(浮点型) 运算符 算数运算符 赋值运算符 逻辑运算符 位运算符 数据表现形式 一门语言都有自己所支持的数据表示形式,比如py ...
- 语言转4字节数据整型_R语言与RGui平台_数据类型_向量_4
计算机语言RGui平台上的R语言__数据类型_向量_4 R语言进阶4_数据类型_向量1 咱们而可以从自然语言(汉语.英.法.俄.德.日.拉丁.伊斯兰.等等)的基本特征来看--词汇.句子.段落.结构.文 ...
- c语言中主要有哪些数据类型,C语言的数据类型有哪些?
C语言的数据类型 数据类型包含两方面的内容:数据的表示和对数据加工的操作.数据的全部可能表示构成数据类型的值的集合.数据全部合理的操作构成数据类型的操作集合. 在C语言中,把整型.实型和字符型称为基本 ...
- R语言数据格式转换函数、数据类型判断函数(numeric、character、vector、matrix、data.frame、factor、logical)、R语言数据格式类型转换
R语言数据格式转换函数.数据类型判断函数(numeric数值.character字符串.vector向量.matrix矩阵.data.frame数据表.factor因子.logical逻辑).R语言数 ...
- c语言程序计算p q真值表,C语言程序设计第2章数据类型﹒运算符和表达式.ppt
C语言程序设计第2章数据类型﹒运算符和表达式 教学目标 掌握C语言标识符的组成 理解C语言的基本数据类型 掌握变量定义的方法 掌握常用的运算符的使用 掌握混合运算的数据转换方法 2.1 C语言的数据类 ...
- 二进制补码求值用c语言,C语言程序设计第2章数据类型.运算符与表达式.ppt
C语言程序设计第2章数据类型.运算符与表达式 教学目标 掌握C语言标识符的组成 理解C语言的基本数据类型 掌握变量定义的方法 掌握常用的运算符的使用 掌握混合运算的数据转换方法 2.1 C语言的数据类 ...
- Python学习笔记_1_基础_2:数据运算、bytes数据类型、.pyc文件(什么鬼)
Python学习笔记_1_基础_2:数据运算.bytes数据类型..pyc文件(什么鬼) 一.数据运算 Python数据运算感觉和C++,Java没有太大的差异,百度一大堆,这里就不想写了.比较有意思 ...
- c语言构造数据类型有,《c语言程序设计基础7构造数据类型.ppt
<c语言程序设计基础7构造数据类型 第7章 构造数据类型 第7章 构造数据类型 第7章 构造数据类型 7.1 构造数据类型概述 构造数据类型是C语言的一个特色,它是由一些简单数据类型构造而来的. ...
- python语言中包含的标准数据类型_Python对象——标准类型的分类
如果让我们最啰嗦的描述标准类型,我们也许会称它们是Python 的"基本内建数据对象原始类型". z "基本",是指这些类型都是Python 提供的标准或核心类 ...
最新文章
- linux centos 查找命令 属于哪个安装包 所属软件包
- electron 打包 php,electron 将现有vue项目改成支持electron桌面端应用
- JSP上传文件失败的问题 未解决
- [渝粤教育] 广东-国家-开放大学 21秋期末考试成本会计10168k2
- python CV2裁剪图片并保存
- 4.9 利用对应的泛型替换Hashtable[转]
- 局部页面切换url为什么不变_python爬虫 - 翻页url不变网页的爬虫探究!
- Lync和Exchange 2013集成PART1:准备所需证书
- Spark源码阅读——任务提交过程
- Python 语言程序设计(3-1)字符串处理函数和相关功能
- 机器学习 --- 4. 大内密探HMM(隐马尔可夫)围捕赌场老千(转)
- 科学计算机病毒代码大全,计算机病毒代码有哪些
- FIFO的发送条件总结
- Android实现IOS轮效果(Android Studio)
- python编写关不掉的流氓表白软件——快去找你爱的他表白吧
- 手机创新何时不再“纸上谈兵”?
- 宠物服务App功能简介
- 互联网广告新规实施 微信公众号发“软文”须标明
- java unicode转ascii码_Java用native2ascii命令做unicode编码转换
- 智慧工地车辆冲洗系统 工地渣土车未冲洗自动抓拍 yolo
热门文章
- BTN7971电机驱动
- 国内怎么captcha测试_通过简单的数字测试或PHP图像处理使CAPTCHA更友好
- 苹果终究拗不过拼多多,iPhone12大跌千元
- 管道通信的基本流程和代码
- Java编写一个公司员工类
- Vue.js:从安装到快速创建脚手架项目,解决刚创建完出现的parsing error:No Bable config file detected报错
- 双efi分区同时引导失败修复经验
- php怎么判断qq内置浏览器,PHP判断是否是微信打开,浏览器打开的方法
- 【文献翻译神器推荐】DeepL
- zcmu-1410: Polynomial Showdown