C语言第2讲--数据的表示之基本数据类型
- 格式:ppt
- 大小:532.00 KB
- 文档页数:46
C语⾔的基本数据类型C语⾔允许使⽤的数据类型有三类。
(1) 基本类型。
不可再分的最基本的数据类型,包括整型、浮点(单精度)型、双精度型、字符型、⽆值类型、逻辑型及复数型。
基本类型通常代表单个数据。
(2) 构造类型。
由已知的基本类型通过⼀定的构造⽅法构造出来的类型,包括数组、结构体、联合体、枚举类型等。
构造类型通常代表⼀批数据。
(3) 指针类型。
指针可以指向内存地址,访问效率⾼,⽤于构造各种形态的动态或递归数据结构,如链表、树等。
1.1 基本数据类型1.基本数据类型及其关键字C99标准提供的7种基本数据类型及其对应的关键字如表所⽰。
数据类型关键字数据类型关键字字符型char⽆值类型void整型int逻辑型_bool浮点(单精度)型float复数型_complex_imaginary双精度型double字符型:描述单个字符;整型:描述整数,整数在计算机上是准确表⽰的;浮点型、双精度型:描述实数,实数在计算机上⼀般是近似表⽰的,浮点型的近似程度⽐较低,⽽双精度型的近似程度⽐较⾼。
⽆值类型:没有具体的值,通常⽤来描述⽆形式参数或⽆返回值的C函数,以及⽆定向指针。
逻辑型:描述逻辑真(其值为1)与逻辑假(其值为0)。
复数型:描述复数(_complex)和纯虚数(_imaginary)。
使⽤逻辑型时必须包含头⽂件stdbool.h,使⽤复数型时必须包含头⽂件complex.h。
2.基本数据类型的存储⽅式和取值范围、基本数据类型的扩展类型长度/字节取值范围存储⽅式char1-128~127有符号⼆进制补码形式[signed]char1-128~127unsigned char10~255short [int]2-32768~32767unsigned short [int]20~65535int4-2147483648~2147483647定点有符号⼆进制补码形式[signed] int4-2147483648~2147483647unsigned [int]40~4294967295long [int]4-2147483648~2147483647[signed] long [int]4-2147483648~2147483647unsigned long [int]40~4294967295float4-3.4*10^38~3.4*10^38浮点形式存储double8-1.798*10^308~1.798*10^308浮点形式存储long double8-1.798*10^308~1.798*10^308short int<=int<=long int<=long long intfloat<=double<=long double。
C数据类型及其长度总结C语言中的数据类型及其长度如下:1.基本数据类型:- char类型:用于表示字符,长度为1字节(8位)。
- short类型:用于表示短整型数据,长度为2字节(16位)。
- int类型:用于表示整型数据,长度为4字节(32位)。
- long类型:用于表示长整型数据,长度为4字节(32位)或8字节(64位)。
- float类型:用于表示单精度浮点数,长度为4字节(32位)。
- double类型:用于表示双精度浮点数,长度为8字节(64位)。
2.修饰类型:- signed修饰符:用于将基本整数类型定义为有符号类型,不改变长度。
- unsigned修饰符:用于将基本整数类型定义为无符号类型,不改变长度。
- short修饰符:用于将int类型定义为short类型,长度为2字节(16位)。
- long修饰符:用于将int类型定义为long类型,长度为4字节(32位)或8字节(64位)。
3.变长数据类型(C99标准引入):- bool类型:用于表示布尔值,长度为1字节(8位)。
- imaginary类型:用于表示虚数,长度与对应的复数类型相同。
4.其他数据类型:- enum类型:用于定义枚举类型,长度与int类型相同。
- void类型:用于表示无类型,长度为1字节(8位)。
- size_t类型:用于表示内存块的大小,长度根据处理器架构而定。
- ptrdiff_t类型:用于表示两个指针之间的差值,长度根据处理器架构而定。
需要注意的是,C语言中的数据类型的长度是根据机器架构和编译器的不同而有所变化的。
上述长度是一般情况下的长度,具体情况应根据实际环境而定。
总结起来,C语言中的数据类型及其长度包括基本数据类型、修饰类型、变长数据类型以及其他数据类型。
程序员在编写C语言程序时,需要根据需求选择合适的数据类型来保存和处理数据。
c语⾔基本数据类型(short、int、long、char、float、double)⼀ C 语⾔包含的数据类型short、int、long、char、float、double 这六个关键字代表C 语⾔⾥的六种基本数据类型。
在不同的系统上,这些类型占据的字节长度是不同的:在32 位的系统上short 占据的内存⼤⼩是2 个byte;int占据的内存⼤⼩是4 个byte;long占据的内存⼤⼩是4 个byte;float占据的内存⼤⼩是4 个byte;double占据的内存⼤⼩是8 个byte;char占据的内存⼤⼩是1 个byte。
具体可以⽤sizeof测试⼀下即可。
⼆变量的命名规则1、命名应当直观且可以拼读,可望⽂知意,便于记忆和阅读。
标识符最好采⽤英⽂单词或其组合,不允许使⽤拼⾳。
程序中的英⽂单词⼀般不要太复杂,⽤词应当准确。
2、命名的长度应当符合“min-length && max-information”原则。
C 是⼀种简洁的语⾔, 命名也应该是简洁的。
例如变量名MaxVal 就⽐MaxValueUntilOverflow 好⽤。
标识符的长度⼀般不要过长,较长的单词可通过去掉“元⾳”形成缩写。
另外,英⽂词尽量不缩写,特别是⾮常⽤专业名词,如果有缩写,在同⼀系统中对同⼀单词必须使⽤相同的表⽰法,并且注明其意思。
3、当标识符由多个词组成时,每个词的第⼀个字母⼤写,其余全部⼩写。
⽐如:int CurrentVal;这样的名字看起来⽐较清晰,远⽐⼀长串字符好得多。
4、尽量避免名字中出现数字编号,如Value1,Value2 等,除⾮逻辑上的确需要编号。
⽐如驱动开发时为管脚命名,⾮编号名字反⽽不好。
初学者总是喜欢⽤带编号的变量名或函数名,这样⼦看上去很简单⽅便,但其实是⼀颗颗定时炸弹。
这个习惯初学者⼀定要改过来。
5、对在多个⽂件之间共同使⽤的全局变量或函数要加范围限定符(建议使⽤模块名(缩写)作为范围限定符),如 GUI_ ,etc标识符的命名规则6、标识符名分为两部分:规范标识符前缀(后缀) + 含义标识。
第2章 C 语言的基本数据类型本章要点了解C 语言的数据类型,掌握基本数据类型的应用及其相互转换规则,理解变量和常量的概念,并掌握其定义及引用方法。
本章的难点是数据在内存中的存储形式。
第一节 C 语言的数据类型由于信息的表现形式多种多样,处理的方法也不相同,所以,我们必须考虑用不同形式的数据来表示不同的信息。
例如:一个班级的人数要用整数来表示;班级学生的平均成绩要用小数表示;学生的姓名、性别要用字符来表示;一个班级学生某一门课程的成绩要用一组不同的数值来表示等。
计算机语言中的数据类型就是为了能够高效处理各种不同的数据而引进的一个概念,是指数据的内在表现形式。
不同的数据类型具有不同的取值范围和不同的操作。
C 语言提供的数据类型如图2-1所示。
在程序中使用的所有数据都必须指定它的数据类型,C 语言的数据类型由基本类型和非基本类型组成。
其中,基本数据类型是其他数据类型的基础。
C 语言中的基本数据类型包括整型、实型(浮点型)、字符型,其中实型又包括单精度和双精度两种类型。
本章主要讨论这4种基本类型。
整型、单精度型、双精度型和字符型数据定义的关键字分别为:int 、float 、double 和char 。
除了这四个关键字外,C 语言中还提供了一些数据类型的修饰符,如:long 、short 、signed 和unsigned 。
它们的作用是与基本类型的定义关键字结合起来使用,以对基本类型进行扩充,使得在程序编写的过程中可以灵活调整数值的范围以及所占用的存储空间。
结合修饰符的应用,基本数据类型可进一步划分,如表2-1所示。
表2-1 各种数据类型及其说明语言的数据类型图)空类型(指针类型)共用体类型()结构体类型(数组类型构造类型)枚举类型()字符型()双精度型()单精度型(实型(浮点型))整型(基本类型C 12void union structenum char double float int -⎪⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎧⎪⎩⎪⎨⎧⎪⎪⎩⎪⎪⎨⎧⎩⎨⎧说明:(1)表中方括号内的部分是可以省略不写的。
C语言基本数据类型简介1.概述C 语言包含的数据类型如下图所示:2.各种数据类型介绍整型整形包括短整型、整形和长整形。
短整形short a=1;整形一般占4个字节(32位),最高位代表符号,0表示正数,1表示负数,取值范围是-48~47,在内存中的存储顺序是地位在前、高位在后,例如0x在内存中的存储如下:地址:0x0012ff78 0x0012ff79 0x0012ff7a 0x0012ff7b数据:78 56 34 12定义:用int关键字,举例如下:int a=6;长整形long a=10;浮点型浮点型包括单精度型和双精度型。
单精度型浮点型,又称实型,也称单精度。
一般占4个字节(32位),float a=;地址:0x0012ff78 0x0012ff79 0x0012ff7a 0x0012ff7b数据:00 00 90 40双精度型一般占8个字节(64位)double a=;地址:0x0012ff78 0x0012ff79 0x0012ff7a 0x0012ff7b 0x0012ff7c0x0012ff7d 0x0012ff7e 0x0012ff7f数据:00 00 00 00 0000 12 40字符类型在各种不同系统中,字符类型都占一个字节(8位)。
定义如下:char c='a';也可以用字符对应的ASCII码赋值,如下:char c=97;3.数据类型与“模子”short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。
怎么去理解它们呢举个例子:见过藕煤球的那个东西吧(没见过煤球总见过吧)。
那个东西叫藕煤器,拿着它在和好的煤堆里这么一咔,一个煤球出来了。
半径12cm,12 个孔。
不同型号的藕煤器咔出来的煤球大小不一样,孔数也不一样。
这个藕煤器其实就是个模子。
现在我们联想一下,short、int、long、char、float、double 这六个东东是不是很像不同类型的藕煤器啊拿着它们在内存上咔咔咔,不同大小的内存就分配好了,当然别忘了给它们取个好听的名字。
第二讲 C语言中的数据运算主要内容C语言中的数据类型(浮点、字符型)变量赋值与混合运算算术运算和强制类型转换赋值运算和赋值表达式逗号运算和逗号表达式输入输出再讨论浮点型数据(实型数据)实型变量数据存储:指数形式:符号位 尾数(为[0,1]间的小数) 指数尾数和指数的位数没有统一标准,由各C系统自定。
实型变量的分类类型 字节数 有效数字 表示数值范围float 4 7 10 38 ~10 38double 8 16 10 308 ~10 308 实型变量定义float 变量表;double 变量表;。
说明:double数据的输入格式串是“%lf”或“%le”练习1:编程输入一个 float 数据后直接输出,理解 float 的有效数字。
练习2:编程输入一个double数据后直接输出。
实型常量²十进制小数形式:必须有小数点。
如:3.14159、-23.4563、.5、1.²指数形式:字母e前必须有数字,字母e后必须为整数。
如:1.5e4、6.8e-10说明:n实型常数只以十进制表示n所有实型常数默认为double,加 f或 F显式说明为 floatn绝对值小于1的实数,小数点前的 0可略n Turbo C用默认格式输出实型数时,保留小数点后6位n实型数据易产生误差,对于实型数据的比较,谨用“= =” 。
#include <stdio.h>#include <math.h>main(){int a,b;if(1./41*41==1)a=1;else a=0;if (sqrt(2)*sqrt(2)==2) b=1;else b=0;printf("%d\t%d\n",a,b);}思考1. double 和 float,哪种类型表示的数据精度高?有效位数分别是?2. 用什么格式串输入数据给 double 型变量?3. 用什么格式串输出 double 型数据?4. 目前认识的输出格式串有哪些?5. 3.5 是哪种类型的常量?6. 如何表示 float 型的常量?7. 实型数据可以以八进制或十六进制输出吗?8. 输出 double 型数据的格式串是?字符型数据字符常数n直接表示, 如'a', '9', 'Z'n ASCII码值表示。