信息学奥赛课课通-第2单元-电子课件.ppt

上传人(卖家):ziliao2023 文档编号:7362880 上传时间:2023-12-05 格式:PPT 页数:85 大小:624.50KB
下载 相关 举报
信息学奥赛课课通-第2单元-电子课件.ppt_第1页
第1页 / 共85页
信息学奥赛课课通-第2单元-电子课件.ppt_第2页
第2页 / 共85页
信息学奥赛课课通-第2单元-电子课件.ppt_第3页
第3页 / 共85页
信息学奥赛课课通-第2单元-电子课件.ppt_第4页
第4页 / 共85页
信息学奥赛课课通-第2单元-电子课件.ppt_第5页
第5页 / 共85页
点击查看更多>>
资源描述

1、 高等教育出版社高等教育出版社 第第2单元顺序结构程序设计单元顺序结构程序设计信息学奥赛课课通(信息学奥赛课课通(C+C+)高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)第第 1 课课 cout 语句语句学习目标学习目标1.理解理解 C+中的标准输出流。中的标准输出流。2.掌握掌握 C+中中 cout 语句的使用。语句的使用。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)流(流(stream)在在 C+中,所有的数据输入、输出都是以中,所有的数据输入、输出都是以“流流(stream)”的形式。流是一个处于传输状态的字节的形式。流是一个处于传输状态

2、的字节序列,是字节在对象之间的序列,是字节在对象之间的“流动流动”。流的操作包括输入与输出。流的操作包括输入与输出。使用输入使用输入/输出流,必须加上以下头文件:输出流,必须加上以下头文件:#include。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)cout 语句是语句是 C+中实现输出功能的语句。中实现输出功能的语句。其格式为:其格式为:cout 项目项目1 项目项目2 项目项目n;如果项目是表达式,则输出表达式的值;如果项目加引如果项目是表达式,则输出表达式的值;如果项目加引号,则输出引号内的内容;如果项目是号,则输出引号内的内容;如果项目是 endl,则表示换

3、行。,则表示换行。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例1、阅读并上机调试以下程序,体会、阅读并上机调试以下程序,体会 cout 语句的使用。语句的使用。/p2-1-1#includeusing namespace std;int main()cout 2+4 endl;cout “ABCD”endl;int a=10,b=5;cout a+b endl;return 0;高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例2、阅读并上机调试以下程序,观察程序运行的结果。阅读并上机调试以下程序,观察程序运行的结果。/p2-1-2#inc

4、ludeusing namespace std;int main()cout *n;/n也表示换行也表示换行 cout *n;cout *n;cout *n;cout *n;cout *n;cout *n;cout *n;cout *n;return 0;高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例3、已知梯形的上底长为已知梯形的上底长为15,下底长为,下底长为20,高为,高为12,编程,编程输出该梯形的面积。输出该梯形的面积。【问题分析问题分析】根据梯形面积的计算公式:(上底根据梯形面积的计算公式:(上底+下底)下底)*高高/2,直接,直接计算面积并输出。计算面

5、积并输出。/p2-1-3#include using namespace std;int main()int a,b,h,s;a=15;b=20;h=12;s=(a+b)*h/2;cout s endl;return 0;高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)实践巩固实践巩固高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)第第 2 2 课课 数据类型数据类型学习目标学习目标1.熟知熟知 C+中的常用数据类型。中的常用数据类型。2.学会根据具体需求使用不同的数据类型。学会根据具体需求使用不同的数据类型。高等教育出版社高等教育出版社信息学奥赛课

6、课通(信息学奥赛课课通(C+)数据有数据类型、取值范围、运算类型三个要素。数据有数据类型、取值范围、运算类型三个要素。在在 C+程序中,使用的各种变量都应程序中,使用的各种变量都应“先声明,后使先声明,后使用用”。变量声明又会涉及数据类型、初始值和作用域等。变量声明又会涉及数据类型、初始值和作用域等。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)/p2-2-1#includeusing namespace std;int main(

7、)int a,b,c;double d,e;a=5;b=6;d=2.53;c=a+b;e=c+d;cout a “+”b “=”c endl;cout c “+”d “=”e endl;return 0;例例1、阅读并上机调试以下程序,观察运行结果。、阅读并上机调试以下程序,观察运行结果。运行程序,输出:运行程序,输出:5+6=1111+2.53=13.53程序中定义了程序中定义了 a、b、c 三个整型变三个整型变量和量和 d、e 两个实型变量,并进行了两个实型变量,并进行了赋初值和加法运算。需要注意的是,赋初值和加法运算。需要注意的是,整型数据和实型数据进行混合运算,整型数据和实型数据进行混

