0
点赞
收藏
分享

微信扫一扫

C语言程序设计——程序流程控制方法(二)

循环结构

while语句

while(表达式){
	代码块;
}

do{
	代码块;
}while(表达式)
使用while循环实现程序,输出1--100#include<stdio.h>
int main(){
	int i = 1;
	do{
		printf("%d ", i);
		if(i % 10 == 0){
			printf("\n")
		}
	}while(i++ < 100)
}

在这里插入图片描述

FOR语句

for(初始化;循环条件;执行后操作){
	代码块;
}
适用for循环实现程序,输出1--100#include<stdio.h>
int main(){
	for(int i = 0; i <= 100; i++){
		printf("%d ",i);
		if(i % 10 == 0){
			printf("\n");
		}
	}
}

break和continue

短路原则

在刚才我们提到了i++与++i,我们用代码简单演示一下,二者的区别。
在这里插入图片描述
在这里插入图片描述
可以看到不论i++还是++i都是进行了加1的操作,但区别是i++是先进行对变量的访问,然后才是进行加1操作,而++i则是先进行加1操作,之后进行变量访问。

了解二者区别之后我们再看下面的判断语句与输出情况
在这里插入图片描述
按照正常情况下应该是if语句中在条件判断先进行判断,而后因为a是先访问变量是0,而后加1,b是先加1然后访问变量,a = 0, b = 1,所以应该打印F,然后a = 1, b = 1;在这里插入图片描述
但是我们可以看到输出结果与我们预想的结果有出入,b打印出了0,也就是说++b的操作并没有被运行。这就是短路原则。我们再把逻辑"与"换成“逻辑非”看一下运行结果
在这里插入图片描述可以看到这一次依旧是没有执行++b的操作

短路原则一个简单的应用就是可以解决输出格式问题,我们在一些网站刷题的时候,多个输出的时候需要用空格间隔,但是最后一个输出后面不能有空格,这种情况我们往往会用特判的方式来解决。现在我们可以用短路原则来解决这个问题。在代码,为了观察方便我把空格换成了逗号。
在这里插入图片描述

判断奇数个数

那么根据以上内容简单写一个程序,用来判断奇数个数

首先是随机数,我们需要引入一个头文件<stdlib.h>里面的rand()函数可以生成一个随机数,但是它是一个伪随机数,所以我们还需要一个种子,引入一个<time.h>,以时间作为种子,这样可以保证它不断的变化。生成一个1~100的随机数,则对rand()对100取余即可

然后我们可以用if来进行特判,定义一个count变量接收,如果为奇数则加1,然后我们可以优化一下,用当前随机数ans&1来代替if的特判语句。
在这里插入图片描述

举报

相关推荐

0 条评论