这是国庆节前更的第一篇 ~ 继续带来灵魂科普 ~
第二章-简单程序设计
第一节 赋值语句
在C++语言中,“=”作为赋值运算符,而不表示“等于”判断。赋值语句是由赋值表达式再加上分号构成的表达式语句,它是程序中使用最多的语句之一。
变量=表达式; 在赋值语句的使用中,需要注意以下几点: 1)由于赋值运算符“=”右边的表达式也可以是赋值表达式,因此,下述形式 :
变量=(变量=表达式);是成立的,从而形成嵌套的情形。其展开之后的一般形式为: 变量=变量=…=表达式;
例如,“a=b=c=d=e=5;”,它实际上等价于:e=5;d=e;c=d;b=c;a=b;
2)在进行赋值运算时,如果赋值运算符两边的数据类型不同,系统将会自动进行类型转换,即将赋值运算符右边的数据类型转换成左边的变量类型。当左边是整型而右边是实型时,将去掉小数部分并截取该整型对应的有效位数。
例2.1
输入两个正整数A和B,试交换A、B的值(使A的值等于B,B的值等于A)。 【分析】
交换两个变量的值方法很多,一般我们采用引入第三个变量的算法,二个变量交换,可以想像成一瓶酱油和一瓶醋进行交换,这时容易想到拿一个空瓶子过来:
① 将酱油倒到空瓶中;② 将醋倒到酱油瓶中;③ 将原空瓶中的酱油倒到醋瓶中。
程序如下:
#include<iostream> //使用cin,cout,须调用iostream库
using namespace std;
int main()
{
int a,b,c; //定义三个变量
cout<<"Input a,b="; //输入提示Input a,b=
cin>>a>>b; //输入A、B的值
c=a; a=b; b=c; //交换A、B的值
cout<<"a="<<a<<" b="<<b<<endl; //输出结果
}
例2.2 圆柱体的表面积
输入底面半径r和高h,输出圆柱体的表面积,保留3位小数,格式见样例。 样例输入:3.5 9 样例输出:274.889 【分析】
圆柱体的表面积由3部分组成:上底面积、下底面积和侧面积。由于上下底面积相等,完整的公式可以写成:表面积=底面积*2+侧面积。根据平面几何知识,底面积=πR2,侧面积=2πrh。
参考程序:
#include<cstdio> //使用printf和scanf, 须调用cstdio库
#include<cmath> //使用数学函数atan,须调用cmath库
using namespace std; //在这个程序中可以省略这行
int main()
{
const double pi=3.1415926; //定义pi为常量
double r,h,s1,s2,s; //定义双精度实型,float为单精度实型
scanf("%lf%lf",&r,&h); //r和h前的&符号不能漏掉,double型用%lf
s1=pi*r*r; //计算底面积
s2=2*pi*r*h; //计算侧面积
s=2*s1+s2; //计算总的表面积
printf("Area=%0.3lf\n",s); //输出结果保留3位小数,注意用lf格式
return 0;
}
例2.3
数学中经典的“鸡兔同笼”问题,已知头共30个,脚共90只,问笼中的鸡和兔各有多少只? 【分析】
设鸡为j只,兔为t只,头为h,脚为f,那么有: j+t=30 ① 2j+4t=90 ② 假设笼中30
个头全都是兔,那么都按每头4只脚计算,总脚数为(4h),与实际脚数(f
)之差为(4h-f),如果这个差=0,则笼中全是兔(即鸡为0只);如果这个差值
0,说明多计算了脚数,凡是鸡都多计算了两只脚,用它除以2就能得到鸡的只数,算法为: ① j=(4*h - f)/2 //先用脚数差值除以2算出鸡的只数 ② t=h - j //再用总头数减鸡数算出免的只数
注意这两步运算的先后顺序。程序如下:
#include<cstdio> //使用getchar()语句, 须调用cstdio库
#include<iostream> //使用cin,cout,须调用iostream库
using namespace std;
int main()
{
int h,f,j,t; //定个变量
h=30;f=90; //赋初始值
j=(4*h-f)/2; //计算鸡的只数
t=h-j; //计算免的只数
cout<<"j="<<j<<" t="<<t<<endl; //输出结果
getchar(); //和 system("pause")作用相似,用于结果显示暂停
}
第一节内容较少 但是也是讲完啦~ 对了 要是喜欢灵魂科普的内容 那就关注我吧 我会持续更新哦