8、合运算,得到的结果是实型数据。得到的结果是实型数据。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)说明说明 整数还有整数还有“无符号无符号”类型,其取值只会是正数和类型,其取值只会是正数和0,范,范围扩大一倍。例如围扩大一倍。例如unsigned int类型的取值范围为类型的取值范围为04294967295。还可以通过还可以通过sizeof函数,输出各种数据类型的字节数,函数,输出各种数据类型的字节数,例如:例如:cout sizeof(int)endl;数据溢出:数据溢出:C+程序中出现这类错误时,编译和运行过程序中出现这类错误时,编译和运行过程中并不报错。所以,需要

9、特别细心,注意范围检查。程中并不报错。所以,需要特别细心,注意范围检查。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)/p2-2-2#includeusing namespace std;int main()int a=2147483647;a=a+1;cout a=a endl;return 0;/运行程序,输出:运行程序,输出:a=-2147483648。例例2、阅读并上机调试以下程序,观察运行结果,体会阅读并上机调试以下程序,观察运行结果,体会int类类型的数据范围。型的数据范围。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)/p2-2-3

10、#includeusing namespace std;int main()int b=0,a=100;char ch=A;b=a+ch;cout ch int(ch)b=b,¥,¥1234lotus_1_2,sum123_,_day,234NUM,#34,int例例1、找出符合找出符合C+规则的标识符。规则的标识符。【问题分析】【问题分析】符合符合C+规则的标识符有:规则的标识符有:sum,Day,school_name,lotus_1_2,sum123_,_day。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)(2)变量的初始化变量的初始化变量在定义的同时,可以给它

11、指定一个初始值,称为变变量在定义的同时,可以给它指定一个初始值,称为变量的初始化。量的初始化。(3)变量的赋值变量的赋值在在 C+中,可以通过中,可以通过“赋值赋值”语句来修改变量的值。语句来修改变量的值。赋值语句的格式如下:赋值语句的格式如下:变量名变量名=值或者表达式值或者表达式;其中,其中,“=”称为称为“赋值号赋值号”。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)/p2-3-2#includeusing namespace std;int main()int a;a=3;cout a endl;a=10;cout a endl;a=a*5;cout a end

12、l;return 0;例例2、阅读并上机调试以下程序,观察运行结果,体会变量、阅读并上机调试以下程序,观察运行结果,体会变量的含义。的含义。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)实践巩固实践巩固高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)第第 4 课课 字符与字符串字符与字符串学习目标学习目标1.体会字符型变量的使用。体会字符型变量的使用。2.体会字符串的含义和简单使用。体会字符串的含义和简单使用。3.理解转义字符的含义和使用。理解转义字符的含义和使用。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)存放单个字符的

13、变量,称为字符变量。字符变量的值是存放单个字符的变量,称为字符变量。字符变量的值是用一对单引号括起来的一个字符,如用一对单引号括起来的一个字符,如a 和和?等。等。存放一串有若干字符的变量,称为字符串变量。字符串存放一串有若干字符的变量,称为字符串变量。字符串变量的值是用一对双引号括起来的字符序列,如变量的值是用一对双引号括起来的字符序列,如“Good Morning!”和和“a”等。如果双引号内什么都没有,称为空等。如果双引号内什么都没有,称为空字符串,与双引号内有一个空格的字符串是不一样的。字符串,与双引号内有一个空格的字符串是不一样的。字符和字符串字符和字符串高等教育出版社高等教育出版社

