第三章+C语言基本数据类型
C语言基本数据类型

C语言基本数据类型C语言是一种面向过程的、通用的计算机编程语言,广泛用于系统软件、嵌入式系统和应用程序开发。
在C语言中,数据具有不同的类型,这些类型定义了数据的存储方式、范围和运算规则。
本文将介绍C语言的基本数据类型及其特征。
一、整型(Integer)整型数据用来表示整数值,具体包括以下几种类型:1. int:用于表示常规整数类型,默认情况下为32位,可以表示的范围为-2147483648到2147483647,可以通过unsigned关键字使其范围变为0到4294967295。
2. short:用于表示短整数类型,通常为16位,在内存占用方面比int类型更小,范围为-32768到32767。
3. long:用于表示长整数类型,通常为32位,在内存占用方面比int类型更大,范围为-2147483648到2147483647。
4. long long:用于表示超长整数类型,通常为64位,在内存占用方面比long类型更大,范围为-9223372036854775808到9223372036854775807。
二、浮点型(Floating Point)浮点型数据用来表示实数值,具体包括以下两种类型:1. float:用于表示单精度浮点数,通常为32位,可以表示的范围为1.2E-38到3.4E38。
2. double:用于表示双精度浮点数,通常为64位,在精度和取值范围上比float类型更高,可以表示的范围为2.2E-308到1.8E308。
三、字符型(Character)字符型数据用来表示包含字符或者特殊字符的值,具体包括以下两种类型:1. char:用于表示单个字符,通常为8位,可以表示的范围为-128到127。
字符在内存中以ASCII码的形式存储。
2. unsigned char:用于表示无符号字符,取值范围为0到255。
四、布尔型(Boolean)布尔型数据用来表示逻辑值,只有两种取值:true和false。
C语言课件第三章

三、 自增、自减运算符 ++ --
++、- -运算符的作用是使变量的值加1或减1
1)该运算符为单目运算符,其运算对象只能是 变量,不能为常量或者表达式。 例如: i++ 、x- - 都是正确的 5++ 、(x+y)++ 都是错误的
2)该运算符作前缀、后缀都可以 例如 i++、++i、i- - 、- -i 都是正确的
3)对变量而言 i++ 或者++i都相当于i=i+1 i- -或者- -i都相当于i=i-1
例如: main( ) { int i=3 , j=3; +i+++i; j---j;; printf (“%d, %d\n”, i, j ); }
运行结果:4,2
4)但如果作为表达式,前缀和后缀则不同: 后缀:先取值再运算(i++,先取i值,i再自加) 前缀:先运算再取值(++i,i先自加,再取i值)
2)强制类型转换运算符优先级高于算术运算符
float x=3.6; int y; y=(int)x%3+2;
x = ?3.6 y=?2
计算下列表达式的值 设 x=2.5, a=7,y=4.7
x+a%3 * (int)(7x7+.2y ) % 2 / 4
设 a=2,b=3,x=3.5,y=2.5
(float5).(0a+b )/2+(int3)(x)%(int2)(y)
例如: main() { int i=3; printf(“%d\n”+, +i+i+ ); printf(“%d”, i ); }
C语言程序设计--第3章基本数据类型和表达式

