第2章 基本数据类型.ppt

上传人:本田雅阁 文档编号:2252102 上传时间:2019-03-11 格式:PPT 页数:103 大小:1.26MB
返回 下载 相关 举报
第2章 基本数据类型.ppt_第1页
第1页 / 共103页
第2章 基本数据类型.ppt_第2页
第2页 / 共103页
第2章 基本数据类型.ppt_第3页
第3页 / 共103页
亲,该文档总共103页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第2章 基本数据类型.ppt》由会员分享,可在线阅读,更多相关《第2章 基本数据类型.ppt(103页珍藏版)》请在三一文库上搜索。

1、第二章,基本数据类型,2019/3/11,2/103,第二章 基本数据类型,本章主要内容,2.1 数据类型概述,2.2 标识符、常量和变量,2.3 整型数据,2.4 实型数据,2.5 字符型数据,2.6 数据的输入与输出,2019/3/11,3/103,第二章 基本数据类型,程序是对数据进行各种操作,首先要做的是事情是:对程序中将要用到的各种数据进行设计,包括数据是什么类型的?可以进行什么样的运算?具体的数值是多少?等等。,计算机中的数据可以是各种类型的,例如,数值型的:整数、实数;非数值型的:字符、图像、声音、图片、动画等。,不同的程序设计语言对这些数据的表达方式是不一样的,本章学习C语言如

2、何表达数据。,数据类型概述,2019/3/11,4/103,第二章 基本数据类型,数据类型概述,C语言为了处理方便 ,将所有可能的数据分成不同的类型。,数据类型,构造类型,指针类型,空类型(无值类型) void,枚举类型 enum,数组类型,结构类型 struct,联合类型 union,基本类型,整型 int,字符型 char,实型(浮点型),单精度实型 float,双精度实型 double,这些数据类型对数据的设计都不一样,包括数据在内存中的存储方式,数据范围,能够进行的运算种类,输入输出形式等。,2019/3/11,5/103,第二章 基本数据类型,标识符、 常量和变量,在程序中,不论是变

3、量、符号常量,还是以后介绍的数组、函数等数据对象通常都需要用一个名字(即标识符)来表示才能使用。,标识符就是一个名字。,标识符有特定的命名规则,需要严格执行。,C语言规定,标识符只能由字母(AZ,az)、数字(09)、下划线( _ )3种字符组成,并且第一个字符必须是字母或下划线。,2019/3/11,6/103,第二章 基本数据类型,标识符、 常量和变量,根据标识符的不同用处,可以将其分以下3类:,(1)关键字 关键字,又叫保留字,是指C语言规定的、有特殊含义和专门用途的标识符,主要用于描述数据类型、存储类型、类型定义和语句控制。有32个。例如,int ,return 等,(2)预定义标识符

4、 预定义标识符也是C语言中有特定含义的标识符,主要用于描述库函数名(如printf、scanf等)和编译预处理命令名(如define、include等)。,(3)用户标识符 用户标识符是指在程序中由程序员自己定义的变量名、符号常量名、数组名、函数名等。,2019/3/11,7/103,第二章 基本数据类型,标识符、 常量和变量,用户标识符的命名规则:,1、只能由字母、数字、下划线组成。,2、第一个字符必须是字母或下划线。,练习:依据标识符的规则,判断下列字符是否合法的C语言用户标识符 a 4tb _b5 int long sum,3、区分大小写,4、不能使用系统中的有特定含义的关键字。,201

5、9/3/11,8/103,第二章 基本数据类型,自定义标识符的命名规则:,1、只能由字母、数字、下划线组成。,2、第一个字符必须是字母或下划线。,3、区分大小写,4、不能使用系统中的有特定含义的关键字P365。,例:sum,_total, month, Student_name, lotus_1_2_,BASIC, li_ling M.D.John, ¥123,3D64,ab,标识符、 常量和变量,2019/3/11,9/103,第二章 基本数据类型,标识符、 常量和变量,程序中用到的数据,除了有前述类型之分外,还有常量和变量之分。,常量:在程序运行过程中,其值不能被改变的量。,在日常工作学习