14、信息学奥赛课课通(信息学奥赛课课通(C+)1.字符变量字符变量定义字符变量的格式如下:定义字符变量的格式如下:char 标识符标识符1,标识符标识符2,标识符标识符n;字符变量在内存中占用字符变量在内存中占用 1 个字节。在个字节。在 C+中,字符数据中,字符数据在内存中实际存储的是其在内存中实际存储的是其 ASCII 码值。码值。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例1、阅读并上机调试以下程序,观察运行结果,体会字符、阅读并上机调试以下程序,观察运行结果,体会字符变量的输入与输出。变量的输入与输出。/p2-4-1#includeusing namespac

15、e std;int main()char c1,c2,c3;c1=48;c2=65;c3=97;cout c1 “c2 “c3 “;cout int(c1)“int(c2)“int(c3)endl;return 0;/运行程序,输出运行程序,输出“0 A a 48 65 97”。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例2、阅读并上机调试以下程序,观察运行结果,体会字符阅读并上机调试以下程序,观察运行结果,体会字符变量的运算。变量的运算。/p2-4-2#includeusing namespace std;int main()char c1,c2,c3;c1=a

16、;c2=Z;c1=c1-32;c2=c2+32;c3=0+9;cout c1 “”c2 “”c3 endl;return 0;/运行程序,输出:运行程序,输出:A z 9。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)C+中定义了一些字符前加中定义了一些字符前加“”的特殊字符,称为转义的特殊字符,称为转义字符。字符。字符输入函数:字符输入函数:getchar(输入字符)(输入字符);字符输出函数:字符输出函数:putchar(输出字符)。(输出字符)。2.转义字符转义字符高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例3、阅读并上机调试以下程序

17、,观察运行结果,体会、阅读并上机调试以下程序,观察运行结果,体会getchar和和putchar的使用方式。的使用方式。/p2-4-3#includeusing namespace std;int main()char a=A ;putchar(a);/输出一个输出一个A putchar();/输出输出 putchar(n );/输出回车换行输出回车换行 char c;c=getchar();putchar(c+1);/输入一个字符输入一个字符,输出它在输出它在ASCII 码表中的后一个字符码表中的后一个字符 return 0;高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C

18、+)在在 C+中,可以用字符数组中,可以用字符数组 char s存放字符串,存放字符串,也可以用也可以用 STL 中的中的 string 类型。每一个字符串的结尾都要类型。每一个字符串的结尾都要加一个加一个“字符串结束标志字符串结束标志”,而且是系统自动添加上去的,而且是系统自动添加上去的,C+规定以转义字符规定以转义字符“0”作为字符串结束标志作为字符串结束标志。字符串输入、输出函数字符串输入、输出函数 gets()和和 puts()。3.字符串变量字符串变量高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例4、阅读并上机调试以下程序,观察运行结果,体会阅读并上机调试

19、以下程序,观察运行结果,体会puts()和和gets()的使用方式。的使用方式。/p2-4-4#includeusing namespace std;char s20;/定义一个长度为定义一个长度为20的字符数组的字符数组sint main()gets(s);puts(s);return 0;/运行程序,若输入:运行程序,若输入:abcd 123,则输出:,则输出:abcd 123。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)实践巩固实践巩固高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)第第 5 课课 算术运算符算术运算符学习目标学习目标1.熟

20、知算术运算符。熟知算术运算符。2.熟练掌握算术表达式的书写。熟练掌握算术表达式的书写。3.了解一些常用的数学函数。了解一些常用的数学函数。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)算术运算符算术运算符高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)表达式及其运算规则表达式及其运算规则 将常量、变量、算术运算符、括号以及函数连接在一将常量、变量、算术运算符、括号以及函数连接在一起的计算式,称为算术表达式。起的计算式,称为算术表达式。当一个算术表达式中包含多个运算符时,遵循的计算当一个算术表达式中包含多个运算符时,遵循的计算顺序(运算优先级)为:先

21、算顺序(运算优先级)为:先算“括号括号”里的,再算里的,再算“乘法乘法、除法、模、除法、模”,最后算,最后算“加法、减法加法、减法”,同一级别的按照,同一级别的按照类型从左往右依次计算。类型从左往右依次计算。表达式的计算结果称为表达式的值。表达式的计算结果称为表达式的值。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例1、输入长方形的长和宽(整型数据),计算并输出长方、输入长方形的长和宽(整型数据),计算并输出长方形的周长和面积。例如,输入形的周长和面积。例如,输入“8 3”,输出,输出“22 24”。/p2-5-1#includeusing namespace st

