c分支语句结构和逻辑语句结构

在c语言中0表示假,非0表示真。

if的书写规范

  1.bool值和零比较:bool类型是在C99标准中才引入的一个语法特点,用的很少,一般情况下用一个整形变量来充当一个bool变量的角色

  2.整形和零比较:如果一个变量就是整形  直接用if(整形==0)方式来比较

  3.指针和零比较:int *p = NULL;    if(p==NULL)

  4.浮点型和零比较:因为浮点型在内存中的存储方式使得,有些浮点数在内存中无法精确的存储,这样就必定有精度的丢失。一

                                一旦丢失就可能计算不够准确。无法使用==直接进行判断两个浮点型是否相当。

                                此时 我们需要设置一个能接受的精度,保证误差在精度范围内就可以了

        4.1判断一个浮点数是否等于0.0:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<Windows.h>
#define EXP 0.0000000001
int main() {
	float f = 0.000001;
	if ((f>-EXP)&&(f<EXP))
	{
		//此时就证明f使无限接近0的数字
	}
	system("pause");
	return 0;
}

        4.2判断一个浮点数是否等于20.0:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<Windows.h>
#define EXP 0.0000000001
int main() {
	float f = 0.000001;
	if (((f-20.0)>-EXP)&&((f-20.0)<EXP))
	{
		//此时就证明f使无限接近20.0的数字
	}
	system("pause");
	return 0;
}

switch语句:也是一种分支结构常用于多分支的情况

  在switch中的break:  在switch语句中,我们没办法实现分支,搭配break才能实现真正的分支

      break语句的实际效果就是把语句划分为不同的部分

   default子句:卸载任何一个case语句可以出现的位置,当switch表达式的值不匹配所有的case标签的值时这个default后的语句就会执行。每个switch只能有一个default 但是它可以出现在语句列表的任何位置。

goto语句:用于一次跳出多重循环break语句一次只能跳出一层循环

  

	for () {
		for () {
			for () {
				if ()
					goto error;
			}
		}
	}
    error:
	//处理情况

while语句:

   while语句中的break和continue

     在循环中只要遇到break。就停止后期的所有循环,直接终止循环;用于永久终止循环

     countinue用于终止本次循环直接开始下一次循环

for语句:  

for语句中的break和continue和while中是一样的

建议:1不可在for循环体内修改循环变量,防止for循环失去控制

           2建议for语句的循环控制变量的取值采用“半开半闭区间的写法”

循环语句的效率:

      在多重循环中,如果有可能应当最长的循环放在最内层,最短的循环放在最外层

以减少CPU跨切循环层的次数

猜你喜欢

转载自blog.csdn.net/qq_33552377/article/details/83211679