打赏

3.6-day06-C语言基础-选择结构程序设计

switch...case语句也可以用来实现分支的处理,使用方法如下
switch(表达式) {
case 数字1:
     处理代码1
     break;
case 数字2:
     处理代码2
     break;
....
default:
     非正常处理代码
     break;
}
其中表达式必须能得到一个整数结果
处理代码1用来处理结果为数字1的情况
 
for语句可以用来实现循环,使用方法如下
int xun_huan = 0;
for (xun_huan = 0; xun_huan < 次数; xun_huan++) {
    反复执行的语句  
}
for语句是分组执行的,假设有如下的for语句
for (1;2;3) {
    4
}
[1, 2] [4, 3, 2] [4, 3, 2]....
编号为2的语句决定下一组是否要开始,正常情况下当循环结束的时候编号为2的语句计算结果应该是假。
 
for语句还可以用来表示一组数字的变化过程,循环变量随时代表变化中的某个数值。
 
循环中可以使用continue;语句直接跳到大括号的末尾,把中间的语句忽略。
循环中可以使用break;语句直接结束循环的执行。

 


 

认识break和continue语句:
//break是结束整个循环体,continue是结束单次循环
 
比方说:
 
while(x++ < 10)
{
if(x == 3)
{
break;
}
printf("%d\r\n", x);
}
结果是输出 1 2 就退出了整个while循环
 
但是如果使用continue
while(x++ < 10)
{
if(x == 3)
{
continue;
}
printf("%d\r\n", x);
}

结果是:1 2 4 5 6 7 8 9 10 可见他仅仅是不输出3,因为他结束了本次循环

 


01year.c

/*
    闰年练习
*/
#include <stdio.h>
int main() {
    int nian = 0;
    printf("请输入一个年份数字:");
    scanf("%d", &nian);
    if (!(nian % 400) || (!(nian % 4) && (nian % 100))) {
        printf("闰年\n");
    }
    else {
        printf("不是闰年\n");
    }
    return 0;
}

 

 02color.c

 

/*
    switch...case练习
*/
#include <stdio.h>
int main() {
    int yan_se = 0;
    printf("请输入颜色编号:");
    scanf("%d", &yan_se);
    /*if (0 == yan_se) {
        printf("红色\n");
    }
    else if (1 == yan_se) {
        printf("黄色\n");
    }
    else if (2 == yan_se) {
        printf("蓝色\n");
    }*/
    switch (yan_se % 3) {
    case 0:
        printf("红色\n");
        break;
    case 1:
        printf("黄色\n");
        break;
    case 2:
        printf("蓝色\n");
        break;
    default:
        printf("你有病吧\n");
        break;
    }
    return 0;
}

 

 03hex.c

 

/*
    switch...case练习
*/
#include <stdio.h>
int main() {
    char zi_fu = 0;
    printf("请输入一个字符:");
    scanf("%c", &zi_fu);
    switch (zi_fu) {
    case 'a':
        printf("10\n");
        break;
    case 'b':
        printf("11\n");
        break;
    case 'c':
        printf("12\n");
        break;
    case 'd':
        printf("13\n");
        break;
    case 'e':
        printf("14\n");
        break;
    case 'f':
        printf("15\n");
        break;
    default:
        printf("错误字符\n");
        break;
    }
    return 0;
}

04for.c

 

/*
    for练习
*/
#include <stdio.h>
int main() {
    int xun_huan = 0;
    for (xun_huan = 0;xun_huan < 3;xun_huan++) {
        printf("1\n");
    }
    return 0;
}

 

05sum.c

 

/*
    求和练习
*/
#include <stdio.h>
int main() {
    int xun_huan = 0, shu_zi = 0, he = 0;
    for (xun_huan = 0;xun_huan < 3;xun_huan++) {
        printf("请输入一个数字:");
        scanf("%d", &shu_zi);
        he += shu_zi;
    }
    printf("求和结果是%d\n", he);
    return 0;
}

 

 06flower.c

 

/*
    循环练习
*/
#include <stdio.h>
int main() {
    int ge_shu = 0, xun_huan = 0, biao_zhi = 0;
    printf("请输入花瓣的片数:");
    scanf("%d", &ge_shu);
    /*for (xun_huan = 0;xun_huan < ge_shu;xun_huan++) {
        if (biao_zhi) {
            printf("她爱我\n");
        }
        else {
            printf("她不爱我\n");
        }
        biao_zhi = 1 - biao_zhi;
    }*/
    for (xun_huan = ge_shu;xun_huan >= 1;xun_huan--) {
        if (xun_huan % 2) {
            printf("她爱我\n");
        }
        else {
            printf("她不爱我\n");
        }
    }
    return 0;
}

 

 

 ge_shu = 1,  ge_shu = xun_huan = 1 % 2 =1,
执行一次循环之后,xun_huan -- 变为 0;
她不爱我
 
ge_shu = 2, ge_shu = xun_huan =2 %2 = 0;
她爱我
xun_huan -- 
她不爱我

 07num.c

 

/*
    循环练习
*/
#include <stdio.h>
int main() {
    int xun_huan = 0;
    for (xun_huan = 1;xun_huan <= 9;xun_huan++) {
        if (3 == xun_huan) {
            continue;
        }
        printf("%d\n", xun_huan);
        if (6 == xun_huan) {
            break;
        }
    }
    return 0;
}

 

 08sun.c

/*
    循环练习
*/
#include <stdio.h>
int main() {
    int xun_huan = 0, he = 0;
    for (xun_huan = 5;xun_huan <= 20;xun_huan++) {
        if (7 == xun_huan) {
            continue;
        }
        he += xun_huan;
        if (he > 40) {
            break;
        }
    }
    printf("xun_huan是%d,he是%d\n", xun_huan, he);
    return 0;
}

5 + 6 + 8 + 9 +10+11=49
所以,xun_huan = 11, he=49;

 


 

 09su.c

 

/*
    素数练习
*/
#include <stdio.h>
#include <math.h>
int main() {
    int shu_zi = 0, gen = 0, xun_huan = 0;
    printf("请输入一个数字:");
    scanf("%d", &shu_zi);
    gen = sqrt(shu_zi);
    for (xun_huan = 2;xun_huan <= gen;xun_huan++) {
        if (!(shu_zi % xun_huan)) {
            break;
        }
    }
    if (xun_huan <= gen) {
        printf("不是素数\n");
    }
    else {
        printf("是素数\n");
    }
    return 0;
}

10fei.c

 

/*
    循环练习
*/
#include <stdio.h>
int main() {
    int bian_hao = 0, shu_zi = 1, shu_zi1 = 1, xun_huan = 0;
    printf("请输入数字编号:");
    scanf("%d", &bian_hao);
    for (xun_huan = 2;xun_huan <= bian_hao ;xun_huan++) {
        shu_zi1 += shu_zi;
        shu_zi = shu_zi1 - shu_zi;
    }
    printf("要求的数字是%d\n", shu_zi1);
    return 0;
}

 

posted on 2018-11-29 14:59  XuCodeX  阅读(147)  评论(0)    收藏  举报

导航