C语言数据类型

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

教学内容:3.1数据类型3.2整型数据3.3实型数据3.4字符数据教学要求:1.掌握C语言数据类型分类。2.掌握整型数据、实型数据、字符数据使用规则。3.掌握C语言常量、变量的使用。第3章C语言数据类型3.1数据类型C语言提供的数据结构,是以数据类型形式出现的。一、数据类型分类1.基本类型整型、实型(又称浮点型)、字符型、枚举型、空类型2.构造类型数组类型、结构类型、共用类型3.指针类型C语言中的数据,有常量和变量之分,它们分别属于上述这些类型。二、基本数据类型1.基本数据类型:整型、实型(又称浮点型)、双精度实型、字符型、无值型(空类型)。2.基本数据类型的关键字:int、float、double、char、void三、常量和变量1.常量的概念在程序运行过程中,其值不能被改变的量称为常量。常量的类型,可通过书写形式来判别。常量的分类:表达形式:(1)整型常量6、432、76543、546783424(2)实型常量2.23、546.2487615247、3.057439E+5(3)字符常量'a'、'c'、'6'、'M'(4)符号常量PI、WHI#definePI3.141592#defineWHIIamastudent.PI、WHI是符号常量例3.1输出整型常量、字符常量的值main(){printf(“%d\n”,349);printf(“%d\n”,-9);printf(“%C\n”,'M');}运行结果:349-9M例3.2符号常量WHI的使用。#defineWHIIamastudent.main(){printf(“Iamastudent.\n”);printf(%s\n,“Iamastudent.”);printf(%s\n,WHI);}运行结果:Iamastudent.Iamastudent.Iamastudent.格式控制字符串中的普通字符,照原样输出2.变量的概念在程序运行过程中,其值可以被改变的量称为变量。变量的三个要素:(1)变量名。每个变量都必须有一个名称。(2)变量值。在程序运行过程中,变量值存储在内存中。在程序中,通过变量名来引用变量的值。(3)变量的类型例如:inta;a(2个字节)变量的类型int变量名字:a变量的值:23在内存中存储单元占16位0000000000010111二进制数值例3.3输出变量的数值。main(){intx,y;x=5;y=3;printf(“%d-----%d\n”,x,y);x=1;y=2;printf(“%d-----%d\n”,x,y);}运行结果:5-----31-----2x、y是整型变量每个变量分配2个字节存储单元将数值5、3分别存放到x、y变量的存储单元x、y变量的值重新赋值3.变量的定义与初始化(1)在C语言中,要求对所有用到的变量,必须先定义、后使用。系统才可知道分配多大的存储空间。变量定义的一般格式:[存储类型]数据类型变量名[,变量名2…];例如:inta1,a2,a3;(2)变量初始化:在定义变量的同时进行赋初值的操作。变量初始化的一般格式:[存储类型]数据类型变量名[=初值][,变量名2[=初值2]…];例如:floata1=2.5,a2=5.23,a3=45.43;4.标识符命名规则C语言中,用标识符来区分不同文件、函数、变量。(1)标识符有效字符:只能由字母、数字和下划线组成,且以字母或下划线开头。(2)标识符有效长度:TCV2.0标识符的有效长度为1~32个字符。随系统而异,但至少前8个字符有效。如果超长,则超长部分被舍弃。例如student11和student12的前8个字符相同,有的系统认为这两个变量,是一回事而不加区别。(3)C语言的关键字不能用作变量名。(4)标识符命名通常应选择能表示数据含义的英文单词(或缩写)作变量名,或汉语拼音字头作变量名。通过变量名就知道变量值的含义,做到“见名知意”。例如:name⇒xm⇒姓名sex⇒xb⇒性别age⇒nl⇒年龄salary⇒gz⇒工资注意:C语言对英文字母的大小敏感,即同一字母的大小写,被认为是两个不同的字符。变量名total与变量名TOTAL、ToTaL、totAl等不是同一个变量习惯上,变量名和函数名中的英文字母用小写,以增加可读性。3.2整型数据一、整型变量1.整型变量分为类:(1)基本整型(int)(2)短整型(short[int])(3)长整型(long[int])(4)无符号整型。无符号型又分为(3种):unsigned[int]unsignedshortunsignedlong二、整型变量占用内存字节数与值域1.整型变量占用的内存字节数在16位操作系统中占用:int型变量占2个字节值域占16位short型变量占2字节值域占16位long型变量占4字节值域占32位2.不同类型的整型变量值域占用内存位数为n的整型变量其值域:有符号为:-2n-1~(2n–1-1)无符号为:0~(2n-1)三、各种整型变量的值域范围int型变量(值域为16位):-32768~32767short[int](值域为16位):-32768~32767long[int](值域为32位):-2147483648~2147483647unsignedint(值域为16位):0~65535Unsignedshortint(值域为16位):0~65535Unsignedlongint(值域为32位):0~42949672954.整型常量(整常数)三种表示形式(1)十进制例如:10、36(2)八进制(以数字0开头)例如:012(十进制10)(3)十六进制(以数字0+小写字母x开头)例如:0x36(十进制54)5.整型常量分类(1)基本整型:其数据范围-32768~32767(与int型变量一样)(2)长整型(在数值后面加字母L(小写字母l)):其取值范围可达:-231~(231-1)例如:32769、123L、315L等。6.整型数据在内存中的存放,数值是以补码表示的。一个正数的补码与原码相同;一个负数的补码求法:原码的二进制形式,取反求得反码,再加1,得到负数的补码。例如:-8的原码0000000000001000求反码1111111111110111补码1111111111111000例3.4输出不同进制整型常量#includestdio.hmain(){printf(“0x80----%d\n,0x80);printf(“0200----%d\n,0200);printf(128-----%d\n,128);printf(128-----%o\n,128);}运行结果:0x80----1280200----128128-----128128-----200不输出前缀数字0以数字0开头7.类型匹配规则类型匹配规则为:一个整型常量,可以赋给能容纳下其值的整型变量。例如,其值在-215~(215-1)的整型常量,可以赋给int型变量和longint型变量;其值在-231~(231-1)的整型常量,就只能赋给longint型变量。注意:常量无unsigned型。但一个非负整型常量,只要它的值不超过相应变量的值域(即取值范围),也可以赋给unsigned型变量。3.3实型数据1.实型常量(实数,又称浮点数)表示形式:(1)十进制形式例如:3.14、9.8(2)指数形式尾数E(e)整型指数例如:3.02E+534.42367750E+7例3.5实型常量的使用#includestdio.hmain(){printf(a=%f\n,32.766);printf(“b=%e\n,1.7e+37);}运行结果:a=32.766000b=1.700000e+0372.实型变量分类(1)单精度型变量float型变量占4字节(32位)提供7位有效数字值域:+(3.4e-38~3.4e+38)(2)双精度型变量double型变量占8个字节(64位)提供15~16位有效数字值域:+(1.7e-308~1.7e+308)4.实型数据在内存中的存放形式。一个单精度实型数据(float)在内存中占用4个字节(32位)存放数据的数值范围:+(3.4e-38~3.4e+38)数值的有效数字7位例如数值:56783.4562⇒0.567834562e+5在内存中的浮点数存放形式:+5+5678345620831前8位后24位例3.6运行以下程序,查看运行结果。数值的有效数字7位尾数7031不是有效数值例3.7实型变量的使用#includestdio.hmain(){floatx,y,z;x=42.67;y=12.3;z=x/y;printf(“z1=%f\n,z);z=y/x;printf(“z2=%f\n,z);}程序运行结果:z1=3.469106z2=0.288259小数点后6位3.4字符数据1.字符常量的定义用一对单引号括起来的单个字符称为字符常量。例如:‘A’、‘7’、‘+’等。2.转义字符C语言还允许使用一种特殊形式的字符常量,就是以反斜杠“\”开头的转义字符。\n\b\r\t\f\0\’\”\v\ddd\xhh注意:如果反斜杠或单引号本身作为字符常量,必须使用转义字符:\\、\’3.以“\”开头的字符在printf函数中控制输出格式:\n换行\t横向跳格(下一个输出区8列)\b退格\r回车(回车不换行)\f走纸换页\\反斜杠字符\\’单引号’\ddd1到3位8进制数所代表的字符。如:‘\101’=‘A’\xhh1到2位16进制数所代表的字符。例3.9用转义字符输出字符和不可打印字符。main(){printf(“ABC\tabc\txyz\n”);printf(“abc\bxyz\n”);}程序运行结果如下:4.字符变量(关键字为char)字符变量类型,占用1字节内存单元。(1)变量值的存储将一个字符常量存储到一个字符变量中,实际上是将该字符的ASCII码值(无符号整数)存储到内存单元中。(2)变量值的特性字符数据在内存中存储的是字符的ASCII码(一个无符号整数),其形式与整数的存储形式一样。例如:charch1,ch2;/*定义变量:ch1,ch2*/ch1='a';/*给字符变量赋值*/ch2='b';字符数据'a'、'b'的ASCII码值97、98(一个无符号整数)分别存放在变量ch1,ch2所占用内存存储单元中,其形式与整数的存储形式一样。ch1ch29798(3)一个字符型数据,既可以字符形式输出,也可以整数形式输出。例3.10字符变量的字符形式输出和整数形式输出。main(){charch1,ch2;ch1='a';ch2='b';printf(“ch1=%c,ch2=%c\n”,ch1,ch2);printf(“ch1=%d,ch2=%d\n”,ch1,ch2);}程序运行结果:ch1=a,ch2=bch1=97,ch2=98(4)允许对字符数据进行算术运算,此时就是对它们的ASCII码值进行算术运算。例3.11字符数据的算术运算。main(){charch1,ch2;ch1=‘a’;ch2=‘B’;/*等价于ch1=97;ch2=66;*/printf(“ch1=%d”,ch1-32);/*字母的大小写转换*/printf(“ch2=%d\n”,ch2+32);printf(“ch1=%c,ch2=%c\n”,ch1-32,ch2+32);}运行结果:ch1=65,ch2=98ch1=A,ch2=b例3.12用字符形式输出一个大于256的数值main(){charch1=‘a’;printf(ch1+200=%d\n,ch1+200);printf(ch1+200=%c\n,ch1+200);printf(ch1+256=%d\n,ch1+256);printf(ch1+256=%c\n,ch1+256);}程序运行结果:ch1+200=297ch1+200=)ch1+256=353ch1+256=a5.字符串常量(1)字符串常量的概念和字符串长度字符串常量:是用一对双引号括

1 / 37
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功