6、中,我们会接触到一些不变的数,例如,圆周率,自然常数e等;有些情况下,在某种场合或问题的处理过程中,有些数据是固定的,例如,处理学生的成绩统计问题过程中,一般来讲,学生的人数是固定的。,通常,我们将这些我们事先知道的,并且在程序处理过程中不发生变化的数据,作为常量处理,直接给出数值的大小。,变量:在程序运行过程中,其值能被改变的量。,更多的情况是,我们希望通过程序的处理得出一些结果,这时很多数据是变化的。我们事先不知道的,作为变量处理。,2019/3/11,10/103,第二章 基本数据类型,常量是在程序运行过程中,其值不能被改变的量,也分为不同的类型,例如:整型常量、浮点型常量、字符型常量等

7、。,常量在表达上,除了直接给出数值大小外,也要表示出其类型。,常量的类型是通过书写形式表达的。,整型常量,直接书写成整数,例如:12、0、-3,浮点型常量,直接书写成实数,例如:4.6、-1.23,字符型常量,书写成:a、d、?的形式,表示字符a、d、?。,单引号括起来的单个字符。,整型常量、浮点型常量、字符型常量直接写成上述形式,称为直接常量,相对应的非直接常量是符号常量。,标识符、 常量和变量,2019/3/11,11/103,第二章 基本数据类型,符号常量:用一个符号(在C语言中为标识符)来代表一个常量。,例 符号常量的使用,#define PRICE 30 #include int m

8、ain ( ) int num, total; num=10; total=num * PRICE; printf(total=%dn,total); return 0; ,定义一个符号常量,标识符PRICE,代表整型常量30,在下面的程序中,凡遇到PRICE就用30代替。,标识符、 常量和变量,2019/3/11,12/103,第二章 基本数据类型,#include int main ( ) int num, total; num=10; total=num * 30; printf(total=%dn,total); return 0; ,#define 同#include一样,也是一个编

9、译预处理命令,标识符、 常量和变量,2019/3/11,13/103,第二章 基本数据类型,使用符号常量的好处是,# include int main(void) double r, s, v; scanf(“%lf“, ,# include # define PI 3.14 int main(void) double r, s, v; scanf(“%lf“, ,3.14159,3.14159,3.14159,标识符、 常量和变量,2019/3/11,14/103,第二章 基本数据类型,变量:在程序运行过程中,其值能被改变的量。也分为不同的类型,例如:整型变量、浮点型变量、字符型变量等。,变

10、量中的值需要在处理过程中保存起来。C语言中的变量实际上代表的是计算机内存的一个存储空间。在这个空间中存放的是变量的具体数值。,C语言中的处理方法是,为每个变量分配一个存储空间,用变量名来标识这个存储空间。,在程序中,需要进行输入、处理、输出等操作时,只要使用变量名a即可,a中保存的值可以是3,也可以是随处理过程变化了的其他值。,标识符、 常量和变量,2019/3/11,15/103,第二章 基本数据类型,变量代表内存中具有特定属性的一个存储单元,它用来存放数据,这就是变量的值,在程序运行期间,这些值是可以改变的。,变量名实际上是一个以一个名字对应代表一个地址,在对程序编译连接时由编译系统给每一

11、个变量名分配对应的内存地址。从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据。,在C语言中,符号常量中用到的名字、变量名用到的名字,以及今后将学到的函数名、数组名、类型名等,统称为标识符。,变量名的命名要符合标识符特定的命名规则,需要严格执行。,标识符、 常量和变量,2019/3/11,16/103,第二章 基本数据类型,变量名命名的注意事项:,编译系统将大写字母和小写字母认为是两个不同的字符。,建议变量名的长度最好不要超过8个字符。,在选择变量名和其它标识符时,应注意做到“见名知意”,即选有含意的英文单词 (或其缩写)作标识符。,标识符、 常量和变量,2019/3/

12、11,17/103,第二章 基本数据类型,变量是C语言程序中用得最多的一个概念,C语言要求,对所有用到的变量作强制定义,也就是 “先定义(声明),后使用”,标识符、 常量和变量,所谓声明一个变量,就是告知C编译器引用了一个新的变量名,并指定了该变量的数据类型,变量声明的一般格式如下: 数据类型 变量名表; 当声明同一类型的多个变量时,各变量名之间用逗号隔开。,下面分别对整型数据、实型数据和字符型数据的常量和变量进行介绍。,2019/3/11,18/103,第二章 基本数据类型,整型数据,整型常量的表示方法,整型常量即整常数 在语言中,整常数可用以下三种形式表示:,(1)十进制整数 如:123

