C语言:c_语句

C_语句

C语言语句的大规则 从上往下顺序执行
条件循环

​ if(){}else{}

​ for(;😉{}
​ while(){}
​ do{}while(); 至少循环一次

1.顺序执行语句

​ 从main函数开始,一条一条语句往下执行

2.分支选择语句

	if
	(1)当某些条件成立时才执行
		if(condition){
		
		}
	(2)当条件成立时执行某个分支,当不成立时执行另外的分支
		if(condition){
		
		}else{
		
		}

	(3)条件分支有很多
		if(condition1){
		
		}else if(condition2){
		
		}else if(condition3){
		
		}....
	
	(4)所有的情况都有对应有分支
		if(condition1){
		
		}else if(condition2){
		
		}else if(condition3){
		
		}....else if(conditionx){
		
		}else{
		
		}
		这种情况是从上往下逐个条件进行判断,如果有一个语句为真,则执行对应的分支,执行完该分支以后下面的表达式不再判断	
		在一个完整的if(){}else if(){}.. 分支语句中,只会执行其中一个或者0个分支
	如果有else分支,一定会执行其中一个分支

3.switch 开关语句

		对于任意一个表达式在某次执行过程中总会得到一个确切的值,
		然后switch语句会根据该值直接跳到相同的case 值的地方开始执行,一直遇到break结束switch语句
		defualt 相当于 if语句中的else部分, 可有可无
		只有当所有的case都不满足时才会匹配作为入口执行(不一定是所有的case都不满足时才会执行)
		
		case是开  break是关
		
		switch(表达式){//switch(表达式)  表达式结果的类型只能是整数类型
			case 常量表达式1://常量表达式 的结果只能是整数类型
			
				[break];
			case 常量表达工2://常量表达式的结果不能一样
			
				[break];
			case 常量表达式3:
			..
				[break];
			[default:]
				
				[break];
		}
	注意:	
	default可以放在任意位置,但都必须是所有的case不满足时才会执行
	default和case一样,只是作为入口,一旦进入就是顺序往下执行,直至break
	case值只能是常量或者常量表达式
	case值不能重复
	case后面的语句可以用{} 也可以不用
			
	关于{}问题(不建议省略):
	switch() 后面不一定要有{}
	如果只有一个case语句时 可以省略
	if或者else if 或者else如果代码块只有一条语句时,{}可以省略
	{}怎么放的问题
		紧凑型
		if(){
		
		}
		对齐型
		if()
		{
		
		}
		else if()
		{
		
		}
	{}缩进问题
		{
			//代码缩进  {向右缩进
		}
		//} 向左编进



switch练习:
1. 百分制成绩 输出对应等级
2. 有效日期是当年的第几天

4.条件循环语句

	for
		语法规则:
		for(init_conment;loop_condition;change_forval_conment){
			//循环语句
		}	
	intit_conment :只会执行一次 一般用于初始化循环变量
		C99标准以后 允许在些处定义变量  -std=c99  
		init_conment 可以没有
	loop_condition:只有当该条件为true时才会执行循环体内部的语句
	         如果该条件为false时,则接着执行for(){}循环后面的语句
		loop_condition 可以没有  没有条件时表示 恒为真 
	change_forval_conment:
		当执行完一次循环体内部的语句时,执行该语句
		一般是用于改变循环变量的值
		change_forval_conment 该语句也可以没有
	
	循环语句也可以为空
	for(;;)语句中语句可以没有,但是;不能少
	如果循环体语句为空
		for(conments;conments;conments);
		for(conments;conments;conments);{}  {}里面不属于循环的语句

从键盘输入两个整数,求最大公约数
    32   24                96 44
	32-24=8 大-小          96-44=52
	24-8=16                52-44=8
	16-8=8                 44-8=36  36-8=28 28-8=20 20-8=12
	8-8=0                  12-8=4  8-4=4  4-4=0
		8是最大公约数
		
	32  24                96  44
	32%24=8               96%44=8
	24%8=0                44%8=4
		8最最大公约数     8%4= 0   4是最大公约数
	33   17               33%17=16
	33-17=16              17%16=1
	17-16=1               16%1 =0   1
	16-1=15
	15-1=14
	...
	1-1=0

使用以下两种语句实现:

while

do while

	1.输出10(包括10)以内的偶数
	2.求[0,100]之间所有整数之和

5.标准输出:

​ printf函数将内存中的数据输出到 输出缓冲区
​ 当到达一定的条件时,输出缓冲区的内容会输出到屏幕(终端)
​ (1) \n
​ (2) 缓冲区满 4kb
​ (3) 强制输出 fflush(stdout) 刷新缓冲区

6.标准输入:

​ scanf函数是从 输入缓冲(存)区 中按格式占位符读取数据
​ 如果输入缓冲区没有数据可读,那么将会从控制台等待输入

scanf() 可以从控制台读入数据
int num = 0;
scanf("%d",&num);
int n=0,m=0;
scanf("%d%d",&n,&m);

scanf传送门:http://blog.pfan.cn/katwood/53198.html

键盘所有的字符都会输入到 输入缓冲区中 包括 Enter ‘\n’
除了字符%c以外所有的格式占位符都会自动忽略 空白字符
%c 会读走 空白字符

清空输入缓冲区:
scanf("%\n]"); //从缓冲区中读取数据到\n为止 并且丢掉
scanf("%c"); //从缓冲区中读取任意一个字符 并且丢掉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小城微雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值