C语言学习_4

C语言学习_4

写在前面

	最近由于VScode编码方式的问题,导致代码中一些中文成分出现乱码,故选择整体删除了选择语句学习时练习的代码,可能对于选择语句的解释说明会缺失代码部分,重新写代码我尽量还原学习时的完整度,可能有一些小细节一时回想不起来,包含包含。

循环语句的学习

while循环

while循环非常好理解,也很好用,即在while()的括号内是循环条件,当循环变量满足条件则进入循环,不满足则跳出循环。
while中使用break则跳出整个循环,继续向下执行代码。
while中使用continue时则跳过该段循环,继续判断变量是否满足循环,满足则继续进入循环。即Continue的作用就是跳过本次循环之下的代码。

while循环的代码演示如下:

int main()
{
    int ch;
    while(ch!=EOF)//ctrl+z就是EOF
    {
        ch=getchar();
        putchar(ch);
    }
    return 0;
}

do while 循环

do while 循环同while循环类似,不过将条件判断环节放在后循环的最后。
代码如下:
do while循环
int main()
{
    int i=1;
    do
    {
        printf("%d\n",i);
        i++;
    } 
    while (i<=10);
    
    return 0;
}

for循环

for循环有自己的固定格式通常是for(初始化循环变量;循环条件;循环变量调整)
for循环将循环的三个环节规整在一起,提高了代码的可读性。
for循环中使用break的效果同while与do while 循环一样。但continue的使用就与上述两种循环有所不同了。
for循环中使用continue,同样也会跳过本次循环,但循环变量的调整不会跳过。
因while与do while循环的变量调整都放在循环体内部,故在循环体内部碰到continue会跳过后边的内容,就有可能将循环体变量的调整跳过。
代码演示如下(包含一些特殊用法):

int main()
{
    for(;;)//for循环的初始化,调整,判断都可省略,但是for循环判断部分省略,那么判断就恒为真。 
    printf("哈哈\n");
}
int main()
{
    int i = 0;
    for (i = 1;i<=100; i++)
    {
        if(i==5)
        break;
        printf("%d  ",i);
    }
    //不可在for循环体内改变循环变量,防止失去控制
    //建议采用前闭后开的写法
    return 0;
}
//for循环
//两个循环变量控制循环
int main()
{
    int x,y;
    for(x=0,y=0;x<2&&y<5;x++,y++)
    {
        printf("hehe\n");
    }
    return 0;
}

利用循环语句写的一些功能

计算阶乘的和:

//计算n的前n项阶乘的和
int main()
{
    int n,i;
    int S=1,a=0;
    printf("请输入:");
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        S=S*i;
        a+=S;
    }
    printf("%d\n",a);
    return 0;
}

选择语句

if语句

if()括号内填写条件

int mian()
{
    int i=0;
    scanf("%d",&i);
    if (i>5)
    {
    printf("啧啧\n");
    }
    
    return 0;
}

else if语句

int mian()
{
    int i=0;
    scanf("%d",&i);
    if (i>5&&i<10)
    {
    printf("啧啧\n");
    }
    else if(i>10)
    {
    printf("呵呵\n");
    }
    else
    printf("咯咯\n");
    return 0;
}

switch语句

switch语句很好用,switch()括号内变量是数字几便对应到与之相对应的case,程序从此进入。
case后加break会使程序跳出选择语句,若case后不加break,则会按顺序输出,直到遇到break,或输出完。
若无与之相对应的数字,则会输出default对应的内容。

int main()
{
    int i=0;
    scanf("%d",&i);
    switch(i)
    {
        case 1:printf("今天星期一\n");break;
        case 2:printf("今天星期二\n");break;
        case 3:printf("今天星期三\n");break;
        case 4:printf("今天星期四\n");break;
        case 5:printf("今天星期五\n");break;
        case 6:printf("今天星期六\n");break;
        case 7:printf("今天星期天\n");break;
        default:printf("输入错误\n");
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值