C与C++的循环语句

C与C++的循环语句

C与C++在这方面语法相当相似,不过也有略微不同,这里统一进行介绍。
C/C++有三种循环语句:while,do while,for。
While语句格式如下:

while(/判断条件/)
{
//语句部分
}

这里插入介绍一下C/C++的注释,其中/判断条件/是C风格的注释,注释以/开头,以/结尾。在注释中间的语句,都会被编译器忽略。如果不打*/结尾,只用/*开头,那么从开头到整个代码结束都会被判断为注释,不过不建议这样做,因为容易出问题。
//语句部分是C++风格的注释,但是实际上C语言也可以使用。//只针对一行代码,比如以下代码:

//cout<<“asdfji”
<<endl;

由于//只能针对一行,所以cout<<”asdfji”被注释掉了,而<<endl;被保存了下来,就会出现各种各样的问题。所以建议小部分注释使用//,大段注释用/**/的格式。
While语句,首先要判断括号内的语句是否成立,如果成立,则执行语句块内代码,如果不成立则忽略语句块向下执行。
与while相似的是do while语句,格式如下:

do{
//执行语句
}while(/表达式/);

do while和while语句不同的是,do while会先执行一次语句块,然后再进行判断是进行循环还是跳出循环。
这两种语句可以被进一步改进,进行复合套嵌以获得更加简短的代码,比如:

int i;
while(scanf("%d %d",&i,&i)==2){
printf(“Good job!\n”);
}

这里使用了scanf函数和while语句套嵌使用。Scanf函数返回一个整数值,表示输入的数据个数。运行程序后,会不断的提示用户输入字符,当读入两个字符都为整数时,scanf返回值为2,执行printf语句。想要结束循环的方法有两种,第一种是输入非整数字符,使scanf返回值不等于2,第二种是输入Ctrl+Z,表示EOF,结束scanf输入。
在编程中,大量使用这样的套嵌不仅能使代码更加紧凑,还大大提高了程序代码的可读性。
for循环是对编程人员最友好的循环,因为它特有的严谨格式,大大提高了程序的可读性。For循环格式如下:

int i;
for(i=0;i<15;i++) {
//执行代码
}

之所以说for循环是对编程人员友好的循环,是因为它在使用时,循环的要素被放在了很明显的位置。i=0是代码的初始化部分,这里可以同时初始化多组数据,数据之间用逗号分开,比如想要初始化i,j,k三个变量:

for(i=0,j=0,k=0;i<15;i++)

i<15表示循环执行条件,这里的条件可以是一个不等式,也可以是表达式。在什么都不填的情况下,默认为1,即恒真。
for(;;)与for(;1;)等价。
i++为循环每次执行后的操作,这里表示i自增。
C/C++在循环语句中语法近似,不过C++允许在for循环中声明变量,比如:

for(int i=0;i<15;i++) {
//执行代码
}

在C++中,在for循环中声明i是可行的,不过要记住,在C语言中这种操作是非法的。
以上这些内容,足够搭建实用的循环了,不过C/C++还有两个语句continue与break可以配合循环使用。
语句continue表示停止执行语句块,并进入下一次循环。比如:

for(i=0;i<15;i++) {
//执行代码1
if(i==6) continue;
//执行代码2
}

在上述代码中,当i=6时,代码2将被忽略,执行代码1后将直接进入i++,进入下一次循环。
语句break,可以直接跳出循环,比如:

for(i=0;i<15;i++) {
//执行代码1
if(i==6) break;
//执行代码2
}

在上述代码中,当i=6时,将直接跳出循环,不再执行以下部分。
除了continue和break语句之外,还有一种语法goto。这是一种相当不受欢迎的语法,因为它过于的随意,不过在特定的问题中,goto有时会使问题更加的简单。

#include
int main()
{
using namespace std;
cout<<"Hello ";
goto tip;
cout<<"my ";
tip:
cout<<“World!\n”;
return 0;
}

上述代码使用了goto,输出结果是:Hello World!
这是因为goto语句使得程序绕过了cout<<”my “;语句,直接输出world。
语句goto非常灵活,不过需要特别注意,不要过多的使用,过多的goto语句,会使得程序像是意大利面条一样粘混不堪,难以阅读。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值