2.实型变量
实型变量分为单精度(float型)和双精度(double型)。 如: float x,y; double z; / *定义x , y为单精度实数* / / *定义z为双精度实数* /
一个float型数据在内存中占4个字节(32位),提供7位有效数字 一个double型数据占8个字节(64位),双精度提供15 ~ 16位有 效数字 值得注意的是,实型常量是double型,当把一个实型常量赋给一 个float型变量时,系统会截取相应的有效位数。
§3.1 基本语法单位
任何一种语言都会根据自身的特点规定 它自己特定的一套基本符号。例如,英语的 基本符号是26个英文字母和一些标点符号。 C语言作为一种程序设计语言,也有它的基 本符号,程序就是由这些基本符号组成的。
§3.1.1 基本符号
程序中要对各种变量和各种函数起名,这些变量名、 函数名都是由语言的基本符号组成的。C的基本符号包 括: (1)数字10个(0~9); (2)英文字母大小写各26个(A~Z, a~z); (3)特殊符号,主要用来表示运算符,它通常是 由1~2个特殊符号组成。包括:
digits是一位或多位十进制数字(从0~9)。 1.575e9表示1.575×109
注意:
◆所有的实型常量均视为双精度类型。实型常量
的整数部分为0时可以省略,如下形式是允许的: .57,.0075e2,-.125,-.175E-2; 须为整数: 如e3,2.1e3.5,. e3,e等都是不合法的指数 形式。
不同的,而且取值范围与机器硬件有关,在 使用时请参阅有关手册。
◆需要指出的是:C语言没有提供布尔(逻辑)
类型,在逻辑运算中,它是以非零表示真 (TRUE),以数值0表示假(FALSE)。
c语言三种基本数据类型

c语言三种基本数据类型
C语言是一门高效、灵活、可移植的编程语言,它支持多种数据类型。
其中,C语言的三种基本数据类型包括整型、浮点型和字符型。
整型数据类型用于存储整数,其包括三种不同的类型:short、int和long。
short类型通常占用2个字节,可以存储-32768到32767之间的整数;int类型通常占用4个字节,可以存储-2147483648到2147483647之间的整数;long类型通常占用4或8个字节,可以存
储比int更大的整数。
浮点型数据类型用于存储实数,其包括两种不同的类型:float
和double。
float类型通常占用4个字节,可以存储6位小数;double 类型通常占用8个字节,可以存储15位小数。
字符型数据类型用于存储单个字符,其类型为char。
char类型
通常占用1个字节,可以存储ASCII字符集中的任意一个字符。
在C语言中,还可以通过定义结构体和联合体来自定义数据类型。
结构体用于定义一组相关的数据,联合体用于在同一内存位置存储不同类型的数据。
总之,C语言的三种基本数据类型分别是整型、浮点型和字符型,它们在编程中起着非常重要的作用。
熟练掌握这些数据类型的知识,对于编写高效、可靠的C语言程序至关重要。
- 1 -。
C语言第3章(谭浩强)

void main( ) { int a,b,c,d; unsigned u; a=12;b=-24;u=10; c=a+u;d=b+u; printf(“a+u=%d,b+u=%d\n”,c,d); } 运行结果:a+u=22,b+u=-14 结论:不同类型的整型数据可以进行算 术运算。
位数 16
取值范围 -215-(215-1) -32768—+32767 -32768—+32767
Short [int] Long [int]
短整型 长整型
16 32
16 16 32
Unsinged int 无符号整型 Unsinged short [int] Unsinged long [int] 无符号短整 型 无符号长整 型
8
④大写字母与小写字母意义不同, 被认为是两个不同的字符。一般变 量名用小写字母表示。 注意:常量名常用大写、变量名常 用小写!
year Day a_12 _abcdef #123 .com $100 1999Y a=b 1_2_3 +abcedfghi ∏ -5 等
9
3、变量要先定义后使用
可以改为double型) void main( ) {float x;double y; x=123456.789;y=123456.789; printf(“%f, %f”,x,y);} 结果为: 123456.789062, 123456.789000
29
§3.5
字符型数据
一、字符常量 1、在C语言中字符型常量是用单引号括 起来的一个字符。 如:’a‟、’A‟、’3‟、’?‟、’ ’、 ’$‟等。 2、以‚\”开头的转义字符,如\n不代表 字母n,而是代表换行。
基本数据类型

