C程序设计教程第2章.ppt
《C程序设计教程第2章.ppt》由会员分享,可在线阅读,更多相关《C程序设计教程第2章.ppt(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章章数据类型、运算符和表达式数据类型、运算符和表达式 本章主要内容:2.1基本符号和标识符2.2基本数据类型2.3常量与变量2.4数据的输出2.5运算符2.6表达式2.1基本符号和标识符 v如同自然语言一样,程序设计语言也有基本符号,再由基本符号按一定的构词规则构成基本词汇,最后按语言的句法由基本词汇组成源程序。C语言的基本符号和标识符如下。2.1.1 2.1.1 基本符号基本符号v基本符号即字符集,是高级语言的编译系统所能识别的字母、数字和特殊符号。每种高级语言都有自己特定的基本符号。C语言的基本符号由一下七类:v数字:09十个数字。v英文字母:大写字母26个(AZ);小写字母26个(
2、az)v括号:(),v运算符:+-*/=%&|?!v标点符号:”:;2.1.1 2.1.1 基本符号基本符号v特殊符号:_$#v空白符:空格符、换行符、制表符v基本符号中的字符按照C语言的语法规则组合起来,就能通过编译系统的语法和词法分析。不在基本符号中的字符可以用双引号括起来,形成字符串后出现在语句中。例如“、”,“”等。2.1.2 2.1.2 标识标识符符 v标识符是用来命名变量、常量、类型、函数、语句等程序对象的,是一个字符序列。在C语言程序中,一个合理的标识符由英文字母或下划线开头,后接零个或任意个字母、下划线,其长度不超过8个。vC语言的标识符分三类:关键字、特定字、用户定义字2.1
3、.2 2.1.2 标识标识符符 v1 关键字(也称保留字)v关键字是一些英文单词,一般用小写字母表示。C语言利用单词的意义标识C程序结构。关键字是C编译程序预先登录的标识符,它们代表固定的含义,用户不能随便用来标识程序对象。v下面是C语言的大部分关键字:vautu break case char const continue defaultvdo double else enum extern float forvgoto if int long register return shortvsigned static struct switch typedef union unsignedvv
4、oid volatile while2.1.2 2.1.2 标识标识符符 v2 特定字v特定字是具有特殊含义的标识符,它们虽然不是C语言的关键字,但是习惯上把它们看成关键字,建议不要再程序中随便使用。下面几个特定字通常在C程序中的预处理命令行中使用。vdefine undef include ifdef ifndef endif line elif2.1.2 2.1.2 标识标识符符 v3 用户定义字v用户定义字是程序员在程序设计时为变量、常量、函数等程序对象其起的名字。为了便于联想和记忆,建议用户给程序对象命名时,使用能反映该对象意义的定义字。通常要注意一下几点:v(1)不能使用关键字和特定
5、字。v(2)为了区别不同的程序对象,用户定义字的前8个字符不能相同。v(3)最好使用英文和汉语拼音缩写,以便阅读和检查。v(4)C语言区别大小写,大、小写代表不同的意义。如TEXT和text代表不同的标识符。v(5)避免使用容易混淆的字符。如1与I,0与o,2与z等。v(6)C语言由许多库函数,用户定义字不能与库函数同名。2.22.2数据数据类类型型 v数据类型在高级语言中是一个很重要的概念。C语言数据的使用严格遵照“先说明类型后使用”的原则。因为不同类型的数据在内存的存储方式不同,所占的字节数也不同。高级语言能表示的数据类型越多,程序编写起来就越方便。2.2.1 C2.2.1 C语语言数据言
6、数据类类型型 2.2.1 C2.2.1 C语语言数据言数据类类型型 基本数据类型是C内部定义的,基本类型也是构造其他类型的基础。复杂数据类型是用户根据程序需要并按语法规则构造出来的数据类型。指针在C语言中使用极为普遍,指针提供了动态处理变量的能力,是C语言的精髓。2.2.2 2.2.2 基本数据类型基本数据类型 短整型 short int(1)整型 长整型 long int 普通整型 int 普通浮点型 float(2)浮点型 双精度浮点型 double(3)字符型 char不同的数据类型在计算机内存中所占存储空间大小不同。一般情况,长整型是短整型的二倍,双精度浮点型是普通浮点型的二倍,一个字
7、符占8位。基本数据类型的存储方式和取值范围,如表2-1所示。2.32.3常量与常量与变变量量 v数据在程序中需要一定的表达方式,常量和变量就是用来表示数据的。v2.3.1 2.3.1 常量常量v常量是指取值在程序的执行过程中始终保持不变的量。根据取值和表示方法的不同,常量有如下类型:v1.整型常量 v整型常量的表示通常有三种:十进制表示、八进制表示、十六进制表示。v十进制表示不能以0开头;八进制表示以数字0开头;十六进制以数字0和x开头。2.3.12.3.1常量常量v【例2.1】整型常量举例。vInt x,y,zvX=10;vY=010;vZ=0 x10;v执行上述程序后,变量x中的数据值是十
8、进制数10;变量y中的数据值是十进制数8;变量z中的数据值是十进制数16。2.3.12.3.1常量常量v2.浮点型常量v在数学上,表示小数由两种方式:一种是小数表示法,另一种是科学计数法,也称指数表示法。浮点数表示法来源于数学中的指数表示形式,如193.5可以表示为0.1935103或1.935102等。v浮点数在存储时,同样大小的空间,可以存放远比整型常量数取值范围大得多的值。2.3.12.3.1常量常量vC程序中的浮点常数由整数部分、小数部分和指数部分构成。v其中,整数部分和小数部分用小数点连接;小数部分和指数部分用e或E连接。v浮点常量的构成规则是:v(1)整数部分和小数部分可以不写,但
9、不能同时不写。v(2)指数部分可以省略,省略时相当于小数表示法。v(3)若有指数部分,e(或E)两边至少有一位数。v(4)指数的数字必须是整数(13位),可以有正负号,正号可省略。2.3.12.3.1常量常量v【例2.2】浮点型常量举例。vFloat x,y,zvX=4.50e3vY=1.235e-3vZ=1.058v执行上述程序后,变量x中的数据值是十进制数4500;变量y中的数据值是十进制数0.001235;变量z中的数据值是十进制数1.058。2.3.12.3.1常量常量v3.字符型常量v在C语言中的字符常量是用单引号括起来的一个字符。v字符常量的构成规则是:v(1)单引号中的字符只能有
10、一个。v(2)字符仅能用单引号,不能使用双引号定义字符常量。v(3)非图形字符也可以表示成字符常量,如退格、换行。表示方法是使用转义符与一些特殊字符构成转义序列。例如n表示“回车换行”。v常见的转义字符如表2-2所示。2.3.12.3.1常量常量2.3.12.3.1常量常量v4.字符串常量v在C中用双引号引起来的若干个字符称为字符串常量。例如:“welcome”,“198.75”。字符串常量在内存中是按顺序逐个存储的,存储的是字符串的ASCII码,并在最后一个存储单元存放一个“0”字符,表示串结束。字符串的长度是指串中“0”字符之前的所有字符数量,包括不可见字符。因此字符串常量实际占用的字节数
11、是:串长1。2.3.12.3.1常量常量 v例如:“welcome”实际上占用的内存字节数是8,而不是7,如图2-3所示。vv图2-3 字符串常量存储示意图v字符串的输出有两种方法:v直接输出:printf(“welcome”);v转换输出:printf(“s”,“welcome”);welcome02.3.12.3.1常量常量v5.指针常量v任何类型的指针都可以赋以0值(NULL),称为空指针,表示当前该指针不指向任何类型的任何变量,而不是指向地址为0的存储单元。因此,NULL是一个指针常量。2.3.2 2.3.2 变变量量 v变量是指取值在程序的执行过程中取值可以改变的量。v在使用一个变量
12、之前,程序员必须为每个变量起一个名字,并定义它的数据类型。也就是说,变量必须用标识符进行标识,该标识符称为变量名。v给变量定义标识符,目的是在程序编译时,编译器根据变量类型为每个变量分配一段连续的存储单元,用于存储该变量的取值。v变量名和内存单元地址之间存在一个映射关系。当程序引用变量时,计算机会通过变量名寻址,从而访问到其中的数据。2.3.2 2.3.2 变变量量 v在C语言中,所有的变量都必须先定义后使用。它的意义在于明确了变量的4个属性:变量的名字、数据类型、允许的取值范围以及合法的操作。这样编译系统就会完成如下工作。v(1)编译系统会根据定义为变量预先分配内存空间;v(2)未经定义的标
13、识符,系统不允许作为变量名使用;v(3)便于在编译期间进行语法检查。不同类型的变量有其相应的合法操作,编译系统会根据变量的类型对其操作的合法性进行检查。2.3.2 2.3.2 变变量量 v1.定义变量的格式v类型说明符类型说明符 变量名表变量名表 ;v说明:类型说明符 指定了变量的数据类型,可以是int、float、double、char等。v 变量名 要符合用户定义字的命名规则,一般使用小写字母。v变量名表 一种类型有多个变量时,变量名之间用逗号“,”分隔。类型说明语句用分号结束。v【例2.4】定义2个整型变量,1个字符型变量。vint i,j;/*说明2个整型变量1,j*/vchar a;
14、/*说明1个字符型变量 a*/2.3.2 2.3.2 变变量量 v2.变量的初始化v定义变量时,只是根据变量的类型分配了存储空间,并没有给该空间指定一个特定的值。该存储空间原来有什么值还是什么值,即是以前遗留的值。因此定义变量后需要给变量初始化,也就是说给变量赋初值。变量初始化可以避免引用到随机变量。v【例2.5】变量的初始化举例。vint i,j;/*说明2个整型变量i,j*/vchar a;/*说明1个字符型变量 a*/vi=1;/*变量i的值为1*/vj=100;/*变量j的值为100*/va=A;/*变量a的值为大写字母A*/2.42.4数据的数据的输输出出 v在C程序中,数据的输入和
15、输出分别是通过调用格式输入函数、格式输出函数、字符输入函数、字符输出函数来实现的。在C+程序中,主要是通过调用输入输出的流对象来实现的。在输入操作中,输入字节流从输入设备流向内存;在输出操作中,输出字节流从内存流向输出设备。2.4.1 2.4.1 用用printfprintf输输出数据出数据 v程序要按照指定的格式输出,可调用格式输出函数printf()。调用printf()的一般格式为:vprintf(printf(格式控制字符串,输出项表格式控制字符串,输出项表);v说明:格式控制字符串是字符串表达式,通常是用双引号括起来的字符串。v格式控制字符串通常包含四类内容:v(1)普通字符:要求按
16、原样输出。v(2)转义字符:要求按转义字符的意义输出。转义字符见表2-2所示。v(3)格式转换说明:以“”开头,后跟修饰符和格式符。例如d,以十进制输出整数。常用的输出格式符见表2-3,常用的输出格式修饰符见表2-4。2.4.1 2.4.1 用用printfprintf输输出数据出数据 v(4)输出表项:每个输出项可以是一个常量、变量或表达式。每个格式对应一个输出项,输出函数按指定的格式对输出项的值进行转换,并组织排版输出。2.42.4数据的数据的输输出出 v【例2.6】格式输出举例。实例给出十进制、八进制、十六进制和浮点数形式的输出格式控制。分析如下程序的输出结果,理解输出格式符、格式修饰符
17、的作用。源程序如下:#include stdio.hvoid main()printf(%d,%+6d,%6d,%ldn,1234,1234,1234,1234567L);printf(%#o,%4o,%6lon,054,054,-1);printf(%#x,%4x,%6lxn,054,054,-1);printf(%f,%8.2f,%7.2f,%.7fn,123.4567f,123.4567f,123.4567f,123.456789);第一行输出代码解释如下:格式字符串的第一个d格式输出整数1234,接着输出普通字符逗号。第二个d格式以6个字符的宽度输出1234,并要求输出符号。因此输出一
18、个以空白符和正号为前导的1234。接着输出普通字符逗号。第三个d格式以6个字符的宽度输出1234,并要求输出时左对齐。因此输出1234后接两个空白符。接着输出普通字符逗号。第四个d格式输出长整型数1234567。2.4.2 2.4.2 用用scanfscanf输输入数据入数据 v要按指定格式组织输入,可调用格式输入函数scanf()。调用scanf()的一般格式为:vscanf(scanf(格式控制字符串,数据存储地址项表格式控制字符串,数据存储地址项表);v说明:格式控制字符串是字符串表达式,通常是用双引号括起来的字符串。v格式控制字符串通常包含三类内容:v(1)普通字符:要求用户必须按原样
19、输入。v(2)格式转换说明:以“”开头,后跟修饰符和格式符。例如d,以十进制输入整数。常用的输出格式符见表2-5,常用的输出格式修饰符见表2-6。v(3)数据存储地址表项:每个地址项是一个变量的地址,在变量名前加地址运算符&或指针。指针在第6章介绍。2.4.2 2.4.2 用用scanfscanf输入数据输入数据v【例2.7】格式输入举例。对应下列输入代码,要让变量x的值为11,变量y的值为567,经分析指出合理的输入语句应为哪一条?v01 scanf(%d,%d,&x,&y);v02 scanf(%d%d,&x,&y);v03 scanf(%2d,%3d,&x,&y);v04 scanf(%
20、d%*d%d,&x,&y);2.4.2 2.4.2 用用scanfscanf输入数据输入数据v程序说明如下:v语句01:%d,%d中间的逗号是普通字符,必须按原样输入。因此输入为:11,567。v语句02:%d%d两个格式之间没有其它字符,输入时数据以一个或多个空格分隔,也可以用Tab键或Enter键分隔。因此输入为:11 567。v语句03:%2d,%3d指定了输入的数字符个数,分别时2个和3个。因此输入为:11567。将11赋给变量x,567赋给变量y。v语句04:%d%*d%d格式中的第二个输入格式有赋值抑制符“*”,所以要输入3个整数,第2个数不赋给变量。3个数输入时由空格分隔。因此输
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 教程
限制150内