C语言学习-7

C语言学习系列文章目录

C语言是结构化的语言,今天的学习的内容是从结构化入手;


一、结构类型

顺序结构、选择结构、循环结构

二、C语言中语句与结构

选择结构

分支语句

if
switch

1.if语句

在C语言中,只要不是0就是真,只有0是假

int a,b,c,d;//可以赋值
a=0;b=1;c=2;
if(a>b)
	d=10;
else if(b>c)
		d=20;
	else
		d=30;//执行的结果应该是d=30,假如b换成了3那么结果就是d=20

在if结构中,如果执行较多语句,那么可以用if() {} else {}来实现,也就是没有{}的情况下默认只会执行下一条语句;当然if else if可以无限嵌套循环的;
当然语句也可以写成

if(b>a&&b<c)也可以写成a<b<c
 	d=10;
else
 	d=20;

特别的else是和最近的if匹配哦,也就是说

if(a>b)
	if(a<b)
		d=10;
	else
		d=20;
d=30;
//注意这上面的这个代码是没有执行结果的,因为首先a<b,所以直接进入了第一个if的else结构;
//因为第一个if没有else所以没有结构;
//else总是与最近的if进行匹配;

常用代码的优良书写习惯

int num =3;
if(num==5)
	return 0;
return 1;
------------------------------------------
上面的代码可以被替换为如下更加优良的代码书写习惯
------------------------------------------
int num =3;
if(num==5)
	return 0;
else
	return 1;
------------------------------------------
当然还可以继续优化成如下的更加好的代码
------------------------------------------
int num =3;
if(5==num)//这里用5==num可以避免如果漏了一个=引起的逻辑bug并且很难发现,因为5=num一定会报错的
	return 0;
else
	return 1;

2.switch语句

int main()
{
	int day = 0;
	scanf("%d",&day);
	switch(day)
	{
	case 1:
		printf("周一");
		break;
	case 2:
		printf("周二");
		break;
	}
}
/*
以上就是switch的表达式的用法,特别的swtich内的语句没有顺序问题哦!可以任意排序因为是匹配到才进去的;
switch(整形表达式)
{
	case 整型常量表达式:
		语句;
		break;//跳出指令,避免继续往下一个case进行执行;
			  //break要多用,因为break可以帮助理解
	default:
		语句; //如果case没有匹配的那么做什么操作
		break;
		
}
*/

根据上面的代码逻辑我们可以让他输出1-5为工作日,6-7为休息日,因为无论是case几都可以跳下去的

	int day = 0;
	scanf("%d",&day);
	switch(day)
	{
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
		printf("工作日");
		break;	
	case 6:
	case 7:
		printf("休息日");
		break;
	}

循环结构

循环语句

while
for
do while

1.while语句

while就是一个循环语句,加入符合条件那么就是进行操作,不符合就结束;

while(exp1)
{
	语句;
	//可以用break来跳出循环
}
int i = 1 ;
while(i<=10)
{
	if( 5 == i )
		break;//一样可以用break来结束循环;当i=5的时候将会结束循环;
	printf("%d",i);
	i++;
}

事实上break就是用于中断循环的,

int i = 1 ;
while(i<=10)
{
	if( 5 == i )
		continue;//跳过本次循环的代码,然后重新从while的条件开始判断;因而本代码是个无限循环;
	printf("%d",i);
	i++;
}
getchar()和putchar()和EOF

getchar就是获取一个字符,putchar就是输出一个字符,EOF就是-1结束getchar的意思,进入getchar后,可以通过ctrl+z来退出,也就是让getchar反馈EOF从而结束getchar;

EOF就是end of file就是文件结束的标志;

int main()
{
	int ch = 0;
	while((ch = getchar()) != EOF)
	{	
		putchar(ch);
	}
	return 0;
}

getchar的工作原理:就是在getchar-缓冲区-键盘;
譬如输入A再回车再A再回车缓冲区就是A,\N,A,\N的形式,那么getchar就会读取先是A然后是\N然后A然后\N就是这样的按顺序读取每次读取一个字符;
这也就意味着getchar是不会漏掉任何一个字符的!

goto语句

这个部分还没有开始学习,但是当时的记忆中应该是跳转到第几行的代码好像,也因为这种跳转并不好读懂,所以一般不会用goto语句


在C语言中,用;隔开的就是语句每一个;就是一个语句


总结

这个部分的学习是在春节前了,终于在节假日期间完成了这个部分的内容,要抓紧了,很多内容都还没学习呢!今天主要就是while和if语句的学习,包括else if的内容都很重要,感觉捡回来很多了抓点进度应该还行;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值