0
点赞
收藏
分享

微信扫一扫

分支和循环

我是芄兰 2022-04-30 阅读 87
c语言

目录

1.顺序结构

2.选择结构 

分支语句                if        switch

if

练习:

switch        允许嵌套使用


1.顺序结构

2.选择结构 

分支语句                if        switch

if

一分支(只有一个if)

#include <stdio.h>

int main()
{
   int age = 20;

   if(age < 18)
   printf("未成年\n");

   return 0 ;
} 

两分支(一个if……else……)

#include <stdio.h>

int main()
{
    int age = 20;

    if(age < 18)
    printf("未成年\n");

    else
    printf("成年\n");

    return 0 ;
}

多分支

#include <stdio.h>

int main()
{
    int age = 0;
    scanf("%d\n",&age);
    
    if(age < 18);
    printf("未成年\n");

    else if(age >= 18 && age <28)
    printf("青年\n");
    
    else if(age >=28  && age <50)
    printf("壮年\n");

    else (age >= 50 && age <90)
    printf("老年\n");

    return 0;
}

练习:

1.判断一个数是否为奇数

#define _CRT_SECURE_NO_WARNINGS   //判断是否是奇数
#include <stdio.h>

int main()
{
	int a;
	int b;
	scanf("%d\n", &a);
	b = a % 2;
	if (1 == b)
		printf("a是奇数");
	else
		printf("a不是奇数");
	return 0;
}

2.输出1-100之间的奇数

#include <stdio.h>   //写出1-100之间的奇数

int main()
{
	int a;
	int i = 1;	
	while (i <= 100)
	{
		if(i % 2 == 1)
		printf("%d ", i);
		i++;
	}	
	return 0;
	
	
}

switch        允许嵌套使用

case后接整型常量表达式

//switch语句
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
	int day = 0;
	scanf("%d", &day);
	switch (day)
	{
	case 1:
		printf("星期一\n");
		break;
	case 2:
		printf("星期二\n");
		break;
	case 3:
		printf("星期三\n");
		break;
	case 4:
		printf("星期四\n");
		break;
	case 5:
		printf("星期五\n");
		break;
	case 6:
		printf("星期六\n");
		break;
	case 7:
		printf("星期天\n");
		break;
	default:
		printf("输入错误\n");
		break;
	return 0;
	}
}
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	int day = 0;
	scanf("%d", &day);
	switch (day)
	{
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
		printf("工作日\n");
		break;
	case 6:
	case 7:
		printf("休息日\n");
		break;
	default:        //输入其他的数字
		printf("输入错误");
		break;
	}
		return 0;
	
}
#include <stdio.h>

int main()
{
	int n = 1;
	int m = 2;
	switch (n)
	{
	case 1:
		m++;
	case 2:
		n++;
	case 3:
		switch (n)
		{
			//switch允许嵌套使用
		case 1:
			n++;
		case 2:
			m++;
			n++;
			break;
		}
	case 4:
		m++;
		break;
	default:
		break;
	}
	printf(" m = %d, n =%d\n", m, n);
	return 0;
}

循环语句

while(表达式)

#include <stdio.h>

int main()
{
	int i = 1;

	while (i <= 10)
	{
		i++;
		if (5 == i)
			//break;  //永久终止循环
		 continue;    //终止本次循环,跳到while的判断语句
		printf("%d ", i);
		
	}
	return 0;
}

getchar()和putchar()

getchar()夺取一个字符,putchar()打印一个字符

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

int main()
{
	int ch = getchar();

	putchar(ch);
	printf("%c\n", ch);
	return 0;

}
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	int ch = 0;
	while ((ch = getchar()) != EOF) //CTRL + Z出来    EOF -end of file 文件结束标志 值为-1
	{                               //getchar()只把输入的第一个字符打印出来
		putchar(ch);                //如果没有退出,一直输入字符,然后打印出来。
	}
	return 0;
}

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	char password[20] = { 0 };
	int ret = 0;
	printf("请输入密码:>");
	scanf("%s", password);  //123456\n       //数组名是整个数组的首地址也是第一个元素的地址,所以不用加&
	printf("请确认(Y/N):>");
	ret = getchar();        //getchar()取了\n,所以直接放弃确认
	if (ret == 'Y')
	
		printf("确认成功\n");
	else
		printf("放弃确认\n");
	
	return 0;

}
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	char password[20] = { 0 };
	int ret = 0;
	int ch = 0;
	printf("请输入密码:>");				//\n 是回车
	scanf("%s", password);  //123456\n       //数组名是整个数组的首地址也是第一个元素的地址,所以不用加&
											 //	输入密码是存在输入缓冲区的,输完密码后要把密码之外的东西清除,比如输入123456 78asac\n把后面的都清除
	
	while ((ch = getchar()) != '\n')         //注意\n是一个字符 单引号   只有输入到'\n'才输入结束
	{
		;
	}
	printf("请确认(Y/N):>");
	ret = getchar();        
	if (ret == 'Y')
	
		printf("确认成功\n");
	else
		printf("放弃确认\n");
	
	return 0;
}
举报

相关推荐

0 条评论