级C语言课堂上机课件2数据类型与表达式

上传人:E**** 文档编号:91093484 上传时间:2019-06-21 格式:PPT 页数:65 大小:382.50KB
返回 下载 相关 举报
级C语言课堂上机课件2数据类型与表达式_第1页
第1页 / 共65页
级C语言课堂上机课件2数据类型与表达式_第2页
第2页 / 共65页
级C语言课堂上机课件2数据类型与表达式_第3页
第3页 / 共65页
级C语言课堂上机课件2数据类型与表达式_第4页
第4页 / 共65页
级C语言课堂上机课件2数据类型与表达式_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《级C语言课堂上机课件2数据类型与表达式》由会员分享,可在线阅读,更多相关《级C语言课堂上机课件2数据类型与表达式(65页珍藏版)》请在金锄头文库上搜索。

1、2. C语言编程速入门,include include /求一元二次方程的根 int main() float a,b,c,d,x1,x2; cinabc;/输入三个系数 d=b*b-4*a*c; if(d0) x1=(-b+sqrt(d)/(2*a); x2=(-b+sqrt(d)/(2*a); coutx1x2; else if (d=0) x1=x2=-b/(2*a); cout“x1=“x1endl; cout“x2=“x2endl; else cout“无实根“; return 0; ,程序总体结构: (1)预处理指令 (2)全局说明语句 (2)主函数 (3)注释,复习,includ

2、e include /求一元二次方程的根 int main() float a,b,c,d,x1,x2; cinabc;/输入三个系数 d=b*b-4*a*c; if(d0) x1=(-b+sqrt(d)/(2*a); x2=(-b+sqrt(d)/(2*a); coutx1x2; else if (d=0) x1=x2=-b/(2*a); cout“x1=“x1endl; cout“x2=“x2endl; else cout“无实根“; return 0; ,程序组成要素: 1.语句:程序的基本单位 (1)说明语句 (2)执行语句 赋值语句 功能语句 语句由表达式组成,表达式由数据和运算符组

3、成 2.流程控制:控制语句的执行顺序 (1)顺序结构 (2)选择结构 (3)循环结构 (4)函数调用结构,(1)程序的主要功能是数据处理 (2)数据处理的核心是运算, (3)运算是通过各种表达式进行的 (4)表达式是运算和数据的组合,2.1 标识符,#include #include void main() float a,b,c,d,x1,x2; scanf(“%d%d%d”, ,标识符 定义:程序中的各种名字 关键字 变量名,常量名,函数名等 组成: 只能由字母、数字、下划线组成,且第一个符号必须是字母或下划线 大小写敏感 不能使用关键字 命名原则: 见名知意 不宜混淆 如l与I, o与0

4、,例:判断下列标识符号合法性 sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $123,2.2 数据类型、变量、常量,#include #include void main() float a,b,c,d,x1,x2; scanf(“%d%d%d”, ,数据:程序的基本目的是处理数据 基本类型 整型 实型 字符型 值的变化特性 常量 变量 存储特性 静态存储 动态存储 定义方式,基本数据类型,数据类型修饰符,在实际使用时,将修饰符和类型名作为一个整体看成是“类型名”。例如: unsigned

5、 short int xx;/定义变量xx,其类型是无符号短整型,常量,1.字面常量 常量是指在程序执行中保持不变的数据。常量也有确定的数据类型。下面是不同类型的常量,看见这些常量,读者就可以猜出他们的类型。 A,B,n 字符常量,n是一种特殊字符,表示换行 25,33 整型常数 25L,5L 长整型常数(整数后面加L或者l) 3.141592 双精度实数(缺省实数是双精度实数) 3.141592F 单精度实数(如果希望一个实数常数是单精度浮点数,后面加上F或f)。 上面这种常量称为字面常量,可以直接在写程序中。,2.符号常量 有些常量具有特殊的意义,或者为了程序维护方便,需要将某些常数用有意

6、义的符号表示,用符号表示的常量称为符号常量。 例: #define PI 3.141592 这条语句定义符号常量PI,表示浮点常数3.141592。在程序中使用PI来代替一长串数字“3.141592”。编译程序在遇到PI的时候自动替换成3.141592。 符号常量的类型与它说代表的字面常量相同。,#include #define PI 3.141592 /定义符号常量PI int main() double radius,girth; printf(“输入圆的半径=%”); scanf(“%f”,radius); area=PI*radius*radius; girth=2*PI*radius

7、; printf(“area=%f, girth=%f”,area,girth); return 0; ,例:从键盘输入圆的半径,分别计算圆的面积和周长,变量, =,;,变量定义语句的工作过程 分配存储空间 填初值数据 变量名是内存空间的名字 常数不分配内存空间,类型长度运算符,sizeof() 这里可以是下面几种情况: 类型名,如,int,long ,long int, float,double,long double 等 已经定义的变量; 常量; 其它表达式;,#include int main() printf(“字符型长度=%dn“,sizeof(char); printf(“整型长度

8、=%dn“,sizeof(int); printf(“短整型长度=%dn“,sizeof(short); printf(“长整型长度=%dn“,sizeof(long); printf(“单精度浮点型长度=%dn“,sizeof(float); printf(“双精度浮点型长度=%dn“,sizeof(long double); return 0; ,【例】使用sizeof操作符测试不同数据类型的长度,类型重定义(类型别名),typedef ; 例如: typedef int AMOUNT; AMOUNT a=5; /等价于 int a=5; float payment,price=25.5;

9、 payment= a*prince;,2.3 运算符和表达式,数据是程序处理的基本对象 程序所处理的数据并不是孤立的,而是相互联系的,表达式是将数据联系起来形成新的数据的一种方法,这就是我们比较熟悉的计算。 表达式由被计算的对象(变量和常量)和表示运算的特殊符号(运算符)按照一定的规则构造而成。,几种重要的表达式和运算符 赋值表达式 算数表达式 关系表达式 逻辑表达式,赋值运算符、赋值表达式及赋值语句, = 赋值运算符的运算顺序:是从右向左进行运算,即先计算赋值符号右边表达式的值,在赋值给左边的变量。 如果将赋值表达式后加以个分号“;”,就构成赋值语句。,b1=2*a1+10; / 将表达式

10、2*a1+10的值赋给变量b1 x1=1.0; / 将常数表达式1.0赋给变量x1,int x=1,y,z; x=5+2*(y=3+6); 这条语句中有两个赋值表达式,其功能等价于下面两条赋值语句: y=3+6; x=5+2*y;,算术运算符与算术表达式,说明: (1)取模运算符%只能用于两个整数的运算,a%b的结果是a用b除后的余数。如10%3的结果是1。 (2)在数学中有一个求幂运算符,如105是10的5次方,ab表示a的b次方。在C语言中没有这样的运算符,C语言通过一个系统函数pow(a,b)求a的b次方。 (3)在数学表达式中,4ab表示4ab,在C语言中不允许这样写。 (4)在C语言

11、中,如果两个整数x,y相除x/y,其含义是整除,也就是说,x/y的结果是x除以y的整数部分,小数部分被丢弃。例如,/2的结果是0,15/4的结果是3.,例 5%2 = 1 -5%2 = -1 1%10 = 1 5%1 = 0 5.5%2 (),例 5/2 = -5/2.0 =,增量运算符,作用:使变量值加1或减1 x+ x=x+1 x- x=x-1 种类: 前置 +i, -i (先执行i+1或i-1,再使用i值) 后置 i+,i- (先使用i值,再执行i+1或i-1),例 j=3; k=+j; j=3; k=j+; j=3; printf(“%d”,+j); j=3; printf(“%d”,

12、j+); a=3;b=5;c=(+a)*b; a=3;b=5;c=(a+)*b;,/k=4,j=4,/k=3,j=4,/4,/3,/c=20,a=4,/c=15,a=4,关系运算符,表2-5:关系运算符的含义,特别提示: 一般不在 C 语言里采用连续写关系运算符的方式,因为这样写出的表达式的计算结果往往使人感到意外。如,下面是一个合法的表达式: 5 = 3 = 2 要弄清这个表达式描述的是什么,需要特别小心。根据关系运算符的结合方式,上面这个表达式相当于: (5 = 3) = 2 关系(5 = 3)成立,所以它的计算结果是 1。这样,上述表达式就相当于: 1 = 2 它求出的值是 0,显然这不

13、是我们期望的结果 要在程序里描述532一类的数学关系,最好是使用后面讨论的逻辑运算符和逻辑表达式。,逻辑运算符,a=x=b,本意是表达两个判断(x2 & x3),辑运算真值表,说明: 从运算对象的角度看,非0为真,0为假;从运算结果看,1为1,0为假。 实际变成过程中,下面两个逻辑等价公式非常有用 !(A & B) = !A | !B !(A | B) = !A & !B 日常用语中“如果A,则B”可以表示成下面的逻辑表达式 “如果A,则B” = !A | B,逻辑表达式短路特性 逻辑表达式求解时,并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符

14、,例 a (m=ab)&(n=cd),/结果m=0,n=1,表达式求值过程,优先级 结合方式 括号的作用,表达式的数据类型及类型转换,图:表达式的自动类型转换,自动类型转换,【例2-4】:给出并分析下面三段程序的输出结果,强制类型转换,(类型名)表达式,例如,(int)6.25 将浮点常量 6.25(单个常量或变量也可视为表达式)强制转换为整型常量,结果为 6。 例如 int i; i=5; (double)i 将整型变量 i 的值转换为 double型。,逗号表达式,expr1,expr2,exprn,逗号表达式的执行过程:先计算expr1的值,再计算expr2的值,然后是expr3的值,最

15、后计算exprn的值,整个逗号表达式的值是exprn的值。,【例2.3-3】逗号表达式的应用 #include int main() int a=2,b=4,c=6,x,y; y=(x=a+b),(x+c); printf(“x=%d y=%dn“,x,y); return 0; ,2.4 基本输入输出,格式化输出,printf(,输出项列表); 输出项列表 = 参数1,参数2,参数3,,一. 格式串,1. 原样输出的普通字符,2. 转义字符,3. 格式控制字符,【例】:仔细观察下面程序的输出结果,格式化输入,scanf(“格式串”,输入项列表);,2.5 程序控制结构,C语言的语句(statement)以“;”作分隔符,编译后产生机器指令。C语言语句可分为两大类:简单语句和复合语句。,2.5.1 语句概述,简单语句 说明语句 变量说明语句 函数原型说明语句 表达式语句 空语句 流程控制语句 复合语句,2.5.2 结构化程序设计,基本思想:任何程序都可以用三种基本结构表示, 顺序结构 选择结构 循环结构 在程序中限制使用无条件转移语句(goto)。 结构化程序:由三种基本结构反复嵌套构成的程序叫结构化程序。 优点:结构清晰,易读,提高程序设计质量和效率,2.6 顺序结构,按照解决问题的自然顺序写出相应的程序语句 它的执行顺序是自上而下,

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

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

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