大家好,已经过去了两个星期了,我在这两个星期内有一些收获,希望大佬们可以对我这两周的
个人总结,做一下评价。
众所周知,世界各地都有不同的语言,虽然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;
}
代码就完成了。以上就是小编对分支和循环语句的个人总结,欢迎大家提出宝贵的建议,也欢迎大家在评论留言,都看到这里啦,留个赞吧,小编谢谢大家了!!!