8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
if-else 语句
语法如下:1
2
3
4
5
6if(表达式) {
语句1
}
else {
语句2
}
可以很明显的使用if(表达式)来替换if(表达式!=0),
if-else if 语句
语法如下1
2
3
4
5
6
7if (表达式) {
语句
}
else if (表达式) {
语句
}
else if (表达式) {
语句
}
else {
语句
}
这种 if 语句序列是编写多路判定最常用的方法。其中的各表达式将被依次求值,一旦某个表达式结果为真,则执行与之相关的语句,并终止整个语句序列的执行。
switch 语句
switch 语句的语法如下:1
2switch (表达式) {
case 常量表达式: 语句序列
case 常量表达式: 语句序列
default: 语句序列
每一个分支都由一个或多个整数值常量或常量表达式标记。如果某个分支与表达式的值匹配, 则从该分支开始执行。各分支表达式必须互不相同。如果没有哪一分支能匹配表达式,则执行标记为 default 的分支。default 分支是可选的。如果没有 default 分支也没有其它分 支与表达式的值匹配,则该 switch 语句不执行任何动作。各分支及 default 分支的排列次序是任意的。
看下面的例子:1
2
3main() {
int c, i, nwhite, nother, ndigit[10];
nwhite = nother = 0;
for (i = 0; i < 10; i++)
ndigit[i] = 0;
while ((c = getchar()) != EOF) {
switch (c) {
case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
ndigit[c-'0']++;
break;
case ' ':
case 'n':
case 't':
nwhite++;
break;
default:
nother++;
break;
}
}
printf("digits =");
for (i = 0; i < 10; i++)
printf(" %d", ndigit[i]);
printf(", white space = %d, other = %dn",nwhite, nother);
return 0;
}
while 循环与 for 循环
while 循环的语法结构如下:
```c
while (表达式) {
语句
}1
2
3
4
5
6
7在 while 循环中,首先求表达式的值。如果其值非 0,则执行语句,并再次求该表达式的值。这一循环过程一直进行下去,直到该表达式的值为 0 为止,随后继续执行语句后面的部分。
for 循环的语法结构如下:
```c
for (表达式 1; 表达式 2; 表达式 3) {
语句
}
从语法角度看,for 循环语句的 3 个组成部分都是表达式。
最常见的情况是,表达式 1 与表达式 3 是赋值表达式或函数调用,表达式 2 是关系表达式。
这 3 个组成部分中的任何部分都可以省略,但分号必须保留。
如果在 for 语句中省略表达式 1 与表达式 3,它就退化成了 while 循环语句。如果省略测试条件,即表达式 2,则认为其值永远是真值,因此,下列 for 循环语句:
```c
for (;;) { …
}1
2
3
4
5
6是一个“无限”循环语句,这种语句需要借助其它手段(如 break 语句或 return 语句)才能终止执行。
#### do-while 循环
do-while 循环的语法形式如下:
```c
do
语句
while (表达式);
break 语句与 continue 语句
不通过循环头部或尾部的条件测试而跳出循环,有时是很方便的。break 语句可用于从 for、while 与 do-while 等循环中提前退出,就如同从 switch 语句中提前退出一样。break 语句能使程序从 switch 语句或最内层循环中立即跳出。
continue 语句用于使 for、while 或 do-while 语句开始下一次循环的执行。在 while 与 do-while 语句中,continue 语句的执行意味着立即执行测试部分;在 for 循环中,则意味着使控制转移到递增循环变量部分。continue 语句只用于循环语句,不用于 switch 语句。某个循环包含的 switch 语句中的 continue 语句,将导致进入下一次循环。
goto 语句与标号
C 语言提供了可随意滥用的 goto 语句以及标记跳转位置的标号。但是不建议使用 goto 语句。
但是,在某些场合下 goto 语句还是用得着的。最常见的用法是终止程序在某些深度嵌套的结构中的处理过程,例如一次跳出两层或多层循环。这种情况下使用 break 语句是不能达到目的的,它只能从最内层循环退出到上一级的循环。下面是使用 goto 语句的一个例子:1for ( ... )
for ( ... ) {
...
if (disaster)
goto error;
} ...
error:
—EOF—