13、-456 4,(2)八进制整数 以0头的数是八进制数 如:0123 表示八进制数123 (等于十进制数83) -011 表示八进制数-11 (即十进制数-9),(3)十六进制整数 以0x开头的数是十六进制数。 如:0x123 表示十六进制数123 (等于十进制数 291) -0x12 表示十六进制数12 (等于十进制数18),八进制数 029 是错误的,为什么?,2019/3/11,19/103,第二章 基本数据类型,整型数据,也就是说,当在程序中需要使用一个整型常数时,可以用十进制的方式表达,也可以是八进制或十六进制。,#include void main( ) /*求两数之和*/ int

14、a,b,sum; /*声明,定义变量为整型*/ a=12; b=45; sum=a+b; printf(sum = %dn,sum); ,程序求12+45的和,结果为: sum=57,2019/3/11,20/103,第二章 基本数据类型,整型数据,也可以将12和45表示成八进制形式,#include void main( ) /*求两数之和*/ int a,b,sum; /*声明,定义变量为整型*/ a=014; b=055; sum=a+b; printf(sum = %dn,sum); ,同样,程序求12+45的和,结果为: sum=57,2019/3/11,21/103,第二章 基本数

15、据类型,整型数据,还可以将12和45表示成十六进制形式,#include void main( ) /*求两数之和*/ int a,b,sum; /*声明,定义变量为整型*/ a=0xc; b=0x2d; sum=a+b; printf(sum = %dn,sum); ,同样,程序求12+45的和,结果为: sum=57,2019/3/11,22/103,第二章 基本数据类型,整型数据,1、整型数据在内存中的存放形式,数据在内存中是以二进制形式存放的,如: int i; /* 定义为整型变量 */ i=10; /* 给i赋以整数10 */,逻辑上,可以理解为,i,10,物理上,计算机存储器将为

16、i变量分配4个字节的存储空间,数值10是按照二进制补码形式存储的。,2019/3/11,23/103,第二章 基本数据类型,整型数据,数据的存储整型数据,设整数在内存中用2个字节存储,通过设置符号位表示数据的正负性。 1 000 0001 1000 0001 0 000 0001 1000 0001,符号位 1:负数 0:正数,为了计算机内的运算,数值数据还有编码:原码、反码、补码。,2019/3/11,24/103,第二章 基本数据类型,整型数据,对于正数,原码、反码、补码编码方法是一样的:最高位定义为符号位,值为0;其他位是数据的二进制形式。,例如,1的原码、反码、补码,假设每个整数在内存

17、中占用两个字节,即16位,最高位表示符号:0;其余15位是1的二进制形式,例如,127的原码、反码、补码,例如,32767的原码、反码、补码,这是两字节16位能表示的最大正数,再大就溢出了,所以数据是有范围的。,2019/3/11,25/103,第二章 基本数据类型,整型数据,对于负数,原码、反码、补码编码方法不一样,原码:符号位为1,其余各位表示数值的绝对值对应的二进制形式,反码:符号位为1,其余各位是原码按位取反,补码:反码加1,例如,-1的原码、反码、补码,原码:,反码:,补码:,2019/3/11,26/103,第二章 基本数据类型,3.3 整型数据,原码:,反码:,补码:,- 1,-

18、32768的补码,-32768是两字节16位能表示的最小负数,再小也溢出了,int类型有数据范围,与C系统有关,如果是16位,取值范围是 -32768,32767。超出范围就需要选择其他数据类型。,-32767,2019/3/11,27/103,第二章 基本数据类型,整型数据,注意:,Turbo C 2.0和Turbo C+ 3.0为一个整型变量在内存中分配2个字节的存储单元 (不同的编译系统为整型数据分配的字节数是不相同的,VC+ 6.0则分配4个字节)。,数值默认是以补码(complement) 表示的,即是有符号的数。,2019/3/11,28/103,第二章 基本数据类型,整型数据,整

19、型变量的基本类型是int,用来存储有符号的整型数据,在程序设计过程中用得最多的一种变量类型。,C语言对整型变量进一步加以分类,以方便不同的应用场合。,共六种,有符号基本整型 有符号短整型 有符号长整型 无符号基本整型 无符号短整型 无符号长整型,(signed)int (signed)short (int ) (signed) long (int) unsigned int unsigned short (int) unsigned long (int),注意:括号表示其中的内容是可选的.,2019/3/11,29/103,第二章 基本数据类型,整型数据,整数类型的有关数据:,类型 类型说明符

