C语言分支和循环语句的个人总结

    大家好,已经过去了两个星期了,我在这两个星期内有一些收获,希望大佬们可以对我这两周的

个人总结,做一下评价。

   众所周知,世界各地都有不同的语言,虽然c语言已经但生了40余年,但在计算机行业也是属于初学者,必修的课目,就像英语是国际通用语言一样。当然,人类也不可能直接和计算机沟通,所以就诞生了 ,计算机语言。得得得,扯远了,咱们今天要总结的是分支和循环语句,刚刚有点跑提了,废话不多说,我们正片开始

   c语言是结构化的程序设计语言,这里指的是三种机构 顺序结构、选择结构、循环结构,当然我们生活也有很多类似的事情是这三种结构;比如你要去上厕所,因为人有三急嘛,别的事情也不干了,马上去厕所这就叫顺序结构;还有比如你手里有168¥,你想买给你喜欢的皮肤,可以你既喜欢李信的一念神魔,又喜欢貂蝉的仲夏夜之梦,你只有168¥,没有两个皮肤的¥,只能选一个购买,你没办法了,只能买貂蝉的仲夏夜之梦,哎,你看这就是选择;又比如说:你每天要吃饭吧,但是,由于你偷偷往游戏里面充钱,被妈妈知道了。好家伙,皮带沾碘伏,边打边消毒,给你一顿抽,报应来的很快,你妈妈为了惩罚你,把你一天的饭钱由原来的60¥一天改为30¥一天,这时候你看,还好有钱,条件满足,可以去食堂 吃饭;但是,上次你妈妈打你你还没有长记性,偷偷攒饭费去冲游戏,而且,又让 你妈妈发现了又是一顿皮带沾碘伏,最后,你妈妈为了让你长记性。今天,一天不给你饭钱,完了条件不满足,兜里没钱吃饭,噶了,然后循环结束。当然,以上都是抽象化的解释了c语言的三种结构,就是开玩笑,希望大家不要误解。

   那我们就来了解我们第二个循环if循环:

代码的格式尤为重要所以大家一定要牢记if语句的语法形式

if语句:

if (表达式)
   语句

例:判断输入的是否是奇数

int main()
{
  int num = 0;
  //输入
  scanf("%d",&num);
  //判读
  if (num % 2 == 1)
     printf("%d是奇数\n",num);
  return 0;
}

else语句: 

啊,这时候就有人问了,你这个代码有问题,那要是偶数该怎么办啊,这不是bug了。唉,别急这就要用到else语句了,他的格式为:

if (表达式)
   语句1
else
   语句2

好了,知道了格式用法,我们来补全一下代码  

#include <stdio.h>
int main()
{
    int num = 0;
    //输入
    scanf("%d", &num);
    //判读
    if (num % 2 == 1)
        printf("%d是奇数\n",num);
    //如果不是余1,那就是偶数
    else
    {
        printf("%d是偶数\n", num);
    }
    return 0;
}

嵌套if :

 又有人说了,作者你这个只能判断两个条件,让你判个条件多的该怎么办啊?哎,咱们有求必应,在 if else 语句中, else 可以与另⼀个 if 语句连⽤,构成多重判断,废话不多说,上案例:要求<18岁,打印“少年”;18岁~44岁打印“青年”;45岁~59岁打印“中老年”;60岁~89岁打印“老年”;99岁以上打印“老寿星”;

#include <stdio.h>
int main(){
    int age = 0;//初始化用于存age的变量
    scanf("%d",&age);//输入
    if(age<18)
          printf("少年\n")
    else if(<=44)
          printf("青年\n")
    else if(<=59)
          printf("中老年\n")
    else if(<=89)
          printf("老年\n")
    else 
          printf("老寿星\n")
     return 0;
}

关系操作符:

接下来咱们就又说一下至关重要的关系操作符了,有人就说了,你上面代码都敲完了,你才讲关系操作符,是不是画蛇添足啊?这个时候,老话讲的好,好饭不怕晚, 好东西都在后面,关系操作符是至关重要的,所以大家一定要跟进我的脚步(其实就是作者,排序出错了,写一半才想起来)。

c语言用于比较的表达式,称为关系表达式,里面使用的运算符就称为“关系运算符”,主要有6个分别是:

 > 大于运算符

< 小于运算符

 >= 大于等于运算符

<= 小于等于运算符

== 相等运算符

!= 不相等运算符

————————————————————————————————————

条件操作符:

   说完关系运算符,我们来继续了解条件操符。条件操作符也叫三目操作符,需要接收三个操作数

