【C++基础教程】第四课

上次的课后练习

第1题输出:

 

 

第二题输出:1

第三题:

 

#include<iostream>
#include<cmath>
using namespace std;
int main(){
  double n,x,y;
  cin>>n>>x>>y;
  cout << n - ceil ( y/ x);
  return 0;
}

 

提示:y是总时间,除以速度就是吃掉了多少个,向上取整,再用n去减,就是一共剩下多少个。

 

一,if语句

【例题】计算出租车价格。小于3分里收11元,大于3公里先收11元,3公里以外部分再每公里2.1元。

这里有两种情况,分为小于3公里和大于3公里两种,我们需要使用到if语句。
 
if语句的格式如下:
if(条件表达式){
  语句;
}
注:为了看上去清晰,表示中间的语句在if语句里面,我们一般在if中的语句前面加上2个或4个空格(根据喜好)。
当条件表达式成立时,执行括号内的语句。
其中,条件表达式可以用这几种运算符连接:>(大于),<(小于),>=(大于等于),<=(小于等于),!=(不等于),==(等于)
避免和赋值运算符混淆,“等于”写作“==”。
因此,我们可以这样写程序。
#include<stdio.h>  
int main(){  
  int n;  
  cin>>n;
  if(n<=3){  
    cout<<11;
  }  
  if(n>3){  
    cout<<11+(n-3)*2.1;
  }  
  return 0;  
}

 

除此之外,C++还提供了if...else语句。

if(条件表达式){
 语句A;
}
else{
 语句B;
}
当表达式成立时,执行语句A,否则执行语句B。
这里我们只有两种情况,也可以使用else来写。
#include<stdio.h>  
int main(){  
  int n;  
  cin>>n;
  if(n<=3){  
    cout<<11;
  }  
  else{  
    cout<<11+(n-3)*2.1;
  }  
  return 0;  
}

 

【例题】输入学生的分数,计算学生的等第。

A:90-100分
B:75-89分
C:60-74分
D:0-59分
 
有多种情况并列时,我们可以使用else if。
if(...){}
else if(...){}
else if(...){}
 
特别的,如果判断A和B两个条件都成立,在if语句中可以写作:
if(A&&B)
如果判断A和B两个条件至少一个成立,在if语句中可以写作:
if(A||B)
 
#include<stdio.h>  
int main(){  
  int n;  
  cin>>n;
  if(n>=90 && n<=100){
    cout<<"A"; 
  }  
  else if(n>=75 && n<=89){  
    cout<<"B"; 
  }  
  else if(n>=60 && n<=74){  
    cout<<"C";
  }  
  else cout<<"D";
  return 0;  
}

 

有人会问,为什么不写成90<=n<=100呢?C++不支持这样写,它会理解成(90<=n)<=100,如果90<=n成立,成立的语句在计算的时候看做是1,于是就理解为了1<=100,并不是我们想要的,所以不可以这样写。

 

【例题】(NOIP 2015 普及组初赛真题)阅读程序写结果。

#include <iostream> 
using namespace std;
int main() {
    int a, b, c; a = 1;
    b = 2;
    c = 3;
    if(a > b)
        if(a > c)
            cout << a << ' ';
        else
            cout << b << ' '; 
    cout << c << endl;
    return 0;
}

首先,我们先看第7行的if(a>b),由于1<2,不成立,其中所有if中的语句(即缩进部分)全部被跳过,一直到倒数第三行,所以输出c,正确答案是:3。

 

二,课后作业

1,阅读程序写结果。

#include<iostream>
using namespace std;
int main(){
  char c;
  cin>>c;
  cout<<c<<"is ";
  if(c>='0'&&c<='9')cout<<"a number";
  else cout<<"not a number";
  return 0;
}

输入:4

 

2,编写程序,实现简易计算器。要求:

输入两个数和一个运算符,中间用空格分割,输出按照要求的计算结果。

样例输入:10 + 2

样例输出:12

 

 

posted @ 2021-07-12 15:08  计算机知识杂谈  阅读(159)  评论(0编辑  收藏  举报