20、 长度 数的范围 基本型 int 2字节 -3276832767 短整型 short 2字节 -215215-1 长整型 long 4字节 -231231-1 无符号整型 unsigned 2字节 065535 无符号短整型 unsigned short 2字节 065535 无符号长整型 unsigned long 4字节 0(232-1),2019/3/11,30/103,第二章 基本数据类型,整型数据,整型变量的定义,语言规定在程序中所有用到的变量都必须在程序中定义(声明),即“强制类型定义”。,变量定义的一般形式,类型名 变量名表;,例如: int a,b; unsigned shor

21、t c,d; long e,f;,指定变量、为整型 指定变量、为无符号短整型 指定变量、为长整型,关键字,2019/3/11,31/103,第二章 基本数据类型,整型数据,例2.1,常量和变量的定义与使用,#include “stdio.h“ #define WIDTH 80 int main( ) int length=100, cir, area; cir=(length+WIDTH)*2; area=WIDTH*length; printf(“cir =%d,area=%dn“,cir,area); return 0; ,运行结果:,cir =360,area=8000,问题:请指出程序

22、中的常量和变量,2019/3/11,32/103,第二章 基本数据类型,整型数据,例,整型变量的定义与使用,#include int main() return 0; ,运行结果:,a+u=22,b+u=-14,说明: 可以看到不同种类的整型数据可以进行算术运算,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=%dn“,c,d);,2019/3/11,33/103,第二章 基本数据类型,整型数据,例 整型数据的溢出,#include int main() int a,b; a=32767;

23、 b=a+1; printf(“%d,%dn”,a,b); return 0; ,运行结果: 32767,-32768,说明:数值是以补码表示的。一个整型变量只能容纳-3276832767范围内的数,无法表示大于32767或小于-32768的数。遇此情况就发生“溢出”。,本例特指整型数据用16位保存的情形,2019/3/11,34/103,第二章 基本数据类型,整型数据,整型常量的类型,(1)一个整数,如果其值在-32768+32767范围内,认为它是int型,它可以赋值给int型和long int型变量。,(2) 一个整数,如果其值超过了上述范围,而在-2147483637+21474836

24、47范围内,则认为它是为长整型。可以将它赋值给一个long int型变量。,(3) 如果所用的C版本(如Turbo C)分配给short int与int型数据在内存中占据的长度相同,则它的表数范围与int型相同。因此一个int型的常量同时也是一个short int型常量,可以赋给int型或short int型变量。,(4) 一个整常量后面加一个字母u或U,认为是unsigned int型,如12345u,在内存中按unsigned int规定的方式存放(存储单元中最高位不作为符号位,而用来存储数据)。如果写成-12345u,则先将-12345转换成其补码53191,然后按无符号数存储。,201

25、9/3/11,35/103,第二章 基本数据类型,整型数据,(5) 在一个整常量后面加一个字母l或L,则认为是long int型常量。例如123l,432L,0L等。这往往用于函数调用中。如果函数的形参为long int型,则要求实参也为long int型。,整型常量的类型是根据 (1)整数后的字母后缀来判断的 没有字母后缀,认为是int 123L long 123U unsigned 123LU unsigned long (2)整数的值,2019/3/11,36/103,第二章 基本数据类型,实型数据,实型数据的存储,定点数,定点整数 隐含小数点位置,定点纯小数 隐含小数点位置,2019/

26、3/11,37/103,第二章 基本数据类型,实型数据的存储,-浮点数,浮点数的小数点位置不固定,来源于数学中的指数表示形式。例如: 57. 25102(0.5725) 其中,10的指数2称为阶码,0.5725称为尾数。,+ 2 + 0.5725,浮点数机内表示形式,实型数据,2019/3/11,38/103,第二章 基本数据类型,C语言中实数的表示方式: 浮点表示法 0.123 123.4 12. .12 科学计数法 6.026E-27 1.2e+30 1E-5 实数的类型 都被看作是 double,实型数据,2019/3/11,39/103,第二章 基本数据类型,浮点型常量的表示方法,两种

