判断,循环的使用

写在前面的话

学习C的第三天,加油!冲鸭!!!可能有些不太对的地方。欢迎指出错误之处,欢迎观看。给个传送门 牛客网——第三天笔记.

判断

C 语言把任何非零非空的值假定为 true,把null 假定为 false

判断语句

表中包含每个语句的说明。

语句描述
if 语句一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。
if…else 语句一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。
嵌套 if 语句可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。
switch 语句一个 switch 语句允许测试一个变量等于多个值时的情况。
嵌套 switch 语句可以在一个 switch 语句内使用另一个 switch 语句。
if 的实例
#include <stdio.h>
int main (){
   /* 局部变量定义 */
   int a = 10;
   /* 使用 if 语句检查布尔条件 */
   if( a < 20 ){
       /* 如果条件为真,则输出下面的语句 */
       printf("a 小于 20\n" );
   }
   printf("a 的值是 %d\n", a);
   return 0;
}

结果:

a 小于 20
a 的值是 10
if else 实例
#include <stdio.h>
int main (){
   /* 局部变量定义 */
   int a = 100;
   /* 检查布尔条件 */
   if( a < 20 ){
       /* 如果条件为真,则输出下面的语句 */
       printf("a 小于 20\n" );
   }
   else {
       /* 如果条件为假,则输出下面的语句 */
       printf("a 大于 20\n" );
   }
   printf("a 的值是 %d\n", a);
   return 0;
}

结果:

a 大于 20
a 的值是 100
if…else if…else 实例
#include <stdio.h>
int main (){
   /* 局部变量定义 */
   int a = 100;
   /* 检查布尔条件 */
   if( a == 10 ){
       /* 如果 if 条件为真,则输出下面的语句 */
       printf("a 的值是 10\n" );
   }
   else if( a == 20 ){
       /* 如果 else if 条件为真,则输出下面的语句 */
       printf("a 的值是 20\n" );
   }
   else if( a == 30 ){
       /* 如果 else if 条件为真,则输出下面的语句 */
       printf("a 的值是 30\n" );
   }
   else{
       /* 如果上面条件都不为真,则输出下面的语句 */
       printf("没有匹配的值\n" );
   }
   printf("a 的准确值是 %d\n", a );
   return 0;
}
}

结果:

没有匹配的值
a 的准确值是 100
嵌套 if 语句实例
#include <stdio.h>
int main (){
   /* 局部变量定义 */
   int a = 100;
   int b = 200;
   /* 检查布尔条件 */
   if( a == 100 ){
       /* 如果条件为真,则检查下面的条件 */
       if( b == 200 ){
          /* 如果条件为真,则输出下面的语句 */
          printf("a 的值是 100,且 b 的值是 200\n" );
       }
   }
   printf("a 的准确值是 %d\n", a );
   printf("b 的准确值是 %d\n", b );
   return 0;
}

结果:

a 的值是 100,且 b 的值是 200
a 的准确值是 100
b 的准确值是 200
switch 语句实例
#include <stdio.h>
int main (){
   /* 局部变量定义 */
   char grade = 'B';
   switch(grade) {
   case 'A' :
      printf("很棒!\n" );
      break;
   case 'B' :
   case 'C' :
      printf("做得好\n" );
      break;
   case 'D' :
      printf("您通过了\n" );
      break;
   case 'F' :
      printf("最好再试一下\n" );
      break;
   default :
      printf("无效的成绩\n" );
   }
   printf("您的成绩是 %c\n", grade );
   return 0;
}

结果:

做得好
您的成绩是 B
嵌套 switch 语句实例
#include <stdio.h>
int main (){
   /* 局部变量定义 */
   int a = 100;
   int b = 200;
   switch(a) {
      case 100: 
         printf("这是外部 switch 的一部分\n");
         switch(b) {
            case 200:
               printf("这是内部 switch 的一部分\n");
         }
   }
   printf("a 的准确值是 %d\n", a );
   printf("b 的准确值是 %d\n", b );
   return 0;
}

结果:

这是外部 switch 的一部分
这是内部 switch 的一部分
a 的准确值是 100
b 的准确值是 200

? : 运算符(三元运算符)

条件运算符 ? : ,可以用来替代 if…else 语句。

Exp1 ? Exp2 : Exp3;

实例

#include<stdio.h>
int main(){
    int num;
    printf("输入一个数字 : ");
    scanf("%d",&num);
    (num%2==0)?printf("偶数"):printf("奇数");
}

循环

有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。

