分支和循环语句

分支语句

if语句

//if的三种语句结构
//第一种最简单的if语句
if(表达式)
{
	语句;
}

//第二种
if(表达式)
{
	语句1;
}
else
{
	语句2;
}

//第三种
if(表达式1)
{
	语句1;
}
else if(表达式2)
{
	语句2;
}
else
{
	语句3;
}
//	else 与距离最近的未匹配的if进行匹配

switch语句

switch(整形表达式)
{
	case 语句:
		break;
	case 语句2:
		break;
	
	default语句:
		break;
}

循环语句

while语句

while(表达式)			//表达式为真则一直进行
{
	循环语句
}

在循环中break的作用是跳出循环;continue的作用是跳出本次循环进入下一次循环的判定。

for循环

for(表达式1;表达式2;表达式3)		//表达式1为初始化语句,表达式2为判断语句
{
	循环语句;
}

//变种的for循环
int x,y;
for(x=0, y=0; x<5 && y<10; x++, y++)
{
	循环语句;
}

do while循环

do
{
	循环语句;
}while(表达式);

练习题

1、计算n的阶乘
2、计算1!+2!+…+10!
3、模拟用户登陆场景。允许输入三次密码,密码正确则提示登陆成功。若三次均输入错误则退出程序。
4、字符串从两端闪烁输出 welcome to ISIP!

习题答案

1、计算n的阶乘

#include <stdio.h>

int main()
{
	int a = 1;
	int n = 0;
	int i = 1;
	printf("请输入要计算几的阶乘\n");
	scanf_s("%d", &n);
	for (i = 1; i < n + 1; i++)
	{
		a = a * i;
	}
	printf("%d的阶乘为%d\n", n, a );
	return 0;
}

2、计算1!+2!+…+10!

#include <stdio.h>

int main()
{
	int i = 0;
	int a = 1;
	int sum = 0;
	
	for (i = 1; i <11 ; i++)
	{
		a = a * i;
		sum = sum + a;
	}
	printf("结果为:%d" , sum);
	return 0;
}

3、模拟用户登陆场景。允许输入三次密码,密码正确则提示登陆成功。若三次均输入错误则退出程序。
注意:在比较两个字符串时不能直接用 == 而应选用函数strcmp来进行比较

#include <stdio.h>
#include <string.h>

int main()
{
	//模拟用户登录场景
	int i = 0;
	char arr[20] = {"123456"};
	char password[20] = {0};

	for (i = 0; i < 3; i++)
	{
		printf("请输入登陆密码:\n");
		scanf("%s", password);
		if (strcmp(password, arr) == 0)
		{
			printf("登陆成功\n");
			break;
		}
		else
		{
			printf("登陆失败\n");
		}
	}
	if (i == 3)
	{
		printf("密码输入错误已达3次,请稍后再试");
	}
	return 0;
}

4、字符串从两端闪烁输出 welcome to ISIP!

#include <stdio.h>
#include <string.h>
#include <windows.h>


int main()
{
	
	//字符串从两端闪烁输出
	int left = 0;

	char arr1[20] = { "Welcome to ISIP"};
	char arr2[20] = { "               " };
	int right = right = strlen(arr1) - 1;
	for (left=0; left < right + 1; left++, right--)
	{
		arr2[left] = arr1[left];
		arr2[right] = arr1[right];
		
		printf("%s", arr2);
		Sleep(1000);			//延时1s
		system("cls");			//清除屏幕
	}
	printf("%s", arr1);
	return 0;
}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值