形式如下:

1 exp1 ? exp2 : exp3
表达1:
//为真---------表达式2计算,表达式3不算,表达式2的结果是整个表达式的结果
//为假---------表达式2不计算,表达式3计算,表达式3的结果是整个表达式的结果

逻辑操作符:

  接下来,我们要讲的是比较重要的,如果不了解逻辑表达式,以后在创作代码是很麻烦的,好了言归正传,就由小编为大家介绍两个逻辑操作符:

第一个 :

&& -----并且

两端同时为真,才为真,两者有一为假,即为假。接下来我们举个栗子大家就懂了!

例:

小张和小李大一刚来没得干,他两心想在宿舍呆着也是呆着,不如参加点活动,然后哥俩一块报名了学生会。有一天,学校来任务了,会长给他两打招呼:小张和小李来抬一下桌子。碰巧,小张出去和他女朋友出去玩了,赶不回来,桌子很沉,必须两个人一块抬桌子,小张没在,小李一个人就抬不了,所以条件不符合。唉,小张这个人比较负责,他抛弃女朋友,就要来抬桌子,唉,很不巧,小李和他女朋友出去玩了,小张自己就抬不了,所以条件又不符合。两端同时为真,才为真,两者有一为假,即为假。我这样讲大家明白了吧!

第二个:

||-----或者

两端只要有一个是真,则为真 ,同时为假,才为假。接下来我们举个栗子大家就懂了!

例:

咱们,接着用小张和小李举例子。由于上次任务没有完成,会长这次给他们安排了一点轻松活干,让他们搬椅子,唉,这回小李和女朋友出去玩了,只要小张在学校。但是,椅子不重,只要有一个人搬就可以了,所以他两只要有一个在学校,条件就成立了。只要他两都没在学校时,条件才会不成立。则:两端只要有一个是真,则为真 ,同时为假,才为假。我这样讲大家理解了吗  ?

好了光说不练假把式,上案例!!!

例:闰年的判断

    输入一个年份year,判断yaer是否闰年

1.闰年的判断规则:(1)能被被4整除并且不能被100整除是闰年;(2)能被400整除是闰年。

#include <stdio.h>
{
    int yaer = 0;//初始化year
    printf("请输入您要判断的年份:")
    scanf("%d",&yaer);//输入
    if(((year%4 == 0) && (year%100 != 0))||(year%400==0))
    {
     printf("%d是闰年\n"year)//符合闰年输出
    }
    else
    {
     printf("%d不是闰年\n",year)//不符合闰年输出
    }
return 0;
}

好了我们的代码就完成了,接下来介绍短路!

短路:

a && b                  a == 0 (因为在C语言中,0代表假,非0代表真)  右边不在计算

a || b                     a为真   右边不在计算

switch语句:

 人一生有很多选择,当然除了if语句以外,C语言还提供了switch语句来实现分支结构。switch 语句是一种比较特殊的if····else结构,当然你也可以理解他是另一种特殊形式的if····else结构,用于判断多个结构的情况。Switch语句的优势就很明显了 ,他比起if else更有易用,可读性更好的形式。废话不多说,书写可以为:

switch(expression){
   case value 1: statement
   case value 2: statement
   default : statement
}

上行代码中,根据表达式表达expression不同的值,执行相应的case分支。如果找不到对应的值,就执行defoult分支。

注:· switch后expression必须是类型表达式

· case后的值,必须是整形常量表达式

好了,到这来我们的分支结构就到此为止了,接下来要介绍至关重要的循环解构了。

循环语句有三种结构分别是:for循环、while循环、do while循环。接下来,我为大家介绍第一种循环,while循环。

while循环:

首先我给大家做个对比 if 和while的对比:

if(表达式)
   语句;
while(表达式)
   语句;

首先,他们的写法格式上大体相同,然后我们看一下他们的语句流程图: 

这是if语句的执行流程(素材来源网络侵权速删)

这是while语句的执行流程(素材来源网络侵权速删) 

相信大家看了流程图,应该也有所了解,那么小编也不废话,直接上案例:

int main()
{  int i = 1 //初始化变量
   while(i <= 10)//判读部分
   { printf("%d "i);
     i ++;//调整部分
   }
   return 0;
}

 好了介绍了我们第一循环while循环,也该介绍我们第二个循环for循环.

for循环:

for循环是三种循环里面使用最多的,for循环的语法格式如下:

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

