四、C_base——基本语句


表达式:运算等式,常量,变量

【1】

    if (表达式) 
        {语句块1}                                  
    else
        {语句块2}

    //判断表达式,真执行语句块1,假执行语句块2

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

    if (表达式1) 
        {语句块1}                                  

    else if(表达式2)
        {语句块2}

    else if(表达式3)
        {语句块4}

    ……
    else 
        {语句块n}

【2】switch

    switch (表达式)
    {  
       case 常量表达式1:语句块1; break;
       case 常量表达式2:语句块2; break;
       case 常量表达式n:语句块n; break;
       default  :语句块n+1
    }

从终端获取一个分数,按照不同的区间,输出不同的字符

        100 ~  90   ‘A’
        89  ~  80   ‘B’
        79  ~  70   ‘C’
        69  ~  60   ‘D’
        50  ~  0    ‘E’

【3】goto

        用于跳转,后面跟上一个标识符;

【4】

    while(表达式)
    {
       //循环体

    }

    //当表达式为真,执行循环体;继续判断及执行;当表达式为假立即结束循环

    1 不断地从终端获取一个数
            成功:     30   --->    00:30
            90   --->    01:30      //六十进制
      失败:打印错误信息,并继续执行       //return 

    2 不断地从终端获取数据
      当输入的值为0时结束
      输出奇数的个数,偶数的个数
          1 3 5 8 2 0   --> 奇数3个  偶数2

【5】

    for(expression1; expression2; expression3)
    {
      //循环体;
    }

    1、表达式1:最先执行,且只执行一次
    2、表达式2:作为循环的条件,
            真:执行循环体
            假:立即结束循环

    3、表达式3:当表达式2为真,且执行完循环体后执行表达式3

    输出1000以内的水仙花数。
    123 == 1^3  + 2^3  + 3^3

    _F
    __FE
    ___FED
    ____FEDC
    _____FEDCB
    ______FEDCBA

    求100以内的质数;只能被1和他自己本省整除的数
        2  ~  100
        5 6 

源码及注释:

1、1_if.c

#include <stdio.h>

int main(int argc, const char *argv[])
{
    int i;
    scanf("%d",&i);

    if(i==0)
    {
        printf("等于0\n");
    }
    else if(i > 0)
    {
        printf("大于0\n");
    }
    else
    {
        printf("小于0\n");
    }

    return 0;
}

2、2_if_score.c

#include <stdio.h>

int main(int argc, const char *argv[])
{
    int score;
    if(scanf("%d",&score) != 1)
    {
        printf("score error\n");
    //  getchar();  
        return -1;          //结束当前函数,-1 异常退出
    }

    if(100 >= score &&  score >= 90)
    {
        putchar('A');
    }

    if(89 >= score &&  score >= 80)
        putchar('B');

    if(79 >= score &&  score >= 70)
        putchar('C');           //只有一条语句,可省略{}

    if(69 >= score &&  score >= 60)
        putchar('D');

    if(59 >= score &&  score >= 0)
    {
        putchar('E');
    }

    putchar('\n');
    return 0;
}

3、3_switch.c

#include <stdio.h>

int main(int argc, const char *argv[])
{
    int a,b;
    char x;

    scanf("%d%c%d",&a, &x, &b);

    switch(x)
    {
    case '+':printf("add = %d\n",a+b);break;
    case '-':printf("sub = %d\n",a-b);break;
    case '*':printf("mul = %d\n",a*b);break;
    case '/':printf("div = %d\n",a/b);break;
    default :printf("other\n");
    }


    return 0;
}

4、4_switch_score.c

#include <stdio.h>

/*
 *  100 ~ 90
 *  89  ~ 80
 *  79  ~ 70
 *  69  ~ 60
 *  59  ~ 0
 */

int main(int argc, const char *argv[])
{
    int score;
    if(scanf("%d",&score) != 1)
    {
        printf("score error\n");
        return -1;
    }
    if(score < 0 || score > 100)
    {
        printf("score error\n");
        return -1;
    }

    score = score / 10;       //  0 ~  10
    switch(score)
    {
    case 10:
    case 9:printf("A\n");break;
    case 8:printf("B\n");break;
    case 7:printf("C\n");break;
    case 6:printf("D\n");break;
    default:printf("E\n");
    }

    return 0;
}

5、5_goto.c

#include <stdio.h>

int main(int argc, const char *argv[])
{
    int i = 5;

loop:

    if(i > 0)
    {
        printf("i = %d\n",i);
        i--;
        sleep(1);           //延时1秒
        goto loop;
    }

    return 0;
}

