C语言分支结构和循环结构(1)

C语言分支结构和循环结构(1)



前言


一、C语言结构组成

C语言的结构化的程序设计语言!由顺序结构、选择结构、循环结构组成。
什么是语句?
一个分号隔开的就是一个语句;

1.分支语句(选择结构)

分支语句(选择结构):if switch

1.1 if语句

语法结构:

if(表达式)
语句:

if(表达式)
语句1else
语句2if()
语句1else if()
语句2else()
语句3//如果后面有多条语句就得用{}括起来;

C语言中非0为真,0为假;
else和离得最近的if匹配;千万注意if和else的匹配问题
在敲代码的过程中要注意自己的代码风格;

int main()
{
    int num=3;
    if(num=5)
    printf("hehe\nhehe\n");//判断相等的符号错写成赋值符,永远为真且不容易发现错误
    if(5==num)
    printf("hehe\n");//这种写法则可以保证代码的正确性,出现错误不能编译成功;
}

注意:在两数比较时,将常量放在左边更好一些;

练习题

1.判断一个数是否是奇数

#include<stdio.h>
int main()
{
    int num=15;
    if(num%2==1)
    printf("奇数");
}

2.输出1~100之间的奇数

#include<stdio.h>
int main()
{
    //c++
    //c99支持这样写 
 for(int n=1;n<=100;n++)
 {
     if(1==n%2)
     printf("%d是奇数\n",n); 
 }    
 return 0;
}

1.2 switch语句

语法结构:

switch(整型表达式)
{
    语句项;//case语句项
    case:整型常量表达式;
           语句;
}

实例

利用switch写出星期一到星期天

#include <stdio.h>
int main()
{
    int day=0;
    scanf("%d\n"&day);
    switch(day)
    {
     case 1printf("星期1\n")break;
     case2:
     ....
     ....
     case 7printf("星期7\n")break;
      default:    //代表其余选项;
          printf("输入错误")break;
    }
    return 0}

day和case的值决定入口;break是出口,代表跳出,一起才可以完整表达分支;
switch(整型表达式);
case(必须是整型常量表达式);
字符也可以,因为字符底层存储是利用ASCII码值;
为了方便后面代码的扩展,最后一个case语句后面也最好加上break;
default没有前后要求,只要符合需求,放在前后均可以;

2.循环语句

for
while
do while
一共包含3中,for循环用的最多。

while循环的格式:

2.1while循环

while(表达式)
    循环语句;

如果while()括号内的表达式非0,循环语句就会被执行,循环语句不一定是语句,也有可能是代码块;

练习题

在电脑屏幕上打印1~10;

#include <stdio.h>
int main()
{
    int i=1;
    while(i<=10)
    {
        printf("%d\n",i);
        i++;    
    }
    return 0;
}

在while循环中,break用于永久的终止循环;continue表示跳过本次循环continue后面的代码,直接去判断部分,看是否进行下一次循环;
while循环一共包含三个部分,代码行数增加三个部分距离可能会变远

int  main()
{
    int  i=1;//初始化
    while(i<=10{
            printf("%d",i);  //判断部分
            i++//调整部分;
    }
    return  0}

2.2 for循环

for循环结构:

for(表达式1;表达式2;表达式3);
{
    循环体;
}

for后面的括号内表达式1是初始化,表达式2是判断,表达式3是调整;三个部分放在一起,此处优于while循环。
for循环特点:初始化只执行一次。
break和continue在for循环中的作用:
break终止循环,跳出循环;continue跳出此次循环后面的代码开始下一次循环。
for循环的continue是跳到调整部分继续执行,而while循环很有可能直接跳过调整部分;
for语句的循环控制变量一些建议:
1.不可在for循环体内修改循环变量,防止for循环失去控制;
2.建议for语句循环控制变量的取值采用“前闭后开区间”写法

int  i=0//前闭后开的写法
for(i=0;i<10;i++)
{
    
}

for循环从语法上来说三个部分都可以省略,判断部分的省略会导致判断部分恒为真,导致死循环。
一般不建议省略任何一个部分,可能会导致程序出错,例如:

int  main()
{
    int  i=0;
    int  j=0;
     for(i=0;i<3;i++)
     {
     for(j=0;j<3;j++{
         printf("hehe\n");     
     }                  
     }
     return  0;
}

以上程序最终可以打印9个hehe;然而省略了初始化部分时:

int  main()
{
    int  i=0;
    int  j=0;
     for(;i<3;i++)
     {
     for(;j<3;j++{
         printf("hehe\n");     
     }                  
     }
     return  0;
}

最终结果只能打印3个hehe;因为c内层for循环中的j由0一直j++到3,循环执行完成三次之后跳出内层循环到达for循环i++一次再次进入内层循环时,j还是等于3,所以直接跳出内层循环,如此反复导致只能最终打印3个hehe。

3. do while循环

do语句的语法:

int  main()
{
    int  i=0do
    {
        printf("%d",i);
        i++;    
    }while(i<=10);
    return  0;
}

练习题

在电脑屏幕上利用do while循环打印1~10;

int  main()
{
    int  i=0do
    {
        printf("%d",i);
        i++;    
    }while(i<=10);
    return  0;
}

do while循环的特点:循环体至少要执行一次;

总结

  这章笔记主要包含了C语言的选择语句(if 、switch)循环语句(for、while、do while)等知识点以及每个语句对应的练习题,希望可以帮助到大家。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暴躁小程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值