唉,大家就会有疑问?这个for循环好像和while循环不太一样,为什么他可以放3个表达式啊?

别急,小编马上为大家解释!

表达式1:用于循环变量的初始化(对于for循环表达式1,只执行1次)

表达式2:用于循环结束的判断

表达式3:用于循环变量的调整

唉,这就是为什么for循环是三个里面使用最多的,你别的循环只能输入一表达式,而我for循环一下写三个表达式,这就体现出优势所在了。 当然,for里面的表达式也是可以省略的这个我们后续,在讲。

这是for语句的执行流程(素材来源网络侵权速删) 

接下来看案例:

要求计算1~100之间3的倍数的数字之和。

int main()
{
   int i = 0;//初始化变量i
   int num = 0;//初始化变量num
   for(i = 3;i < 100;i+= 3)
   {  
      sum += i;  
   }
   printf("%d\n",sum);//打印输出结果


   rutern 0;
}

 相信大家看完以上代码已经对for循环了解,好了接下来我们来了解第三种循环do while循环。

do while循环:

在整个循环中do while 语句的使用最少,它的语法如下:

do 
     语句;
while(表达式);

事出反常必有妖,唉,do while语句为什么会用使用的最少,我们来看一下他和while和for的区别:

while和for两个是先判断,条件满足后在进入循环,执行循环,不满足则退出。

do while循环则是先直接进入循环体,执行循环,然后再执行while后的判断表达式,表达式为真,就会进行下一次,表达式为假,则不在继续循环。

 

这是do while语句的执行流程(素材来源网络侵权速删)  

废话不多说,上案例:

屏幕上打印1~10的值

#include <stdio.h>
int main()
{
 int i = 1;
 do
 {
 printf("%d ", i);
 i = i + 1;
 }while(i<=10);
 
 return 0;
}

好了我们的三个循环就告一段落了,接下来小编简单的介绍一下break和continue语句。

break和continue语句:

在循环执行的过程中,如果某些状况发⽣的时候,需要提前终制止循环。C语言中 提供了 break 和 continue 两个关键字,就是应该到循环中的。

• break 的作⽤是⽤于永久的终⽌循环,只要 break 被执⾏,直接就会跳出循环,继续往后执 ⾏。 • continue 的作⽤是跳过本次循环 continue 后边的代码,在 for 循环和 while 循环中有所 差异的。

循环的嵌套:

  while、do while、for,这三个循环往往会嵌套在一起更好的解决问题,就是我们说说的嵌套。

注:for循环的初始化,判读,循环三个表达式都可以省略,但是判断部分省略。要注意:如果省略了表示判断部分恒值为真。

好了,写了这么长的文章,就是为了这最后一个代码。不是,姜文的电影邪不压正中有一句话,就是为了这点醋,我才包的这顿饺子,为了最后这个代码,写了4800多个字。废话不多说,上案例:

提示:随机数生成方式:

1.rand函数生成随机数(0~32767)

2.在使用rand函数之前,现在需要调用srand设置随机数生成的基准值可以使用time函数的返回值,做基准值。

 注意:在一次程序运行中,只需要设置一次基准值就行,后面可以多次生成随机值。

#define _CRT_SECURE_NO_WARNINGS 1
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void yun()
{
	printf("*****************************\n");
	printf("******** 1. 开始游戏  *******\n");
	printf("******** 0. 退出游戏  *******\n");
	printf("*****************************\n");
}
void game()
{
	//1.产生一个随机数1到100;
	int ret = rand() % 100 + 1;
	//2.输入
	int q = 5;
	while (q)
	{
		printf("您还有%d次机会\n", q);
		int guess = 0;
		printf("请猜数字:>");
		scanf("%d", &guess);
		if (guess < ret)
		{
			printf("你猜小了\n");
		}
		else if (guess > ret)
		{
			printf("你猜大了\n");
		}
		else
		{
			printf("恭喜猜对了!\n");
			break;
		}q--;
	}
	if (q == 0)
	{
		printf("很抱歉你失败了,正确的数字是:%d\n",ret);
	}
}
int main()
{
	srand((unsigned int)time(NULL));
	int input = 0;
	do
	{
		yun();
		printf("请选择:>");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			printf("猜数字游戏\n");
			game();
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误\n");
			break;
		}
	} while (input);
	return 0;
}

代码就完成了。以上就是小编对分支和循环语句的个人总结,欢迎大家提出宝贵的建议,也欢迎大家在评论留言,都看到这里啦,留个赞吧,小编谢谢大家了!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值