C++(十五)

前言:

本文主要讲解在C++中的wile语句。

一,wile语句。

1,使用。

语法:

wile (条件){
     语句;
}

当条件判断为ture时,对括号内的语句及逆行循环处理。

例如:

#include <iostream>
#include <string>

using namespace std;

int main() {
    int a;
    int i = 1;
    cout << "请输入循环次数:";
    cin >> a;
    while( i <=a)
    {
        cout <<"循环了"<< i << "次"<<endl;
        i++;
    }
    cout << "循环结束" << endl;
    cout << "一共循环了"<<a<<"次" << endl;
    return 0;
}

运行结果为:

在使用循环时应注意条件,若条件永远为ture,就会一直循环下去。

2,说明条件的省略。

例如:

#include <iostream>
#include <string>

using namespace std;

int main() {
   int a;//定义一个整数变量a
   while (a)//当a不为0时,循环执行;当a为0时,循环结束
   {
     cout<<"输入整数(数字为0时终止): ";
     cin >> a;//获取用户输入的整数
     cout<<"输入的整数是: "<<a<<endl;
   }
   cout<<"  循环结束"<<endl;
    return 0;
}

运行结果为:

这段代码在处理用户输入的值时,会将输入的数字转换为ture或false进行执行。在其中,ture为1,false为0;当用户输入0时,条件为false,循环语句终止。

等效于:

#include <iostream>
#include <string>

using namespace std;

int main() {
   int a;//定义一个整数变量a
   while (a !=0)//当a不为0时,循环执行;当a为0时,循环结束
   {
     cout<<"输入整数(数字为0时终止): ";
     cin >> a;//获取用户输入的整数
     cout<<"输入的整数是: "<<a<<endl;
   }
   cout<<"  循环结束"<<endl;
    return 0;
}

二,do-whlie语句。

在do-whlie语句中,该语句最后条件判断为ture时,进行括号内的循环处理。

语法:

do{
 语句1
}whlie(条件);

do-whlie语句与whlie语句的区别是,do-whlie语句会先执行括号内循环,在判断表达式的条件是否为ture。

whlie语句会在循环开始前判断条件,而do-whlie语句会在进行一遍后才判断条件,所以即使条件判断错误,也至少会进行一次循环。

例如:

#include <iostream>
#include <string>

using namespace std;

int main() {
   int a;//定义一个整数变量a
   do
    {
   cout<<"输入整数(数字为0时终止): ";
   cin >> a;//获取用户输入的整数
   cout<<"  输入的整数是: "<<a<<endl;
    } while (a);
    
   cout<<"  循环结束"<<endl;
    return 0;
}

运行结果:

whlie语句会在循环开始前判断条件,而do-whlie语句会在进行一遍后才判断条件,所以即使条件判断错误,也至少会进行一次循环。

例如:

#include <iostream>
#include <string>

using namespace std;

int main() {
   int a;//定义一个整数变量a
   int b=1;//定义一个整数变量b并赋初值为1
   cout<<" 请输入循环次数:";
   cin>>a;//输入循环次数
    do{
      cout<<"第"<<b<<"次输循环 "<<endl;
      b++;
    } while (b<=a);
   cout<<"  循环结束"<<endl;
    return 0;
}

运行结果为:

三,语句嵌套。

目前为止,已经学习过很多不同结构的语句,这些语句可以相互嵌套,组合使用。

例如之前写过的四则运算计算器:

#include <iostream>
using namespace std;
int main()
{
    double a, b;//定义变量a,b用于存储所输入的四则运算的两位数。
    char c;//定义变量c用于存储所输入的四则运算的运算符。
    double d;//定义变量d用于存储四则运算的结果。
    cout << "请输入一个四则运算表达式(例如:1 + 2):";
    cin >> a >> c >> b;//获取输入四则运算表达式,并赋值给相关变量。
    if (c == '+')
    {
        d = a + b;
        cout << a << " + " << b << " = " << d << endl;
    }//如果c为+,则执行加法运算,并输出结果。
    else if (c == '-'){
        d = a - b;
        cout << a << " - " << b << " = " << d << endl;
    }//如果c为-,则执行减法运算,并输出结果。
    else if (c == '*'){
        d = a * b;
        cout << a << " * " << b << " = " << d << endl;
    }//如果c为*,则执行乘法运算,并输出结果。
    else if (c == '/'){
        if (b == 0) {
            cout << "除数不能为0" << endl;
        }//如果除数b为0,则输出错误信息。
        else {
            d = a / b;
        cout << a << " / " << b << " = " << d << endl;
        }
    }//如果c为/,则执行除法运算,并输出结果。
    else {
        cout << "输入的运算符不正确" << endl;
    }
 }

运用了if-else语句判断加减乘除的运算符号,同时,除数不能为零,又在其中嵌套了一个if判断。

同时,也可以循环之间相互嵌套。

例如:

#include <iostream>
using namespace std;
int main(){
    int a,b,c;//a表示金字塔层数,b表示空格数,c表示星号数
    cout<<"请输入金字塔层数:";
    cin>>a;//输入金字塔层数
    for (b=1;b<=a; b++){
        for (c=1;c<=a-b;c++){//获取每行空格数,当b=1时,空格数为a-1
            cout<<" ";//输出空格
        }
        for (c=1;c<=2*b-1;c++){//获取每行星号数,当b=1时,星号数为1
            cout<<"*";//输出星号
        }
        cout<<endl;//换行
    }
    return 0;
}

输出了一个可自定义层数的金字塔,运行结果为:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值