第三章+C语言基本数据类型
2022年3月23日
3.1.3 字符型数据
字符类型(char)的数据(如字符’A’、’a’、’5’、’#’等)在 内存中以相应的ASCII码存放,每个字符在内存中占用一个字节。所以C语言中 的字符具有数值特征。整型数和字符型数的定义和值可以互相交换。
例如字符’a’的ASCII码为97,它在内存中以如下形式存放:
2022年3月23日
由于不同的系统数据类型所占存储空间长度有差异,因此C语言提供 了一个测定数据类型所占存储空间长度的运算符“sizeof”,它的格式 为:
sizeof(类型标识符)或 sizeof(变量名) 可以计算出数据类型或变量所占字节数。 例如:sizeof(int),sizeof(short)可以分别计算出当前所使用系 统的int类型及short类型数据所占的存储空间字节数。
高等院校计算机技术“十二五”规划教材
C语言程序设计基础 program design 主讲:谈静 2022年3月23日
第3章 基本数据类型
内容导读 数据是程序处理的对象,数据能表示一定的实体并以特定的形式存
在。计算机所要处理的数据多种多样,比如整数、带小数点的数、字符 类型数据等。数据类型就是对各种数据的“抽象”、“归纳”。
2.变量的定义方法 变量定义的一般形式: 类型标识符 变量名列表;
类型标识符必须是有效的数据类型,变量名列表可以有一个 或多个变量,当有多个变量时,变量之间由逗号间隔。
例如:int a,b; float x,y; char ch;
2022年3月23日
3.变量的使用
定义变量后,首先应该对其赋值,然后可以在程序中引用它或改变值(即重 新赋值)。 (1)定义变量时赋值 例如:int x=100,sum=0; 定义x,sum为int类型变量,同时x被赋初值100,sum被赋初值0
2022年3月23日
பைடு நூலகம்
2.实型常量
实型常量又称浮点数,有十进制浮点表示法和科学计数法(指数形式)两 种表示法。
(1)浮点表示法 由正、负号、数字和小数点组成(一定要有小数点),且小数点的前或后至少 一边要有数字。实数的浮点表示法又称为实数的小数形式。 例:2.5、0.88、–193.0 、3.14159。
(2)整数的类型 a)根据整数的值确定类型。整型常量若数值范围在–2147483648~
2147483647为int型数据类型,占4个字节。
b)根据整数后的字母确定类型。整型常量后加字符l或L表示 long类型常量,如34L、012L、0x2fdL;整型常量后缀字符u或U表 示无符号整型常量,如 12u、034u、0x2fdu。23与23L数值上相等, 但类型分别是int型和long型。
字符串存储时占用一段连续的存储单元,每个字符占一个字节,C语言编译 器会自动在字符串的末尾加一个转义字符’\0’,作为字符串的结束标志。因此 ,字符串”china”在内存中占有6个内存单元,它的存储长度是6。
2022年3月23日
5.符号常量
程序中指定用一个标识符代表一个常量,该标识符称为符号常量。
3.2.3 变量
➢ 在程序的运行过程中,其值可以改变的量称为变量。 ➢ 变量必须先定义,再使用。 ➢ 变量本质是内存中的存储单元,定义变量的过程是分配空间的过程。
1.变量名 变量的命名遵循标识符的命名规则,要采用合法的标识符,并且尽量
做到“见名知义”,如:sum,count等;注意不能使用C语言中的保留字, 如:if,printf等。
2022年3月23日
3.1.2 实型数据
实数类型又称为浮点型,是指有小数部分的数。 实型数据又分为单精度型(占32位float类型)和双精度型(占
64位double类型)两种。所占的字节数不一样,有效位数也不同。
单精度实型 双精度实型
数据长度 32位 64位
类型标识符 Float Double
取值范围与有效位数 约±(3.4×10-38~3.4×1038),6位有效数字。 约±(1.7×10-308~1.7×10308),16位有效数字。
2022年3月23日
c)十六进制整型常量 由正、负号和数码0~9、a~f或A~F组成,并且要有前缀0x或0X。 例如:0x28、0x114、–0xad 都是十六进制整型常量;而0x2g1则是 非法的常量,十六进制中无g这个符号。
任何一个整数都可以用上面的三种形式表示。例如,十进制数的100, 可以采用100、0144、0X64等来表示,其本质都不变。
1.整型常量
(1)整数的表示 整型常量有十进制、八进制、十六进制三种形式。
a)十进制整型常量 由正、负号和0~9的数码组成,并且第一个数码不能是0。 例如:123、–56、0都是十进制整型常量,而018则不是。
b)八进制整型常量 由正、负号和0~7的数码组成,并且第一个数码必须是0。 例如:012、067、–046是八进制整型常量,而019则是非法的常量, 八进制中无9这个符号。
起着控制的作用。这些字符可以采用转义字符形式来表示。
2022年3月23日
转义字符以反斜杠(\)开头,后跟一些特殊字符或数字,作用是将反斜杠 (\)后面的字符或数字转换成其他意义,常用的转义字符如下表所示。
字符形式 \n \t \b \\ \’ \”
\ddd \xhh
所表示字符 换行 横向跳格 退格 反斜杠字符“\” 单引号字符 双引号字符 1~3位八进制整数所代表的字符,如’\101’为字符’A’ 1~2位十六进制整数所代表的字符,如’\x41’为字符’A’
符号常量定义的一般格式: #define 标识符 常量 例如: #define PI 3.141592 /* 定义了符号常量PI,PI即3.14159*/ 根据常量的定义,其值是不能被改变的,所以符号常量只能被引用、不能给 符号常量赋值,即程序中不允许出现 PI=3.14这样的赋值语句。 例题:
2022年3月23日
2022年3月23日
PPT模板下载:/moban/ 节日PPT模板:/jieri/ PPT背景图片:/beijing/ 优秀PPT下载:/xiazai/ Word教程: /word/ 资料下载:/ziliao/ 范文下载:/fanwen/ 教案下载:/jiaoan/
’0’、’$’是字符常量,它们分别表示字母A、a和数字字符0及符号$。每个 字符在内存中占一个字节。
字符型数据可以参加运算,均以该字符对应的ASCII码参加运算。如,字符 ’a’的ASCII码为97,表达式’a’+1的值为98,即对应字母为’b’。
(2)转义字符 有些字符如回车、退格等是无法在屏幕上显示的,也无法从键盘输入,他们
(2)科学计数法 由正、负号、数字、小数点和指数符号e(或E)组成。在e前必须有数据(整数 或实数),e后指数必须是整数。指数形式一般适合于表示较大或较小的实数。 例如:35.29e3、1.2E-9。
2022年3月23日
3.字符常量
(1)字符常量 字符常量指单个字符,是用一对单引号将其括起。例如:’A’、’a’、
数值范围
–32768~32767 –2147483648~2147483647 –2147483648~2147483647
0~65535 0~4294967295 0~4294967295
2022年3月23日
注意:
数值可以采用原码、反码、补码等不同的表示方法。在计算机里存储数据的时
候是以补码的形式来存放的。 1.正数的原码、反码、补码相同,都是以最高位(符号位)为0,表示正数,其余 各位表示数值。 例如,用32位二进制数表示有符号整数+13在内存中的存放形式如下:
不同的整型数据所占据的内存空间的长度(即字节数)不同,同一种数 据类型在不同的编译环境中所占的内存空间长度也不同。下表为VC++6.0系 统中整型数据。
有符号整数 无符号整数
数据长度
16位 32位 32位 16位 32位 32位
类型标识符
Short int
Long Unsigned short
Unsigned int Unsigned long
用户自己定义的变量名、常量名和函数名等,起名时一般最好是用 表示标识符意义的英文一汉语拼音来表示,例如,一个变量的作用是记 数器,可以用count标识符来表示相应的变量名,这样便于记忆。
2022年3月23日
3.2.2 常量与符号常量
不同数据类型的数需要占据不同大小空间的内存单元,内存单元就好像是存放 数据的“仓库”。在程序的运行过程中,内存单元中的值不变的量称为常量。
2022年3月23日
【例 3-1】输出含转义字符的数据。
#include <stdio.h>
void main() { printf(“123456789 123456789\n”);
printf(“ ab c\tde\bx\n”); printf(“abc\101 \x41”); }
//输出数字串,起定位作用 //输出计算后的字符字形及其ASCII码
2.负整数的原码是最高位(符号位)为1,数值位为其绝对值的二进制形式,负 整数的反码为其原码除符号位外按位取反(即0改为1、1改为0),而其补码 为其反码末位再加1。
–13的原码为:1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 –13的反码为:1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 –13的补码为:1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 因此整数-13的机内表示如下:
2022年3月23日
3.2 标识符、常量与变量
3.2.1 标识符