22、d;int main()int a,b,c,s;cin a b;/从键盘输入两个整数给从键盘输入两个整数给 a 和和 b c=2*(a+b);s=a*b;cout c ”s endl;return 0;高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例2、求任意一个三位数的三个数字之和。例如,输入求任意一个三位数的三个数字之和。例如,输入897,输出输出24。/p2-5-2#includeusing namespace std;int main()int n,a,b,c;cin n;/从键盘输入一个整数给从键盘输入一个整数给n a=n%10;b=n/10%10;c=n/

23、100;cout a+b+c endl;return 0;高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例3、在一个直角坐标系中存在两个点。输入两个点的坐标在一个直角坐标系中存在两个点。输入两个点的坐标(整数),输出它们连成的线段长度。(整数),输出它们连成的线段长度。例如,输入例如,输入39 22 11 5,输出,输出32.7567。/p2-5-3#include#include/使用使用数学函数前必须添加数学函数前必须添加cmath或者或者math.h using namespace std;i

24、nt main()double x1,y1,x2,y2;cin x1 y1 x2 y2;cout 项目项目1 项目项目2 项目项目n;在使用在使用 cin 语句从键盘输入多个数据项的时候,一语句从键盘输入多个数据项的时候,一定要注意三个一致:数据个数一致、输入顺序一致、数定要注意三个一致:数据个数一致、输入顺序一致、数据类型一致。据类型一致。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例1、阅读下列程序,体会、阅读下列程序,体会 cin 语句的使用。语句的使用。/p2-6-1#includeusing namespace std;int main()int a,b,

25、c;cin a b c;char d,e;cin d e;float f;cin f;cout ”a=”a ”b=”b ”c=”c endl;cout ”d=”d ”e=”e ”f=”f endl;return 0;高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例2、编程从键盘输入一个小写字母,将它转换成大写字母输编程从键盘输入一个小写字母,将它转换成大写字母输出出。/p2-6-2#includeusing namespace std;int main()char ch1,ch2;cin ch1;ch2=ch1-32;cout ch2 endl;/cout ch1-3

26、2 endl;可以直接输出可以直接输出ch2的的ASCII码码 return 0;高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例3、从键盘输入一个梯形的上底、下底和高(整型数据),输从键盘输入一个梯形的上底、下底和高(整型数据),输出该梯形的面积(保留小数点后出该梯形的面积(保留小数点后2位)。位)。例如,输入:例如,输入:5 8 7,则输出:,则输出:45.50。/p2-6-3#include#includeusing namespace std;int main()int a,b,h;float area;cin a b h;area=(a+b)*h/2.0;c

27、out setprecision(2)fixed area endl;return 0;高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)实践巩固实践巩固高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)第第 7 课课 赋值语句赋值语句学习目标学习目标掌握赋值语句的使用方法。掌握赋值语句的使用方法。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)在在 C+中,可以通过中,可以通过“赋值语句赋值语句”来修改变量的值。赋来修改变量的值。赋值语句的格式如下:值语句的格式如下:变量名变量名=值或者表达式值或者表达式;其中,其中,“=”称为称

28、为“赋值号赋值号”。需要注意的是:需要注意的是:a=b 与与 a=b 是完全不同的意义,是完全不同的意义,“=”是关系运算符。是关系运算符。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)/p2-7-1#includeusing namespace std;int main()int a,b,s,d;bool l,e;a=3;b=3;s=a+b;d=a/b;l=a b;e=a=b;cout s d l e endl;return 0;例例1、阅读程序,写出程序的运行结果。、阅读程序,写出程序的运行结果。运行程序,输出:运行程序,输出:6 1 0 1。计算时,计算时,“a

29、b”和和“a=b”的的结果分别是结果分别是bool类型的值类型的值0和和1。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)在在 C+中,赋值语句非常灵活,有多种复合写法。中,赋值语句非常灵活,有多种复合写法。(1)算术复合:算术复合:a=a+x;写成写成a+=x;还有还有-=、*=、/=,%=(2)赋值复合:赋值复合:C+支持在一个表达式里出现连续的赋支持在一个表达式里出现连续的赋值号,即一次给几个变量赋同一个值。此时计算顺序是从值号,即一次给几个变量赋同一个值。此时计算顺序是从右到左,有括号存在的,先计算括号内的表达式。右到左,有括号存在的,先计算括号内的表达式。(3

30、)逗号表达式:逗号表达式:在在C+中,允许用逗号连接几个表达中,允许用逗号连接几个表达式,构成一个更大的表达式,称为式,构成一个更大的表达式,称为“逗号表达式逗号表达式”。其格式如下:表达式其格式如下:表达式1,表达式,表达式2,表达式表达式n;各个表达式的计算顺序是从左往右,最终整个表达式的各个表达式的计算顺序是从左往右,最终整个表达式的值是值是“表达式表达式n”的值。的值。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)/p2-7-2#includeusing namespace std;int a,b;int main()cin a b;a+=b;b-=1;cout

