四、C_base——基本语句

来源:互联网 发布:淘宝权女朋友辣椒 编辑:程序博客网 时间:2024/05/22 00:53

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

【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;}
原创粉丝点击