- 1、本文档共56页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
kj_第2章数据类型、运算符和表达式
第2章 数据类型、运算符与表达式 ;本章概述;本章的学习目标;主要内容;2.1 C语言的数据类型 ;2.2 常量和变量 2.2.1 常量;2.2.2 变量
在程序运行过程中,其值可以被改变的量称为变量。
在使用一个变量前,必须先定义该变量,就是为该变量起个名字并声明它的数据类型。根据定义,编译系统在内存中为该变量分配存储单元,在该存储单元中存放该变量的值。
用来标识变量名(或符号常量名、函数名、数组名、类型名、文件名)的有效字符序列称为标识符。C语言规定,标识符只能由英文字母、数字、下划线三种字符组成,并且第一个字符必须是字母或下划线。;注意,大写英文字母和小写英文字母是不同的字符,例如aver和Aver是两个不同的标识符。为变量起名字时一般用小写英文字母。
变量定义的一般格式:
[存储类型] 数据类型 变量名1[, 变量名2……];
例如: int a, b, number, sum;
称在定义变量的同时对变量进行赋初值的操作为变量初始化。
变量初始化的一般格式:
[存储类型] 数据类型 变量名1[=初值1][, 变量名2[=初值2]……];
例如:float radius=2.5, length=3.6, area; ;2.3 整型数据;2.3.2 整型变量
根据变量的取值范围,整型变量可分为:基本整型(类型关键字为int)、短整型(类型关键字为short [int])、长整型(类型关键字为long [int])。
对以上三种都可以加上修饰符unsigned,指定是“无符号数”。不加修饰符unsigned的,隐含是有符号(signed)。即有符号的,signed可以省略不写。
归纳起来,整型变量有以下6种:
有符号基本整型 [signed] int
无符号基本整型 unsigned [int]
有符号短整型 [signed] short [int]
无符号短整型 unsigned short [int]
有符号长整型 [signed] long [int]
无符号长整型 unsigned long [int]
(方括弧内的部分可以省略,如unsigned long [int]与unsigned long等价。);数据在内存中是以二进制形式存放的。若不指定是无符号型unsigned或指定是有符号型signed,则存储单元的最高位是符号位(0为正,1为负)。
若指定是无符号型unsigned,则存储单元的全部二进制位(bit)都用来存放数本身,而不包括符号。;C标准没有具体规定以上各类数据所占内存大小,只要求long型数据不短于int型,short型不长于int型,怎样实现由计算机系统自行决定。例如在微机上,short和int型占2个字节,long型占4个字节。
表2.1列出了ANSI标准定义的各种整数类型和有关数据,其中“最小取值范围”是指不能低于此值,但可高于此值,如有的C编译系统规定一个int型数据占4个字节。;2.3.3 整型数据的输入输出
可以使用scanf函数和printf函数进行数据的输入输出。
scanf函数的功能是按照指定格式将标准输入设备输入的内容送入变量中,printf函数的功能是按照指定格式在标准输出设备上显示数据。“指定格式”需要使用格式说明符%和格式字符,显示整型数的格式字符有英文字母d、o、x、u等。
具体含义如下:
%d——表示把数据按十进制整型输入(输出);
%o——表示把数据按八进制整型输入(输出);
%x——表示把数据按十六进制整型输入(输出);
%u——表示把数据按无符号整型输入(输出)。
除了%d格式之外,上面的其余几种格式都将数据作为无符号数输入(输出)。
如果输入(输出)的是长整型数,一定要在转换字符的前面加字符l(字符L的小写),否则显示可能不对。;例2.1 整型数据的输出。;
#include stdio.h
int main()
{ int a,b,c; unsigned d;long e;
scanf(%d,%o,%x,%u,%ld , a,b,c,d,e);
printf(%d,%d,%d,%u,%ld \n, a,b,c,d,e);
return 0;
}
若输入为:
10,10,10,65533,654321 ↙(回车符)
显示结果为:
10,8,16,65533,654321 ;2.4 实型数据2.4.1 实型常量;实型变量分为单精度型和双精度型,有的C版本还支持长双精度型(long double)。
(1)单精度型。类型说明符为float,在内存中占4个字节(32位),有效数字的个数是7位十进制数字,数值范围-3.4×10-38~3.4 ×1038 。
(2)
文档评论(0)