记录点一:分支与循环

好吧,事情还是超出了自的预判,想要同时兼顾两门语言的学习确实挺刺激的(学校的python题真不是人做的),再加上高数和线代的轮番轰炸,这几周稍微有些手忙脚乱,但还算应付得来。

主攻python的学习之余,抽了些许时间看看C。目前大致了解到了分支与循环这方面的知识,简单记录一下C的那些事好了。

引子

C语言支持三种语句结构,分别是顺序结构,选择结构,循环结构。这些结构足以表示世界上所有时间的流程(应该是吧,不然C肯定要再搞几个结构~)

要实现这些结构,需要借助控制语句,控制程序的执行流程。有九种控制语句:

第一类:条件判断语句(分支语句) if,swtich

第二类:循环执行语句  do while ,while ,for

第三类:转向语句  go to ,return ,break, continue

其中第一类和第二类分别对应了分支与循环,第三类穿插在其中实现更多的可能。

分支

简单说吧,一个路口分出来很多岔道,根据不同的目的地选择相应的岔道。

if语句
#include <stdio.h>

int main()
{
	int a = 0;
	scanf("%d", &a);
	if (a % 2 == 0)
	{
		printf("%d是一个偶数\n", a);
	}
	else 
	{
		printf("%d是一个奇数\n", a);
	}
	return 0;
}

 例如,上面是一个判断奇偶数的程序。

列一下我认为的要点和易错点

1.if语句只对后面的一条语句起作用,所以想要在if后面输入多条语句时,用{}括起来(应该是看作了一条语句)。建议无论如何加上{}

2.关系操作符==与赋值运算符=

作为if(条件)中的条件表达式中别写错了=,不然判断一直是真/假。

tips:把常量写右边。如if(5 == a),这样的话,当不小心写成了=,会报错。

3.else后面可以嵌套if

例如

#include <stdio.h>

int main()
{
	int a = 0;
	scanf("%d", &a);
	if (a > 0)
	{
		printf("%d是一个正数\n", a);
	}
	else if (a < 0)
	{
		printf("%d是一个负数\n", a);
	}
	else
	{
		printf("%d既不是正数也不是负数\n", a);
	}
	return 0;
}

4.else总是和前面最近的一个if配套,这和python里面看格式不太一样。某种程度上也说明了习惯性每一句加{}的可行性

swtich语句

看例子

#include <stdio.h>
int main()
{
	int a = 0;
	scanf("%d", &a);
	switch(a){
	case 1: {
		printf("你输入了1\n");
		break;
		}
	case 2: {
		printf("你输入了2\n");
		break;
	}
	default: {
		printf("你输入的既不是1,也不是2\n");
		break;
	}
	}
	return 0;
}

一个很傻的例子,因为想不到哈哈哈哈

要点如下

1.case XX:。XX与switch后面的表达式的值对应,就是走相应的通道

2.switch()。()中只能是整型表达式和字符,而case后面只能是整型常量

3.default用于所有case均不能匹配的情况

4.为什么要break,什么是break?

因为每个case和default是依次执行下来的,就是说,从相应的case通道进入后,之后的case或default都会执行。而加上break可以终止,只执行相应的case

5.每个case和default可以调换顺序

循环

while循环
//在屏幕上打印1到10
#include <stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		printf("%d ", i);
		i++;
	}
	return 0;
}

1.while()。()里面是条件,为真时执行下面的程序,从而实现循环

2.包括初始化部分,判断部分,和调整部分

for循环

这个和while很像,格式如下

for (exp1; exp2; exp3)

       语句;

这里面的exp1,exp2,exp3分别对应了while中的初始化部分,判断部分,和调整部分。

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

这个语句最大的特点就是不管三七二十一,直接执行一次

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

会用到的操作符

关系操作符

<, >, ==, <=, >=

他的表达式返回值是一个常量,0(假)或非零(真,一般是1)

这里要注意区分==和=

还有一件事,关系操作符不宜连用,因为程序会分步,举一个不恰当的例子:对x,y,z..要判断想x < y < z,程序会先算x < y,得出0或者1,再把0或者1与z比较,这就很怪。 

逻辑操作符

&&:并且

||:或

!:非       !=就是不等于

以上是一些简单的梳理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值