2-基本数据类型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例如: float x,y; double z;
/* 指定变量x,y为单精度型变量 */ /* 指定变量z为双精度型变量 */
类型 float double
占用字节数 4 8
有效数字 6~7
15~16
取值范围
绝对值:3.4×10-38~3.4×1038
绝对值:1.7×10308~1.7×10308
【实例2.1】实型变量赋值示例。 #include<stdio.h> main( ) {
例Hale Waihona Puke Baidu:
char c1, c2; /*定义c1和 c2为字符变量*/
c1='a'; c2='b';
/* 对c1赋值*/ /* 对c2赋值*/
•注意:字符是以ASCII码值的形式存放在字 符变量的内存单元之中的。
字符a的十进制ASCII码值是97,b的十进制ASCII码值是98 所以在c1、c2两个单元内分别存放97和98的二进制代码,即:
字符串常量和字符常量之间区别
(1)字符常量由单引号括起来,字符串常量由双引号括起来。 (2)字符常量只能是单个字符,字符串常量则可以含零个、一个或多 个字符。 (3)可以把一个字符常量赋予一个字符变量,但不能把一个字符串常 量赋予一个字符变量。 (4)字符常量占一个字节的内存空间。字符串常量占的内存字节数等 于字符串中字符个数加1。
float x=12345678.9; double y=12345678.9; printf("\nx=%f,y=%f",x,y); }
运行结果: x=12345679.000000, y=12345678.900000
2.4.5 字符变量
字符变量用来存放字符常量,每个字符变量被分配一个字 节的内存空间,因此只能存放一个字符。
2.4 变量
在程序运行过程中,其值可以发生改变的量称为变量。 变量具有三个基本要素:名字、类型和值。 (1)变量名:每个变量都必须有一个名字。变量的命名应遵 循标识符的命名规则。 (2)变量类型:变量的类型是变量所能存储数据的类型。 (3)变量值:变量在程序运行过程中,占据一定的内存存储 单元,用来存放变量的值。
全国高等职业教育“十二五”规划教材
C语言程序设计 案例教程
(ISBN 978-7-121-29198-2)
高玉玲 王璇 主编 宋维君 王书旺 副主编
第二章 基本数据类型
• 知识分布网络
2.1 关键字与标识符
2.1.1关键字
• 关键字就是由C语言规定的具有特定意义、不能作其他 用途的字符串,通常也称为保留字。
2.3.2 符号常量
在C语言中,允许用一个标识符来代表一个常量,即常量可以用“符号” 来代替,代替常量的符号就称为“符号常量”。
符号常量在使用前必须先定义,定义的形式是: #define 符号常量名 常量
例如: #define PI 3.14 #define PRICE 30 #define YES 1 #define NO 0
【练一练2.1】分析如下程序的运行结果。 #include <stdio.h> main( ) {
printf("\101 \x42 C\n"); printf("I say:\"How are you?\"\n"); printf("\\C Program\\\n"); printf("Turbo \'C\'"); }
4. 字符串常量
字符串常量是由一对双引号括起的零个或多个字符的序列。 字符串常量在内存中存储时,系统自动在字符串的末尾加一个字符串结束 标志,即A SCII码值为0的字符NULL,常用'\0'表示。因此在程序中,长度为 n个字符的字符串常量,在内存中占有n+1个字节的存储空间。
例如,字符串China有5个字符,作为字符串常量"China"存储于内存中时, 共占6个字节,系统自动在后面加上NULL字符,其存储形式为:
●十进制整数:有效数字为0~9,如20、123。 ●八进制整数:有效数字为0~7,且以0开头,如020表示八进制数20。 ●十六进制整数:有效数字为0~9和a~f(或A~F),且以0x开头,如0x20表 示十六进制数20,等价于十进制数32。
•注意:在程序中,根据前缀来区分各种进制数。因 此在书写常数时不要把前缀弄错造成结果不正确。
•使用符号常量时,应注意以下几项: (1)符号常量不同于变量,它的值在其作用域内不能改变,也不能再被 赋值。 (2)符号常量定义式不是C语句,行尾没分号。 (3)使用符号常量的好处有两个。一是含义清楚,如前面定义的符号常 量PI,代表圆周率;二是在需要改变一个常量值时能做到“一改全改”。
【读一读2.1】字符常量和整型常量的算术运算.
c1 : 0110 0001 c2 : 0110 0010
【读一读2.3】字符变量示例。
#include<stdio.h> main( ) {
char a, b; a=65; /*65是A的ASC II码值,所以此句等于a = 'A';*/ b=66; /*66是B的ASCII码值,所以此句等于a = 'B';*/ printf("%c,%c\n ", a, b); /* %c表示将变量a和b按字符型输出*/ printf("%d,%d\n", a, b); /*%d表示将变量a和b按整型输出*/ }
注意:字符'8'和数字8的区别,前者是字符常量, 后者是整型常量,他们的含义和在计算机中的存储 方式都截然不同。
转义字符以反斜杠符(\)开头,后跟一个或几个字符。转义字 符具有特定的含义,不同于字符原有的意义,故称“转义”字符。
•使用转义字符时需注意: (1)转义字符中只能使用小写字母,每个转义字符只能看作一个字符 。 (2)'\v'垂直制表符和'\f'换页符对屏幕没有任何影响,但会影响打印机 执行相应操作。
2.1.2标识符
• 标识符是指以字母或下划线开头,后面跟字母、数字、 下划线的任意字符序列。C语言中的标识符可以分为系 统预定义标识符和用户自定义标识符。
1.系统预定义标识符
• 系统预定义标识符是由系统预先定义好的,每一个都 有相对固定的含义,一般不做他用,以避免歧义,包 括系统标准函数名和编译预处理命令等,如上一章例 题中用到的main、printf和 include等都是预定义标识符。
变量的定义
变量的初始化
变量的声明
变量的引用
2.4.1变量的定义
在C语言中,变量必须在使用(对变量进行操作)之前定义。
其格式如下: 类型说明符 变量名列表;
其中,类型说明符是任意有效数据类型的说明符,规定了变量 所能存储数据的类型(通常也称为变量的类型)。变量名列表 包括一个或多个标识符,每个标识符之间用逗号“,”隔开。
例如: int a,b,c;
float data;
2.4.2变量的初始化
在变量定义的同时用赋值运算符“=”给变量赋初值,称之为 变量的初始化。。
例如: int a=4; /*指定a为整型变量,初值为4*/ float f=4.56; /*指定f为实型变量,初值为4.56*/ char c='a'; /*指定c为字符变量,初值为'a'*/
2
0~4 294 967 295 0~65 535
unsigned long[int]
4
0~4 294 967 295
•注意:在实际应用过程中,应根据数据的特性及取值范围来选择整型变量的类型
2.4.4 实型变量
实型变量分为单精度型和双精度型。单精度型变量定义时 用关键字float,双精度型变量定义时用关键字double。
2.2 数据类型的分类
• 在C程序中对用到的所有数据都必须指定其数据类型。数据 类型规定了该类型的数据在内存中的编码方式和长度、数据 的取值范围、施加在该类型数据上的运算及运算结果的范围。
2.3.1直接常量
2.3 常量
1. 整型常量
整型常量即是整数,包括正整数、负整数和0。在C语言中整型常量有三种表示 形式。
2.4.3 整型变量
整型变量可用来存储整型数据。
按数据占内存空间的大小可分为短的(short)和长的 (long);按数据的正负可分为有符号(signed)和无符 号的(unsigned),通常有符号类型前的signed可以省略。
(1)基本整型以int表示;短整型以short int或short表示; 长整型以long int或long表示。 (2)无符号整型以unsigned int表示;无符号短整型以 unsigned short int或unsigned short表示;无符号长整 型以unsigned long int或unsigned long表示。
类型名
表2.2 各种整型变量占用的字节数和取值范围
占用字节数
取值范围
int short[int] long[int]
4
-2 147 483 648~2 147 483 647
2
-32 768~32 767
4
-2 147 483 648~2 147 483 647
unsigned[int]
4
unsigned short[int]
2.实型常量
实型常量也称为实数或者浮点数。在C语言中,实数只采用十进制。它有两种 表现形式:十进制小数形式和指数形式。
●十进制小数形式:由整数部分、小数点和小数部分组成,其格式为:±整数 部分.小数部分。
●指数形式:当数值特别大或特别小时,用指数形式表示更方便。指数形式由 十进制数加字母“e”或“E”以及指数部分组成。
其一般形式为:aEn。
•注意:指数部分只能是整数,并且指数形式的3个 组成部分都不能省略,例如,下面的表示方法是错 误的:123,6.2E,e3,3e3.5。
3.字符常量
字符常量是用一对单引号括起来的一个字符。其中单引号只起定界作用并不表 示字符本身。
在C语言中,字符常量占一个字节的存储空间,它存放的不是字符本身,而是 字符的ASCII码值。例如,’!’的ASCII码值为33,’8’的为56,’A’的为65,’a’的为 97。
2.用户自定义标识符
• 用户自定义标识符是用户根据编程需要自行定义的标识符, 主要用作变量名、函数名、符号常量名、自定义类型名等。 用户自定义标识符不能使用关键字,也尽量不要使用系统 预定义标识符。用户自定义标识符必须满足以下规则:
(1)只能由字母(a~z,A ~Z)、数字(0~9)和下划线(_) 组成。
• C语言的关键字分为两类: • (1)类型说明符:用于定义和说明变量、函数或其他
数据结构的类型。如上一章例题中用到的int。 • (2)语句定义符:用于表示一个语句的功能。如for就
是循环语句的语句定义符。
由ANSI标准定义的共32个:
auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while
include<stdio.h>
main( )
{
printf(“%d\n”,65+’B’);
}
运行结果:131
【读一读2.2】转义字符的使用。
main( )
{
printf(" ab c\tdc\rf\n");
printf("f\t\b\bk");
}
运行结果为:
fab_ _c_ _dc
f_ _ _ _ _k
例:判断下列标识符号合法性 sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char a>b _above $123
在使用标识符时必须注意以下两点
(1)标准C不限制标识符的长度,但它受各种版本的C 语言 编译系统限制,同时也受到具体机器的限制。例如有些版本 C中规定标识符前八位有效,当两个标识符前八位相同时, 则被认为是同一个标识符,而有的C却允许长度达32个字符 的标识符。 (2)标识符虽然可由程序员随意定义,但标识符是用于标 识某个量的符号。因此,命名应尽量有相应的意义,以便阅 读理解,作到“见名知意”。
(2)第一个字符必须为字母或下划线,不能是数字。 (3)自定义标识符不能和C语言的关键字相同。 (4)同一字母的大小写被视为两个不同的字符。
例如:smart,_score,sum1,name _1都是合法的 标识符;2age,x y,student-1,key.board,$20.1 都是非法的标识符。
相关文档
最新文档