c语言第三章变量名、数据类型、运算符和表达式

上传人:san****019 文档编号:70771368 上传时间:2019-01-18 格式:PPT 页数:75 大小:812.81KB
返回 下载 相关 举报
c语言第三章变量名、数据类型、运算符和表达式_第1页
第1页 / 共75页
c语言第三章变量名、数据类型、运算符和表达式_第2页
第2页 / 共75页
c语言第三章变量名、数据类型、运算符和表达式_第3页
第3页 / 共75页
c语言第三章变量名、数据类型、运算符和表达式_第4页
第4页 / 共75页
c语言第三章变量名、数据类型、运算符和表达式_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《c语言第三章变量名、数据类型、运算符和表达式》由会员分享,可在线阅读,更多相关《c语言第三章变量名、数据类型、运算符和表达式(75页珍藏版)》请在金锄头文库上搜索。

1、2019/1/18,主讲教师:四川大学计算机学院 陈良银,1,主讲教师:* 个人主页:*,C语言程序设计(C99版),四川大学计算机学院,四川大学计算机学院,2019/1/18,主讲教师:四川大学计算机学院 陈良银,2,教材:C语言程序设计(C99版),陈良银 游洪跃 李旭伟 主编 李志蜀 唐宁九 李 涛 主审 清华大学出版社 2006年9月出版,2019/1/18,主讲教师:四川大学计算机学院 陈良银,3,本书内容,第1章 基础知识 第2章 C语言的基本要素 第3章 变量名、数据类型、运算符和表达式 第4章 C程序基本控制结构 第5章 函数 第6章 数组和指针 第7章 递归 第8章 结构、联

2、合、位运算和枚举类型 第9章 预处理命令 第10章 文件 第11章 高级话题 第12章 C89 Vs C99 实验 (待安排),2019/1/18,主讲教师:四川大学计算机学院 陈良银,4,常量类型,本章主要内容,ARM Vector Table,FIQ,IRQ,(Reserved),Data Abort,Prefetch Abort,Software Interrupt,Undefined Instruction,Reset,1,3,2,基本数据类型,C语言的变量命名,4,变量类型,5,表达式、运算符及其优先级,6,求值顺序、类型转换,2019/1/18,主讲教师:四川大学计算机学院 陈良银

3、,5,本章的节本要求,本变量定义部分定义了程序中可能用到的变量,以及变量的数据类型、变量的名字、甚至还可能设定了变量的初值。 而变量的数据类型则表明了变量在内存中所占据的内存单元字节数、其取值范围、以及可以作用于该变量的运算符。 C程序运算符限定了参与运算的操作数类型,以及程序对参与运算的操作数所作的操作。 表达式则用运算符将变量、常量和函数名等连接起来,以产生一个新的值( 表达式都是有值的,即表达式运算的结果)。这些概念性的问题是本章的主题。,2019/1/18,主讲教师:四川大学计算机学院 陈良银,6,3.1 C语言的变量命名,C程序操作的基本对象是变量和常量。 变量名可由C语言字符集根据

4、相关规则组合而成 . 语言字符包括字母( 含“_”)、数字、空格、标点和特殊字符等。 字母:大、小写字母az各26个。 数字:09共10个。 键盘符号:键盘上所使用的各种符号,共33个。 转移字符:转移字符由“反斜杠字符( )”开始后跟单个字符或若干字符组成,何为变量名?,2019/1/18,主讲教师:四川大学计算机学院 陈良银,7,空白符,空格符、制表符、换行符等统称为空白符 . 空白符只在字符常量和字符串常量中起作用。 在其它地方出现时,只起间隔作用,程序编译时对它们忽略不计。,空白符的作用,2019/1/18,主讲教师:四川大学计算机学院 陈良银,8,3.1.2关键字,关键字是由语言规定

