计算机上机第三课_第1页
计算机上机第三课_第2页
计算机上机第三课_第3页
计算机上机第三课_第4页
计算机上机第三课_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言基本类型及其修饰符的所有组合类型类型二进制位长度二进制位长度值域值域char8-128127unsigned char80255signed char8-128127int16-3276832767unsigned int16065535signed int16-3276832767short int16-3276832767unsigned short int16065535signed short int16-3276832767long int32-21474836482147483647unsigned long int3204294967295float323.4e-383.4

2、e+38(绝对值)double641.7e-3081.7e+308(绝对值)long double1281.0e-49311.0e4932(绝对值)本章内容提要常量、变量和数据类型常量、变量和数据类型数据类型数据类型常量常量变量变量输入与输出格式输入与输出格式C语言中的运算语言中的运算结构化的程序设计思想结构化的程序设计思想整型常数的后缀使用的数超过取值范围,须用长整型数来表示(使用的数超过取值范围,须用长整型数来表示(后缀后缀“L”或或“l”)。)。取值在取值在2147483648217483647之间之间无符号数用无符号数用后缀后缀“U”或或“u”表示表示例如:例如:十进制长整常数:十进制

3、长整常数:158L十进制十进制无符号无符号整常数:整常数: 158U长整数长整数158L和基本整常数和基本整常数158在在数值上无区别数值上无区别;对长整型常量对长整型常量158L,系统分配,系统分配4个字节存储空间;个字节存储空间;对基本整型对基本整型158,分配,分配2个字节存储空间个字节存储空间整型常数后缀的说明前缀后缀可同时使用前缀后缀可同时使用例如,例如,012L八八进制长整常数,进制长整常数,十进制为十进制为10077L八八进制长整常数,进制长整常数,十进制为十进制为630200000L 八八进制长整常数,进制长整常数,十进制为十进制为655360X15L十六十六进制长整常数,进制

4、长整常数,十进制为十进制为210X10000L十六十六进制长整常数,进制长整常数,十进制为十进制为65536 235Lu 以无符号常整型方式存储以无符号常整型方式存储235 0XA5Lu表示表示 十六进制无符号长整数十六进制无符号长整数A5其十进制为其十进制为165实型常量实型浮点型,实型常量也称实数或浮点数。实型浮点型,实型常量也称实数或浮点数。书写上,采用十进制,两种形式:小数形式、指数形式书写上,采用十进制,两种形式:小数形式、指数形式1、小数形式小数形式:由数码:由数码09和小数点组成。和小数点组成。合法小数形式:合法小数形式:0.0, .25,5.789,0.13,5.0,300.-

5、267.82302、指数形式指数形式:一般形式:一般形式aEn(a带符号十进制数,带符号十进制数,E或或e阶码阶码标志,阶码标志,阶码n十进制整数),其值为十进制整数),其值为a*10n合法指数形式:合法指数形式:2.1E53.2E-20.5E72.8E-2非法指数形式:非法指数形式:345E7.553.-E32.7E规范化指数形式规范化指数形式:阶码前的小数部分小数点左侧有且仅有一:阶码前的小数部分小数点左侧有且仅有一位非零数字。位非零数字。字符常量字符常量是用一对单引号括起来的一个字符。字符常量是用一对单引号括起来的一个字符。合法字符常量:合法字符常量:a,=,+,?以以ASCII码形式存

6、储在内存中,码形式存储在内存中,字符常量的特点1、字符常量只能用单引号括起来,、字符常量只能用单引号括起来, 为定界符,不能用为定界符,不能用双引号或其它括号。双引号或其它括号。2、字符常量只能是单个字符,不能是字符串。、字符常量只能是单个字符,不能是字符串。3、字符可以是字符集中任意字符。但数字被定义为字、字符可以是字符集中任意字符。但数字被定义为字符型之后就不能参与任何运算。符型之后就不能参与任何运算。如如5和和5是不同的。是不同的。5是字符常量,不能直接参与是字符常量,不能直接参与数值运算。数值运算。字符串常量当要使用一个序列时,使用字符串常量。当要使用一个序列时,使用字符串常量。用一对

