C语言学习第三天—控制流

C语言常见的控制流有三种结构 分别是:顺序结构,选择结构,循环结构。

1,顺序结构

顾名思义,所谓顺序结构就是程序由上到下顺序执行,例如我们的第一个hello,world程序。

#include<stdio.h>
void main()
{
     printf("Hello,World!");
}

2,选择结构

选择结构常用来处理多分支问题,常用的语句有 if 和 switch

if 语句基本语法为 

if(条件语句){

执行语句

} else if(条件语句)

执行语句,,,

例子如下:


#include <stdio.h>

int main(int argc, char *argv[])
{
	int x ;
	scanf("%d",&x);
	if(x> -5 && x< 0){
		printf("y=%d\n",x);
	} else if(x==0){
		printf("y=%d\n",x-1);
	} else if(x>0 && x<10){
		printf("y=%d\n",x+2);
	}
	return 0;
}
在分支过多时,if else语句可读性将会变差,同时过长的嵌套会导致程序执行效率变低。这时候就需要用到switch 语句。

 switch 语句基本结构为

switch(表达式)

case 常量  语句1

case 常量  语句2 break(可选)

...

default : 语句 xx Friday

比如下面这个问题 :输入一个1-7数字输出其对应的星期和之后的所有星期的英文单词,比如输入5 输出 Friday Saturday,Sunday。

#include <stdio.h>
int main(void){
    int a;
    printf("input integer number:      ");
    scanf("%d",&a);
    switch (a){
        case 1:printf("Monday\n");
        case 2:printf("Tuesday\n");
        case 3:printf("Wednesday\n");
        case 4:printf("Thursday\n");
        case 5:printf("Friday\n");
        case 6:printf("Saturday\n");
        case 7:printf("Sunday\n");
        default:printf("error\n");
    }
    return 0;
}
如果只想输入对应的星期,那么我们需要用到break 语句:

#include <stdio.h>
int main(void){
    int a;
    printf("input integer number:      ");
    scanf("%d",&a);
    switch (a){
        case 1:printf("Monday\n");
		break;
        case 2:printf("Tuesday\n");
		break;
        case 3:printf("Wednesday\n");
		break;
        case 4:printf("Thursday\n");
		break;
        case 5:printf("Friday\n");
		break;
        case 6:printf("Saturday\n");
		break;
        case 7:printf("Sunday\n");
		break;
        default:printf("error\n");
    }
    return 0;
}

3,循环结构

循环结构一般用  while 和for 来实现,由于for 把条件和判断写在一起可读性要好,所以一般情况下使用for 居多

例子 打印菱形,输入一个数打印仪器为底的菱形

#include<stdio.h> 
int main(){
int n,i,j;
	printf("---------开始打印符号---------\n");
	printf("请输入数字:");
	scanf("%d",&n);
for(i=1; i<=n; i++){
    for(j=1; j<=n-i; j++){
		printf(" ");
        }

	for(j=n-i+1; j<n+i; j++){
	printf("*");
	   }
	printf("\n");
	}
for(i=n-1; i>=1; i--){
    for(j=1; j<=(n-i); j++){
		printf(" ");
       }
	for(j=n-i+1; j<n+i; j++){
		printf("*");
	   }
	printf("\n");
	}

	printf("---------结束打印符号---------\n");
	return 0;
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值