第三章基本数据类型、运算符与输入输出函数⏹ 3.1 基本数据类型⏹ 3.2 常量⏹ 3.3 变量⏹ 3.4 C语言的运算符和表达式⏹ 3.5 输入输出函数3.1 基本数据类型数据类型基本类型构造类型其他类型整型带符号无符号基本整型(int)短整型(short int)长整型(long int)整型(unsigned int)短整型(unsigned short int)长整型(unsigned long int)字符型(char)实型(浮点型)单精度型(float)双精度型(double)长双精度型(long double)枚举类型(enum)数组类型结构体类型(struct)共用体类型(union)指针类型空类型(void)3. 2 常量何谓常量——程序中直接书写的数据;例如:a=100; b=a+12;常量类型——以字面形式区分;例如: 12 (基本整型)3.5 (实型)123L (长整型)'A' (字符型)符号常量——用标识符代表一个常量。
3.2 常量3.2.1整型常量整型常量就是整常数,可以用三种进制形式表示:1.十进制数:以非0数字开头的数。
如123,-123等,其每个数字位可以是0~9。
2.八进制数:以数字0开头的数。
如0123,-0123等,其每个数字位可以是0~7。
3.十六进制数:以0x(或0X)开头的数。
如0xffff,0x1111,-0x123等,其每个数字位可以是0~9、A~F(或a~f)。
3. 整常量类型int 型常数:-32768~32767视为int常数;可赋给int、long型变量。
long型常数:在-2147483648 ~2147483647之内、但超出-32768~32767的数及带后缀l / L的视为long型常数;可赋给long型变量。
long int long-2147483648 -32768 0 32767 2147483647带后缀l 或L的数:long整型量的溢出若一个变量无法容纳下要存入的数,这种现象称为溢出,溢出将导致数据存储错误;在运算过程中也有可能产生溢出导致运算结果错,因此程序设计中应避免产生溢出。
数据类型及运算

内存中存储形式
负数的补码 =反码+1 =原码取反+1
内存中存储形式 10
A B
整型数据在内存中的存储形式
----以有符号 2 字节整型为例 32767(215-1)的 16位编码 原码:01111111 11111111 反码:01111111 11111111 补码:01111111 11111111 内存中存储形式 -32767(1-215)的 16位编码 原码:11111111 11111111 反码:10000000 00000000 补码:10000000 00000001 内存中存储形式
A B
空类型void 3
3.2~3.3(1) 常量与简单变量–以数值型为例
• 常量: 在程序运行中,其值不变的量,如: 23.7, - 67 等。 • 变量: 在程序运行过程中,其值可以改变的量, 在内存中占据一定的存储单元。
变量a 150 50
A B
4
一、两类常量
常数常量和符号常量 常数常量 如-10, 3.14 符号常量: 用标识符表示的常量。符号常量用 预处理(宏定义)命令定义在函数之外。 定义形式: A B
C语言第03章--数据类型和表达式

char int
ch = 'a'; i = 1;
17
变量的属性
例:
int sum=10; 类型
内存存放说明: 内存存放说明: 存放说明 变量名 1001 sum 10 变量值
存储单元的地址
二、 变量
命名规则 在C中变量名 函数名 文件名 数组名 等均称标识符 变量名, 函数名, 文件名, 数组名, 变量名 标识符 (identifier), 可由字母 数字 下划线 字母,数字 下划线组成,且第一个必 字母 数字和下划线 须为字母或下划线 字母或 字母 下划线,前8或32个有效。 注意: 字母大小写敏感; 注意 字母大小写敏感 不可用关键字; 不可用关键字 不可出现空格; 不可出现空格 见名知意; 见名知意 如: a1与A1为不同的变量名 如: int, for, if 等 如: stu 1, a 1等 如: sum, sort 等
e前必须有数 前必须有数 字,e后必须 后必须 有整数
合法:0.123、.123、123.0、123.、0.0 合法: 、 、 、 、 错误: 错误 - 2.0e2.5 e8
(3)字符常量 字符常量 —— 用单引号括起来的一个字符或转义字符 括起来的一个字符或转义字符 一个字符或转义字符. 例: ‘A’, ‘o’ , ‘1’, ‘#’, ‘a’ 等
float
必转
char, short long unsigned int 低
double 高
自动类型转换
34
例:
若:i 为 int , f为float ,d 为 double e 为long
字节数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 标识符