7、双引号括起来。用一对双引号括起来。例如例如 “helloworld”系统将串中每个字符(转义字符只能被看成一个字符)系统将串中每个字符(转义字符只能被看成一个字符)的的ASCII码的二进制形式存储在内存中,并在存放串码的二进制形式存储在内存中,并在存放串尾的位置后存入一个字符尾的位置后存入一个字符0作为截止符(输出时不作为截止符(输出时不输出)。输出)。“a”与a0高高8位内存单元位内存单元a低低8位内存单元位内存单元0“a”00000001高高8位内存单元位内存单元低低8位内存单元位内存单元a0000110a00001011转义字符也称控制字符常量,不可打印,代表某些功能。也称控制字符常量,

8、不可打印,代表某些功能。” .以以“”开头,后跟一个或几个字符。开头,后跟一个或几个字符。转义字符具有特定含义,不同于字符原有意义,故称转义字符具有特定含义,不同于字符原有意义,故称“转义转义”,也称换码序列。表示那些用一般字符不便于,也称换码序列。表示那些用一般字符不便于表示的控制代码或用于功能定义的字符。表示的控制代码或用于功能定义的字符。字符形式字符形式功能功能十六进制十六进制n换行0 x0At横向跳格0 x09v竖向跳格0 x0Bb退格0 x08r回车0 x0Df走纸换页0 x0C反斜杠字符”0 x5C单引号字符”0 x27?问号字符“?”0 x3F”双引号字符“”0 x22a报警(B

9、EEP)响铃0 x070空(NULL)0 x000dd1到3位8进制数所代表字符xhh1到2位16进制数所代表字符0 xhh3、C语言中的变量变量:程序运行过程中,其值可以改变的量变量:程序运行过程中,其值可以改变的量变量的类型在定义时决定变量的类型在定义时决定C程序中使用的各种变量,应程序中使用的各种变量,应先定义后引用先定义后引用变量定义定义变量时要指定变量名变量名和数据类型数据类型。定义变量格式:定义变量格式:变量名1、一般变量名由小写字母组成、一般变量名由小写字母组成2、变量名表可以是一个或多个标示符名,中间用逗号、变量名表可以是一个或多个标示符名,中间用逗号隔开,最后以分号结束,例如

10、:隔开,最后以分号结束,例如:int i, j, num;float a, b, sum;unsigned int i;3、一个变量名只能定义一次、一个变量名只能定义一次4、使用合法标识符、使用合法标识符标识符是用来表明变量名、函数名、数组名、类型名、标识符是用来表明变量名、函数名、数组名、类型名、文件名的有序文件名的有序规则:规则:需由英文字母(需由英文字母(az和和AZ)和下划线)和下划线(_)开头开头;其它部分为英文字母、下划线或数字(其它部分为英文字母、下划线或数字(09););字母大小写敏感字母大小写敏感一般前一般前8个字符有效,个字符有效,TC中前中前32个字符有效个字符有效不能使

11、用不能使用ANSI C标准及标准及TC定义的关键字定义的关键字标识符合法非法标识符举例关键字1)数据类型说明)数据类型说明 5(char, int, float, double, void)2)数据类型修饰字数据类型修饰字4(long, short, signed, unsigned)3) 运算符运算符1(sizeof)4)数据存储类别字数据存储类别字4(auto, extern, static, register)5) 自定义数据类型自定义数据类型4(struct, union, enum, typedef)6) 访问修饰字访问修饰字2(volatile, const)7)流程控制语句字流程

12、控制语句字12(break, case, continue, default, do, else, for, goto, if, return, switch, while)下列均可用于下列均可用于C语言用户标识符的一组是语言用户标识符的一组是 ( )A)void, define, WORDB)a3_b3, _123,CarC)For, -abc, IF CaseD)2a, DO, sizeofB练习1练习2关键字和标识符下列四组选项中,均不是c语言关键字的选项是( )(A)define (B)getc (C)include(D)whileIF char scanfgotype printf

