if语句
if(a>b) { printf("a>b"); }else if(a<b)
{
printf("a<b");
}else{
printf("a==b");
}
switch语句
switch(expr1)中,expr1是一个整数表达式,整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。因此传递给 switch 和case 语句的参数应该是 int、 short、 char 或者 byte,还有enum。 long,string 都不能作用于swtich。
在jdk 1.7中switch的参数类型可以是字符串类型。
switch(a) { case a==1: printf("a==1"); break; case a==2 : printf("a==2"); break; default: printf("a is other"); }
for循环
for(;;) { ...... }
while循环
while(条件(_Bool类型)) { ....... }
先判断,再执行,条件为true才可执行while内容
do...while循环
do { ........... }while(条件(_Bool类型))
先执行再判断,条件为true则再循环,否则跳出
goto语句
使用方法:
先在代码的一个地方做一个标记,标记名不限,标记名后面加一个:
当你希望跳转到标记位置的时候,使用goto 标记名;就可以,类似于指针的强制改变
#include <stdio.h> int main(void) { /*一个数除3余2,除5余3除7余2,求这个数*/ int a=3; int b=5; int c=7; int x=2; loop1: if(x%5!=3) { x=x+3; goto loop1; } loop2: if(x%7!=2) { x=x+3; goto loop2; } printf("the number is %d",x); return 0; }
1,在多重循环时需要退出循环时,break只能退出当前循环,而使用goto可以直接跳出。
2,作为一种条件,直接跳转。
goto语句的原则可以供读者参考。
1) 使用goto语句只能goto到同一函数内,而不能从一个函数里goto到另外一个函数里。
2) 使用goto语句在同一函数内进行goto时,goto的起点应是函数内一段小功能的结束处,goto的目的label处应是函数内另外一段小功能的开始 处。
3) 不能从一段复杂的执行状态中的位置goto到另外一个位置,比如,从多重嵌套的循环判断中跳出去就是不允许的。
4)应该避免像两个方向跳转。这样最容易导致"面条代码"。
break,continue,return关键字
break和continue一般放在循环中和switch语句中
break指的是跳出循环,只是本循环。
continue指的是跳过本次循环。
在switch中没有循环但和循环类似,continue就是跳过这个case执行下一个,break就是直接跳出这个switch语句。
return:适用范围就广得多了。
作用1:表示返回,这个程序可以结束了,可以不带参数,如果你的程序运行到这里,你就不往后运行了,可以加一个return语句,就不会再执行了
作用2:返回指定类型的值,在定义函数的时候不是有 int af();int 这里是返回值,return 后面接的就是这个返回值,这个函数执行后就可以给别的变量赋值了,他的值就是return 后面的值
函数调用语句
和java中一样,这里我就简单介绍下。
函数分为有返回值和无返回值,所以可以有两种调用。
一:函数名(参数);
二:变量=函数名(参数);通过赋值语句调用函数,然后将返回值赋值给变量
#include <stdio.h> int addone(int a);/* 声明函数 */ int main(void) { int b=0; addone(b); b=addone(b); return 0; } int addone(int a) { return ++a; }
注意c中使用函数之前一般先声明函数,声明函数就是在include语句后面协商函数头.
如果函数的调用时在函数书写之后,可以不需要声明函数
#include <stdio.h> int addone(int a) { return ++a; } int main(void) { int b=0; addone(b); b=addone(b); return 0; }
空语句:
;
就是这个分号,也是一个语句,了解下。
它不执行任何操作,仅仅是起到占位的作用。