循环类型
循环类型描述
while 循环当给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。
for 循环多次执行一个语句序列,简化管理循环变量的代码。
do…while 循环除了它是在循环主体结尾测试条件外,其他与 while 语句类似。
嵌套循环可以在 while、for 或 do…while 循环内使用一个或多个循环。
while 循环实例
#include <stdio.h>
int main (){
   /* 局部变量定义 */
   int a = 10;
   /* while 循环执行 */
   while( a < 20 ){
     printf("a 的值: %d\n", a);
      a++;
   }
   return 0;
}

产生下列结果:

a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 15
a 的值: 16
a 的值: 17
a 的值: 18
a 的值: 19
for 循环实例
#include <stdio.h>
int main (){
   /* for 循环执行 */
   for( int a = 10; a < 20; a = a + 1 )
   {
      printf("a 的值: %d\n", a);
   }

   return 0;
}

结果:

a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 15
a 的值: 16
a 的值: 17
a 的值: 18
a 的值: 19
do…while 循环实例
#include <stdio.h>
int main (){
   /* 局部变量定义 */
   int a = 10;
   /* do 循环执行 */
   do{
       printf("a 的值: %d\n", a);
       a = a + 1;
   }while( a < 20 );
   return 0;
}

结果

a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 15
a 的值: 16
a 的值: 17
a 的值: 18
a 的值: 19
嵌套循环
1-for 嵌套实例
#include <stdio.h>
int main (){
   /* 局部变量定义 */
   int i, j;
   for(i=2; i<100; i++) {
      for(j=2; j <= (i/j); j++)
        if(!(i%j)) break; // 如果找到,则不是质数
      if(j > (i/j)) printf("%d 是质数\n", i);
   }
   return 0;
}

结果:

2 是质数
3 是质数
5 是质数
7 是质数
11 是质数
13 是质数
17 是质数
19 是质数
23 是质数
29 是质数
31 是质数
37 是质数
41 是质数
43 是质数
47 是质数
53 是质数
59 是质数
61 是质数
67 是质数
71 是质数
73 是质数
79 是质数
83 是质数
89 是质数
97 是质数
2-while 嵌套实例
#include <stdio.h>
int main(){
    int i=1,j;
    while (i <= 5){
        j=1;
        while (j <= i )        {
            printf("%d ",j);
            j++;
        }
        printf("\n");
        i++;
    }
    return 0;
}

结果:

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
3-do-while 嵌套实例
#include <stdio.h>
int main(){
    int i=1,j;
    do  {
        j=1;
        do    {
            printf("*");
            j++;
        }while(j <= i);
        i++;
        printf("\n");
    }while(i <= 5);
    return 0;
}

结果:

*
**
***
****
*****

循环控制语句

循环控制语句改变你代码的执行顺序。通过它你可以实现代码的跳转。

控制语句描述
break 语句终止循环或 switch 语句,程序流将继续执行紧接着循环或 switch 的下一条语句。
continue 语句告诉一个循环体立刻停止本次循环迭代,重新开始下次循环迭代。
goto 语句将控制转移到被标记的语句。但是不建议在程序中使用 goto 语句。
break 语句

实例

#include <stdio.h>
int main (){
   /* 局部变量定义 */
   int a = 10;
   /* while 循环执行 */
   while( a < 20 ){
      printf("a 的值: %d\n", a);
      a++;
      if( a > 15){
         /* 使用 break 语句终止循环 */
          break;
      }
   }
   return 0;
}

结果:

a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 15
continue 语句

实例:

#include <stdio.h>
int main (){
   /* 局部变量定义 */
   int a = 10;
   /* do 循环执行 */
   do  {
      if( a == 15) {
         /* 跳过迭代 */
         a = a + 1;
         continue;
      }
      printf("a 的值: %d\n", a);
      a++;
   }while( a < 20 );
   return 0;
}

结果:

a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 16
a 的值: 17
a 的值: 18
a 的值: 19
goto 语句

实例:

#include <stdio.h>
int main (){
   /* 局部变量定义 */
   int a = 10;
   /* do 循环执行 */
   LOOP:do{
      if( a == 15){
         /* 跳过迭代 */
         a = a + 1;
         goto LOOP;
      }
      printf("a 的值: %d\n", a);
      a++;
   }while( a < 20 );
   return 0;
}

结果:

a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 16
a 的值: 17
a 的值: 18
a 的值: 19

无限循环

如果条件永远不为假,则循环将变成无限循环。for 循环在传统意义上可用于实现无限循环。由于构成循环的三个表达式中任何一个都不是必需的,可以将某些条件表达式留空来构成一个无限循环。

#include <stdio.h>
int main (){
   for( ; ; ) {
      printf("该循环会永远执行下去!\n");
   }
   return 0;
}

注意: 可以按 Ctrl + C 键终止一个无限循环。

结尾

打卡第三天!!! 感谢观看!欢迎评论。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值