c++灵魂科普(3)

这是国庆节前更的第一篇 ~ 继续带来灵魂科普 ~

第二章-简单程序设计

第一节 赋值语句

在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
)之差为(4
h-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")作用相似,用于结果显示暂停
}

第一节内容较少 但是也是讲完啦~ 对了 要是喜欢灵魂科普的内容 那就关注我吧 我会持续更新哦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值