基本语法单位及基本数据类型02.ppt_第1页
基本语法单位及基本数据类型02.ppt_第2页
基本语法单位及基本数据类型02.ppt_第3页
基本语法单位及基本数据类型02.ppt_第4页
基本语法单位及基本数据类型02.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

第2章 基本语法单位 及基本数据类型,Copyright _ 2001 , By Zhangying,任课教师: 张 盈 教案制作: 张 盈,本章主要内容:,基本语法单位 C的数据类型 常量与变量 整型数据 实型数据 字符型数据 变量的初始化 本章习题,一个C程序是由一个或多个函数组成,函数体由若干条C语句组成,那么,C语句又是由什么组成?,思考,2.1 基本语法单位,主函数 函数n,C语句1 C语句2 C语句n,字符集 标识符 常量 变量,C 程 序,1、字 符 集,字符集指的是程序设计语言中所采用的各种符号的集合,如字母、数字、标点符号、运算符号等。字符是程序设计语言中的最小语法单位。,C语言字符集:,2、标 识 符,关键字 C语言中共32个关键字,每个都代表着某一固定含义。 预定义标识符 有特定含义的标识符,也可用于其他用途。 用户标识符 进行程序设计时用户自己命名的标识符。包括常量、变量、函数名、语句标号、类型定义符等。,标识符是由英文字母、数字及下划线构成的字符串,并且首字符必须为字母或下划线。,C语言中的32个关键字,auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while,注意:所有关键字都要用小写英文字母表示,且不允许被用作用户标识符使用!,7,用户标识符,用户标识符:进行程序设计时用户自己命名的标识符。 标识符是由英文字母、数字及下划线构成的字符串,并且首字符必须为字母或下划线。 例如:常量、变量、函数名、语句标号、类型定义符等。 注意:关键字是用户标识符的禁区! 命名原则:见名知义!,练习:请找出不合法的标识符.,union abc_123 2ab3 d+b abc8*,stu _bc8 abcdefghi -s10 *&%$#,2.2 C的数据类型,程序,算法,数据结构,基本类型 整型 实型(浮点型) 字符型 枚举类型 构造类型 数组类型 结构体类型 共用体类型 指针类型 空 类 型,C语言中的数据类型,2.3 常量与变量 之常量,常量的定义: 常量是指在程序执行过程中值不发生改变的量。 常量的分类: 按数据类型分类 整型常量 实型常量 字符常量 按表现形态分类 无名常量 符号常量,关于常量,符号常量,概念 符号常量是一种特殊形式的常量,即用一个 标识符表示一个常量。 定义形式 #define 常量名 常量值 符号常量在程序中的应用,#define PI 3.1415926 main( ) float r,a,c; r=2.5; a=PI*r*r; c=2*PI*r; printf(“r=%f,a=%f;c=%fn”,r,a,c); ,变量的定义 变量是程序执行过程中其值可以改变的量。 变量的分类 整型变量 实型变量 字符变量 变量的命名(同标识符的命名) 变量的使用 先定义,后使用,2.3 常量与变量 之变量,关于变量,2.4 整型数据,整型常量 十进制数 如:12、345、0 八进制数(以0开头) 如:012、045 十六进制数(0x开头) 如:0x12、0x345 整型常量举例,整型变量 基本型(int) 短整型(short int、short) 长整型(long int、long) 无符号型 无符号整型(unsigned int) 无符号短整型(unsigned short) 无符号长整型(unsigned long) 整型变量定义,整型常量举例,main( ) printf(“%d,%o,%xn”,123,123,123); printf(“%d,%o,%xn”,023,023,023); printf(“%d,%o,%xn”,0x12,0x12,0x12); ,例2.2整型常量的不同进制表示。,%d,%o,%x是输入输出的格式字符串,d表示十进制、o表示八进制、x表示十六进制。,上述程序中的n 表示输出后回车换行!,整型变量定义,整型变量的定义形式: 数值类型 变量名表; 说明: 数值类型即int、short、long等。 变量名表可为一个或多个变量名。 变量被定义后,其取值范围也被确定。 注意事项,main() int a,b,c; a=4; b=5; c=a*b; printf(“a*b=%dn”,c); ,等价于: int a; int b; int c;,使用整型数据时的注意事项:,若某系统的C版本确定short int 与int 型数据在内存中占据的长度相同,则二者等价。 一个int型常量(-3276832767)可以赋值给int型变量或long型变量。 长整型数的表示方法是在数值后面加字母l或L,如234l,-12323L。 不同的数据类型有不同的存储字长,使用时注意其取值范围。,2.5 实型数据,实型常量 什么是实型常量 即浮点数。以十进制形式表示。 实型常量的表示形式 小数形式 指数形式(科学计数法) 使用数值常量时的注意事项 实型变量 单精度实型(float) 双精度实型(double),实型常量的指数形式表示: 小数E(或e)整数 说明: “小数”表示实数的数值位,即尾数部分。 “E”代表十进制数的基数10。 “整数”表示10的乘幂。,实型常量的指数形式表示法,举例:,1.23103,3.918e-2,1.23E3,3.918 10-2,注意:字母E 之前必须 有数字!,使用数值常量时的注意事项,数值常量内不能有逗号、空格或其他非法字符。 数值常量的值不得超过C语言规定的取值范围,否则会产生溢出。 相同数值的常量可以在写法上区别它的类型。,2.6 字符型数据,字符常量 概念:指用撇号(单引号)括起来的单个字符。 字符常量的分类 一般字符常量 转义字符常量 以一个反斜杠“”开头的字符序列,有特定含义。 字符变量 字符数据的存储及使用 字符串常量,转义字符常量表,转义字符的使用,main( ) printf(“ ab c bd t ef rgn”); printf(“It is not a good example. n”); ,ab c _,ab c_,ab cd_,ab cd ef _,gab cd ef,ab cd _,输出结束,举例:,程序首句执行过程,2.6.2 字符变量,关于字符变量 字符变量用来存放字符常量。 一个字符变量只能存放一个字符常量。 一个字符型变量在内存中占用一个字节的空间。,字符变量的定义格式: char 变量名表; 字符变量的赋值: 变量名字符常量; 举例: char c; char ch1,ch2; c=a;ch1=b;ch2=c;,2.6.3 字符数据的存储及使用,数据在计算机中以二进制形式存放。 字符数据在内存单元中存放的是其对应的ASCII码,且一个字符占用一个字节。 语言中允许字符常量像整型数据一样参与相关运算。 程序中的应用范例。,部分字符ASCII表,例题,main( ) char ch1,ch2; ch1=A; ch2=ch1+32; printf(“%cn”,ch2); ,main( ) char c; int i; c=97; i=A; printf(“%c %dn”,c,c); printf(“%c %dn”,i,i); ,1、大小写字符的相互转换。,2、字符数据与整型数据通用。,2.6.4 字符串常量,概念:字符串常量是指用一对双引号括起来的字符序列。如“ Hello”、 “good”等。 字符串常量的存储: 系统自动在字符串的末尾加上一个字符串结束标记0,以此判断字符串是否结束。 程序中长度为n个字符的字符串常量,在内存中需要用n+1个字节空间来存储它。 举例:字符串“string”的存储。,字符常量与字符串常量的区别,二者表示形式不同。字符常量的定界符是,而字符串常量的定界符是“”。 如:a是字符常量,而“a”是字符串常量。 存储空间不同。一个字符常量只占1个字节,而一个含有单个字符的字符串常量需要占用2个字节。 如:a在内存中只占1个字节,“a”则需占用2个字节空间。 不允许将一个字符串常量赋给一个字符型变量。 如:ch=a;是正确的,而ch=“a”;不是将字符a赋值给变量ch。,2.7 变量的初始化,变量赋初值 C语言允许在定义变量时对变量进行初始化,即对变量赋初值。 如:int a=2; 等价于int a;a2; 对变量进行初始化,允许只对定义的变量的一部分赋初值。 如:int a,b,c=25; char ch1=x,ch2; C语言中若有几个变量初值相同,必须分别赋值。 如: int a=2,b=2,c=2; 对字符型变量初始化时,既可以将字符用单引号括起来直接赋值,也可以使用该字符的ASCII码进行赋值。 如:char ch=A;等价于char ch=65;,变量的地址,程序运行时,变量的值以二进制的形式存储在内存相应的存储单元中。存储空间的大小由变量的数据类型决定。,内存的编址: 内存分为若干个存储单元。 每个单元存放一个字节的数据。 每个单元有唯一的一个地址。 变量存放在内存单元中,若变量所占空间包括多个存储单元,则把首地址作为变量地址。,举例。若有变量定义 int a=2; float b=1.2345; 则变量a、b在内存中的存储情况如图示。,“& ”表示取地址。,本章习题:,选择题 2.1下面四组选项中,均不是C语言关键字的选项是: define IF type getc char printf include scanf case while go pow 2.2下面四组选项中,均是C语言关键字的选项是: auto enum include switch typedef continue signed union scanf if struct type,2.3下面四个选项中,均是不合法的用户标识符的选项是: A P_0 do float la0 _A b-a goto int _123 temp INT 2.4在C语言中,char型数据在内存中的存储形式是: 补码 (B)反码 (C)原码 (D)ASCII码 2.5设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围是: 0255 (B)032767 (C)065536 (D)02147483647 2.6下面不正确的字符串常量是: abc (B) “ 1212 ” (C) “ 0 ” (D) “ ”,2.7在C语言中(以16位PC机为例),5种基本数据类型的存储空间

温馨提示

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

评论

0/150

提交评论