蓝桥备赛--c基础知识(一)

这里只是列举一些知识点,针对哪个点不熟悉可以再去进一步复习

一、分支与循环

1.if和else

这里知识点很简单,格外注意几点

①if后面要加表达式(穿插知识点运算符)


关系运算符,条件操作符(a>b?a:b),逗号表达式(会从左向右依次计算但是整个表达式的结果是最后一个表达式的结果),逻辑操作符(! ||  &&)

int main()
{
	int a = 0;
	int b = 3;
	int c = 4;
	a = (a + 3, c = a + 3, b = c * a + 4);
		printf("%d",a);

}

(逗号表达式图示)


②if后面多条语句的情况,要加大括号

③嵌套if的用法

2.switch

①Switch(整型表达式!)

int main()
{
	int num = 0;
	scanf("%d", &num);
	switch (num % 3)//整形表达式
	{
	case 0://整形常量(可以是字符)
		printf("余数为0\n");
		break;
	case 1:
		printf("余数为1\n");
		break;
	case 2:
		printf("余数为2\n");
		break;
	default:
		printf("error\n");
	}
	return 0;
}

②要加break跳出

3.while语句

①基本模版回忆(输出奇数偶数)

int main()
{
	int i = 1;
	while (i <= 10)
	{
		printf("%d", i);
			i += 2;
	}
	return 0;
}

②注意i的范围,不要死循环

4.for循环

①通常作为第一使用,初始化,判断,调整

int main()
{
	for (int i = 1; i <= 10; i++)
	{
		printf("%d", i);
	}
	return 0;
}

②i++和++i效果上没有区别,但是有些说法说c++在自定义类型上++i比i++的效率高

5.do while循环

循环体至少被循环一次

int main()
{
	int i = 1;
	do
	{
		printf("%d", i);
		i++;
	} while (i <= 10);
	return 0;
}

6.break和continue

break用于永久的终止循环

continue用于跳出本次的循环

int main()
{
	int i,d;
	int count = 0;
	scanf("%d", &i);
	while (i)
	{
		d = i % 10; 
		if (d == 0)
		{
			printf("0");
			i /= 10;
			continue;
		}
		else {
			printf("%d", d);
		}
		i /= 10;
	}
	return 0;
}

如实现整数倒序输出代码所示,我加入了continue,他就会跳出我本次的while循环,从而解决掉有0出现的情况

break则跳出整个循环,理解较为简单,此处未做代码演示

7.goto语句

①goto语句只能在本函数内部使用

②尽量少用goto语句,但多层循环语句中可以快速跳出(比break好用)

int main()
{
again:
	printf("xiix");
	goto again;
	return 0;
}

  二、随机数生成

1.rand函数

rand函数伪随机,生成随机数结果可能会相同,因为默认种子为1

如何改种子呢?

则引入srand函数

2.srand函数

int main()
{
	srand(2);
	printf("%d", rand());
	return 0;
}

所以要想每次随机数运行出来结果不同,就要调整种子seed。

3.time函数

c语言中,time函数可以返回一个时间戳(当前时间和计算机启动时间的所经过的秒数)

int main()
{
	srand((unsigned int)time(NULL));
	printf("%d", rand());

	return 0;
}

4.设置随机数的范围

%100得到的余数是0-99,所以%100+1得到的是1-100

同理,要想得到100-200,那就加上100再%101(%101得到的是0-100)

int main()
{
	srand((unsigned int)time(NULL));
	printf("%d", 100+rand()%101);

	return 0;
}

今天还会更新c语言复习内容,等我整理!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值