1、第二章 顺序结构流程及应用,C语言的字符集、标识符、关键字 数据类型 常量以及变量 整型数据 浮点型数据 字符型数据,本次课的主要内容:,2.1 C语言的字符集、标识符,2.1.1 字符集编写程序,需要使用相应的计算机语言,而语言主要是由它所限定的符号表示一些字、词、命令、变量及数据等。这些符号就组成了语言。 我们将这些符号的集合称为该语言的字符集,一般包括一些字母、数字和特殊符号。,例如:英语的字符集就是26个英文字母,在英语中,任何的语句、单词都是由这些英文字母组成,不能有不识别的字符出现在英文中。,C语言的字符集:,(1) 大、小写英文字母: A ,B, ,Z,a,b,z (2) 数字:
2、 0,1,2,9 (3) 运算符: + * / % = (6) 特殊符号: _ $ # (7) 空白符:空格符、换行符、制表符。,C语言中的字符按照C语言的语法组合起来,就组成了C语言的语句,这些语句或者语句组合就是所谓的程序(通俗的就叫“代码”) 不在字符集中的字符可以在两个双引号之间出现(我们称之为字符串),例如“” 。,任何一个标识符必须符合下列语法规则:,(1) 字母或下划线中的任一字符打头。 (2) 在第一个字符后,可以是任意的数字、字母、下划线组成的序列。长度不超过8个。,标识符的分类:,关键字(保留字),特定字,用户定义字,关键字: 又称保留字,一般为小写字母。关键字是C编译程序
3、预先登录的标识符,它们表示固定的意义,用户不能随便使用。,32个关键字:(由系统定义,不能重作其它定义)auto break case char const continue default do double else enum extern float for gotoif int long register return short signed sizeof static struct switch typedef unsigned union void volatile while,特定字 特定字:具有特殊含义的标识符。它们虽然不是关键字,但是在习惯上把它们看成关键字。所以一般用户定
4、义的标识符也不要使用它们。特定字包括:define undef include ifdef ifndef endif line,What ?,用户定义字,顾名思义,用户定义字就是程序员在程序设计时为变量、符号常量、以及函数起的名字。注意:(1) 不能使用关键字和特定字。(2) 为不同对象定义的标识符,是不一样的。(3) 标识符最好有含义,增加程序的可读性。(4) 避免使用容易混淆的字符,如l与1,0与o, z与 2等。(5) 大、小写代表不同的意义。 (6) 尽量不要与某个库函数同名。,Printf、scanf 、cos()等,例:判断下列标识符号合法性 sum Sum M.D.John da
5、y Date 3days student_name #33 lotus_1_2_3 char ab _above $123,M.D.John,3days,#33,char,$123,ab,2.2 C语言的数据类型,数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作,一般用大写字母是宏定义预处理命令,不是C语句直接常量: 整型常量 实型常量 字符常量 字符串常量,如 #define PRICE 30,定义:在程序执行过程中值是不可改变的(常数)。 分类:符号常量:用标识符代表常量定义格式: #define 符号常量 常量,例 符号常量举例(ch2_1.c)#def
6、ine PRICE 30 main() int num,total;num=10;total=num*PRICE;printf(“total=%d“,total); ,运行结果:total=300,2.3 常量,整型常量(整常数) 三种形式: 十进制整数:由数字09和正负号表示.如 123,-456,0 八进制整数:由数字0开头,后跟数字07表示.如0123,011 十六进制整数:由0x开头,后跟09,af,AF表示. 如0x123,0Xff,实型常量(实数或浮点数) 表示形式: 十进制数形式:(必须有小数点) 如0.123, .123, 123.0, 0.0, 123.指数形式:(e或E之前
7、必须有数字;指数必须为整数)如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5,字符常量 定义:用单引号括起来的单个普通字符或转义字符.,如 a A ? n 101,字符常量的值:该字符的ASCII码值,如 A65, a97,048 , n10,转义字符:反斜线后面跟一个字符或一个代码值表示,如 101 -A 012 -n376 - x61 -a60 -0,例: A-101-x41-65,例 main() printf(“Yb=n”);,运行结果: 屏幕显示:=,转义字符及其含义如下:,字符常量与字符串常量不同,字符串常量 定义:用双引号(“”)括起来的字符序列 存
8、储:每个字符串尾自动加一个 0 作为字符串结束标志,2.4.1 变量:在程序执行过程中值是可变的。,变量是由程序命名的一块计算机内存区域,是用来存储一个可以变化的数值。,2.4.2 变量有两个要素:变量名和变量值(1) 变量名。每个变量都必须有一个名字,即变量名。变量命名应遵循标识符的命名规则。,2.4 变量,(2) 变量值在程序运行过程中,变量值存储在内存中;不同类型的变量,占用的内存单元(字节)数不同。在程序中,通过变量名来引用变量的值。,2.4.3 变量的定义与初始化在C语言中,要求对所有用到的变量,必须先定义后使用。在定义变量的同时,进行赋初值的操作称为变量初始化。,到底怎么定 义变量
9、呢?,变量的定义格式为:,数据类型 变量1,变量2,变量n;,决定分配字节数 和数的表示范围,合法标识符,例: int i, j, k; long m , n; float r, l, area; char ch1,ch2;,变量初始化的一般格式如下: 数据类型 变量名1=初值1,变量名2=初值2,;,学了半天,我还是一头雾水,要有耐心接着往下看,例:int a=2,b,c=4;float data=3.67;char ch=A;int x=1,y=1,z=1;int x=y=z=1;,变量定义位置:一般放在函数开头,2.4.4 基本数据类型,整型变量整型变量可分为以下4种整型类型: (1)
10、基本型,以int表示; (2) 短整型,以short表示; (3) 长整型,以long表示; (4) 无符号整型,以unsigned表示。,定义实例:int a,b,c;short x=1,y=1,z=1;long x,ww,y,z;unsigned long k;,表2-1 各种整型变量数据的存储长度及表示范围,例: main() int a,b; a=32767; b=a+1; printf(“%d,%d”,a,b); ,运行结果: 32767,-32768,实型变量实型变量分为以下3种类型: (1) 单精度型,以float表示。 (2) 双精度型,以double表示。 (3) 长双精度型
11、,以long double表示。,定义实例:float a,b,c;double x=1.0 , y=1.2 , z=3.4;,表2-2实型变量数据的存储长度及表示范围,字符变量1.字符变量的作用:用来存放字符常量。需要注意的是: 一个字符变量只能存放一个字符,不能在一个字符变量中存放一个字符串。关键字是char。,定义实例:char a,b,c;char name=x;,2变量值的存储字符变量用来存储字符常量。将一个字符常量存储到一个字符变量中,实际上是将该字符的ASCII码值(无符号正数)存储到内存单元中。,例如:char ch1,ch2; ch1=a;ch2=b; 小写字母a、b的ASCII码值分别为97、98。在内存中,字符变量ch1、ch2的值如图所示。,图2-1 字符变量ch1、ch2在内存中的存储(a) 十进制形式;(b) 二进制形式,3.字符型数据与整型数据的相互转换。字符型数据与整型数据可以相互赋值。 例如, int i;char ch;i=a;ch=97; 是合法的。 其中i的输出结果为97, ch的输出结果是字符a。,