c语⾔循环语句简单实例,C语⾔简明教程(⼋):循环语句实while语句简单例子
例详解
C语⾔的循环语句有while循环,for循环和do
while循环,其中while循环和for循环在开发中常⽤,⽽且for循环的⽤法⽐较灵活,每种循环语句都需要使⽤到⼀个条件测试表达式,在这个表达式中常⽤到⼀些常见的⽐较运算符,下⾯⾸先介绍⼏个运算符。
⼀、C语⾔运算符
1、赋值运算符
C语⾔赋值运算有⼀种简写的形式,例如int a = a +1可简写为a+=1,类似地,其它减法、乘法、除法和取模都有类似的简写形式: -=、*=、/=、%=,代码例⼦:
int number = 9;
number += 2; // number = number + 2
printf("%d\n", number); // => 11
number -= 2; // number = number - 2
printf("%d\n", number); // => 9
number *= 2; // number = number * 2
printf("%d\n", number); // => 18
number /= 3; // number = number / 3
printf("%d\n", number); // => 6
number /= 5; // number = number % 5
printf("%d\n", number); // => 1
2、关系运算符
常⽤的关系运算符有:
运算符含义
<=⼩于或等于
==等于
>=⼤于或等于
>⼤于
!=不等于
数据对象和关系运算符组成关系表达式,关系表达式的计算结果为布尔值0或1,可以⽤int创建布尔值,在C语⾔中⽐较特殊的是除了0是假其它值都是真。C99提供_Bool布尔类型,该类型创建布尔变量,只有0和1两种值,但是如果设置其它值会默认置为1,另外在头⽂件stdbool.h中提供bool类型,该类型是_Bool类型的别名,同时提供true和false宏,可以很⽅便直观地定义⼀个布尔变量,代码⽰例如下:
int status = 0; // 使⽤int类型创建布尔变量
_Bool isChecked = 1; // 使⽤_Bool类型创建布尔变量
bool remembered = false; // 使⽤_Bool的类型别名bool创建布尔变量
if(status){
printf("current status is ok.\n");
}
else{
printf("status error.\n");
}
if(isChecked){
printf("checkbox checked.\n");
}
if(!remembered){
printf("remembered password.\n");
}
3、逗号运算符
C语⾔可以使⽤逗号运算符将多个表达式连接成⼀个表达式,该表达式从左到右计算,若要取整个表达式的计算结果则为最后⼀个表达式的值,例如(a=a+1, b=3)这个表达式先计算a的值再将b赋值为3,如果要取该表达式的结果,则表达式的结果为3,⽰例代码如下:
int var_01 = 3;
int var_02 = 5;
// 使⽤逗号运算符连接多个表达式,运算顺序从左到右
bool status = (var_01 += 1, var_02 = var_01 % 3); // status = true,因为表达式结果为4%3==1
if(status){
printf("status ok: 200.\n");
}
else{
printf("status error: 500.\n");
}
⼆、while循环语句
while循环的语法格式为:
while(条件测试表达式){
⼀条或多条语句;
}
条件测试表达式的运算结果为布尔值,这个地⽅是⽤布尔值判断是否执⾏while内部的语句,其中花括号{}在⼀条语句的时候可以省略,但建议使⽤,在上⾯运算符中可以看到,在这个条件测试表达式可以使⽤⽐较运算符和逗号运算符,只要保证该表达式的运算结果是布尔值即可,如果计算结果是真则执
⾏内部语句,执⾏完⼀次重新判断条件,跳出循环体使⽤break,跳过本次循环使⽤continue,下⾯使⽤while 循环语句计算1+3+5+ (99)
// while循环⽰例
int count = 0;
while (1){
if(index > 99)
break; // 使⽤break跳出循环体
if(index % 2 == 1)
count = count + index;
index++;
}
printf("count: %d\n", count);
三、for循环语句
for循环的语法格式为:
for(初始表达式 ; 条件测试表达式 ; 更新表达式){
⼀条或多条语句
}
初始表达式:该表达式在循环开始前执⾏,仅执⾏⼀次,不⼀定是变量初始化,也可以执⾏其它语句,它和其它普通表达式没什么两样,你可以在这⾥做初始化动作,也可以调⽤函数等。
条件表达式:该表达式⽤于计算布尔值,在执⾏完初始表达式后执⾏该表达式,每执⾏完⼀次循环体都会重新执⾏该表达式。
更新表达式:更新操作,⼀般在这⾥更新计数器或指定计数步长。
for循环开始,⾸先执⾏初始表达式,然后执⾏条件测试表达式,通过则执⾏循环体语句,执⾏完去执⾏更新表达式,接着再次执⾏条件测试表达式,依此循环,for循环的使⽤相对灵活,下⾯是for循环使⽤的完整实例:
// for循环使⽤完整实例
// 1、计算1+2+3+...+99的for循环实现
// 在更新表达式中修改计数步长可省去不必要的计算
int count = 0;
int i;
for(i = 1;i < 100;i += 2){
count += i;
}
printf("%d\n", count);
// 2、输出字符A-Z
// 因为字符也是整数,所以可以作为计数器
char ch;
for(ch = 'A';ch <= 'Z';ch++){
printf("%c ", ch);
}
// 3、从1开始计算⼩于100的平⽅数,并输出
int j;
for(j = 1;pow(j, 2) < 100;j++){
printf("%d ", (int)pow(j, 2));
}
其中for循环中的三个表达式都可以使⽤逗号运算符连接多个表达式,要注意的是第⼆个条件测试表达式需要得到表达式计算结果的布尔值,在更新表达式中设计⼀个合适的步长可以减少计算量。
四、do while循环语句
do while循环的语法格式为:
do{
⼀条或多条语句
}
while (条件测试表达式);
该循环会⾸先执⾏循环体再去执⾏条件测试表达式,所以do while循环⾄少执⾏⼀次循环体,注意该循环语句结束有分号,⽰例代码如下:
// 输出A-Z
char ch = 'A';
do{
printf("%c ", ch);
ch++;
}
while (ch <= 'Z');

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。