学习C的知识点五--语法结构

1、顺序结构

代码从上到下,从左到右依次执行。

2、分支结构

代码根据给定的条件,直接跳转到与条件相符合的分支中,继续执行。

  1. 判断语句-if语句
    语法格式:
if(逻辑){
					语句;
}

如果“逻辑”为真,则执行“语句”,逻辑不成文则跳过整个if 语句,继续执行if 语句之后的代码。

  1. 二选一选择语句:

if(逻辑){语句1;} else{语句2;}

如果“逻辑”为真,则执行“语句1”,逻辑为假则执行“语句2”,完成后继续执行选择语句后面的代码。
4. 多选一选择语句:

if(逻辑1){语句1;} else if(逻辑2){语句2;}…… else if(逻辑n){语句n;}else{语句0;}

系统会从“逻辑1”开始,逐条向下执行代码,直到找到某一个逻辑为真,则直接执行该逻辑对应的语句,剩余的逻辑不再判断。如果说多选一语句中存在复数个正确的逻辑,系统只会执行每一个正确的逻辑对应的语句。如果所有逻辑都为假,直接执行“语句0”。
5. Switch case语句:
语法:

switch(表达式){
		case 常量1:
			语句1;
			break;
		case 常量2:
			语句2;
			break;
		.....
		case 常量n:
			语句n;
			break;
		default:
			语句0;
			break;
	}

解释: “表达式”可以是一个变量,可以是一个算数表达式,可以是拥有返回值的函数。这个“表达式”不管存放什么形式的数据,最终必须导出一个结果,这片结果可以是任意的数据类型。通常情况下,一般都是整型变量或者字符型变量。
当“表达式”的值与某一个case后面常量相等时,则直接跳转到该case分支中,执行对应的语句,其它case中语句不再执行。
如果有多个case满足条件,则只会执行第一个满足条件的case语句。
如果没有case满足条件,则跳转到default执行“语句0”(default)
注意:
switch-case语句,只负责跳转进入,不负责跳出。跳出功能由break负责。
switch-case语句中,case分支中不能申请变量。
break语句只能跳出分支与循环结构。

3、循环结构

代码根据给定的条件是否成立,如果条件成立执行循环体内部的语句,如果条件不成立,执行循环体外部语句。

循环三要素:

  1. 循环条件
  2. 循环变量的初始化
  3. 循环变量的改变方式

注意:

  • 循环条件必须与一个变量挂钩,否则循环条件不变的话,要么无限循环,要么从不循环。
  • 循环条件必须随着每一次循环进行改变,来保证第一次循环都可能结束循环。
  • 循环旨在用来解决一些重复操作的计算,使得代码的重复率降低,提高编程效率。
  • 当程序本身不确定某一个计算具体要执行多少次的时候,但是却又明确程序循环退出点在哪。此时,就可以使用循环来解决问题。

1、for循环语句

语法: for(表达式1;表达式2;表达式3){语句1}
释义:

  1. “表达式1”是循环变量的初始化,也就是循环变量从哪一个点开始 做改变。
  2. “表达式2”循环条件,满足该条件,则进入循环,执行语句1。直到某次循环的时候,条件不满足,则退出循环。
  3. “表达式3”循环变量的改变方式,

注意:

  • 如果循环中,嵌套了一个判断语句,判断语句中存在一个break,如果执行该break,无法当前循环条件是否满足,都会直接退出循环。
  • 如果循环语句没有‘{}’,那么在循环体后紧跟着的1条代码,属于这个循环体。if语句同理。

2)、while循环语句

语法: while(逻辑判断){语句};
解释: 当“逻辑判断”为真时,则会执行循环体“语句”,直到“逻辑判断”为假。
这里的循环准备条件需要写在while语句之前,不能像for语句一样可以直接写for里面。
注意:
循环变量的改变方式注意一定写在“语句内部”

3)、 do while循环语句

语法: do{语句;}while(逻辑判断)
解释: 先执行一次“语句”,再进行“逻辑判断”,“逻辑判断”如果为真,则会循环执行“语句”,直到“逻辑判断”主假。
do while 和while的最大区别 :do while 不管逻辑是否为真,至少执行一次循环语句。
do while一般使用的环境: 在项目中,可能存在这样的边界条件,使得第一次循环可能不满足循环条件,但是之后的所有循环直到结束为止都是满足条件。此时如果使用while循环,就不会进入循环。可以使用do while来解决这种问题。
continue关键字: 可能使用在循环语句当中。
解释: 当循环过程中,遇到continue关键字,则会直接结束本次循环,开始下一次循环(也就是说,一旦遇到continue,那么continue之后所有循环体代码不再执行,重新从循环的开关开始执行。)
变量的作用域以及生命周期:

  1. i. 生命同期范围,通常都在一个“{}”内。
  2. 当一个变量生命周期结束后,则无法再访问该变量。
  3. 在相同作用域内,变量名不能重复。但是在不同作用域内,变量名允许重复。遇到这种情况,系统会访问最近的作用域内的变量(就近原则)。

随机函数的使用:

①把相关的函数引用

#include<time.h>和#include<stdlib.h>

②产生时间因子:Srand(time(0))
③产生一定范围内随机数
int a=rand()%99+1;
由于rand会产生非常大的一个随机数,不能保证它的范围在1~ 99之间,所以可以直接对该随机数取余99,那么结果就是0~ 98之间的数,再+1之后,结题就是1~99之间的数了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值