6、6_while.c

#include <stdio.h>

int main(int argc, const char *argv[])
{
    int i = 8;

    while(i--)    //  i--:i先判断是否=0,然后--,然后进行下面的循环体。
                  //  --i:i先--,然后判断,然后执行循环体
    {

        if(i == 4)
        {
        //  break;      //立即结束整个循环
            continue;   //结束本轮循环,继续下一轮循环
        }

        printf("i = %d\n",i);
        sleep(1);
    }
    puts("end");

    return 0;
}

7、7_while_minue.c

#include <stdio.h>

int main(int argc, const char *argv[])
{
    int minute;

    while(1)
    {
        if(scanf("%d",&minute) != 1)
        {
            printf("minute error\n");
            getchar();              //吃掉垃圾字符
            continue;               //跳过本轮继续下一轮循环
        }

        printf("%02d:%02d\n",minute/60, minute%60);

    }
    return 0;
}

8、8_while_Odd.c

#include <stdio.h>

int main(int argc, const char *argv[])
{
    int i,count_j = 0, count_o = 0;
    int sum_j = 0, sum_o = 0;

    while(1)
    {
        if(scanf("%d",&i) != 1)
        {
            printf("scanf error\n");
            return -1;
        }

        if(i == 0)
            break;

        if(i%2 == 1)
        {
            count_j++;
            sum_j += i;
        }
        else
        {
            count_o++;
            sum_o += i;
        }
    }

    if(count_j != 0)
    {
        sum_j = sum_j / count_j;
    }

    if(count_o != 0)
    {
        sum_o = sum_o / count_o;
    }

    printf("count_j = %d , sum_j = %d\n",count_j, sum_j);
    printf("count_o = %d , sum_o = %d\n",count_o, sum_o);

    return 0;
}

9、9_for.c

#include <stdio.h>

int main(int argc, const char *argv[])
{
    int i, sum = 0;

    for(i=0; i<10; i++)
    {
        if(i == 5)
        {
        //  break;      //用于结束整个循环
            continue;
        }
        printf("i = %d\n",i);
    }


    for(i=0; i<=100; i++)
    {
        sum += i;
    }
    printf("sum = %d\n",sum);

    return 0;
}

10、10_for_flower.c

#include <stdio.h>

int main(int argc, const char *argv[])
{
    int i, ge, shi, bai;
    for(i=100; i<1000; i++)
    {
        ge = i % 10;
        shi = i%100/10;         // shi = i / 10 % 10;
        bai = i / 100;

        if((ge*ge*ge + shi*shi*shi + bai*bai*bai) == i)
        {
            printf("i = %d\n",i);
        }
    }

    return 0;
}

11、11_for_for.c

#include <stdio.h>

int main(int argc, const char *argv[])
{
    int i,j;

    for(i=1; i<4; i++)
    {
        //执行3次
        for(j=1; j<3; j++)
        {
            //执行 2*3 次
            printf("i = %d  j = %d\n",i,j);
        }
        puts("***********************");
    }

    return 0;
}

12、12_for_multable.c


#include <stdio.h>

/*
 *乘法口诀表
 */
int main(int argc, const char *argv[])
{
    int row,line;

    for(row=1; row<=9; row++)
    {
        for(line=1; line<=row; line++)
        {
            printf("%d*%d=%-2d  ",line, row, line*row);
        }
        putchar(10);
    }

    return 0;
}

13、13_for_picture.c

#include <stdio.h>
/*
 *  _F
 *   __FE
 *  ___FED
 *  ____FEDC
 *  _____FEDCB
 * ______FEDCBA
 * /
int main(int argc, const char *argv[])
{
    int i,j;
    for(i=0; i<6; i++)
    {
        for(j=0; j<=i; j++)  //原理:乘法口诀表,梯形
        {
            putchar('_');
        }

        for(j=0; j<=i; j++)         
        { 
            putchar('F'-j);     
        }
        putchar('\n');
    }
    return 0;
}

14、14_for.c

#include <stdio.h>
/*
 *
 *  100以内质数
 * /
int main(int argc, const char *argv[])
{
    int i,j,sign = 0;

    for(i=2; i<=100; i++)   //9 :2 3 4 5 6 7 8    8:2 3 4 5 6 7
    {
        sign = 0;
        for(j=2; j<i; j++)
        {
            if(i%j == 0)
            {
                sign = 1;
                break;
            }
        }

        if(sign == 0)
        {
            printf("i = %d\n",i);
        }
    }
    return 0;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值