在case后,允许有多个语句,可以不用{}括起来。
各case和default子句的先后顺序可以变动,而不会影响程序执行结果。
default 子句可以省略不用。
mtianyan: switch与if语句的应用(计算是该年的第几天)
#include <stdio.h>
int main()
{
/* 定义需要计算的日期 */
int date = 0;
int year = 2008;
int month = 8;
int day = 8;
switch(month)
{
case 12:date+=30;
case 11:date+=31;
case 10:date+=30;
case 9:date+=31;
case 8:date+=31;
case 7:date+=30;
case 6:date+=31;
case 5:date+=30;
case 4:date+=31;
case 3:
if((year%4==0&&year%100!=0)||year%400==0)
{
date+=29;
}
else
{
date+=28;
}
case 2:
date+=31;
case 1:
date+=day;
printf("%d年%d月%d日是该年的第%d天",year,month,day,date);
break;
default:
printf("error");
break;
}
return 0;
}
正确: continue只能用在循环体内
臭名远扬之goto语句
C语言中也有这样的语句,就是goto 语句,goto语句是一种无条件分支语句.
goto 语句的使用格式为:
goto 语句标号;
自创函数
C语言提供了大量的库函数: 比如stdio.h 提供输出函数
自定义函数的一般形式:
注意:
-
[] 包含的内容可以省略,数据类型说明省略,默认是 int 类型函数; 参数省略表示该函数是无参函数,参数不省略表示该函数是有参函数;
-
函数名称遵循标识符命名规范;
-
mtianyan: 自定义函数尽量放在 main 函数之前,如果要放在main函数后面的话, 需要在main函数之前先声明自定义函数,声明格式为:
[数据类型说明] 函数名称([参数]);
函数调用
我们需要用到自定义的函数的时候,就得调用它,那么在调用的时候就称之为函数调用。
在C语言中,函数调用的一般形式为:
函数名([参数]);
注意:
-
对无参函数调用的时候可以将[] 包含的省略。
-
[] 中可以是常数,变量或其它构造类型数据及表达式,多个参数之间用逗号分隔。
有参与无参
在函数中不需要函数参数的称之为无参函数,在函数中需要函数参数的称之为有参函数。
有参和无参函数的一般形式如下:
有参函数和无参函数的唯一区别在于:函数 () 中多了一个参数列表。
mtianyan: 形参与实参
函数的参数分为形参和实参两种。
就类似小明,说了的话而不实际行动;
就如小刚能实际行动起来。
函数的形参和实参具有以下特点:
函数调用结束返回主调函数后则不能再使用该形参变量。
无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值等办法使实参获得确定值。
函数的返回值
函数的返回值是指函数被调用之后,执行函数体中的程序段所取得的并返回给主调函数的值。
函数的返回值要注意以下几点:
return语句的一般形式为:
return 表达式 或者为:return (表达式);
notes: 如果两者不一致,则以函数返回类型为准,自动进行类型转换。
注意:
void 函数中可以有执行代码块,但是不能有返回值.
mtianyan: void 函数中如果有return 语句,该语句只能起到结束函数运行的功能。其格式为: return;
|