5、的具有特定意义的单词,也称为保留字。,关键字不可作用变量名,2019/1/18,主讲教师:四川大学计算机学院 陈良银,9,表3.1 C语言的关键字,最后一行是C99增加的5个,2019/1/18,主讲教师:四川大学计算机学院 陈良银,10,3.1.3 变量命名,第一原则,变量的名字( 变量名也是标识符)只能由字母和数字组成,且变量名的第一个字符必须是字母。 第二原则,尽量不要使用下划线作为变量的第一个字母。因为许多系统库函数常常使用下划线作为库函数命名的首字母。 第三原则,“见名知意”,也就是名字要能够表达其意义,这是变量命名的又一基本要求。,名字自含性,2019/1/18,主讲教师:四川大学

6、计算机学院 陈良银,11,3.2 C语言的基本数据类型及其大小,C89有5种基本数据类型:char(字符型)、int(整型)、float(浮点型)、double(双精度型)、void(空类型)。在C99中还增加了以下三种基本类型:_Bool、_Complex、_Imagimary。 float和double的精确格式依赖于系统的具体实现。但是标准C规定了其最小表示范围是1E37 到1E+37。,2019/1/18,主讲教师:四川大学计算机学院 陈良银,12,基本类型可用以下修饰词修饰:signed(有符号类型)、unsigned(无符号类型)、long(长整型)、short(短整型)、long

7、 long(长长整型,仅C99)。 int缺省是signed的,而char缺省一般是unsigned的。,long long仅C99具有。,2019/1/18,主讲教师:四川大学计算机学院 陈良银,13,C语言的基本数据类型,2019/1/18,主讲教师:四川大学计算机学院 陈良银,14,3.3 常量及其类型,每一种基本类型都有常量。常量就是其值保持不变的量 。 在C语言中的数值常量,在编译时一般会处理为机器指令的一部分。所以它不会在动态数据存储区占据位置,它位于程序区。 有的系统,也将部分常量分配到静态数据存储区中,比如字符串常量,一般就分配在静态数据存储区 。,常量可能位于程序区。,201

8、9/1/18,主讲教师:四川大学计算机学院 陈良银,15,常量可以独立使用,也可以用于表达式。这样的表达式可以在编译期间求值,而不是在运行期间求值,常量表达式可用于常量能够出现的任何地方,比如: #define MAXLINE 1000 /* 定义了一个宏,宏名代表字符串1000 */ char longestMAXLINE1; /* 用常量表达式定义了一个数组,实际上是10001 */,2019/1/18,主讲教师:四川大学计算机学院 陈良银,16,3.3.1 字符常量,字符常量就是其值保持不变的字符,它实际就是一个整数,在书写时用单引号括起来,比如:A。 最常用的就是ASCII编码字符集。

9、 有些字符可以用字符和字符串通过转义字符来表示,比如:n( 换行) 。 一个字节大小的任意字符都可以通过ddd来表示,这里的ddd是13位八进制数字( 07);或者通过xhh来表示,这里hh是12位十六进制数字( 09,af,AF)。,101,X41,2019/1/18,主讲教师:四川大学计算机学院 陈良银,17,表3.3 常用的转义字符及其含义,2019/1/18,主讲教师:四川大学计算机学院 陈良银,18,3.3.2 整型常量,象1234这样的整数是常量,而且是一个int型( 整型)常量。常量的数据类型通过其书写形式来区分。 一个long型常量在书写时以l或者L结尾,比如:1234L。 无

10、符号整型常量在书写形式上结尾带有u或U。而后缀为ul或者UL的常量则是一个无符号长整型( unsigned long)常量。 整型常量可以用十进制、八进制或者十六进制表示。,以貌取人,2019/1/18,主讲教师:四川大学计算机学院 陈良银,19,以0(零)开头的整型常量是八进制表示。 以0x或者0X开头的整型常量是十六进制表示。 比如:十进制30可以表示为0x1e或者0X1E( 十六进制)。 其余的为10进制常量。 比如:123、345等,012、0101;01A7(对吗?),2019/1/18,主讲教师:四川大学计算机学院 陈良银,20,图3.2 整型常量0XFUL在内存中的表示,X、F、

