首页 > 其他分享 >C语言学习日志4-关键字iii

C语言学习日志4-关键字iii

时间:2024-06-08 13:56:06浏览次数:13  
标签:case 语句 1.6 C语言 break while 循环 日志 iii

1.6,if、else 组合

1.6.1,bool 变量与“零值”进行比较
bool bTestFlag = FALSE;
C), if(bTestFlag); if(!bTestFlag);

1.6.2, float 变量与“零值”进行比较
float fTestVal = 0.0;
B), if((fTestVal >= -EPSINON) && (fTestVal <= EPSINON)); //EPSINON 为定义好的 精度。

1.6.3,指针变量与“零值”进行比较
int*p=NULL;//定义指针一定要同时初始化,指针与数组那章会详细讲解。
C) , if(NULL == p); if(NULL != p);

1.6.4,else 到底与哪个 if 配对呢?
【建议 1-16】程序中的分界符‘{’和‘}’对齐风格如下:
注意下表中代码的缩进一般为 4 个字符,但不要使用 Tab 键,因为不同的编辑器 Tab 键定义 的空格数量不一样,别的编辑器打开 Tab 键缩进的代码可能会一片混乱。

1.6.5,if 语句后面的分号
if(NULL != p) ; fun();
等效于:if(NULL != p){;} fun();
尽量写成:if(NULL != p){NULL;} fun();

1.6.6,使用 if 语句的其他注意事项
【规则 1-17】先处理正常情况,再处理异常情况。
【规则 1-18】确保 if 和 else 子句没有弄反。

