C程序设计课件第1章.ppt
《C程序设计课件第1章.ppt》由会员分享,可在线阅读,更多相关《C程序设计课件第1章.ppt(66页珍藏版)》请在三一文库上搜索。
1、第三章 简单程序,常量 变量 表达式 语句组成 表达式语句 赋值 类型转换 输入/输出,常量(constant),在程序执行期间不变的数据称为常量 如 圆周率的近似值3.14165926 自然对数底的近似值2.7183 等 可以直接书写在程序中的常量,称为字面常量。 #include void main() printf(“%f n”, 2.7183); 打印出 2.7183,常量标识符 为什么 一个常量多次用到 方便修改常量 如何声明 枚举常量表中的标识符就是常量标识符 #define 标识符 常量 如何使用 #define SPEED 55,#define pai 3.14 #define
2、 R 10 void main() float x,y; x=2*pai*R; y=pai*R*R ,#define pai 3.14 #define R 10 void main() float x,y; x=2*3.14*10; y=3.14*10*10 ,#define pai 3.14; #define R 10; void main() float x,y; x=2*pai*R; y=pai*R*R ,#define pai 3.14; #define R 10; void main() float x,y; x=2* 3.14; * 10 ; y= 3.14; * 10 ; * 1
3、0 ; ,变量(variable),相对于常量,变量是程序执行期间值可变的数据对象 两个方面 变量值:程序运行某一时刻,变量所具有的值 变量属性: 名字 数据类型 作用域 存储空间 存储地址 等,编译程序在把高级语言程序翻译成机器语言时 给每个变量都分配一块适当的存储空间,以便随时保存变量的值。这块存储区就是变量的存储区 变量的地址就是这块存储区的首地址 变量的值就是这块存储区中现行保存的数据。 变量v 被分配在内存地址为0F000开始的存储区域,当前值为5。,变量地址,变量名,变量值,变量的存储区,变量声明,声明变量的意义: 引进新变量 规定所引变量的属性 语法 变量声明 类型 变量项表 ;
4、 变量项表 变量项 变量项,变量项表 变量项 标识符 标识符 = 初值,不考虑初值的一般形式 T id , id , . , id ; 变量类型 变量名字 变量的作用域 例子 int i , j , k ; char c ; int t ; float amount , total ; bool flag ; enum red,blue,green color ;,void main() int x,y; z=x*2; char z; x=x+y; z=x+y; w=z+x; ,变量出现形态,声明出现 赋值出现 引用出现 int n, x; n=1; n=3; n=n*5+7 x=n;,n:,
5、编译程序会给该变量分配一块存储空间。但是从程序开始执行的时刻一直到给该变量赋值之前该变量是没有值的,这时称该变量为“值无定义的”,为变量赋以一个它值域之内的(即所属类型的)一个数据。一旦为变量赋值,该变量就变成了“值有定义的”,引用性出现分成 引用变量当前值 一般在表达式中 变量必须是“值有定义的” 不会改变变量的值 引用变量本身 多出现在参数结合中 可是“值无定义的” 可能会改变变量的值,1,3,22,x:,22,变量地址,变量地址 变量在内存中的所在位置,即内存地址。 求地址 将单目运算符“&”,缀在变量前, 求相应变量地址。 例子 被分配在内存地址为0F000开始的存储区域的变量V &V
6、 的值就是 0F000,也称为V的指针,变量初始化,形式 id = 初值 例子 int i=0 , j=1 , k=100*2, m=k*i*j; char c=A ; enum red,blue,green color = red ; 变量在声明时被赋以初值,则在程序开始运行时,它便取得了相应值,它是值有定义的。,enum set a,b,c,d var_set; enum set a,b,c,d var_set=d; enum set a,b,c,d; enum set var_set=d; enum a,b,c,d var_set=d;,变量使用注意事项,程序中使用的一切变量都必须声明。
7、 在同一作用域内,任何两个变量不许重名,也不许与其它类标识符重名。 从程序的静态行文顺序看,变量的声明必须出现在所有使用之前。 从程序的静态行文顺序看,在变量声明中给变量赋初值处,相应表达式必须是可计算的。 从程序的动态执行顺序看,为变量赋值的出现必须在所有使用值之前。,表达式,表达式(expression) 是 C 程序完成各类运算的主要部分,由运算符和运算分量组成。 语法 表达式 基本表达式 后缀表达式 一元表达式 二元表达式 条件表达式 逻辑表达式 赋值表达式 顺序表达式 基本表达式 标识符 字面常量 (表达式),基本表达式是C表达式的最底层,包括: 标识符 字面常量 括号表达式 标识符
8、包括变量标识符和常量标识符,它们的类型由相应声明给出,当表达式计算时,变量应该是值有定义的。 字面常量 括号括表达式,3*6 u0 r=(x+y)*5=(r-s)/8 3 、6 、u 、r 、x 、y 、5 、s 、8 都是基本表达式 经与运算符组合后的 x+y 、r-s 是表达式; 用括号括上的表达式 (x+y)、(r-s) 又变成基本表达式 最终若干基本表达式与运算符组合得到的 r=(x+y)*5=(r-s)/8 仍是表达式。,运算符优先级,C 表达式与通常数学表达式的书写区别: 所有字符必须写在一条水平线上。不允许出现上、下角标、分数线等。 sqrt(x*y) x*x*x*x*x (x+
9、y)/5 fabs(x*y),a乘b ab ab ab a*b 除了下标使用方括号以外,所有括号必须用圆括号。 a*b+c*(a+b) (a*(b+c*(a+b),数学中连续的关系运算, a = = + =,适当加括号是好习惯 xy|y=2&y2 (xy)|(y=2)&(y2) (xy)|(y=2)&(y2),表达式计算规则,括号内的表达式先计算 运算符分16个优先级,不同级运算符相邻,先计算优先级高的运算 同级运算符相邻,按结合律的规定从左向右或从右向左进行计算 二元运算符和三元运算符的各个运算分量的计算次序是依赖于实现的。,int x=3, y=4, r=1, s=9 ; r = ( x
10、+ y ) * 5 = ( r s ) / 8,7,35,-8,0,0,-1,#include stdio.h /* 1 */ int x,y ; /* 2 */ int f ( int z ) /* 3 */ x=x+1 ; /* 4 */ return (z*z); /* 5 */ /* 6 */ void main ( ) /* 7 */ x=0 ; /* 8 */ printf ( “%dn”, x+f(2) ); /* 9 */ /* 10 */,计算顺序 从左至右 结果为4 从右至左 结果为5,设u=20、v=30、w=40、x=20、y=50则 w=0 | u+20v | xx
11、false | true xx true & false,语句(statement),程序的一个侧面是描述对数据的操作,操作由一个个动作组成。 在程序设计语言中,表示动作的是语句,语句的执行执行相关动作。,语句分类,表达式语句,语法 表达式语句 表达式 ; 例子 3+5; b = a*c-3 x+y ,赋值语句,一般形式 v = e; v 是一个左值(现在看就是一个变量),作为赋值运算符左端的运算分量。 = 是赋值运算符,由一个赋值号组成。 e 是一个表达式,作为赋值运算符右端的运算分量,e能计算出一个值。,days = 2+5 ; 执行结果是将值 7 赋给变量 days 。 若 days 原
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 课件
链接地址:https://www.31doc.com/p-2142468.html