11、U、L分别表示什么意思?,2019/1/18,主讲教师:四川大学计算机学院 陈良银,21,3.3.3 实型常量,浮点型常量包含了一个小数点( 比如:123.4)或者一个指数( 比如:1e-2)或者既包含小数点又包含指数( 1.2e-3)。 没有后缀的浮点型常量都是double类型。,浮点常量自动是double型、 浮点型变量也是吗?,2019/1/18,主讲教师:四川大学计算机学院 陈良银,22,3.3.4 字符串常量,字符串常量是用双引号括起来的零个或者多个字符序列,通常简称为字符串。比如: “I am a student.“ “ /* 空字符串*/ “四川大学国家级示范性计算机( 软件)学

12、院“,末尾有0哟!,2019/1/18,主讲教师:四川大学计算机学院 陈良银,23,“hello“ “, “ “world!“ /* 连接时将双引号之间的空格舍弃 */ 等价于: “hello, world!“,自动连接,很有用哟!,2019/1/18,主讲教师:四川大学计算机学院 陈良银,24,例题3.1 求字符串的长度,int StrLen(char s ) int i = 0; while (si != 0) i+; return i; ,在标准库函数中有求字符串长度的函数strlen( ).,2019/1/18,主讲教师:四川大学计算机学院 陈良银,25,图3.3 字符串内存单元的操作

13、过程及其表示,2019/1/18,主讲教师:四川大学计算机学院 陈良银,26,图3.4 字符串常量和字符常量的内存分配,为何多这0呀?有必要吗?,2019/1/18,主讲教师:四川大学计算机学院 陈良银,27,*3.3.5 枚举常量,还有一种常量叫做枚举常量( enumeration constant),枚举常量是关于常量整数值的一个列表,也叫枚举元素,它是在定义枚举类型时所罗列的一些符号。比如: enum boolean false, true ;,2019/1/18,主讲教师:四川大学计算机学院 陈良银,28,*3.3.6 使用const限定的常量,在变量定义时,可以使用const限定词将

14、其限定为常量。 可以认为使用const修饰的量是一个常量,而使用#define定义的只是一个宏名。所以const限定词会增加程序的安全性。 const double PI =3.1415926535897932384626433832795028841971693993751058209749445923; const char CUE = “Please Input a word: “;,有名字,有类型,在数据区。,2019/1/18,主讲教师:四川大学计算机学院 陈良银,29,/* const限制表示函数中不可以修改数组s中的内容 */ int StrLen(const char s )

15、int i = 0; while (si != 0) i+; return i; ,表示s数组中的内容不可变。,2019/1/18,主讲教师:四川大学计算机学院 陈良银,30,与const相对应的还有volatile限定词。 volatile限定词告诉编译器,变量的值可能会被程序以外的不确定因素修改。比如:操作系统的时钟程序可能通过一个外部变量来保持系统时间。,随时可能被修改,对它:“变量未写,其值不变”的假定是错误的。,2019/1/18,主讲教师:四川大学计算机学院 陈良银,31,3.4 变量类型及其定义,C语言的所有变量在使用以前都必须定义。变量定义语句规定了变量的数据类型,从而也限定了

16、变量的可能取值范围。 int top, bottom, step; char ch, cArray 100;,必须先定义,后使用。,2019/1/18,主讲教师:四川大学计算机学院 陈良银,32,3.4.1基本数据类型变量及其定义,1. 字符类型变量及其定义 char ch ; unsigned char ch2; signed char ch3 ; char代表字符数据类型,其定义的ch就是一个字符数据类型变量,在内存中只占1个字节,可以保存1个字符。,1字节8位,2019/1/18,主讲教师:四川大学计算机学院 陈良银,33,图3.5 char型变量的表示范围,最高位是符号位,其余数值位,2019/1/18,主讲教师:四川大学计算机学院 陈良银,34,2. 整型类型变量及

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号