linux c基础逻辑判断

switch

switch (表达式或变量)

{

case 常量值1:

/* code */

break;

case 常量值2:

/* code */

break;

default:

/* code */

break;

}

注意:

1. case后边只能跟整型、字符常量,不能跟浮点数、字符串。

2. case后边可以不加break,从符合条件的分支开始执行,直到遇见break或者switch执行完毕为止

例题:终端输入一个成绩,使用switch判断等级

90-100 A 80-89 B 70-79 C

<70 补考

终端输入一个日期,打印是这一年的第几天

循环语句

for

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

{

//语句块;

}

表达式1:循环变量赋初值

表达式2:终止条件

表达式3:增加或减少

执行顺序:

先执行表达式1,循环变量有初始值,判断表达式2是否成立

成立则进入循环,执行语句块,再执行表达式3,判断表达式2是否成立...

不成立,退出循环

练习:水仙花数三位数153==1*1*1+5*5*5+3*3*3

100-999

双层for

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

{

for(表达式4;表达式5;表达式6)

{

}

}

外层循环修改一次,内层循环执行一轮

例:

for变形格式:

int i=1;

for(;i<5;i++)

{

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

}

----------------------------------------------------

int i=1;

for(;i<5;)

{

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

i++;

}

----------------------------------------------------

for(;;);

while

格式:

while(终止条件)

{

// 代码块;

}

循环控制语句

break 终止当前循环

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

return 0 程序的结束(主函数中的return)

练习:

九九乘法表:

#include <stdio.h>
int main()
{
    int a, b;

    for (a = 1; a < 10; a++)
    {
        for (b = 1;b <= a; b++)
        {
            printf("%d*%d=%d\t", b, a, a * b);
        }
        putchar(10);
    }

    return 0;
}

打印图案:

终端输入:例:5

*

**

***

****

*****

#include <stdio.h>
int main()
{
    int a, b;
    int c=0;
    printf("请输入实数:");
    scanf("%d",&c);

    for (a = 1; a <c; a++)
    {
        for (b = 1;b <= a; b++)
        {
            printf("*");
        }
        putchar(10);
    }

    return 0;
}

打印图案:例输入:5

*****

****

***

**

*

#include <stdio.h>
int main()
{
    int i, j;
    int n = 0;
    printf("请输入一个实数:");
    scanf("%d", &n);
    for (i = 1; i <= n; i++)
    {
        for (j = 1; j < i; j++)
        {
            printf(" ");
        }
        for (j = 1; j <= n - i + 1; j++)
        {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}

输入一个整数,输出这个数的所有因子

例:12

1 12 2 6 3 4

#include <stdio.h>
int main (){
    int a=0;
    printf("请输入一个整数:");
    scanf("%d",&a);
    int b;
    for(b=1;b<=a;b++)
    {
        if(a%b==0)
        {
            printf("%d\n",b);
        }
        
    }

    return 0;
}

方法二:

#include <stdio.h>
int main()
{
    int a, b = 0, c;
    printf("请输入一个整数:");
    scanf("%d", &b);
    for (a = 1; a <= c / 2; a++)
    {
        if (b % a == 0)
        {
            c = b / a;
            if (a <= c)
            {

                printf("%d %d\n", a, c);
            }
        }
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值