Linux C语言基础 day5

学习目标:

例如:

  • 一周掌握 C入门知识

学习内容:

1. 循环

1.1 for

        for(表达式1;表达式2;表达式3){

        循环体;

        }

        执行逻辑:先执行表达式1,然后执行表达式2,如果表达式2为真, 则执行循环体,然后执行表达式3, 然后再执行表达式2,如果还为真,则继续执行循环体和表达式3 直到表达式2为假,循环立即结束。

        表达式1:循环变量初值

        表达式2:终止条件

        表达式3:增值

例如:

嵌套结构

        外层执行一次 内层 执行 一轮
例如:

for(int i=0;i<5;i++)

{

        for(int j=0;j<3;j++)

        {

                printf("%d %d\n",i,j);

        }

}

1.2 while

格式:while(表达式){

                 循环体;

                }

执行逻辑: 先执行表达式,如果表达式为真,则执行循环体, 然后再执行表达式,如果还为真,则继续执行循环体, 直到表达式为假,循环立即结束,继续执行循环后面的代码

1.3 do_while

格式:do{

                循环体;

        }while(表达式); //注意:最后有一个分号

执行逻辑: 先执行循环体,然后执行表达式,如果表达式为真,则继续执行循环体 然后再执行表达式,直到表达式为假,循环立即结束。

while和do_while区别

        while是先判断 后执行

        do..while是先执行,后判断

        也就是说,不管表达式是否为真,do..while的循环体至少执行一次。

1.4 循环控制语句

        break 终止本层循环

        continue 结束本层本次循环继续下一次循环

        return 0 结束整个程序


课堂练习:

1. 打印所有三位数之间水仙花数153==1^3+5^3+3^3

解析:

  1. #include <stdio.h>
  2. int main()
  3. {  
  4.    int i,a,b,c;
  5.    for(i=100;i<1000;i++)
  6.    {
  7.     a=i/100;
  8.     b=i/10%10;
  9.     c=i%10;
  10.     if(a*a*a+b*b*b+c*c*c == i)
  11.     {
  12.         printf("%d\n",i);//153,370,371,407
  13.     }
  14.    }
  15. }

2.

解析:因为i+=2为i=i+2,s+=i+1为s=s+(i+1),i=1所以答案选D.

3.打印九九乘法表

解析:

#include <stdio.h>

int main()

{  

   for(int i=1;i<10;i++)

    {

        for(int j=1;j<=i;j++)

        {

            printf("%d*%d=%d\t",j,i,i*j);

        }

        printf("\n");

    }

}

4.终端输入行数

5

*

**

***

****

*****

解析:

#include <stdio.h>

int main()

{  

    int i,j,a;

    scanf("%d",&a);

    for(int i=1;i<=a;i++)

    {

        for(int j=0;j<i;j++)

        {

            printf("*");

        }

        printf("\n");

    }

}

5.循环输入一个5位数,判断它是不是回文数。当输入0时循环结束。

即12321是回文数,个位与万位相同,十位与千位相同。

解析:

6.读入两个整数(data1和data2)和一个运算符(op),计算表达式data1 op data2 的值.其中op可以为+、-、*、/四个符号中的任一种(用switch语句实现)

解析:

7.输入任意两个数,输出两数之间(包括这两个数)偶数之和。

解析:


课外作业:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值