27、表 示形式,小数 指数,0.123 3e-3,注意:字母e(或E)之前必须有数字,且e后面的指数必须为整数,1e3、1.8e-3、-123e-6、-.1e-3 e3、2.1e3.5、.e3、e,实型数据,2019/3/11,40/103,第二章 基本数据类型,规范化的指数形式,在字母e(或E)之前的小数部分中,小数点左边应有一位(且只能有一位)非零的数字。,例如: 123.456可以表示为: 123.456e0 12.3456e1 1.23456e2 0.123456e3 0.0123456e4 0.00123456e5 其中的1.23456e2称为“规范化的指数形式”。一个浮点数输出时的形式

28、。,实型数据,2019/3/11,41/103,第二章 基本数据类型,浮点型变量,1、浮点型数据在内存中的存放形式,一个浮点型数据一般在内存中占4个字节(32位)。与整型数据的存储方式不同,浮点型数据是按照指数形式存储的。系统把一个浮点型数据分成小数部分和指数部分,分别存放。指数部分采用规范化的指数形式。,实型数据,2019/3/11,42/103,第二章 基本数据类型,浮点型变量,1、浮点型变量的分类,单精度(float型),双精度(double型),长双精度型(long double),类型 位数 数的范围 有效数字 float 32 10-37 1038 67 位 double型 64

29、10-30710308 1516位 long double 128 10-4931104932 1819位,能够表示的数据范围比整数大很多,因此,实际应用中,如果整数很大,超出了整数的表示范围,经常用浮点数形式,例如,计算n!,经常使用double类型变量。,实型数据,2019/3/11,43/103,第二章 基本数据类型,例,浮点型数据的舍入误差,#include void main() float a,b; a = 123456.789e5; b = a + 20 ; printf(“%fn”,b); ,说明:一个浮点型变量只能保证的有效数字是7位有效数字,后面的数字是无意义的,并不准确地

30、表示该数。应当避免将一个很大的数和一个很小的数直接相加或相减,否则就会“丢失”小的数,运行结果: 12345678848.000000,实型数据,2019/3/11,44/103,第二章 基本数据类型,浮点型常量的类型,C编译系统将浮点型常量作为双精度来处理。,例如:f = 2.45678 * 4523.65,系统先把2.45678和4523.65作为双精度数,然后进行相乘的运算,得到的乘积也是一个双精度数。最后取其前7位赋给浮点型变量f。,如果是在数的后面加字母f或F(如1.65f, 654.87F),这样编译系统就会把它们按单精度(32位)处理。,实型数据,2019/3/11,45/103

31、,第二章 基本数据类型,字符型数据,字符常量,(1)用单引号包含的一个字符是字符型常量 (2)只能包含一个字符,例,a,A, 1 abc、“a”,a A 9 + $ ,在ASCII字符集中,列出所有可用的字符(256个) 附录,每个字符:惟一的次序值( ASCII 码) 0-9 升序排列 A - Z a - z,2019/3/11,46/103,第二章 基本数据类型,字符常量,(1)用单引号包含的一个字符是字符型常量 (2)只能包含一个字符,字符ASCII 码 对字符进行运算 对字符的ASCII 码进行运算 例如: A 的 ASCII 码是 65 则:A+1=66,对应字符 B,字符型数据,2

32、019/3/11,47/103,第二章 基本数据类型,字符常量,(1)用单引号包含的一个字符是字符型常量 (2)只能包含一个字符,有一些字符,如回车符、退格符等控制符号,不能在屏幕上显示,也无法从键盘输入,只能用转义字符表示。,转义字符:反斜杠加上一个字符或数字组成,它把反斜杠后的字符或数字转换成别的意义。,例如:n 表示回车 t 表示横向跳格,虽然转义字符形式上由多个字符组成,但它是字符常量,只代表一个字符,使用方法与其他字符常量相同。,字符型数据,2019/3/11,48/103,第二章 基本数据类型,有些以“”开头的特殊字符称为转义字符,n 换行 t 横向跳格 r 回车 反斜杠 ddd

33、ddd表示1到3位八进制数字 xhh hh表示1到2位十六进制数字,字符型数据,2019/3/11,49/103,第二章 基本数据类型,字符型数据,转义字符,反斜杠后跟一个字符或数字 字符常量,代表一个字符 n 101 x41 A 所有字符都可以用转义字符表示,2019/3/11,50/103,第二章 基本数据类型,字符变量,字符型变量用来存放字符常量,注意只能放一个字符。,字符变量的定义形式如下:char c1,c2;,之后,可以用下面语句对c1,c2赋值: c1a;c2 b ;,一个字符变量在内存中占一个字节,字符型数据,2019/3/11,51/103,第二章 基本数据类型,字符数据在内

