




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序设计总结一、C+语言常用基本数据类型类型名说明字节范围charchar字符型l-128+127intshort int短整型2-3276832767int整型4-2147483648-2147483647long int长整型4-21474836482147483647long long8实数(浮点数)float单精度浮点型4约6位有效数字double双精度浮点型8约8位有效数字long double长双精度浮点型16约12位有效数字二、变量定义变量定义的两个要素:变量的数据类型 变量名称;形象地说:变量定义就是给一个可以装东西的盒子取名字和规定它可以装什么类型的东西。例如:int num
2、ber;这里变量名称为number,是整数类型,;表示变量说明结束。也就是定义了一个名称为number的盒子,该盒子只能装整数。实验程序1实验程序2#include<iostream>using namespace std;int main()int a=34,b=56; a=a+b; b=a-b; a=a-b;cout<<”a=”<<a;oout<<”b=”<<b; system(“pause”); return 0;程序输出:#include<iostream>using namespace std;int main(
3、) int tmp,count; tmp=4+1; count=tmp+2; tmp=count+2*tmp; cout<<"tmp=”<<tmp;cout<<”count="<<count; system(“pause”); return 0;程序输出:三、常量定义常量是指在程序运行过程中不发生改变的量。常量在程序中有三种表现形式:1、直接写出数字:例如:r=12.3; 这里的12.3就是常量;2、用#define来定义,见下面的试验程序2;3、用const 来定义,见下面的试验程序3;例如:#define maxn 100
4、 const double pi=3.14; 程序中定义常量一般写在#include下面,main()函数上面。四、数学运算符、关系运算符、逻辑运算符1)数学运算符: +(加) 、-(减) 、*(乘) 、/(除法) 、%(求余) 除法运算:/ 的规则与数学不同:a/b 如果a和b是整数,则a/b的结果也是整数,例如: 34/7=4、 -34/7=-4、 34/-7=-4、 -34/-7=4 如果a和b中有一个为浮点数,则运算结果就是浮点数,例如: 25.0/4=6.25、 25/4.0=6.25 、 25.0/4.0=6.25求余运算:% 的运算规则是:设a、b都是整数,则a%b=a-(a/b
5、)*b 。例如: 34%7 = 34-(34/7)*7 = 34-4*7 = 6 ; -34%7 = -34-(-34/7)*7 = 34-(-4*7) = -6 ;34%-7 = 34-(34/-7)*-7 = 34-(-4*-7) = 6 ;-34%-7 = -34-(-34/-7)*-7 = -34-(4*-7) = -6 ;算术运算符号的优先级关系:* / % 优先于 + -2)关系运算符: >(大于)、<(小于)、>=(大于等于)、<=(小于等)、=(等于)、!= (不等于) 关系运算符用于比较数量关系,其运算结果只有两种:0(错误false)、非0(正确tr
6、ue)。 例如:3>5 的值为0 5>=5的值为非0 5!=5的值为05<=5的值为非0、 5=5的值为非0 a<A 的值为0 hebis>hebing 的值为非0 13>123 的值为0 0<A 的值为非0 B>65的值为0 c<100 的值为非0 关系运算符号的优先级关系:>、>=、<、<= 优先于 =、!=3)逻辑运算符: &&(与) 、|(或) 、!(非) &&的运算规则:a && b 在a、b都为非0(正确)的时候才正确,其他情况均为0(错误) &&a
7、mp;的运算规则:a && b 在a、b都为0(错误)的时候才错误,其他情况均为1(正确) !的运算规则:当a=0时,!a为非0; 当a=1时,!a为0; 逻辑运算符的优先级关系:! 优于&& 优于 | 举例: 数学表达式 -2 <= x < 10 的C语言条件表达式: x是奇数的条件表达式: x是偶数的条件表达式: x能被11整除的条件表达式: x能被4整除但不能被100整除,或者能被400整除的C语言表达式: 五、输入、输出语句cout格式:cout<<”hello”; /原样输出hello这几个字母 cout<<a; /
8、输出变量a的值 cout<<a+1<<a+b; /输出表达式a+1和a+b的值 cout<<endl; /回车换行功能:将一些内容按程序员的指定格式输出到计算机屏幕上。cin格式:cin>>a; /从键盘输入,并将其值赋给变量a功能:从键盘接受输入,并将输入数据存放到变量中。六、赋值语句格式:变量 = 表达式;功能:让变量的值等于表达式的值,先计算表达式的值,然后赋給左边的变量。其中=称为赋值运算符号。实验程序3:实验程序4:#include<iostream>using namespace std;int main() int a,
9、b,t; cin>>a>>b; t=a; a=b; b=t;cout<<"a=”<<a;cout<<”b="<<b<<endl; system(“pause”); return 0;输入:34 56输出:#include<iostream>using namespace std;int main() int a,b; scanf("%d%d",&a,&b); a+=b; b-=a; a*=2; b%=3;cout<<"a=
10、”<<a<<”b="<<b; cout<<"OK!"system(“pause”);return 0;输入:5 8输出:要特别说明的是:实验程序5是 实现交换两个变量值 的程序。七、分支语句格式:if(条件) 语句1; else 语句2; 功能:如果 条件成立 则执行语句1,否则执行语句2; 其中,上面的格式中 ”else 语句2;” 可以省略。实验程序5:实验程序6:例题1:输入一个整数,判断它是否为偶数。如果是,则输出”yes”,否则输出”no”。例题2:输入一个浮点数,输出它的绝对值,保留2位小数。输入数据:输
11、入一个整数到变量x中;解答方法+输出答案:如果x能被2整除,则输出yes, 否则输出no#include<iostream>using namespace std;int main() int x; cin>>x; if(x%2=0) cout<<"yes"<<endl; else cout<<"no"<<endl; system(“pause”); return 0;输入数据:输入一个浮点数到变量x中;解答方法: 变量y=x;如果x<0,则y=-x;输出答案:输出y;#inc
12、lude< iostream >using namespace std;int main() duble x,y; cin>>x; y=x; if(x<0) y=-x; cout<<y; system(“pause”); return 0;if语句嵌套if(条件1) 语句1;elseif(条件2) 语句2; else 语句3; 实验程序7二次函数求解 #include<iostream>using namespace std;int main()int a,b,c; float q; cout<<"本程序是输出二次函数
13、的解。"<<endl; cout<<"请输入a,b,c的值:" cin>>a>>b>>c; if(a=0) cout<<"输入错误。" else cout<<"该二元一次方程式为y="<<a<<"*x*x+"<<b<<"*x+"<<c<<endl; q=b*b-4*a*c; if(q<0) cout<<"
14、此方程无解。"<<endl; else cout<<"此方程有解。"<<endl; system("pause"); return 0; 多重分支语句switchswitch语句是多分支的选择语句。嵌套的if语句可以处理多分支选择。但是,用switch语句更加直观。语法格式为: switch (变量或表达式)
15、 case 常量表达式1:<语句序列1>;break; case 常量表达式2:<语句序列2>; break;
16、60; case 常量表达式n:<语句序列n>; break; default:<语句序列n+1>; break; 流程图如下:变量或表达式常量表达式1常量表达式2常量表达式3常量表达式default语句1语句2语句3语句4语句nbreakbreakbreakbreakbreak实验程序8: #in
17、clude<iostream> using namespace std; int main() char grade; cout<<"请输入成绩等级:"<<endl; cin>>grade; switch (grade) case A: cout << “85100”<<endl; break; case B: cout << “7084”<<endl; break; case C: cout << “6069”<<endl; break; case D:
18、 cout << “<60”<<endl; break; default: cout << “error”<<endl; break; system("pause"); return 0; 九、库函数调用由于运算的需要,在C+程序中已包含一些常用的库函数,如<cmath>数学函数库中包含了我们数学计算中的所有函数,通过调用这些函数,就可以实现相应的运算,方便很多。cmath函数库中的函数如下所示:<cmath>数学函数库中所包含的函数求绝对值函数int abs ( int x )正弦函数doubl
19、e sin ( double x ) 反正弦函数double asin ( double x ) ex函数double exp ( double x )lnx函数double log ( double x )log10x函数double log10 ( double x ) 函数double sqrt ( double x ) 以lnx函数double log ( double x )为例,其中第一个double为这个函数的类型-双精度浮点型,log为函数的名称,括号中的double为参数x的类型。我们在调用的该函数的时候不必写出函数类型与参数类型。如何调用这些库函数,从下面的例子中来看:实验
20、程序11:中国人口增长问题注释#include<iostream>#include<cmath>using namespace std;int main() double x,y;cin>>x;y=13*pow(1+0.01,x);cout<<y; system("pause"); return 0; 首先申明要调用的数学函数库在调用时不必写函数的类型和参数的类型。pow是指数函数,其后的括号中的第一项为指数函数的底,第二项为指数函数的指数,中间用都含隔开。在调用相应函数时需注意格式规范。九、程序设计实例程序设计解答问题的三段
21、论:输入数据 è 解答方法 è 答案输出所以在程序设计的时候,要依次弄清楚如下问题:1、需要定义那些变量及他们的数据类型,用于存储输入数据、运算的中间结果和答案;2、需要输入那些数据;3、解答方法是什么?4、输出答案及输出答案的格式是什么。例:圆柱体的表面积输入底面半径r和高为h,输出圆柱体的表面积,保留3位小数,格式见样例。 样例输入:3.5 9 样例输出:Area=274.889分析:程序:输入数据:输入r和h;解答方法:底面积:s1=3.14*r*r; 侧面积:s2=2*3.14*r*h; 表面积:s=2*s1+s2;答案输出: 按样例格式输出表面积(保留2位小数)例
22、:三位数反转 输入一个三位数,分离出他们的百位、十位和个位,反转后输出。样例输入:127样例输出:721分析:输入数据:输入整数n;解答方法: 计算n的个位:a=n%10; 计算n的十位:b=n/10%10; 计算n的十位:c=n/100; 反转后的数是:m=a*100+b*10+c;答案输出: 输出m的值例:鸡兔同笼 已知鸡和兔的总量为n,总腿数为m,输入n和m,依次输出鸡的数目和兔的数目。 样例输入1:14 32 样例输出1:12 2 样例输入2:10 16 样例输出2:No answer分析:按照程序解答问题的三段论:1、输入数据:n和m;2、解答方法:设鸡有x只,兔有y只,则列方程:
23、解方程得: , 这里,x和y必须为正整数。 3、输出答案:如果“m是偶数,且x>0,且y>0”,则该题目解是x和y,否则输出No answer。 x和y必须为正整数 程序的语言描述用c+语言补充完整定义n,m,x,y四个整数变量;输入变量n,m的值;x=(4n-m)/2;y=(m-2n)/2;如果m是偶数且x>0且y>0 输出x和y的值,中间隔一个空格否则 输出No answer#include<iostream>using namespace std;int main() If ) else system(“pause”); return 0; 例:三数排
24、序输入三个数,将他们从小到大排序后输出。解法1: 1、输入数据:a,b,c; 2、解答方法并输出答案: 如果a>b>c,则输出 a b c的值; 如果a>c>b,则输出 a c b的值; 如果b>a>c,则输出 b a c的值; 如果b>c>a,则输出 b c a的值; 如果c>a>b,则输出 c a b的值; 如果c>b>a,则输出 c b a的值; 解法: 1、输入数据:a,b,c; 2、解答方法: 如果a>b,则交换a,b的值; 如果a>c,则交换a,c的值; 如果b>c,则交换b,c的值; 3、输
25、出答案:输出a,b,c的只值 解法2的程序#include<stdio.h>int main() int a,b,c,t; scanf("%d%d%d",&a,&b,&c); if(a>b) t=a; a=b; b=t; if(a>c) t=a; a=c; c=t; if(b>c) t=b; b=c; c=t; printf("%d %d %dn",a,b,c); return 0;附录1:ASCII 码表 下表列出了ASCII字符集。每一个字符有它的十进制值,十六进制值,终端上的显示结果,ASCII
26、助记名,和ASCII控制字符定义。十进制数值十六进制值终端显示ASCII助记名 备注000NUL空101ASOH文件头的开始202BSTX文本的开始303CETX文本的结束404DEOT传输的结束505EENQ询问606FACK确认707GBEL响铃8 08HBS后退909IHT水平跳格100AJLF换行110BKVT垂直跳格120CLFF格式馈给130DMCR回车140ENSO向外移出150FOSI向内移入1610PDLE数据传送换码1711QDC1设备控制11812RDC2设备控制21913SDC3设备控制32014TDC4设备控制42115UNAK否定2216VSYN同步空闲2317WETB传输块结束2418XCAN取消2519YEM媒体结束261AZSUB减271BESC退出281C*FS域分隔符291DGS组分隔符301ERS记录分隔符311F_US单元分隔符3220(Space)Space3321|34223523#3624$3725%3826&39274028(4129)422A*432B+442C,452D-462E.472F/48300493115032251333523445335554366553775638857399583A:593B;6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 销售管理岗位竞聘述职报告
- 小学餐桌礼仪教育
- 定期配送服务合同范本
- 重庆外墙保温合同范本
- 土地项目转让合同范本
- 店面买卖合同范例
- 驾校转让协议书范例二零二五年
- 消防水池防水施工合同
- 卤味小吃售卖合同范本
- 劳动合同补充协议社保协议二零二五年
- 2024年甘肃省农垦集团有限责任公司招聘笔试参考题库含答案解析
- 河南省文物保护单位名录
- 包装设计-超级全完整的课件
- 写景作文ppt课件完美版
- mysql数据库考试试题及答案
- 孕期免疫系统:如何增强免疫力
- 物流配送员劳动合同
- 同等学力申硕英语词汇
- 软件工程导论课件(第六版)(张海潘编著)(1-13章)
- 本科毕业设计-年产110万吨氧化铝石灰拜耳法溶出车间设计
- 2023-2024学年广东广州天河区明珠中英文学校数学三上期末联考试题含答案
评论
0/150
提交评论