C课件第02讲(05级).ppt_第1页
C课件第02讲(05级).ppt_第2页
C课件第02讲(05级).ppt_第3页
C课件第02讲(05级).ppt_第4页
C课件第02讲(05级).ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

*1 Program Design in C Language Page C语言的字符集和保留字 C语言数据类型 常量、变量和标准函数 第二讲 第二章 数据类型、运算符和表达式 *2 Program Design in C Language Page 21 C语言的字符集和保留字 2.1.1 C语言的字符集 C 语言源程序中出现的字符来自C语言的字符集。 C 语 言 字 符 集 52个英文字母 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z 10个数字 0 1 2 3 4 5 6 7 8 9 空白符 空格符、制表符、回车符 特殊符 ! # % : “ , . / ? *3 Program Design in C Language Page 21 C语言的字符集和保留字 2.1.2 C语言的保留字 语言中预定的具有特定含义的词保留字关键字。 分四类: 1类型说明保留字 int、long、short、float、double、char、unsigned、signed、 const、void、volatile、enum 、struct、union 2语句定义保留字 if 、else、 goto、 switch、 case、 do、 while、 for、 continue、 break、 return、 default、typedef 3存储类别说明保留字 auto、register、extern、static 4长度运算符保留字 sizeof *4 Program Design in C Language Page 21 C语言的字符集和保留字 六类单词: 标识符 保留字 运算符 分隔符 常量 注释符 2.1.3 C语言的词法约定 在C程序中,单词是构成语句的基本要素,在句法结构中有其特定的含 义和作用。 1.标识符 用以标识变量、数组、函数、文件和各种对象名称的符号。 命名规则: 首字符必须是字母或下划线; 后续字符可以是字母、数字或下画线; 有效长度为132个字符。 说明: 标识符区分大小写字母。 不能和保留字和函数名同名。 count,student_name,sum, test13,_number,Sum M.John,$123,hi!, 12xyz *5 Program Design in C Language Page 2.保留字(关键字) 语言中具有特定含义的词。 (共32个,见附录) 21 C语言的字符集和保留字 5常量 在程序执行期间其值固定不变的量。 有数字、字符、字符串、符号、转义 字符常量等(见2.3.1)。 3.运算符 用于实现各种运算功能的符号。 C语言运算符丰富,分六类44种。 (见附录) 4分隔符 两种分隔符:逗号和空格。 逗号用于分隔变量或参数,空格 用于分隔单词(在保留字和标识符之间 必须用空格分隔)。 如: int a,b,c; max(x,y,z) inta; 6注释符 程序中用“/*”和“*/”括起来的 字符串。 如: void main() /* 定义主函数。*/ gets(str); /*读入字符串str*/ *6 Program Design in C Language Page 22 数据类型 2.2.1 C语言的数据类型 基本类型构造类型指针类型空类型自定义 是C语言数 据类型的基 本型,其值 不可再分解 为其他类型 。 一种由单种 或多种数据 类型构造而 成的数据类 型。 数组 结构 共用体 一种特殊的 数据类型, 其值为某个 量的内存地 址。 一种无返回 值函数的数 据类型。 void 用新的类型 名替代已有 类型名使用 。 用typedef 定义 2.2.2 C语言的基本数据类型 整型:(包括有、无符号的基本整型、短整型、长整型) int,short,long,unsigned,unsigned short,unsigned long 实型:(包括单精度实型、双精度实型) float,double 字符型:用于表示和存储ASCII字符。 char 枚举型:用于表示和存储枚举元素的值。 enum *7 Program Design in C Language Page 转换方式:自动类型转换强行类型转换 22 数据类型 2.2.3 不同数据类型间的转换与运算 在C程序中,当不同类型的量进行运算时,要转换成同一种类型然 后再进行运算。 floatdouble long unsigned int char short 低 高 例: 15+2.5* A 7.0 / 2 自动类型转换将低级类型自动转换成高级类型,然后再按同类 型量进行运算。 *8 Program Design in C Language Page 22 数据类型 强制类型转换将一个表达式的值转换成所需要的类型。 例: (double)i (int)(f1+f2) (float)(14/4) 强制或自动转换都是一种临时性转换,并未改变变量的原类型。 例: #include void main() int x=8; float f=6.85; printf(“(float)x=%f,x=%dn“,(float)x,x); printf(“(int)f=%d,f=%fn“,(int)f,f); 一般形式: (类型说明符)(表达式) (float)x=8.000000, x=8 (int)f=6, f=6.850000 X,f的类型 并未改变 *9 Program Design in C Language Page 23 常量、变量和标准函数 2.3.1 常量 在程序运行期间,其值不能 被改变的量常量。 C语言有以下几种常量: 整型常量 浮点型常量 字符型常量 字符串常量 符号常量 1. 整型常量 整型常量就是整数。 十进制整数 12,65,0,-456,65535 有几种表示形式: 无符号整数(后缀加“U”或“u”) 15Lu,017u,0xFu 长整型整数(后缀加“L”或“l”) 12L,65536L;014L,020L; 0XCL,0X10000L 十六进制整数 0xC,0x41,0xFFFF 八进制整数 0123,0101,0177777 *10 Program Design in C Language Page 23 常量、变量和标准函数 2. 实型常量 实型常量就是实数(浮点数)。 两种表示形式: 1十进制小数形式 如:4.58, 0.025, .123, 0.0, -234.0, 2指数形式 格式:m.nE|es ( 表示m.n ) 如: 1.2E+5 (等于1.2105=120000) 3.4E-5 (等于3.410-5=0.000034) .123e3或.123e+3 (等于0.123103=123) E+5, 4.56E (错误) *11 Program Design in C Language Page 3.字符常量 用单引号括起来的单个字符字符常量。 如: a , A, =, +, 5 转义字符 可表示控制字符。以反斜线“”开头的字符序列。 转义 字符控制字符ASCII值功能 nLF010换行 tHT009水平制表位 bBS008退格 rCR 013回车 dddddd:3位八进制数任意ASCII字符 xhhhh:2位十六进制数任意ASCII字符 常用的转义字符,见表2.2 23 常量、变量和标准函数 *12 Program Design in C Language Page 23 常量、变量和标准函数 #include void main() printf(“atbncbd100x40n“); 例:转义字符使用。 ab d 4.字符串常量 用双引号括起来的字 符序列。 如: “C Programming”, “$12.5”, “CHINA” 字符常量占一个字节,字符串常量占的字节数等于字符个数加1。 x x 占一个字节 “x” x 占两个字节 0 *13 Program Design in C Language Page 5. 符号常量 用指定的标识符代替一个常量。 例:求半径为r的圆面积和圆周长。 #include #define PI 3.1415926 void main() float r,area,circum; scanf(“%f“, area=PI*r*r; circum=2*PI*r; printf(“%f %f“,area,circum); 定义格式: #define 标识符 字符串 23 常量、变量和标准函数 area r area =r2 circum=2r2 *14 Program Design in C Language Page 23 常量、变量和标准函数 2.3.2 变量 在程序运行过程中,其值可以改变的量。 变量在使用之前要先说明(声明)。 例: int sum; int x,y; float volt; char degree; 变量与内存 每一个变量有名字,类型,值,位置和大小。 当一个新的值赋予变量时,新值替换原值。 从内存中读取变量的值,其值不会改变。 int x = 23; FF02 2Bytes RAM 23 x = 90; 90 printf(“%d”, x);90 *15 Program Design in C Language Page 23 常量、变量和标准函数 用来存放整型数据的变量。 1. 整型变量 整型变量的分类表 类型名称类型说明符字节数数值范围 基本整型signed int2-3276832767 短整型signed short int2-3276832767 长整型signed long int4-2147483648 2147483647 无符号基本整型unsigned int2065535 无符号短整型unsigned short int2065535 无符号长整型unsigned long int404294967295 与操作系统、编译系统、 机器有关 在定义整型变量时,要注意数据类型允许的数值范围。 *16 Program Design in C Language Page 23 常量、变量和标准函数 #include void main() int a, b; unsigned c, d; a=32767; b=-32768; c=32768; d=65535; printf(“a=%d,b=%dn“, a, b); printf(“c=%u,d=%u“, c, d); a=32767,b=-32768 c=32768,d=65535 例:整型变量的使用。 #include void main() int a, b; unsigned c, d; a=32767; b=a+1; c=32768; d=65535; printf(“a=%d,b=%dn“, a, b); printf(“c=%u,d=%u“, c, d); a=32767,b=-32768 c=32768,d=65535 *17 Program Design in C Language Page 23 常量、变量和标准函数 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 a(32767) 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 a+1(32768) b(-32768) 结论:a+1 的结果(32768) 超出了基本整型变量 b 所能容纳的数值 范围(-3276832767),这种情况称为“溢出”。 分析: 2.实型变量 用来存放实型数据的变量。 实型变量分类表 *18 Program Design in C Language Page #include void main() float f; double d; f=33333.33333; d=33333333333333.333333; printf(“f=%fnd=%fn“,f,d); 23 常量、变量和标准函数 f=33333.332031 d=33333333333333.333500 无 效 数 字 例:实型变量的使用。(实型数据的有效数字和精度) *19 Program Design in C Language Page 3.字符型变量 用来存放字符常量的变量。 在内存单元中,每个字符型变量分配一个 字节用于存放一个字符。(实际上存放的是字符的 ASCII码值。) c1单元存放的是01000001(十进制65); c2单元存放的是01100001(十进制97) 。 例: char c1,c2; c1=A; c2=a; 所以,在C语言中字符型数据和整型数据之间可以通用。即: 允许对整型变量赋字符值。 允许对字符变量赋整型值。 允许把字符变量按整型量输出。 允许把整型量按字符量输出。 允许字符量与整型量进行运算。 23 常量、变量和标准函数 *20 Program Design in C Language Page 23 常量、变量和标准函数 #include void main() char c1, c2; c1=97; c

温馨提示

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

评论

0/150

提交评论