欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    [C程序设计]电子教案--CH02--数据类型运算符表达式.ppt

    • 资源ID:1705692       资源大小:1.24MB        全文页数:88页
    • 资源格式: PPT        下载积分:25金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要25金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [C程序设计]电子教案--CH02--数据类型运算符表达式.ppt

    C数据类型概述 基本数据类型 运算符和表达式 混合运算与类型转换 数据的输入输出 顺序程序设计举例,第二章 基本数据类型及运算,2.1 数据类型概述,常量,常量就是在程序使用之前预先设定并在整个运行过程中没有变化的量。,C语言有两种实现常量的方法: 直接常量:1, 2, 3; 0.1, 10.0; 'a', '1' "hello" 常变量:C+中,可以使用 const 关键字定义常变量const double PI = 3.1415926;使用常变量的好处是:做到“见名知意”做到“一改全改”,容易调整,变量,在程序中需要先定义变量,再使用变量。,变量是在程序执行过程中其值可以改变的量。,定义变量包含两个步骤: 指出变量的数据类型。 例如:int studentID; /int是变量的数据类型 为每个变量取一个名称(变量名)。 例如:int studentID; /studentID是变量名,每个变量根据它的类型,在内存中占据一定数目的字节单元,该变量的值就存放在这些内存单元中。,语言允许把数据存放在变量中,每一个变量都由一个变量名来标识。变量名的命名规则要满足标识符的规定。,每个变量都必须具有一个类型。,变量,123,prod,变量的本质就是命名的内存单元,标识符的命名规定,只能由大小写字母、下划线和数字组成; 开头的第一个字符只能是大小写字母或下划线; 大小写是敏感的; 不能与的关键字重复; 名字在整个程序中必须是唯一的; 名字的长度不能超过系统的规定。,合法的变量名:area, sum, answer, month, name, Name, Step1, step2, number_of_student, average_score, _class1,非法的变量名:3rd_entry (数字开头) all$done(包含非法字符$) the end (包含空格)int(系统关键字),变量的命名习惯,避免使用无意义的名字,应尽量做到“见名知意”; 尽量使用代表变量实际含义的英文单词或缩写作标识符名; 当名字包含多个单词时,通常使每个单词的首字母大写; 以下划线开头的名字通常是系统内部保留的标识符名; 在整个程序中保持统一的命名方式。,好的变量名:CircleArea, TotalScore, UserSelection, choice, StudentNumber, AverageScore, SampleFrequency,不是很好的变量名:a, aa (不知何意)numberofstudent (全部小写难以辨认)totaltotals (名字太相似),变量的定义和使用,变量定义具有三个目的: 定义变量名; 定义变量类型; 向程序员描述该变量。,语言中,变量必须“先定义,后使用”,int radius; / 圆周率,关键字 int 告诉编译系统我要定义一个整型变量,用它来保存一个整型的数值。,这是变量的名字。以后的程序中就用这个名字来访问这个变量。,注释用来解释这个变量,它是给程序员的信息。对程序主要的变量作注释是很好的习惯。,#include using namespace std;int main() int a, b, sum ; a=123; b=456; sum=a+b; cout<<"sum="<<sim<<endl; return(0);,变量的定义和使用,变量“先定义,后使用”的好处是:,只允许使用定义过的变量。凡是未被事先定义的符号,不作为变量名。这样可以检查出程序中错误使用的变量名。,此处定义的变量名是 sum 。,此处由于输入错误或其它原因,出现了名字为 sim 的符号。由于该符号在这之前从未定义过,所以在编译时,便会出现错误信息。,error C2065: “sim”: 未声明的标识符,变量的定义和使用,int age; / 学生年龄float score; / 学生成绩long number; / 学生数量double distance; / 地月间距离char userSelection; / 用户选择,变量定义的一般格式是:type name; /comment类型 名字; / 注释,系统将根据变量的定义为其分配相应大小的内存单元。,2.2 基本数据类型,的数据类型,的数据类型,基本类型,构造类型,整型,单精度型,双精度型,数组类型,结构体类型,浮点型,联合类型,指针类型,字符型,枚举类型,空类型,数据类型决定:1. 数据占内存字节数2. 数据取值范围3. 其上可进行的操作,2.2.1 整型数据,1. 整型数据类型,2.整型常量,1) 十进制整型常量:由数字09和正负号表示如: 123, -456, 0,整型常量即整常数。中有下面三种形式的整型常量:,注意:八进制整型常量中不应出现“7”以上的数码。如: 0128, 0209,2. 整型常量,2)八进制整型常量:由数字0开头,后跟数字07表示.如: 0123, 即(0123)8 =(83)10,3) 十六进制整型常量:以 “0x或0X”开头后跟09,af或AF表示如: 0xFF, 即(0xFF)16 =(255)10,2.2.2 浮点型数据,1. 浮点型数据类型,1. 浮点型数据类型,实数又叫“浮点数”。,十进制小数形式:由数字和小数点组成。(小数点必须有)如: 10.23, -0.456, .12, 0.0, 89.,实数常量,默认为double型。有两种表示形式:,2. 浮点型常量,指数形式:±s E ±n 或 ±s e ±n 形式。注意: E或e前面必须有数字,后面的指数必须为整数。如: 218.3 = 218.3E0 = 2183E-1 = 0.02183E+4,e-5 , 1.2E-3.5,在常量后加字母f或,指定数据是float型常量。如 0.1234f,2.2.3 字符型数据,1. 字符型数据类型,比如:a , A , d , D ,? , % , $ , 2 , 4,注意: a 和 A , d 和 D 都是不同的字符常量。,语言中,字符常量是用单引号 括起来的一个字符,这些字符都是ASCII码集中的字符。,2. 字符型常量,2. 字符型常量-转义字符常量,另外:语言还存在转义字符常量。,它以 字符开头,后面跟一个字符或代码值,并用单引号括起来。,比如: n , t , r , ,例5:(程序)A-101-x41-65,如 101 - A 012 -n 376 - x61 -a 60 -0 483 - (),2. 字符型常量-转义字符常量及其含义,2.2.4 字符串常量,比如:a” , ”A” , ”hello” , ”OK” , ”SiChuanDaXue”,语言中,字符串常量是用双引号" 括起来的若干个字符。,字符串常量在内存中占用连续的字节单元,每个字符按顺序占一个字节。系统自动在字符串常量的结尾加一个字符串结束标志字符, 表示字符串结束。,2.2.4 字符串常量-字符串结束标志字符, 0 是ASCII码为0的字符。它是一个“空操作字符”,它既不引起任何控制动作,也不产生任何显示。,语言中,字符串结束标志字符是 0 。, 因此,字符串常量在内存中占用的字节数等于可见字符数加上1。,2.2.4 字符串常量-字符串结束标志字符,” HELLO ”,字符串结束标志字符也是一个字符,也要占用一个字节。,总共占用6个字节,5个可见字符,没有字符串变量,字符串用字符数组存放。,2.2.4 字符串常量-A和”A”的区别,A 是字符常量,占一个字节单元 ”A” 是字符串常量,占两个字节单元, 包括 A和0两个字符,不能把一个字符串常量赋值给一个字符变量。如 char c1 = ”A” ; 是错误的。,2.2.5 变量的定义与初始化,对变量的类型和精度提出合适的要求,指出它们的数据类型目的:为变量分配内存单元并赋初值。例:定义变量名为a的整型变量,程序可写成:int a = 30;系统会根据这个精度要求,安排2个字节的内存单元存放a变量的值,见下图。这里a是这个内存单元的符号地址。, 当一次定义多个变量时,不能用连续号的方式对多个变量进行初始化,变量初始化,一个变量在定义之后,第一次赋值之前,它的值是不确定的。在赋初值前,不能让其参与运算,否则会得到不可预知的结果。对变量进行定义的同时给变量赋初值,称为初始化, 在定义变量的同时进行初始化, 当一次定义多个变量时,可以对其全部或部分进行初始化,如:int TotalStudent=40;等价于:int TotalStudent; TotalStudent=40;,如:int TotalStudent=40, TotalScore=0, average;,如:int TotalScore=AverScore=0; 是错误的。,正确的应该是:int TotalScore=0, AverScore=0;,用const关键字把一个变量声明转换成常量声明,2.2.6 常变量,例如,用常变量PI存储的值,const double PI = 3.14159;,2.3 运算符与表达式,2.3.1 运算符与表达式概述,运算符:一些特定的符号,具有特定的运算功能.例如:算术运算(加、减、乘、除)比较运算(大于、小于、等于)逻辑运算(与、或、非)语言共有种运算符。,1.运算符,学习运算符应注意:运算符功能与运算量关系要求运算量个数要求运算量类型运算符优先级别结合方向结果的类型,1.运算符,表达式:按照运算符的性质,用运算符把数据连接起来以达到运算目的的式子。,2.表达式和表达式语句,每一个表达式都会有一个运算的结果,称为表达式的值。一个表达式中往往包含多个运算符,所以必须熟悉每一种运算符的性质(优先级别和结合性),才能写出正确的表达式。,在表达式的末尾加上一个分号“;”就构成了表达式语句。,2.3.2 算术运算符和算术表达式,算术运算符(双目): 加 减 * 乘 / 除 求余,20*4 ; 10-3+5*2-8%9/3 ; 3%5 说明:两整数相除,结果为整数%要求两侧均为整型数据,其结果的符号与左边数据的符号相同。,1. 基本的算术运算符,#include using namespace std;int main( ) int a=3, b=5, c=0; c = a/b; cout<<“c=”<<c<<”n”; c = b/a; cout<<“c=”<<c<<”n”; return 0;,例 -5/2.0 = -2.5,例 -5%2 = -1 5.5%2 (),1. 基本的算术运算符-例,2. 算术运算的优先级与结合性,算术运算符的优先级:,算术运算符的结合性:,自左向右,参考课本的附录语言全部34种运算符的性质以及优先级和结合性。,3. 自增、自减运算符,自增、自减运算符(单目)运算符: 优先级: 高于算术运算符结合性: 右结合性作 用: 使变量的值加或减,3. 自增、自减运算符,用法:设i是个整型变量, +i - i (运算符前置)i+ i - (运算符后置),+ i : 变量先加,后被使用(参与其它运算),?,两种用法的区别?,i + : 变量先被使用(参与其它运算) ,后加,3. 自增、自减运算符-使用注意事项,注意:自增、自减运算符的运算量只能是变量,不可能是常量或表达式。,?,为什么?,因为自增、自减运算符有赋值功能,常量和表达式不能被赋值。,+ i,i = i + 1,- - i,i = i - 1,像下面这样的用法就是错误的:,+ 10 (x+y) +,2.3.3 赋值运算符和赋值表达式,1. 赋值运算符的功能、优先级和结合性,赋值运算符(双目)运算符: 优先级: 低于算术运算符。结合性: 右结合性作 用:将一个数据赋值给一个变量, 这个数据可以是常量、变量或 表达式。,如:num=40把常量40赋值给变量num,如:aver=total/num 把表达式total/num的值赋给变量aver,如:temp=aver把变量aver的值赋给变量temp,赋值表达式一般形式: 变量表达式,1. 赋值运算符的功能、优先级和结合性,注意:赋值表达式的左边只能是变量,而右边可以是常量、变量或任何合法的表达式。,像下面这样的用法就是错误的:,10 = x x+y = 1,整个赋值表达式的值就等于赋值后的左边变量的值。,3. 赋值运算符的使用,例 int i; i=2.56; /结果i=2;,规则:赋值号右边表达式值自动转换成左边变量的类型,例 float f; int i; i=10; f=i; /结果 f=10.0,3. 赋值运算符的使用,2.3.4 关系运算符和关系表达式,1. 关系运算符的功能,关系运算符(双目):也叫“比较运算符”6种: 大于 >= 大于等于= 等于 != 不等于,关系表达式的运算量可以是常量、变量或任何合法的表达式。如:a*a <= 100 如:NowIndex = MaxIndex,2. 关系运算符的优先级和结合性,关系运算符的优先级:,关系运算符的结合性:,自左向右,3. 关系运算符使用的注意事项- (1)关系运算符使用左右操作数的算数运算值,每一个表达式都有一个算术运算值和一个逻辑值。,所谓算术运算值,即表达式的运算结果。所谓逻辑值,规则是:非0的算术运算值其逻辑值是1;0的逻辑值为0。表示“真”或“假”,3. 关系运算符使用的注意事项,关系运算符在比较左右表达式的值的大小时,使用左右操作数的算数运算值,而不是逻辑值。,但关系运算的值是“逻辑值”,表示“真”或“假”,而且 “真”用整数1表示; “假”则得到整数0。,3. 关系运算符使用的注意事项,= 是“赋值运算符”。赋值表达式中,赋值运算符的左边只能是变量。,= 是“等于关系运算符”。关系表达式中,运算符的两边可以是常量、变量或任何合法的表达式。,假设a = 1,则:,(a = 1)=(b = 2),这个赋值表达式的值是2,是正确的关系表达式,(a = 1) = (b = 2),是错误的赋值表达式,a = 2,这个关系表达式的值是 0,a = 2,3. 关系运算符使用的注意事项,2.3.5 逻辑运算符和逻辑表达式,逻辑运算符,逻辑运算符:3种&& 逻辑与(双目)| 逻辑或(双目)! 逻辑非(单目),2.3.5 逻辑运算,1、逻辑与,运算符为&&如图电路A表示开关A合上;B表示开关B合上;A&&B表示灯亮;,ABA&&B11 110 001 000 0,1表示真,0表示假,这是逻辑变量的取值,非真即假,1. 逻辑运算符的功能- &&逻辑与,例:要求写一个表达式,判断变量x的值是否在(-5,+5)范围内。,数学上的表达:-5 < x < +5,?,C语言中的表达:,例如: 当x=6时,在C语言中用-5 < x < +5判断,结果是:1。 表示“成立”。判断错误。,应该这样使用:x>-5 && x<5,2.3.5逻辑运算,2、逻辑或,运算符为|如图电路A表示开关A合上;B表示开关B合上;A|B表示灯亮;,ABA|B11 110 101 100 0,1表示真,0表示假,! 逻辑非:运算量的逻辑值为1 ,逻辑非运算则为0;运算量的逻辑值为0 ,逻辑非运算则为1,x < 0,! (x > =0),逻辑运算符的功能- ! 逻辑非:,逻辑运算符的优先级和结合性,逻辑运算符的优先级:,逻辑运算符的结合性:,&& 、| 自左向右,! 自右向左,逻辑运算符使用的注意事项,逻辑运算符两边的运算量都使用表达式的逻辑值,即“0”或“1”。,逻辑表达式的运算结果也是逻辑值:0 或 1,如:x && y + z,如:5 && 3 && ! 0,结果:1,逻辑运算的运算量:可以是任何类型的数据。既可以使常量、变量,也可以是表达式。,逻辑运算符使用的注意事项,逻辑运算符两边的运算量都使用表达式的逻辑值,即“0”或“1”。,逻辑表达式的运算结果也是逻辑值:0 或 1,如:x && y + z,如:5 && 3 && ! 0,结果:1,逻辑运算的运算量:可以是任何类型的数据。既可以使常量、变量,也可以是表达式。,#include using namespace std;int main( ) int a = 3, b = 4, c = 5, d = 0, x = 0, y = 0; d = a + b > c ,逻辑表达式:例,输出0,逻辑运算符使用的注意事项-,对于“&&”表达式和“|”表达式,系统按从左向右顺序求解时,如果当求出某个运算量后整个逻辑表达式的值就能够确定时,则余下的运算量不被求解。,3. 逻辑运算符使用的注意事项,3. 逻辑运算符使用的注意事项,#include using namespace std;int main( ) int a = 3, b = 4, c = 5, d = 0, x = 0, y = 0; d = a + b > c ,运行结果:,010a=4, c=5x=4, y=0,3. 逻辑运算符使用的注意事项,2.4 混合运算与类型转换,2.4.1 自动类型转换,不同类型的数值型数据之间可以进行混合运算。如:10+a+1.5*123.45*B,系统在求解时,先自动把不同类型的数据转换成同一类型,然后进行运算。转换规则如图:,必定的转换,运算对象不同时转换,10+'a'+1.5*123.45*'B'10+97 +1.5*123.45*'B' 107 +185.175*'B' 107 +185.175*66 107 +185.175*66.0 107 +12221.55107.00+12221.55 12328.55,2.4.1 自动类型转换,2.4.2 强制类型转换,强制类型转换运算符(单目)运算符: (类型名) 用法: (类型名) (变量或表达式)优先级: 高于算术运算符结合性: 右结合性,如:(long)(length-200),如:(float)5/3 相当于:(float)5)/3,注意:参与强制类型转换的变量本身的类型并不会改变。,#include using namespace std;int main( ) float a = 3.5, b = 2.3; int c; c = (int) a - (int) b ; cout<<“c=”<<c<<endl; c = (int) a % c ; cout<<“c=”<<c<<endl; return 0;,2.4.2 强制类型转换,2.4.3 赋值运算中的类型转换,赋值运算中左右操作数数据类型不一致时,自动类型转换的原则是:,将运算符右边的值的类型转换成与左边变量的类型一致。,2.5 数据的输入输出,2.5.1 使用cin和cout进行数据输入输出,cin是C+的标准输入流对象,cout是C+的标准输出流对象,它们都在头文件iostream中定义。因此使用这两个流对象需要加载这个头文件。,1. 输出流对象cout,cout是C+的标准输出流,用于在屏幕上显示插入的字符。,cout和输出运算符<<一起使用,<<的作用是将字符串“Good Morning!n”写入到输出流cout中,也就是输出在标准输出设备(通常是屏幕)上。,例如:cout << "Good Morning!n",int studentID = 12345678; float score = 98.5;char grade = 'A'cout << "studentID=" << studentID<< ", score=" << score << ", grade=" <<grade <<endl;,1. 输出流对象cout-例,控制符endl代表回车换行操作,将多个数据写入到输出流cout中,输出结果为:studentID=12345678, score=98.5, grade=A,2. 输入流对象cin,cin是C+的标准输入流对象。用于从键盘输入信息至内存变量。,用cin输入变量时,C语言会自动识别变量的类型,将输入的字符转换成合适的数值传给变量。,例如:int studentID; float score;cin >> studentID >> score; / 输入一个整数和浮点数。,输入:12345678 98.5 (数据间用空格分隔),2.5.2 单个字符的输入输出,1. 字符输出函数putchar(),putchar()函数的功能:向标准输出设备(一般是屏幕)输出一个字符。它需要一个字符型的参数(参数可以是常量、变量或表达式)。它的一般形式是:putchar(字符型数据);,#include using namespace std;int main( ) char a, b; int c, d; a = 'B' b = 'O' c = 65; d = 66; putchar(a); putchar(b); putchar('Y'); putchar('n'); putchar(c); putchar(d+32); return 0;,运行结果:BOYAb,1. 字符输出函数putchar()-例,2. 字符输入函数getchar(),getchar()函数的功能是从键盘获得一个字符,并将这个字符作为函数的返回结果,返回给调用它的程序。getchar()函数没有参数,其一般形式为: 字符变量 = getchar();执行过程:当程序运行到包含有getchar函数调用的语句时,会暂时停下来,此时屏幕上有一个闪烁的光标,等待用户从键盘上的输入。用户必须键入有关信息并按Enter键后程序才能继续向下执行。,字符输入函数getchar :例,#include using namespace std;int main( ) char ch; ch = getchar( ); putchar(ch); return 0;,运行结果:B (用户键入字符B后,再键入“回车”键) B (putchar函数再在屏幕上输出一个字符B),2. 字符输入函数getchar()例,2.6 顺序程序设计举例,程序开发的过程,用计算机解决问题的过程大致是:1. 分析问题,首先从数学上找出解决该问题的方法(数学模型,公式)2. 拟出具体的解决步骤(算法,流程图)3. 用某种计算机语言实现(程序设计方法,基本控制结构,程序)4. 运行该程序,找出错误,直到结果正确(编辑源程序,编译,连接,调试),例,已知1厘米等于0.3937英寸。编写一个程序,要求输入以厘米为单位的身高,然后显示该身高值等于多少英寸。,基本步骤:包含相应的头文件根据题目需要定义变量(类型、名字、初值)从键盘输入需要的数据进行相关的运算输出计算结果,算法分析:题目中已给出了数学上厘米和英寸换算的比率。因此程序只需从键盘获得以厘米为单位的身高,然后乘以这个比率,就可以得出以英寸为单位的身高。,#include using namespace std; int main() const double CM_INCH_RATIO=0.3973; double heightCm, heightIn; cout>heightCm; heightIn = heightCcm * CM_INCH_RATIO; cout<<"你的身高为"<<heightIn<<"英寸"<<endl; return 0; ,例,包含头文件,提示输入,然后得到输入的数据,定义变量(类型、初值),输出需要的结果,进行相关的计算,

    注意事项

    本文([C程序设计]电子教案--CH02--数据类型运算符表达式.ppt)为本站会员(创****公)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开