C语言学习(二.流程控制)

if()…else… (条件语句)

在这里插入图片描述

#include<stdio.h>
int main()
{
	int atHouseYesOrNo;
	puts("在家输入1,不在家输入0");
	scanf("%d",&atHouseYesOrNo);
	if (atHouseYesOrNo == 1){
		puts("煮饭");
	}
	else
		puts("886");
	return 0;
}

内存中后两个数,用代数值按从小到大输出两数

#include <stdio.h>

int main()
{
	int data1;
	int data2;
	int data3;
	printf("请输入两个数\n");
	scanf("%d%d",&data1,&data2);
	if (data1>data2)
	{
		data3 = data1;
		data1 = data2;
		data2 = data3;
	}
	printf("%d,%d\n",data1,data2);
	
	return 0; 
}

逻辑运算符

在这里插入图片描述

#include <stdio.h>
int main()
{
	int data1;
	int data2;
	
	printf("请输入两个数\n");
	scanf("%d%d",&data1,&data2);
	if (data1 == 1 && data2 == 0){
		printf("逻辑与\n");	
	}
	if (data1 == 1 || data2 == 0){
		printf("逻辑或\n");
	}
	if ( !data1 ){
		printf("逻辑非\n");
	}
	return 0;
}

else

#include <stdio.h>
int main()
{
	char data1;
	printf("请输入一个字符\n");
	scanf("%c",&data1);
	if (data1>97 && data1<122){
		printf("%c\n",data1);
	}
	else{
		printf("%c\n",data1+32);
	}
	return 0;
}

嵌套

#include <stdio.h>
int main()
{
	int healthYesOrNo;
	int wealthYesOrNo;
	int handsomeYesOrNo;
	int huaMoneyYesOrNo;
	printf("你身体好吗(输入0/1)\n");
	scanf("%d",&healthYesOrNo);
	if(healthYesOrNo ==1){
		printf("你有钱吗,帅吗(输入0/1)\n");
		scanf("%d%d",&wealthYesOrNo,&handsomeYesOrNo);
		if(wealthYesOrNo==1 && handsomeYesOrNo==1){
			printf("你愿意给我花钱吗\n");
			scanf("%d",&huaMoneyYesOrNo);
			if(huaMoneyYesOrNo == 1){
				printf("在一起吧\n");
			}else{
				printf("不行,虽然你有钱很帅,但你很抠\n");
			}
		}else{
			printf("不行,我喜欢有钱的帅哥\n");
		}
	}else{
		printf("不行,你身体不好\n");
	}
	return 0;
}

switch case

#include <stdio.h>
int main()
{
	int results;
	printf("请输入你的成绩\n");
	scanf("%d",&results);
	switch(results/10){
		case 1:
		case 2:
		case 3:
		case 4:
		case 5:
		case 6:
			puts("学渣");
			break;
		case 7:
		case 8:
		case 9:
			puts("真棒");
			break;
		case 10:
			puts("天才");
			break;
		default:
			puts("输入错误");
			break;
	}
	
	return 0;
}

课后练习

在这里插入图片描述

#include <stdio.h>
int main()
{
	int x;
	int y;
	printf("请输入一个数\n");
	scanf("%d",&x);
	if(x<1){
		y = x;
	}
	if(1<=x && x<10){
		y = 2*x-1;
	}
	if(x>=10){
		y = 3*x-11;
	}
	printf("y=%d\n",y);
	return 0;
}

在这里插入图片描述

#include <stdio.h>
int main()
{
	int data;
	printf("输入成绩\n");
	scanf("%d",&data);
	if (data<=100 && data>=90){
		puts("成绩为A");
	}
		else if (data<=89 && data>=80){
			puts("成绩为B");
	}
		else if (data<=79 && data>=70){
			puts("成绩为C");
	}	
		else if (data<=69 && data>=60){
			puts("成绩为D");
	}
		else if (data<60 && data>=0){
			puts("成绩为E");
	}else
			printf("输入成绩有误\n");
	return 0;
}

while()… (循环语句)

前面用到的顺序结构和选择结构远远不够,我们要运用循环结构

#include <stdio.h>
int main()
{
	int data=0;
	while(data<10){
		puts("卢本伟牛逼");
		printf("data=%d\n",data);
		data++;
	}
	return 0;
	
}

for()… (循环语句)

#include <stdio.h>

int main()
{
	int data;
		//条件赋初 判断临界值 条件改变值
	for(data =0;data<10;data++){	//判断,执行循环体,条件改变
		puts("卢本伟牛逼");//循环体
	}
	return 0;
}

do…while() (循环语句)

continue (结束本次循环语句)

break (中止执行switch或循环语句)

switch (多分支选择语句)

return ( 从函数返回语句)

章节练习

在这里插入图片描述

#include <stdio.h>
int main()
{
	int m, n, m1, n1, data;
	printf("请输入两个正整数\n");
	scanf("%d%d",&m1,&n1);
	m=m1;
	n=n1;
	while(n1!=0){
		data=m1%n1;
		m1=n1;
		n1=data;
	}
	printf("最大公约数是:%d\n", m1);
	printf("最小公倍数是:%d\n", m*n/m1);
	return 0;
}

水仙花数

#include <stdio.h>
int main()
{
	int a,b,c;
	int i;
	for(i=100; i < 1000;i++)
	{
		//个位 十位 百位
		a = i % 10;
		b = i / 10 % 10;
		c = i / 100;
		if(i == a*a*a+b*b*b+c*c*c)//水仙花数每个数的立方和
		{
			printf("%d \n",i);
		}
	}
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值