已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C+程序设计,什么是程序? 为了解决某一特定问题,用某一种计算机语言编写的指令序列称为程序。实际上你对计算机做的操作都有相应的程序支持的结果。,什么是程序设计? 程序是程序设计的结果,在执行程序前必须先排定程序,排定以时间为进程必须完成的各种操作叫程序设计。 用高级语言进行程序设计时要注意以下三个概念: 语法,每种计算机语言都有自己的语法规则。 语义,即某一语法成分的含义。 语用,即正确使用语言。,【例1】输出一行字符:“This is a C+ program.”。 #include /包含头文件名iostream using namespace std; /使用命名空间std int main() /主函数 cout “ This is a C+ program.“endl; system(“pause”); / 系统暂停 return 0; /向操作系统返回一个零值 ,程序运行显示:This is a C+ program.,【例2】求两个整数的和。 #include /包含输入输出头文件 using namespace std; /使用未命名空间std int main() /主函数 int a,b,sum; /说明变量a,b,sum为整型数 cin a b; /从键盘上输入变量a、b的值 sum = a + b; /求和 cout “Sum = “ sum endl; /输出结果 system(“pause“); /暂停输出结果 return 0; 假如从键盘输入为:2 6,程序运行显示:Sum = 8,#include引用头文件是为了能在程序中使用输入流cin和输出流cout。 using namespace std; “使用命名空间std”,句末有分号结束,是一条语句。C+标准库中的类和函数是在命名空间std中声明的。必须写,否则会出错。位置是要放到头文件之后。,返回,int main();其中main()表示主函数,每个C+程序必须有且只能有一个主函数,C+程序总是从主函数开始执行的。main()函数之前的int表示main()函数返回值为整型,这符合C+的最新标准。在花括号内的部分是函数体,函数体由语句组成,每个语句由分号结束。Cin与符号“” 结合;cout与符号“”结合使用可以输出常量、变量的值及字符串。,返回,【例3】已知一个圆的半径,求解该圆的面积和周长.令pi=3.1415926 ;输出只有一行,先周长,后面积。(中间用空格分开,都保留两位小数)。,#include /输入输出的头文件 #include /包含保留小数的头文件 using namespace std; /使用未命名空间std const double pi=3.1415926; /常量说明 int main() /主函数 int r; /整型变量说明 double c,s; /实型变量说明 cinr; /输入语句 c=2*pi*r; /赋值语句 s=pi*r*r; coutfixedsetprecision(2)c“ “sendl; system(“pause”); /系统暂停 return 0; ,一.变量的定义,intlonglong long,char,bool,float,double,规定:整型用long;实型用double,一.变量的定义,变量的定义格式是: 数据类型 变量1, 变量2, 变量3, ;,其中: (1)变量名表可以包含若干个变量,彼此之间用逗号分开,如char c1,c2; (2)变量名必须用标识符来标识。 (3)变量可以是C+基本数据类型,也可以为构造类型,还可以是用户定义的数据类型。 (4)在C+中,变量的定义可放在使用之前的任何地方。 (5)在定义变量的同时给变量赋值,即在内存中开辟出一个空间后马上给此空间赋值。但这个空间的值并不是固定不变的,在程序的运行中一样可以改变。,一.变量的定义,#include using namespace std; int main() int a, b = 1 ; /定义a,b为整型变量,并给b赋初值 float x, y = 12.345 ; /定义单精度型变量x,y,并给y赋初值 double x1, y1 ; /定义双精度型变量x,y char c1 ,c2 ; /定义字符型变量c1,c2 cout “Y=“ y endl ; /输出y的值,最后换行 system(“pause”); /系统暂停 return 0; ,二.常量的定义,常量是在程序运行过程中,其值一直保持不变的量为常量。如y=3*x中的3是不可变的,它就是常量。 C+的常量分:数字常量、字符常量、符号常量和布尔常量。,字符常量 字符常量是用单引号括起来的一个字符,其值为ASCII代码值。如a、A、x、$、#等都是合法的字符常量。注意a和A是不同的字符常量。 字符串常量是用一对双引号括起来的字符序列。如”a”、”aaa”、”123”、”CHINA”、”How do you do?”、”¥1.23”等都是字符常量。,二.常量的定义,标识符常量 在C+中有二种方法定义标识符常量,一种是使用编译预处理指令;另一种是使用C+的常量说明符const。 (1)例如: #define PRICE 30 #define PI 3.1415926 #define S “China” (2)一般形式为:const 数据类型 符号常量=常量值; 例如:const float pi=3.1415926; /将变量pi定义为常量,二.常量的定义,#include #define pi 3.14156 #define s “china“ using namespace std; int main( ) const float PI=3.14156; /变量作为常量使用 cout“PI=“PIendl; cout“10*PI=“10*PIendl; coutsendl; PI=PI+3; pi=pi+4; cout“pi=“piendl; cout“pi=“piendl; ,c+程序要区分大小写!,三.算术运算及表达式,1、算术运算符和算术表达式 + * (取整) %(取余) 用算术运算符连接起来的式子是算术表达式 两个整数相除结果为整数 1/2=0 5/2=2 整数才可求余,余数的符号与左边数的符号相同。 3%2=1 8%4=0,2、优先级与结合性 () * / % + ,三.算术运算及表达式,3.自增、自减运算符+、- +:其功能是使变量的值自增1。 -:其功能是使变量值自减1。 自增1,自减1运算符均为单目运算,都具有右结合性。可有以下几种形式: +i:i自增1后再参与其它运算(先增后用)。 -i:i自减1后再参与其它运算(先减后用)。 i+:i参与运算后,i的值再自增1(先用后增)。 i-:i参与运算后,i的值再自减1(先用后减)。,【例】 自增、自减运算符。 #include using namespace std; int main() int i = 8 ; cout +i endl ; cout -i endl; cout i+ endl; cout i- endl; system(“pause“); ,运行结果: 9 8 8 9,4.表达式的书写格式 在C+程序中,表达式的书写也应注意。下面将数学上的表达式与C+的表达式做一个对比: 数学表达式 合法的C+表达式 a(-b) a*(-b) abcd a*b-c*d 2(b+y/c)+8 2*(b+y/c)+8 x2+3x+2 x*x+3*x+2,四.赋值运算,1.赋值运算符:如 year=2008 注意: “=”左边必须是一个变量名。 若“ = ” 两边变量类型不同,在赋值时要进行类型转换。 转换原则:根据左边变量的类型转换。 int a,b=3; double c=1.5; a=b-c;,四.赋值运算,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。,四.赋值运算,3.复合赋值运算符 由复合赋值运算符(+=,-=,*=,/=,%=)构成复合赋值表达式,一般形式为: V oper= E; 其中:设定 oper 表示算术运算符,E是一个表达式,V为变量。实质上上述表达式等价于V=V oper E。例如: a+=3; 等价于 a=a+3; a%=2;等价于 a=a%2; a%=b+2;等价于 a=a%(b+2);而不是 a=a%b+2 a*=x-y; 等价于 a=a*(x-y);而不是 a=a*x-y(括号不能丢),四.赋值运算,【例题】 输出赋值表达式的运算结果。 #include Using namespace std; int main() int a,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) coutabcdeendl; system(“pause”); ,2 1 5 3 3,五.类型转换,(一)自动类型转换 整型、实型、字符型数据间可以混合运算。在进行运算时,不同类型的数据要先转换成同一类型的数据再进行运算。 【例如】10+a+1.5-0.5*b,五.类型转换,(二)强制类型转换 其一般形式为: 数据类型(操作数)或(数据类型)操作数 其中操作数可以是变量名或表达式,功能是把操作数的数据类型暂时强行转换为前面指定的数据类型。例如: double (a) /将a转换成double型 int (x+y) /将x+y的值转换成int型 float (5%3) /将5%3的值转换成float型,五.类型转换,#include using namespace std; int main() float x=5.6,y=7.8; float z; z=int(x+y); /强制转换x+y的值的类型为整型 cout”x+y=”x+yendl; /直接输出x+y的值(float型) cout”z=”zendl; system(“pause”); ,x+y=13.4 z=13,六.输入语句cin,输入语句格式: cin变量1变量2变量n;,【例 3.3】变量的输入。 #include using namespace std; int main() int a; double b; char c; cinabc; cout”a=”a”,b=”b”nc=”c”n”; system(“pause”); 假如从键盘输入为:1 2 3,六.输入语句cin,使用cin时要注意: (1)“”是输入操作符。 (2)cin的功能是:当程序在运行过程中执行到cin时,程序会暂停执行并等待用户从键盘输入相应数目的数据,用户输入完数据并回车后,cin从输入流中取得相应的数据并依次传送给其后的变量。 (3)“”操作符后面除了变量名外不得有其他常量、字符、字符串常量或转义字符等。如: cin”x=”x; /错误,因为含有字符串”x=” cinxx; /错误,因为含有字符x cinx10; /错误,因为含有常量10 cinxendl; /错误,因为含有endl (4)当一个cin后面跟有多个变量时,则用户输入数据的个数应与变量的个数相同,各数据之间用一个或多个空格隔开,输入完毕后按回车键,或者每输入一个数据后按回车键也可。 (5)在缺省的情况下,cin自动跳过输入的空格,换言之,cin不能将输入的空格赋给字符型变量,同样地,回车键也是作为输入字符之间的分隔符,也不能将输入的回车键字符赋给字符型变量。,七.输出语句cout,1.无格式输出: cout coutendl;,七.输出语句cout,【例 3.1】 输出变量、常量与表达式。 #include using namespace std; int main() int a=10; double b=20.3; char c=y; couta,b,c,a+bendl; cout200,2.5,”hellon”; system(“pause”); ,七.输出语句cout,2.格式输出 【例题】 输出变量amount的值,小数点后面保留两位有效数字。 #include #include /要用到格式控制符 using namespace std; int main() double amount = 22.0/7; coutamountendl; coutsetprecision (2)amount endl; coutfixedsetprecision(2)amountendl; system(“pause”); ,运行结果为: 3.14286 3.1 3.14,顺序结构程序设计,【例题题目】:交换两个变量的值。由键盘输入两个正整数a和b,编写程序完成两个数的互换。,#include using namespace std; int main() long a,b,c; cinab; c= a; 等价于步骤1 a = b; 等价于步骤2 b = c; 等价于步骤3 couta“ ”bendl; system(“pause”); ,【例题题目】:倒序 【问题描述】:从键盘输入一个三位数,将其各位数字倒序输出。 【文件输入】:输入一个三位数 【文件输出】:倒序输出此三位数 【样例输入】:123 【样例输出】:321,方法一: #include using namespace std; int main() long a,b,c,x,y; cinx; a=x/100; b=x/10%10; c=x%10; y=c*100+b*10+a; coutyendl; system(“pause”); ,想一想:如果为四位数怎么办?,方法二: #include using namespace std; int main() char a,b,c,d; cinabc; coutcbaendl; system(“pause”); ,【例题题目】求商数和余数 【问题描述】输入a,b两个整数,编程求出a除以b得到的商和余数。 【文件输入】输入一行,只有两个整数(中间有空格)。 【文件输出】输出只有一行,两个整数(中间有空格)。 【样例输入】7 3 【样例输出】2 1,练习试题:,#include using namespace std; int main
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年拍摄导演人员招聘面试题库及参考答案
- 宁乡护士考核题库及答案
- 2025年行为分析师招聘面试题库及参考答案
- 新疆铁路考试题库及答案
- 2025年公用设施经理招聘面试参考题库及答案
- 中级消防题库及答案详解
- 2025年场馆运营经理招聘面试题库及参考答案
- 2025年健康安全专家招聘面试题库及参考答案
- 2025年航空公司客服招聘面试题库及参考答案
- 2025年农业科技特派员招聘面试题库及参考答案
- 宜兴市入湖河道综合整治工程报告书
- 管道清淤工程施工方案范本
- 《常见沉淀池设计计算方法》课件
- 营销科学(中级)营销师-巨量千川认证考试题库(附答案)
- 建筑塔式起重机安全规程
- 《城市轨道交通车载轨道高速巡检系统技术规范》
- 房地产 -JGJT46-2024《施工现场临时用电安全技术标准》条文解读
- 部编高教版2023·职业模块 中职语文 品质
- 2024年勘察劳务分包合同
- 2025届重庆市康德卷物理高二第一学期期中达标检测试题含解析
- (人教版2024)数学三年级上册第6单元《多位数乘一位数》大单元教学课件
评论
0/150
提交评论