31、 a “”b endl;a/=2;b*=b;cout a “”b endl;a%=b;b%=10;cout a “”b endl;return 0;例例2、阅读程序,写出程序的运行结果。、阅读程序,写出程序的运行结果。运行程序,输入:运行程序,输入:100 56输出:输出:156 5578 302578 5高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)/p2-7-3#includeusing namespace std;int a,b;int main()a=b=5;cout a b endl;(a=b)=10;cout a b endl;(a+=b)=20;cout

32、a b endl;return 0;例例3、阅读程序,写出程序的运行结果。、阅读程序,写出程序的运行结果。运行程序,输出:运行程序,输出:5 510 520 5高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)/p2-7-4#includeusing namespace std;int main()int j=10,k=1000;int i=(k+1,j+100,999+j);cout i endl;return 0;例例4、阅读程序,写出程序的运行结果。、阅读程序,写出程序的运行结果。运行程序,输出:运行程序,输出:1009。给给i赋值的语句中赋值号右边的括号是必须要加的

33、,因为逗号运算符赋值的语句中赋值号右边的括号是必须要加的,因为逗号运算符的优先级低于赋值号的优先级。的优先级低于赋值号的优先级。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)实践巩固实践巩固高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)第第 8 课课 复合运算符复合运算符学习目标学习目标理解并学会使用理解并学会使用 C+中的复合运算符。中的复合运算符。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)在在 C+中,复合运算符实际上是赋值语句的一种缩中,复合运算符实际上是赋值语句的一种缩写形式,使得修改变量值的操作更加简洁。写形

34、式,使得修改变量值的操作更加简洁。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)自加运算符和自减运算符自加运算符和自减运算符自加运算符自加运算符“+”有两种写法,即有两种写法,即 i+或者或者+i。在单独。在单独使用时,其作用相同,都相当于使用时,其作用相同,都相当于i=i+1。自减运算符。自减运算符“-”也有也有两种写法,即两种写法,即 i-或者或者-i。例如:例如:int a,b=5;b+;/b的值变为的值变为6 +b;/b的值变为的值变为7 a=b+;/a的值为的值为7,b的值变为的值变为8 a=+b;/b的值变为的值变为9,a的值也为的值也为9高等教育出版社高等

35、教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)/p2-8-1#includeusing namespace std;int main()int i=3,j;j=+i;cout j i endl;j=i+;cout j i endl;return 0;例例1、阅读程序,写出程序的运行结果。、阅读程序,写出程序的运行结果。运行程序,运行程序,输出:输出:4 44 5高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)2.复合算术赋值复合算术赋值复合算术赋值,如复合算术赋值,如+=、-=、*=、/=、%=。复合算术赋值运算的优。复合算术赋值运算的优点是程序更精炼,编译效率高。

36、点是程序更精炼,编译效率高。int a,b;a=b=5;/a的值为的值为5,b的值为的值为5 a+=b;/a的值为的值为10,相当于,相当于a=a+b a-=b;/a的值为的值为5,相当于,相当于a=a-b a*=b;/a的值为的值为25,相当于,相当于a=a*b a/=b;/a的值为的值为5,相当于,相当于a=a/b a%=b;/a的值为的值为0,相当于,相当于a=a%b 需要注意的是,需要注意的是,“a*=b+8”等价于等价于“a=a*(b+8)”。复合算术。复合算术赋值运算的优点是程序更精炼、编译效率高。赋值运算的优点是程序更精炼、编译效率高。高等教育出版社高等教育出版社信息学奥赛课课通