34、存中的存储形式及其使用方法,将一个字符常量放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的相应的ASCII代码放到存储单元中。,理论上,c1,c2,例如:char c1,c2;,c1a; c2 b ;,97,98,c1,c2,01100001,01100010,这种存储原理,使得在C语言中,字符型数据和整型数据之间可以通用。一个字符数据既可以以字符形式输出,也可以以整数形式输出。,实际上,字符型数据,2019/3/11,52/103,第二章 基本数据类型,例 向字符变量赋以整数,#include int main() char c1,c2; c1=97; c2=98

35、; printf(“%c %cn”,c1,c2); printf(“%d %dn”,c1,c2); return 0; ,运行结果: a b 97 98,c1=a; c2=b;,字符型数据,2019/3/11,53/103,第二章 基本数据类型,例 大小写字母的转换,#include int main() char c1,c2; c1=a; c2=b; c1=c1-32; c2=c2-32; printf(“c c”,c1,c2); return 0; ,运行结果: A B,说明:程序的作用是将两个小写字母a和b转换成大写字母A和B。从代码表中可以看到每一个小写字母比它相应的大写字母的码大。语

36、言允许字符数据与整数直接进行算术运算。,大小写字母转换算法,字符型数据,2019/3/11,54/103,第二章 基本数据类型,字符串常量,字符串常量是一对双撇号括起来的字符序列.,合法的字符串常量: “How do you do.”, “CHINA”, “a” , “$123.45”,“”,可以输出一个字符串,如 printf(“How do you do.”);,也可以 printf(“%s”,“How do you do.”);,对比其他数据类型常量的输出 printf(“%d”,345); printf(“%f”,2.134); printf(“%c”,a);,字符型数据,2019/3

37、/11,55/103,第二章 基本数据类型,字符串常量,是字符常量,”是字符串常量,二者不同。,c=a; ”a”;c”CHINA”;,结论:不能把一个字符串常量赋给一个字符变量。,如:假设c被指定为字符变量 :char c;,字符型数据,2019/3/11,56/103,第二章 基本数据类型,变量赋初值,在今后的学习过程中,更多的精力用在变量的使用上。,定义了变量后,就可以在程序中使用变量了。,其中,经常会遇到的一种使用情形是,为变量赋初始值。,如:int a,b,c; float x,y; double s,g; char ch1,ch2;,在程序中就可以按照定义的类型使用这些变量。,当然,

38、可以在变量定义好后,用赋值运算的方式完成。,C语言允许在定义变量的同时给变量一个初始值。,2019/3/11,57/103,第二章 基本数据类型,变量赋初值,然后再进行其他处理,如:int a; float f; char c;,C语言允许在定义变量的同时给变量一个初始值。,a=3; f=3.56; c=a;,如:int a=3; float f=3.56; char c=a;,a,f,c,a,f,c,3,3.56,a,3,3.56,a,先变量定义,给变量赋值,2019/3/11,58/103,第二章 基本数据类型,变量赋初值,对于:int a,b,c;,C语言允许在定义变量的同时给变量一个初

39、始值。,a=3; b=3; c=3;,如:int a=3,b=3,c=3;,如果:int a,b,c=5;,表示什么含义?,a,b,c,5,a,b,c,3,3,3,2019/3/11,59/103,第二章 基本数据类型,(一)所谓输入输出 是以计算机主机为主体而言的,输出:从计算机向外部输出设备(显示器,打印机)输出数据 输入:从输入设备(键盘,鼠标,扫描仪)向计算机输入数据,键盘,显示器,计算机,输入,输出,数据的输入与输出,2019/3/11,60/103,第二章 基本数据类型,(二)C语言本身不提供输入输出语句,输入和输出操作是由C函数库中的函数来实现的,例如: 字符输入函数: getc

40、har 字符输出函数:putchar 格式输入函数: scanf 格式输出函数: printf 字符串输入函数:gets 字符串输出函数:puts,数据的输入与输出,2019/3/11,61/103,第二章 基本数据类型,(三)在使用系统库函数时,要用编译预处理命令“#include”将有关的“头文件”包括到用户源文件中.,例如:在调用标准输入输出库函数时,文件开头应该有: #include “stdio.h” 或: #include ,由于C系统已经编写好这些函数程序,我们只需要按照语法规定的要求进行参数设置,正确使用即可,非常方便。,数据的输入与输出,2019/3/11,62/103,第二

