您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 基本语法单位及基本数据类型
第2章基本语法单位及基本数据类型Copyright_2001,ByZhangying任课教师:张盈教案制作:张盈本章主要内容:基本语法单位C的数据类型常量与变量整型数据实型数据字符型数据变量的初始化本章习题一个C程序是由一个或多个函数组成,函数体由若干条C语句组成,那么,C语句又是由什么组成?思考2.1基本语法单位主函数……函数nC语句1C语句2……C语句n字符集标识符常量变量C程序1、字符集字符集指的是程序设计语言中所采用的各种符号的集合,如字母、数字、标点符号、运算符号等。字符是程序设计语言中的最小语法单位。类别名称代表符号英文字母ABC…abc…数字012…9运算符号+-*/^标点符号,”:;.不可打印字符SpaceTabEnter括号(){}[]关系运算符=!=特殊符号%|#\&_!C语言字符集:2、标识符•关键字C语言中共32个关键字,每个都代表着某一固定含义。•预定义标识符有特定含义的标识符,也可用于其他用途。•用户标识符进行程序设计时用户自己命名的标识符。包括常量、变量、函数名、语句标号、类型定义符等。标识符是由英文字母、数字及下划线构成的字符串,并且首字符必须为字母或下划线。C语言中的32个关键字autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile注意:所有关键字都要用小写英文字母表示,且不允许被用作用户标识符使用!7用户标识符用户标识符:进行程序设计时用户自己命名的标识符。标识符是由英文字母、数字及下划线构成的字符串,并且首字符必须为字母或下划线。例如:常量、变量、函数名、语句标号、类型定义符等。注意:关键字是用户标识符的禁区!命名原则:见名知义!练习:请找出不合法的标识符.unionabc_1232ab3d+babc8*stu_bc8abcdefghi-s10*&%$#2.2C的数据类型程序算法数据结构•基本类型•整型•实型(浮点型)•字符型•枚举类型•构造类型•数组类型•结构体类型•共用体类型•指针类型•空类型C语言中的数据类型`2.3常量与变量之常量常量的定义:常量是指在程序执行过程中值不发生改变的量。常量的分类:•按数据类型分类•整型常量•实型常量•字符常量•按表现形态分类•无名常量•符号常量关于常量符号常量概念符号常量是一种特殊形式的常量,即用一个标识符表示一个常量。定义形式#define常量名常量值符号常量在程序中的应用#definePI3.1415926main(){floatr,a,c;r=2.5;a=PI*r*r;c=2*PI*r;printf(“r=%f,a=%f;c=%f\n”,r,a,c);}变量的定义•变量是程序执行过程中其值可以改变的量。变量的分类•整型变量•实型变量•字符变量变量的命名(同标识符的命名)变量的使用先定义,后使用2.3常量与变量之变量关于变量2.4整型数据整型常量十进制数•如:12、345、0八进制数(以0开头)•如:012、045十六进制数(0x开头)•如:0x12、0x345整型常量举例整型变量基本型(int)短整型(shortint、short)长整型(longint、long)无符号型•无符号整型(unsignedint)•无符号短整型(unsignedshort)•无符号长整型(unsignedlong)整型变量定义整型常量举例main(){printf(“%d,%o,%x\n”,123,123,123);printf(“%d,%o,%x\n”,023,023,023);printf(“%d,%o,%x\n”,0x12,0x12,0x12);}『例2.2』整型常量的不同进制表示。%d,%o,%x是输入输出的格式字符串,%d表示十进制、%o表示八进制、%x表示十六进制。上述程序中的\n表示输出后回车换行!整型变量定义•整型变量的定义形式:数值类型变量名表;•说明:•数值类型即int、short、long等。•变量名表可为一个或多个变量名。•变量被定义后,其取值范围也被确定。•注意事项main(){inta,b,c;a=4;b=5;c=a*b;printf(“a*b=%d\n”,c);}等价于:inta;intb;intc;使用整型数据时的注意事项:1.若某系统的C版本确定shortint与int型数据在内存中占据的长度相同,则二者等价。2.一个int型常量(-32768~+32767)可以赋值给int型变量或long型变量。3.长整型数的表示方法是在数值后面加字母l或L,如234l,-12323L。4.不同的数据类型有不同的存储字长,使用时注意其取值范围。2.5实型数据实型常量•什么是实型常量即浮点数。以十进制形式表示。•实型常量的表示形式•小数形式•指数形式(科学计数法)•使用数值常量时的注意事项实型变量•单精度实型(float)•双精度实型(double)•实型常量的指数形式表示:小数E(或e)整数•说明:“小数”表示实数的数值位,即尾数部分。“E”代表十进制数的基数10。“整数”表示10的乘幂。实型常量的指数形式表示法举例:1.23×1033.918e-21.23E33.918×10-2注意:字母E之前必须有数字!使用数值常量时的注意事项1.数值常量内不能有逗号、空格或其他非法字符。2.数值常量的值不得超过C语言规定的取值范围,否则会产生溢出。3.相同数值的常量可以在写法上区别它的类型。2.6字符型数据字符常量•概念:指用撇号(单引号)括起来的单个字符。•字符常量的分类•一般字符常量•转义字符常量以一个反斜杠“\”开头的字符序列,有特定含义。字符变量字符数据的存储及使用字符串常量转义字符常量表字符形式功能\b退格(Backspace)\t横向跳格\v竖向跳格\n换行\r回车不换行\f换页\\表示反斜杠\\‘表示‘(单引号)\ddd用三位八进制数表任意字符(ASCII值)\xhh用两位十六进制数表示任意字符(ASCII值)转义字符的使用main(){printf(“abc\bd\tef\rg\n”);printf(“Itis\notagoodexample.\n”);}abc_abc_abcd_abcdef_gabcdefabcd_输出结束举例:程序首句执行过程2.6.2字符变量关于字符变量字符变量用来存放字符常量。一个字符变量只能存放一个字符常量。一个字符型变量在内存中占用一个字节的空间。字符变量的定义格式:char变量名表;字符变量的赋值:变量名=字符常量;举例:charc;charch1,ch2;c=‘a’;ch1=‘b’;ch2=‘c’;2.6.3字符数据的存储及使用•数据在计算机中以二进制形式存放。•字符数据在内存单元中存放的是其对应的ASCII码,且一个字符占用一个字节。•C语言中允许字符常量像整型数据一样参与相关运算。•程序中的应用范例。字符十进制数二进制数‘A’6501000001‘B’6601000010…………‘Z’9601100000‘a’9701100001‘b’9801100010…………‘Z’12810000000部分字符ASCII表例题main(){charch1,ch2;ch1=‘A’;ch2=ch1+32;printf(“%c\n”,ch2);}main(){charc;inti;c=97;i=‘A’;printf(“%c%d\n”,c,c);printf(“%c%d\n”,i,i);}1、大小写字符的相互转换。2、字符数据与整型数据通用。2.6.4字符串常量•概念:字符串常量是指用一对双引号括起来的字符序列。如“Hello”、“good”等。•字符串常量的存储:1.系统自动在字符串的末尾加上一个字符串结束标记‘\0’,以此判断字符串是否结束。2.程序中长度为n个字符的字符串常量,在内存中需要用n+1个字节空间来存储它。•举例:字符串“string”的存储。string\01151161141051101030字符常量与字符串常量的区别二者表示形式不同。字符常量的定界符是‘’,而字符串常量的定界符是“”。•如:‘a’是字符常量,而“a”是字符串常量。存储空间不同。一个字符常量只占1个字节,而一个含有单个字符的字符串常量需要占用2个字节。•如:‘a’在内存中只占1个字节,“a”则需占用2个字节空间。不允许将一个字符串常量赋给一个字符型变量。•如:ch=‘a’;是正确的,而ch=“a”;不是将字符a赋值给变量ch。2.7变量的初始化变量赋初值•C语言允许在定义变量时对变量进行初始化,即对变量赋初值。如:inta=2;等价于inta;a=2;•对变量进行初始化,允许只对定义的变量的一部分赋初值。如:inta,b,c=25;charch1=‘x’,ch2;•C语言中若有几个变量初值相同,必须分别赋值。如:inta=2,b=2,c=2;•对字符型变量初始化时,既可以将字符用单引号括起来直接赋值,也可以使用该字符的ASCII码进行赋值。如:charch=‘A’;等价于charch=65;变量的地址程序运行时,变量的值以二进制的形式存储在内存相应的存储单元中。存储空间的大小由变量的数据类型决定。内存的编址:•内存分为若干个存储单元。•每个单元存放一个字节的数据。•每个单元有唯一的一个地址。•变量存放在内存单元中,若变量所占空间包括多个存储单元,则把首地址作为变量地址。&a=2000H22001H&b=2002H1.23452003H2004H2005H举例。若有变量定义inta=2;floatb=1.2345;则变量a、b在内存中的存储情况如图示。“&”表示取地址。本章习题:选择题•『2.1』下面四组选项中,均不是C语言关键字的选项是:(A)defineIFtype(B)getccharprintf(C)includescanfcase(D)whilegopow•『2.2』下面四组选项中,均是C语言关键字的选项是:(A)autoenuminclude(B)switchtypedefcontinue(C)signedunionscanf(D)ifstructtype•『2.3』下面四个选项中,均是不合法的用户标识符的选项是:(A)AP_0do(B)floatla0_A(C)b-agotoint(D)_123tempINT•『2.4』在C语言中,char型数据在内存中的存储形式是:(A)补码(B)反码(C)原码(D)ASCII码•『2.5』设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围是:(A)0~255(B)0~32767(C)0~65536(D)0~2147483647•『2.6』下面不正确的字符串常量是:(A)‘abc’(B)“12’12”(C)“0”(D)“”•『2.7』在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为:(A)charintlongint=floatdouble(B)char=intlongint=floatdouble(C)charintlongint=float=double(D)char=int=longint=floatdouble填空题。•『2.8』C语言提供的四种基本数据类型是_________。•『2.9』C语言中,实型变量分为_____和_____两种。•『2.10』C语言中的转义字符就是以一个_____开头的字符序列,用来表示ASCII码字符集中一些不可打印的控制字符和特定功能的字符。
本文标题:基本语法单位及基本数据类型
链接地址:https://www.777doc.com/doc-3348170 .html