37、(信息学奥赛课课通(C+)/p2-8-3#includeusing namespace std;int main()int a=10,b,c,t=0,s=100;a+=20;c=b*=b=a;(s/=c)%=a;t+=(a+b)*c;cout a b c s t endl;return 0;例例3、阅读程序,写出程序的运行结果。、阅读程序,写出程序的运行结果。运行程序,输出:运行程序,输出:30 900 900 0 837000高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)实践巩固实践巩固高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)第第 9 课

38、课 运算规则运算规则学习目标学习目标1.掌握掌握 C+的运算规则(优先级和结合性)。的运算规则(优先级和结合性)。2.掌握数据类型的自动转换和强制转换。掌握数据类型的自动转换和强制转换。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)在在 C+中,整型数据和实型数据可以混合运算,字符型中,整型数据和实型数据可以混合运算,字符型数据可以和整型数据通用。但是,在具体计算时,编译系统数据可以和整型数据通用。但是,在具体计算时,编译系统会自动将不同类型的数据转换成同一类型,再进行运算,称会自动将不同类型的数据转换成同一类型,再进行运算,称为数据类型的为数据类型的“自动转换自动转换

39、”。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)C+语言还规定了运算符的优先级和结合性。在表达式语言还规定了运算符的优先级和结合性。在表达式求值时,先按运算符的优先级别高低次序执行,例如先乘除求值时,先按运算符的优先级别高低次序执行,例如先乘除后加减。如果一个运算对象两侧的运算符的优先级别相同,后加减。如果一个运算对象两侧的运算符的优先级别相同,如如a-b+c,则按规定的则按规定的“结合方向结合方向”处理。算术运算符的结合处理。算术运算符的结合方向为方向为“先左后右先左后右”,又称之为,又称之为“左结合性左结合性”。有些运算符。有些运算符的结合方向为的结合方向为“自右

40、向左自右向左”,即右结合性,例如赋值运算符,即右结合性,例如赋值运算符。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)在赋值运算中,赋值号两边数据的类型不同时,赋值号在赋值运算中,赋值号两边数据的类型不同时,赋值号右边量或者表达式值的类型将自动转换为左边量的类型。右边量或者表达式值的类型将自动转换为左边量的类型。在在 C+中,除了中,除了“自动转换自动转换”外,还可以外,还可以“强制类型强制类型转换转换”。格式为:。格式为:(类型名类型名)(表达式表达式)(类型名类型名)变量变量例如:例如:(doub

41、le)a 将将a强制转换成强制转换成double型型 (int)(x+y)将将x+y的值强制转换为的值强制转换为int型型 (float)(4%3)将将4%3的值强制转换成的值强制转换成float型型高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)/p2-9-1#includeusing namespace std;int main()float pi=3.14159;int s,r=4;s=r*r*pi;cout s endl;return 0;例例1、阅读并上机调试程序,观察运行结果,体会赋值语句中阅读并上机调试程序,观察运行结果,体会赋值语句中的自动类型转换。的自动

42、类型转换。运行程序,输出:运行程序,输出:50高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)/p2-9-2#include using namespace std;int main()int x;float a=15.75;double b=323.01;cout (int)a endl;cout (int)(b+0.5)%10 endl;cout (int)b%(int)a+1 m,则,则 m自动取自动取 n 值,即保值,即保证证 n 个字符正常输出。个字符正常输出。8)“%m.nf”,输出浮点数,占,输出浮点数,占 m 列,其中有列,其中有 n 位小数位小数,如果数

43、值长度小于,如果数值长度小于 m,则左补空格。,则左补空格。9)“%-m.nf”,同上,只是使输出的数值向左端靠齐,同上,只是使输出的数值向左端靠齐,右端补空格。右端补空格。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例1、阅读并上机调试程序,体会、阅读并上机调试程序,体会 printf 函数的使用。函数的使用。/p2-10-1#includeusing namespace std;int main()printf(“%d”,1);/输出输出 1 printf(“%o”,8);/输出输出 10 printf(“%x”,17);/输出输出 11 printf(“%u”

44、,12);/输出输出 12 printf(“%c”,49);/输出输出 1 printf(“%s”,”1ab11”);/输出输出 1ab11 printf(“%f”,0.14);/输出输出 0.140000 printf(“%e”,0.1);/输出输出 1.000000e-001 printf(“%lld”,21473648);/输出输出 21473648高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)2.scanf 函数函数scanf 函数的格式为:函数的格式为:scanf(格式控制字符串(格式控制字符串,地址表列)地址表列);scanf 的作用是输入指定形式的数据。其