1.7,switch、case 组合
1.7.1,不要拿青龙偃月刀去削苹果
if、else 一般表示两个分支或是嵌套表示少量的分支,但如果分支很多的话......还是用 switch、case 组合吧。其基本格式为:switch(variable) { case Value1: //program code break; case Value2: //program code break; case Value3: //program code break; ... default: break; }
【规则 1-19】每 个 case 语句的结尾绝对不要忘了加 break,否则将导致多个分支重叠(除非 有意使多个分支重叠)。
【规则 1-20】最后必须使用 default 分支。即使程序真的不需要 default 处理,也应该保留 语句:default : break;

1.7.2,case 关键字后面的值有什么要求吗?
记住:case 后面只能是整型或字符型的常量或常量表达式(想想字符型数据在内存里 是怎么存的)。

1.7.3,case 语句的排列顺序
【规则 1-21】按字母或数字顺序排列各条 case 语句。
【规则 1-22】把正常情况放在前面,而把异常情况放在后面。
如果有多个正常情况和异常情况,把正常情况放在前面,并做好注释;把异常情况放在 后面,同样要做注释。比如:
switch(variable)
{
///////////////////////////////////////////////////////////////////////////////////
//正常情况开始
case A:
//program code
break;
case B:
//program code
break;
//正常情况结束
//////////////////////////////////////////////////////////////////////////////////////
//异常情况开始
case -1:
//program code
break;
//异常情况结束
//////////////////////////////////////////////////////////////////////////////////////
...
default:
break;
}
【规则 1-23】按执行频率排列 case 语句

1.7.4,使用 case 语句的其他注意事项
【规则 1-24】简化每种情况对应的操作。
【规则 1-25】不要为了使用 case 语句而刻意制造一个变量。
【规则 1-26】把 default 子句只用于检查真正的默认情况。

1.8,do、while、for 关键字
C 语言中循环语句有三种:while 循环、do-while 循环、for 循环。

1.8.1,break 与 continue 的区别
break 关键字很重要,表示终止本层循环。现在这个例子只有一层循环,当代码执行到 break 时,循环便终止。
continue 表示终止本次(本轮)循环。当 代码执行到 continue 时,本轮循环终止,进入下一轮循环。
while(1)也有写成 while(true) 或者 while(1==1) 或者 while((bool) 1)等形式的,效果一 样。
do-while 循环:先执行 do 后面的代码,然后再判断 while 后面括号里的值,如果为真, 循环开始;否则,循环不开始。其用法与 while 循环没有区别,但相对较少用。
for 循环:for 循环可以很容易的控制循环次数,多用于事先知道循环次数的情况下。

标签:case,语句,1.6,C语言,break,while,循环,日志,iii
From: https://www.cnblogs.com/robinly/p/18237503

相关文章

  • C语言学习日志2-关键字i
    1.1,最宽恒大量的关键字----autoauto:它很宽恒大量的,你就当它不存在吧。编译器在默认的缺省情况下,所有变量都是auto的。1.2,最快的关键字----registerregister:这个关键字请求编译器尽可能的将变量存在CPU内部寄存器中而不是通过内存寻址访问以提高效率。注意是尽可能,不是绝......
  • C语言学习日志1-定义与声明
    什么是定义:所谓的定义就是(编译器)创建一个对象,为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常所说的变量名或对象名。一个变量或对象在一定的区域内(比如函数内,全局等)只能被定义一次,如果定义多次,编译器会提示你重复定义同一个变量或对象。什么是声明:有两重含......
  • C语言 比较mac
    cilium1.15.1把单个mac拆分成2个整数,做减法比较。#include<stdio.h>unionmacaddr{ struct{ __uint32_tp1; __uint16_tp2; }; __uint8_taddr[6];};static__always_inlineinteth_addrcmp(constunionmacaddr*a, constunionmacaddr*b){ i......
  • 【C语言】动态内存经典笔试题(上卷)
    前言本系列将详细讲解4道有关动态内存的经典笔试题,以助于加深对动态内存的理解。这些题目都非常经典,你可能随时会遇到它们,所以非常重要。本文讲解其中的前两题。第一题这个程序运行的结果是什么?voidGetMemory(char*p){p=(char*)malloc(100);}voidTest(......
  • C语言详解(动态内存管理)1
    Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎~~......
  • 解决C语言中scanf函数无法输入直接跳过的问题
    如果比较急的话,可以直接用这些方法,不急的话,建议读完。方法:1、看在调用该scanf函数前有没有用键盘输入过数据,有的话,可以尝试在该scanf函数前加个getchar();吃掉'\n'。2、在scanf前加一句"rewind(stdin);"(双引号里面的语句,不要把双引号也复制或打上去了),或者"fflush(stdin);",后......
  • C语言-----数组
    简单了解数组的知识以及数组的运用一、数组的概念二、一维数组1. 一维数组的创建与初始化2. 一维数组的使用三、二维数组1. 二维数组的创建与初始化2. 二维数组的使用四、用sizeof计算数组元素的个数一、数组的概念    数组可以说是目前为止学到的第......
  • c语言基础问题:1瓶汽水1元,2个空瓶可以换一瓶汽水,20元可以喝多少瓶汽水?
    老师布置的小组作业,好像是曾经的蓝桥杯题目,自己琢磨一下写出来了,写都写了还都加了注释,就想着不如发到这上面了,有遇到类似问题的可以看看,代码比较笨但是很好理解。#include<stdio.h>intmain()//1瓶汽水1元,2个空瓶可以换一瓶汽水,20元可以喝多少瓶汽水?{ intyuan=20;//本金......
  • 最大公约数(gcd())和最小公倍数(lcm())的c语言和c++详细解法
    最大公约数(gcd())和最小公倍数(lcm())最大公约数:定义:两个或多个整数共有的约数中最大的一个。例如:整数12和18,他们的公约数有1、2、3、6,其中最大的公约数是6。c语言解法:辗转相除法和更相减损法1、辗转相除法:思路:先求解较大的数除以较小的数的余数,再用较小的数除以前......
  • Linux下的C语言编程(指针)
    目录1一级指针1.1定义1.2指针的内存大小1.3指针的偏移1.3.1加法偏移1.3.2减法偏移2二级指针2.1定义2.2如何理解二级指针3三级指针3.1定义4数组和指针的关系4.1一维数组与指针的关系4.1.1数组名的性质4.1.2数组名与指针的地址偏移4.2二维数组与......