13、casepowA练习3 计算机中的黑白数字图像通常采用取值为计算机中的黑白数字图像通常采用取值为0255的正的正整数表示一个像素的灰度级别,用整数表示一个像素的灰度级别,用C语言处理这种图语言处理这种图像时,用于表示像素的最节省内存空间的变量形式应像时,用于表示像素的最节省内存空间的变量形式应定义为定义为_ _类型的数据。类型的数据。unsigned char变量在程序中的三个地方定义:变量在程序中定义的位置变量赋初值C允许在变量定义时同时使变量初始化。允许在变量定义时同时使变量初始化。int a=3;char a=a;C允许为被定义的变量的一部分赋初值。允许为被定义的变量的一部分赋初值。in

14、t a, b, c=3;对几个变量赋同一个初值,不能写成:对几个变量赋同一个初值,不能写成:int a=b=c=3;而应写成:而应写成:int a=3, b=3, c=3;字符数字化C语言把字符常量看成是整型量。允许对整型变量赋以语言把字符常量看成是整型量。允许对整型变量赋以字符值,也允许对字符变量赋以整型值。字符值,也允许对字符变量赋以整型值。 a=D;a=68;a=D+5;a=68+5;f=!+G;f=33+71;b=1+1;b=1+49; 在输出时,允许把字符变量按整型量输出,也允许把整在输出时,允许把字符变量按整型量输出,也允许把整型量按字符量输出。型量按字符量输出。整型量为两个字节量

15、,字符量为单字节量,当整型量按整型量为两个字节量,字符量为单字节量,当整型量按字符量处理时,只有低八位字节参与处理。字符量处理时,只有低八位字节参与处理。有效数字1、长整型仅有、长整型仅有10位有效数字。位有效数字。2、实型、实型仅有仅有7位有效数字位有效数字,超过,超过7位是不精确的。位是不精确的。3、双精度实型常数有、双精度实型常数有16位有效数字。位有效数字。4、长双精度实型常数有、长双精度实型常数有19位有效数字。位有效数字。阶码阶码E尾数尾数M数符数符类型类型数符数符阶码阶码尾数数值尾数数值取值范围取值范围短浮点数短浮点数1823|x|3.4*1038长浮点数长浮点数11152|x|

16、1.7*10308临时浮点数临时浮点数11564|x|104932有效数字问题有效数字的例子float和和double的不同的不同main() float a; double b;a=12345.67890;b=12345.67890123456789;printf(“%fn%fn”, a, b);getch();12345.67871112345.678901a是单精度浮点型,有效位数只有七是单精度浮点型,有效位数只有七位。而整数已占五位,故小数两位后位。而整数已占五位,故小数两位后之后均为无效数字,而之后均为无效数字,而非非四舍五入。四舍五入。b是双精度型,有效位为十六位。但是双精度型,有

17、效位为十六位。但打印时打印时TC规定小数点后最多保留六位,规定小数点后最多保留六位,其余部分四舍五入。其余部分四舍五入。本章内容提要常量、变量和数据类型常量、变量和数据类型输入与输出格式输入与输出格式C语言中的运算语言中的运算结构化的程序设计思想结构化的程序设计思想格式化输出函数printf数据输出:格式化输出函数数据输出:格式化输出函数 printfprintf(格式控制字符串格式控制字符串, 输出参数输出参数1, , 输出参数输出参数n); #include printf(Hello World! n);printf(%c, nice to meet you!, name);用双引号括起来

18、,表示输出的格式要输出的数据普通字符:原样输出普通字符:原样输出格式控制说明格式控制说明:按指定的格式输按指定的格式输出数据出数据,% 与数据类型有关与数据类型有关数据类型的输出显示格式说明符说明符格式说明格式说明%d十进制整数十进制整数%i十进制整数%g使用%e或%f中表达较短者%o八进制整数八进制整数%u无符号十进制数无符号十进制数%x十六进制数十六进制数%显示百分号%p显示一个指针地址%n变量应是一个整型指针,其中存放已写字符的个数数据类型的输出显示格式说明1、%md表示输出字段的表示输出字段的最小宽度占最小宽度占m列列。右对齐,少于右对齐,少于m位则在数据左端补空格或位则在数据左端补空