45、中,地址列表可以的作用是输入指定形式的数据。其中,地址列表可以是变量的地址,也可以是字符串的首地址。是变量的地址,也可以是字符串的首地址。例如:例如:int a,b;scanf(“%d,%d”,&a,&b);就表示先在内存中各开辟就表示先在内存中各开辟4个字节空间给个字节空间给a和和b,当遇到,当遇到scanf语句时,就把键盘上输入的语句时,就把键盘上输入的2个数依次存入个数依次存入a、b所在的空所在的空间(及地址中)。间(及地址中)。“&a”就表示取就表示取a变量变量的的地址,地址,“&”称为称为取地址符。简而言之,就是先找地址后放值。取地址符。简而言之,就是先找地址后放值。高等教育出版社高

46、等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)2.scanf 函数函数 使用使用scanf函数时,需要注意以下几个问题:函数时,需要注意以下几个问题:(1)如果在格式控制字符串中有其它字符,则运行程序输入数据时,)如果在格式控制字符串中有其它字符,则运行程序输入数据时,对应的位置也要输入这些相同的字符。对应的位置也要输入这些相同的字符。例如:例如:scanf(“%d,%d”,&a,&b);键盘输入应该是键盘输入应该是“3,4”,而不能是,而不能是“3 4”。(2)scanf函数输入时可以过滤掉不想读入的字符。函数输入时可以过滤掉不想读入的字符。例如:例如:scanf(“%d+%d+%d

47、”,&a,&b,&c);键盘输入:键盘输入:1+2+3 则则scanf可以无视可以无视“+”,使得,使得a,b,c的值分别为的值分别为1,2,3。再如:再如:scanf(“%3d%*3d%2d”,&m,&n);键盘输入:键盘输入:113 118 69 则则m,n的值分别为的值分别为113,69,因为,因为“*”表示跳过相应数据。表示跳过相应数据。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例2、阅读并上机调试程序,、阅读并上机调试程序,体会体会scanf的使用的使用。/p2-10-2#include#includeint main()double x1,y1,x2,

48、y2,q;scanf(%lf%lf%lf%lf,&x1,&y1,&x2,&y2);q=sqrt(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);printf(“%.3fn”,q);return 0;运行程序,输入:运行程序,输入:1.5 2.5 9.3 8.1,输出:,输出:9.602。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)3.scanf、printf 与与 cin、cout 的比较的比较 cin 是输入流,是输入流,cout 是输出流,重载了是输出流,重载了“”“”运算符,包含在头文件运算符,包含在头文件 中。中。cin 代表标准输入设备,使用提

49、取运算符代表标准输入设备,使用提取运算符“”从键盘取得数据,送到输从键盘取得数据,送到输入流对象入流对象 cin 中,然后送到内存。中,然后送到内存。cin 是自动判断变量类型,比如一个是自动判断变量类型,比如一个 char 数据只能用默认的数据只能用默认的 char 方法取数据。方法取数据。cout 先把要输出的东西存入缓冲区,遇到先把要输出的东西存入缓冲区,遇到“endl”或者或者“return 0”再输出再输出并刷新缓冲区,导致效率降低。并刷新缓冲区,导致效率降低。scanf 是格式化输入,是格式化输入,printf 是格式化输出,包含在头文件是格式化输出,包含在头文件 中。中。因为因为

50、scanf是用指针操作的,没有类型安全机制,比如对于一个是用指针操作的,没有类型安全机制,比如对于一个char类型数类型数据,你就可以用据,你就可以用“%f”获得输入,而不会报错,但在运行时会出现异常。获得输入,而不会报错,但在运行时会出现异常。scanf()函数取数据时遇到回车、空格、函数取数据时遇到回车、空格、TAB就会停止。就会停止。printf输出效率比较高,但是编写代码相对而言麻烦一些。输出效率比较高,但是编写代码相对而言麻烦一些。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例3、阅读并上机调试以下两个程序,观察程序的运行时间,阅读并上机调试以下两个程序,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(信息学奥赛课课通-第2单元-电子课件.ppt)为本站会员(ziliao2023)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|