网课笔记04——分支与循环

1,操作符

关系操作符

大于:>                    小于:<                    相等:==

大于等于:>=          小于等于:<=           不相等:!=

条件操作符

? :

exp1?exp2:exp3
//如果exp1正确,则跳转到exp2,否则跳转到exp3

逻辑操作符

:逻辑取反操作符

&&:逻辑与操作符,并且。都为真则真。

||:逻辑或操作符,或者。都为假则假。

2,循环

1,while循环

格式:

while(表达式)
    语句;

注意:while后面的括号不可省!

while后面的表达式可以是任何类型的表达式,一般是条件或逻辑表达式。

原理:

先判断括号里面的表达式为不为真,如果是真的,则进行下面语句,然后再判断;如果是假的,则退出循环。当然,如果while循环中遇到了break或者continue或者goto或者return,也要退出。(这点以后遇到了再说)

如果最开始表达式为假,则一次也不执行!(和do-while不一样)

——通常需要一个循环控制变量,例如“i”;

2,do-while循环

形式:

do
    语句;
while(表达式);

原理:首先执行循环体(黑框框里的语句部分)内的语句,然后才判断表达式的值是否为真....之后和while一样。

如果要执行多条语句时,需要使用复合语句,即大括号括起来。

3,for循环

形式:

for(表达式1;表达式2;表达式3)
    语句;

关系式1:一般为赋值表达式,给循环控制变量赋初值

表达式2:一般为关系表达式或者逻辑表达式,作为循环控制条件

表达式3:一般为赋值表达式,给循环控制变量增量或减量

原理:

首先求表达式1的值,然后判断表达式2是否为真,如果为真,执行循环体(语句)部分,然后求表达式3的值。接下来判断表达式2是否为真...如果不为真,over

4,循环嵌套

注意:1,在嵌套的各层循环中,应使用复合语句,保证逻辑上的准确。

2,内外层循环控制变量不要同名

3,最好使用右缩进

4,不要交叉

下面附一个我写的猜数字游戏

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu(){
	
	printf("*****猜数字游戏~*****\n");
	printf("******1 开始*********\n");
	printf("******0 退出*********\n");
	printf("*********************\n");
} 
void game(){

	int r = rand()%100+1;
	int gress = 0; 
	int count = 10;
	printf("猜数字游戏开始咯~,数字范围为1~100,你一共有10次机会,快来试试吧~\n"); 
	while(count){
		

		printf("请你输入一个数:");
		scanf("%d",&gress);
		
		if(gress < r){ 
			printf("猜小了!\n");
	}
		
		else if(gress > r){ 
			printf("猜大了!\n");
		} 

			
		else if(gress == r){
			printf("恭喜你,猜对了\n");
			break; 
			}
			count--;
		if(count!=0){
		
		printf("你还有%d次机会哦\n",count);
		}
	} 
	
	if(count == 0)
		printf("次数用完咯,游戏失败,正确答案是%d\n",r);
	 
}
		
int main(){
	//0,菜单 
	//1,定义一个随机数
	//2,用户输入
	//3,判断
	//4,结束
	int input = 0; 
	srand((unsigned int)time(NULL)); //给随机数一个种子 
	
do{

	menu();
	printf("请输入你的选择:\n");
	 
	scanf("%d",&input);
	
	switch(input){
		case(1): //如果输入1,则开始游戏 
			game();
			break;
		case(0)://如果输入0,则退出游戏 
			printf("退出游戏"); 
			break;
		default://如果输入其他值,则再问 
			printf("输入错误,请再次输入\n"); 
			break;
	}
} 
	while(input);//非0则循环(多次玩游戏),0则退出 
	
	return 0;

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值