




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高中信息竞赛顺序程序设计第一页,共四十一页,编辑于2023年,星期六什么是程序?为了解决某一特定问题,用某一种计算机语言编写的指令序列称为程序。实际上你对计算机做的操作都有相应的程序支持的结果。第二页,共四十一页,编辑于2023年,星期六什么是程序设计?程序是程序设计的结果,在执行程序前必须先排定程序,排定以时间为进程必须完成的各种操作叫程序设计。用高级语言进行程序设计时要注意以下三个概念:语法,每种计算机语言都有自己的语法规则。语义,即某一语法成分的含义。语用,即正确使用语言。第三页,共四十一页,编辑于2023年,星期六【例1】输出一行字符:“ThisisaC++program.”。#include<iostream>//包含头文件名iostreamusingnamespacestd;//使用命名空间stdintmain()//主函数{cout<<"ThisisaC++program.“<<endl;system(“pause”); //系统暂停
return0;//向操作系统返回一个零值}程序运行显示:ThisisaC++program.第四页,共四十一页,编辑于2023年,星期六【例2】求两个整数的和。#include<iostream>//包含输入输出头文件usingnamespacestd;//使用未命名空间stdintmain()//主函数{inta,b,sum; //说明变量a,b,sum为整型数
cin>>a>>b; //从键盘上输入变量a、b的值
sum=a+b; //求和
cout<<"Sum="<<sum<<endl; //输出结果
system("pause");//暂停输出结果
return0;}假如从键盘输入为:26程序运行显示:Sum=8第五页,共四十一页,编辑于2023年,星期六
#include<iostream>引用头文件是为了能在程序中使用输入流cin和输出流cout。
usingnamespacestd;“使用命名空间std”,句末有分号结束,是一条语句。C++标准库中的类和函数是在命名空间std中声明的。必须写,否则会出错。位置是要放到头文件之后。返回第六页,共四十一页,编辑于2023年,星期六
intmain();其中main()表示主函数,每个C++程序必须有且只能有一个主函数,C++程序总是从主函数开始执行的。main()函数之前的int表示main()函数返回值为整型,这符合C++的最新标准。在花括号内的部分是函数体,函数体由语句组成,每个语句由分号结束。Cin与符号“>>”
结合;cout与符号“<<”结合使用可以输出常量、变量的值及字符串。
返回第七页,共四十一页,编辑于2023年,星期六【例3】已知一个圆的半径,求解该圆的面积和周长.令pi=3.1415926;输出只有一行,先周长,后面积。(中间用空格分开,都保留两位小数)。
#include<iostream>//输入输出的头文件#include<iomanip>//包含保留小数的头文件usingnamespacestd;//使用未命名空间stdconstdoublepi=3.1415926;//常量说明intmain()//主函数{intr;//整型变量说明doublec,s;//实型变量说明cin>>r;//输入语句c=2*pi*r;//赋值语句s=pi*r*r;cout<<fixed<<setprecision(2)<<c<<""<<s<<endl;system(“pause”);//系统暂停return0;}第八页,共四十一页,编辑于2023年,星期六一.变量的定义int—long—longlongcharboolfloatdouble规定:整型用long;实型用double第九页,共四十一页,编辑于2023年,星期六一.变量的定义变量的定义格式是:数据类型变量1,变量2,变量3,……;其中:(1)变量名表可以包含若干个变量,彼此之间用逗号分开,如charc1,c2;
(2)变量名必须用标识符来标识。(3)变量可以是C++基本数据类型,也可以为构造类型,还可以是用户定义的数据类型。(4)在C++中,变量的定义可放在使用之前的任何地方。(5)在定义变量的同时给变量赋值,即在内存中开辟出一个空间后马上给此空间赋值。但这个空间的值并不是固定不变的,在程序的运行中一样可以改变。第十页,共四十一页,编辑于2023年,星期六一.变量的定义#include<iostream>usingnamespacestd;intmain(){inta,b=1; //定义a,b为整型变量,并给b赋初值
floatx,y=12.345;//定义单精度型变量x,y,并给y赋初值
doublex1,y1;//定义双精度型变量x,ycharc1,c2;//定义字符型变量c1,c2cout<<"Y="<<y<<endl;//输出y的值,最后换行
system(“pause”);//系统暂停
return0;}第十一页,共四十一页,编辑于2023年,星期六二.常量的定义常量是在程序运行过程中,其值一直保持不变的量为常量。如y=3*x中的3是不可变的,它就是常量。
C++的常量分:数字常量、字符常量、符号常量和布尔常量。
字符常量字符常量是用单引号括起来的一个字符,其值为ASCII代码值。如’a’、’A’、’x’、’$’、’#’等都是合法的字符常量。注意’a’和’A’是不同的字符常量。字符串常量是用一对双引号括起来的字符序列。如”a”、”aaa”、”123”、”CHINA”、”Howdoyoudo?”、”¥1.23”等都是字符常量。
第十二页,共四十一页,编辑于2023年,星期六二.常量的定义标识符常量在C++中有二种方法定义标识符常量,一种是使用编译预处理指令;另一种是使用C++的常量说明符const。(1)例如:
#definePRICE30#definePI3.1415926#defineS“China”(2)一般形式为:const数据类型符号常量=常量值;例如:constfloatpi=3.1415926;//将变量pi定义为常量第十三页,共四十一页,编辑于2023年,星期六二.常量的定义#include<iostream>#definepi3.14156#defines"china"usingnamespacestd;intmain(){constfloatPI=3.14156; //变量作为常量使用
cout<<“PI="<<PI<<endl;cout<<"10*PI="<<10*PI<<endl;cout<<s<<endl;PI=PI+3;pi=pi+4;cout<<"pi="<<pi<<endl;cout<<"pi="<<pi<<endl;}
c++程序要区分大小写!第十四页,共四十一页,编辑于2023年,星期六三.算术运算及表达式1、算术运算符和算术表达式
+-*/(取整)%(取余)用算术运算符连接起来的式子是算术表达式两个整数相除结果为整数
1/2=05/2=2
整数才可求余,余数的符号与左边数的符号相同。
3%2=18%4=02、优先级与结合性()*/%
+—第十五页,共四十一页,编辑于2023年,星期六三.算术运算及表达式3.自增、自减运算符++、--++:其功能是使变量的值自增1。
--:其功能是使变量值自减1。自增1,自减1运算符均为单目运算,都具有右结合性。可有以下几种形式:
++i:i自增1后再参与其它运算(先增后用)。
--i:i自减1后再参与其它运算(先减后用)。
i++:i参与运算后,i的值再自增1(先用后增)。
i--:i参与运算后,i的值再自减1(先用后减)。第十六页,共四十一页,编辑于2023年,星期六【例】自增、自减运算符。#include<iostream>usingnamespacestd;intmain(){inti=8;cout<<++i<<endl;cout<<--i<<endl;cout<<i++<<endl;cout<<i--<<endl;system("pause");}运行结果:9889第十七页,共四十一页,编辑于2023年,星期六4.表达式的书写格式在C++程序中,表达式的书写也应注意。下面将数学上的表达式与C++的表达式做一个对比:数学表达式合法的C++表达式
a×(-b)a*(-b)ab-cda*b-c*d2(b+y/c)+82*(b+y/c)+8x2+3x+2x*x+3*x+2第十八页,共四十一页,编辑于2023年,星期六四.赋值运算1.赋值运算符:如year=2008注意:“=”左边必须是一个变量名。若“=”两边变量类型不同,在赋值时要进行类型转换。转换原则:根据左边变量的类型转换。
inta,b=3;doublec=1.5;a=b-c;第十九页,共四十一页,编辑于2023年,星期六四.赋值运算2.赋值表达式用赋值运算符将变量和表达式连接起来的式子称为赋值表达式,一般形式为:
变量=表达式;例如:
x=8;
y=x;
z=x+y;说明:对于不同的变量V1、V2、……Vn,V1=V2=……=Vn=表达式;还是一个赋值表达式,称为多重赋值。执行时,把表达式的值按照Vn、……、V2、V1的顺序依次赋给每个变量。如a=b=c=1,运算时,先执行c=1,然后把它的结果赋给b,再把b的赋值表达式的结果1赋给a。第二十页,共四十一页,编辑于2023年,星期六四.赋值运算3.复合赋值运算符由复合赋值运算符(+=,-=,*=,/=,%=)构成复合赋值表达式,一般形式为:
Voper=E;
其中:设定oper表示算术运算符,E是一个表达式,V为变量。实质上上述表达式等价于V=VoperE。例如:
a+=3;等价于a=a+3;a%=2;等价于a=a%2;a%=b+2;等价于a=a%(b+2);而不是a=a%b+2a*=x-y;等价于a=a*(x-y);而不是a=a*x-y(括号不能丢)第二十一页,共四十一页,编辑于2023年,星期六四.赋值运算【例题】输出赋值表达式的运算结果。#include<iostream>Usingnamespacestd;intmain(){inta,b,c,d,e=7;a=b=1;c=5;d=a++;d*=a+b;//等价于d=d*(a+b)e%=c-b;//等价于e=e%(c-b)cout<<a<<b<<c<<d<<e<<endl;system(“pause”);}21533第二十二页,共四十一页,编辑于2023年,星期六五.类型转换
(一)自动类型转换整型、实型、字符型数据间可以混合运算。在进行运算时,不同类型的数据要先转换成同一类型的数据再进行运算。【例如】10+'a'+1.5-0.5*'b'
第二十三页,共四十一页,编辑于2023年,星期六五.类型转换
(二)强制类型转换其一般形式为:
数据类型(操作数)或(数据类型)操作数其中操作数可以是变量名或表达式,功能是把操作数的数据类型暂时强行转换为前面指定的数据类型。例如:
double(a)//将a转换成double型
int(x+y)//将x+y的值转换成int型
float(5%3)//将5%3的值转换成float型第二十四页,共四十一页,编辑于2023年,星期六五.类型转换
#include<iostream>usingnamespacestd;intmain(){floatx=5.6,y=7.8;floatz;z=int(x+y);//强制转换x+y的值的类型为整型
cout<<”x+y=”<<x+y<<endl;//直接输出x+y的值(float型)cout<<”z=”<<z<<endl;system(“pause”);}x+y=13.4z=13第二十五页,共四十一页,编辑于2023年,星期六六.输入语句cin
输入语句格式:
cin>>变量1>>变量2…>>变量n;【例3.3】变量的输入。#include<iostream>usingnamespacestd;intmain(){inta;doubleb;charc;cin>>a>>b>>c;cout<<”a=”<<a<<”,b=”<<b<<”\nc=”<<c<<”\n”;system(“pause”);}假如从键盘输入为:123第二十六页,共四十一页,编辑于2023年,星期六六.输入语句cin
使用cin时要注意:(1)“>>”是输入操作符。(2)cin的功能是:当程序在运行过程中执行到cin时,程序会暂停执行并等待用户从键盘输入相应数目的数据,用户输入完数据并回车后,cin从输入流中取得相应的数据并依次传送给其后的变量。(3)“>>”操作符后面除了变量名外不得有其他常量、字符、字符串常量或转义字符等。如:
cin>>”x=”>>x;//错误,因为含有字符串”x=”cin>>’x’>>x;//错误,因为含有字符’x’cin>>x>>10;//错误,因为含有常量10cin>>x>>endl;//错误,因为含有endl(4)当一个cin后面跟有多个变量时,则用户输入数据的个数应与变量的个数相同,各数据之间用一个或多个空格隔开,输入完毕后按回车键,或者每输入一个数据后按回车键也可。(5)在缺省的情况下,cin自动跳过输入的空格,换言之,cin不能将输入的空格赋给字符型变量,同样地,回车键也是作为输入字符之间的分隔符,也不能将输入的回车键字符赋给字符型变量。第二十七页,共四十一页,编辑于2023年,星期六七.输出语句cout
1.无格式输出:
cout<<输出项1<<输出项2…<<输出项n;
说明:(1)“输出项”是需要输出的一些数据,这些数据可以是变量、常量或表达式。每个输出项前都必须使用插入操作符<<进行引导;由双引号引起来的内容,是把引号里面的内容原样输出。(2)在cout中,实现输出数据换行功能的方法是:既可以使用转义字符’\n’,也可以使用表示行结束的流操作符endl。即:cout<<“\n”;<=>cout<<endl;第二十八页,共四十一页,编辑于2023年,星期六七.输出语句cout
【例3.1】输出变量、常量与表达式。#include<iostream>usingnamespacestd;intmain(){inta=10;doubleb=20.3;charc=’y’;cout<<a<<’,’<<b<<’,’<<c<<’,’<<a+b<<endl;cout<<200<<’,’<<2.5<<’,’<<”hello\n”;system(“pause”);}第二十九页,共四十一页,编辑于2023年,星期六七.输出语句cout
2.格式输出【例题】输出变量amount的值,小数点后面保留两位有效数字。#include<iostream>#include<iomanip>//要用到格式控制符usingnamespacestd;intmain(){doubleamount=22.0/7;cout<<amount<<endl;cout<<setprecision(2)<<amount<<endl;cout<<fixed<<setprecision(2)<<amount<<endl;system(“pause”);}运行结果为:3.142863.13.14第三十页,共四十一页,编辑于2023年,星期六顺序结构程序设计AB第三十一页,共四十一页,编辑于2023年,星期六【例题题目】:交换两个变量的值。由键盘输入两个正整数a和b,编写程序完成两个数的互换。#include<iostream>usingnamespacestd;intmain(){longa,b,c;cin>>a>>b;c=a; {等价于步骤1}
a=b; {等价于步骤2}
b=c; {等价于步骤3}
cout<<a<<“”<<b<<endl;system(“pause”);}第三十二页,共四十一页,编辑于2023年,星期六【例题题目】:倒序【问题描述】:从键盘输入一个三位数,将其各位数字倒序输出。【文件输入】:输入一个三位数【文件输出】:倒序输出此三位数【样例输入】:123【样例输出】:321第三十三页,共四十一页,编辑于2023年,星期六方法一:#include<iostream>usingnamespacestd;intmain(){longa,b,c,x,y;cin>>x;a=x/100;b=x/10%10;c=x%10;y=c*100+b*10+a;cout<<y<<endl;system(“pause”);}想一想:如果为四位数怎么办?第三十四页,共四十一页,编辑于2023年,星期六方法二:#include<iostream>usingnamespacestd;intmain(){chara,b,c,d;cin>>a>>b>>c;cout<<c<<b<<a<<endl;system(“pause”);}第三十五页,共四十一页,编辑于2023年,星期六【例题题目】求商数和余数
【问题描述】输入a,b两个整数,编程求出a除以b得到的商和余数。【文件输入】输入一行,只有两个整数(中间有空格)。【文件输出】输出只有一行,两个整数(中间有空格)。【样例输入】73【样例输出】21
练习试题:第三十六页,共四十一页,编辑于2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年新教材高中生物 第3章 细胞的代谢 第5节 第2课时 光合作用的过程与影响光合作用的环境因素教学实录 浙科版必修第一册
- 2025人教版小学四年级数学下册知识点全册教案
- 6《千人糕》教学设计-2023-2024学年统编版语文二年级下册
- 2024年六年级品社下册《让科学技术走进生活》教学实录2 冀教版
- 3 主动拒绝烟酒与毒品(教学设计)-2024-2025学年统编版道德与法治五年级上册
- 10 我们所了解的环境污染《从白色污染说起》(教学设计)-部编版道德与法治四年级上册
- 6-2金属的性质及应用-2024-2025学年九年级上学期沪教版(2024)教学设计
- 2 平行四边形的初步认识(教学设计)-2024-2025学年二年级上册数学 苏教版
- 2024-2025学年高中历史 第六单元 第3课 资产阶级民主革命的酝酿和爆发教学实录1 新人教版选修2
- 以我手写我心-五年级习作五教学设计教案教学设计
- 2023年台州市中考科学(正卷)和答案
- 经典美味的宫保鸡丁
- 孤独症儿童心智解读能力
- 2023-2024学年人教版(2019)必修 第三册Unit 2 Morals and Virtues Reading and Thinking 课件(22张)
- 特需病房服务流程
- 横贯性脊髓炎演示课件
- 《警察现场急救》课件
- 于永正教育文集:于永正:我怎样教语文
- 阴道炎的预防和治疗
- 国家义务教育质量监测德育-道德与法治四年级创新作业测试卷附答案
- 零食店食品安全管理制度范本
评论
0/150
提交评论