41、章 基本数据类型,(一)字符输出函数,一般形式,函数作用,putchar(ch),向终端(或系统默认的输出设备)输出一个字符,注: ch 可以是一个字符型(整型)变量、常量或表达式; 也可以是一个转义字符, 如 putchar(n) putchar(101)。,数据的输入与输出,2019/3/11,63/103,第二章 基本数据类型,结果是在显示器上输出一个回车,写到程序中的情形,(一)字符输出函数,一般形式,putchar(ch),#include void main() putchar(n); ,数据的输入与输出,2019/3/11,64/103,第二章 基本数据类型,结果是在显示器上输出

42、一个A,写到程序中的情形,(一)字符输出函数,一般形式,putchar(ch),#include void main() putchar(101); ,数据的输入与输出,2019/3/11,65/103,第二章 基本数据类型,举例,#include int main() char ch1B,ch2=O,ch3=Y; putchar(“); /*输出双引号转义字符*/ putchar(ch1); putchar(ch2); putchar(ch3); /*输出字符型变量中的字符*/ putchar(“); return 0; ,“BOY“,数据的输入与输出,2019/3/11,66/103,第二

43、章 基本数据类型,例 输出单个字符,#include int main() char a,b,c; a=B;b=O;c=Y; putchar(a); putchar(b); putchar(c); putchar(n); return 0; ,B O Y,putchar(n);,putchar(n);,B O Y,数据的输入与输出,2019/3/11,67/103,第二章 基本数据类型,练习: 阅读下列程序,写出运行结果,#include “stdio.h“ int main( ) char ch1=B,ch2=o,ch3=k; putchar(ch1);putchar(ch2);putcha

44、r(ch2);putchar(ch3); putchar(t); putchar(ch1+32);putchar(ch2); putchar(ch2);putchar(ch3); putchar(n); putchar(ch2-32);putchar(ch3-32); putchar(n); return 0; ,Book book OK,数据的输入与输出,2019/3/11,68/103,第二章 基本数据类型,(二)字符输入函数,一般形式:,函数作用:,函数值:,注:getchar函数没有参数,所接受的字符可以赋给字符型或整型变量,也可以作为表达式的一部分。,getchar(),从终端(或系

45、统隐含指定的输入设备)输入一个字符。,从输入设备得到的字符。,数据的输入与输出,2019/3/11,69/103,第二章 基本数据类型,例 输入单个字符,运行程序: 从键盘输入字符a 按Enter键 屏幕上将显示输出的字符a a (用户键盘输入的字符) a,#include int main() char c; c=getchar(); putchar(c); putchar(n); return 0; ,数据的输入与输出,2019/3/11,70/103,第二章 基本数据类型,例 输入输出字符示例,# include int main( ) char ch1, ch2; ch1=getcha

46、r(); ch2=getchar(); putchar(ch1); putchar(#); putchar(ch2); return 0; ,Ab,A#b,数据的输入与输出,2019/3/11,71/103,第二章 基本数据类型,格式化输出函数printf,格式控制字符串:,使用最多的是格式化输出函数printf(),它是系统提供的库函数,在系统文件stdio.h中声明,所以在源程序开始时要使用编译预处理命令#include ,一般调用格式,printf(格式控制字符串,输出参数1,输出参数n);,在C语言中,数据的输出是通过函数调用实现的。,用双引号括起来,表示输出的格式,输出参数:,要输出

47、的数据:常量、变量、表达式,数据的输入与输出,2019/3/11,72/103,第二章 基本数据类型,格式控制字符串包括:,格式控制说明,普通字符,格式控制说明:,普通字符:,以%开头,int型%d float double 型%f char型%c,原样输出的字符,转义字符 :n、 t等,例,printf(“fahr = %d, celsius = %dn”, fahr, celsius);,数据的输入与输出,2019/3/11,73/103,第二章 基本数据类型,格式控制字符串包括:,格式控制说明,普通字符,如果输出的内容仅仅是一些字符常量,可以使用普通格式控制字符串的方式。,例如,printf(“This is

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1