19、格或0到到m位,超位,超过过m位则位则m不起作用,按数据的实际位数输出,保证不起作用,按数据的实际位数输出,保证数据正确性。数据正确性。 %5d输出输出12为空空空为空空空12 %5d输出输出123456为为123456数据前要补数据前要补0,则在前面加个,则在前面加个0。例如:。例如: %05d输出输出12为为00012类似还有类似还有%mx等。等。数据类型的输出显示格式说明2、%m.nf表示输出数据为表示输出数据为小数形式小数形式;m为总宽度(包括小数点),为总宽度(包括小数点),n为小数部分位数为小数部分位数;小数长度不够则补小数长度不够则补0;例如,例如,%10.4f输出输出123.4

20、5则为则为 空空空空123.4500小数部分超过小数部分超过n位,则位,则n+1位向位向n位四舍五入;位四舍五入;例如,例如,%10.2f输出输出123.456则为空空空空则为空空空空123.46整个输入小于整个输入小于m位左补空,超过位左补空,超过m位,位,m不起作用不起作用例如,例如,%4.2f输出输出-123.45则为则为-123.45m省略时,省略时,m等于等于n。例如,例如,%.2f输出输出123.456则为则为123.46数据类型的输出显示格式说明3、-表示表示左对齐格式左对齐格式%-10.2输出输出123.456为为123.46空空空空%-5d输出输出12为为12空空空空空空4、

21、l加在加在d,i,o,u,x前表示输出一个长整型数;加在前表示输出一个长整型数;加在e,f,g前前表示输出一个双精度实型数。例如,表示输出一个双精度实型数。例如,%lf。数据类型的输出显示格式说明5、%f能输出全部整数,并能输出全部整数,并保留保留6位小数位小数,但,但有效位只有效位只有前有前7位位。%e输出时,系统输出时,系统自动给出自动给出5位小数位小数,小数点前有一位,小数点前有一位非零整数,后跟一个非零整数,后跟一个e,指数的正负号占一位,数值,指数的正负号占一位,数值部分占部分占2位。位。 float x=123.456;printf(“%f, %en”, x, x);输出为:输出为

22、:123.456001,1.23456e+2格式化输入函数scanf数据输入:格式化输入函数数据输入:格式化输入函数 scanf scanf(格式控制字符串格式控制字符串, 输入参数输入参数1, , 输入参数输入参数n); #include scanf(“%c”, &name);用双引号括起来,表示输入的格式用双引号括起来,表示输入的格式变量地址变量地址数据类型的输入格式说明符说明符格式说明格式说明%d十进制整数十进制整数%i十进制整数%o八进制整数八进制整数%u无符号十进制数无符号十进制数%x十六进制数十六进制数%p显示一个指针地址%n变量应是一个整型指针,其中存放已写字符的个数数据类型输入

23、格式说明1、空白字符(、空白字符( , t, n)scanf()在读入操作()在读入操作略去输入流中一个或多个空白字符略去输入流中一个或多个空白字符例如:例如:scanf(“%d空空空空空空%d”, &a, &b);输入输入123空空空空空空456回车,回车,a123,b456。2、非空白字符、非空白字符scanf()在读入时在读入时剔除掉与非空白字符相同的字符。剔除掉与非空白字符相同的字符。例如:例如:scanf(“%d, %d”, &a, &b);输入输入123,456回车,回车,a123,b456;输入输入123;456回车,回车,a123,b未得到任何值未得到任何值数据类型输入格式说明3、%md输入数据位数输入数据位数少于少于m位,则数据输入结束位,则数据输入结束;多于多于m位,则只读入该数所表示的位数位,则只读入该数所表示的位数,多余数据将,多余数据将作为下一个数据读入其它变量。作为下一个数据读入其它变量。scanf(“%3d%3d”, &a, &b);输入输入12345回车,则回车,则a123,b45输入输入1空空2345回车,则回车,则a1,b2344、%s在输入字符串必须以空白字符结束。在输入字符串必须以空白字符结束。字符型数据的输入和输出字符输入函数字符输入函数getchar输入输入一个一个字符字符char ch;ch = getch

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论