知识总结
pan_area(3.24)是函数调用表达式,表示用实参3.24去调用函数pan_area。double pan_area(double r)表示本函数的名字是pan_area,其返回值类型是double。这个函数只有一个参数,所以参数表里只有一对类型描述和参数名,说明参数的类型是double,名字是r。
int main() {
......
return 0;
}
以main为名字的函数的地位特殊,它表示这个程序的执行起点和整个过程。在一个C程序启动时,其执行就从它的main函数的体开始,一条条地执行其中的语句。到这个函数结束(语句都执行完了或遇到return语句退出),这个程序的执行就完成了。因此人们也常把main函数称为主函数。C语言规定main的返回值类型是int,通常用返回0表示程序正常结束,如果main函数没有执行return语言就结束了,系统将自动产生一个表示程序正常结束的值(通常就是0)。
条件表达式
条件表达式的形式是:
表达式1 ? 表达式2 : 表达式3
计算时先算表达式1;如果其值非0(条件成立)就计算表达式2,用它的值作为整个条件表达式的值;如果表达式1值是0就计算表达式3,用它的值作为整个条件表达式的值。
逻辑表达式
C语言的逻辑运算符是 !、&& 和 || ,它们分别表示否定、并且和或者三种逻辑运算。
人们提出了程序执行的三种基本流程模式,即顺序执行、选择执行和重复执行。
语句
1.条件语句:if 语句
条件语句有两种形式:
if (条件)语句
if(条件)语句1 else 语句2
第一种形式:首先求出条件的值,其值非0时就执行语句,该语句的完成也是整个条件语句的完成;否则(条件为0)就不执行语句,整个条件语句直接完成。
第二种形式:首先求出条件的值,其值非0时就执行语句1,否则(值是0)执行关键字else后的语句2。这两个语句之一执行完成时条件语句完成。
2.循环语句: while 语句
其形式是:
while(条件)语句
这里的语句称为循环体,同样可以是复合语句或其他控制结构,包括循环结构(这种情况称为多重循环)。也就是:(1)首先求出条件的值;(2)如果条件的值为0则整个while语句结束;否则(3)执行循环体,而后回到(1)继续。
3.循环语句: for 语句
其形式是:
for (表达式1;表达式2;表达式3)语句
其中表达式1完成变量的初始设置(用赋值表达式),表达式2是确定循环是否继续的条件,表达式3常用于循环变量更新,语句部分是循环体。其执行方式是:
(1)求表达式1的值,这件事只做一次,这里通常写给循环变量设初值的赋值表达式;
(2)求表达式2的值,如果得到0则循环结束,否则继续;
(3)执行作为循环体的语句;
(4)求表达式3的值,这里通常写更新循环变量的赋值表达式;
(5)转到(2)继续执行。
格式输出函数scanf
scanf是最常用的输入函数。scanf(格式描述串,&变量名,....)
问题与解决
1.while和for循环的的区别?
共同点:C/C++中的for循环代码和while循环代码分别在GCC中生成的汇编代码是相同的。即两者在表达能力上是等价的。
不同点:
1.循环条件
for循环的循环条件一般是循环变量(i、j、k)。
while循环的循环条件可以是循环变量(i、j、k),也可以是表达式。
2.循环条件的设定位置
for循环的循环变量可以在for循环的内部设定,在for循环结束之后就释放掉了;同样,也可以在for循环的前面设定,在for循环结束之后并没有释放掉。
while循环的循环变量或者表达式必须在while循环的前面设定,在while循环结束之后并没有释放掉。
3.适用场合
for循环适用于循环的开始和结束已知,循环次数确定的场合。
while循环适用于循环次数不确定的场合。
2.语句“X++;”和“X=X+1;”的区别?
如果X是简单变量,语句“X++;”和“X=X+1;”的意义相同。差别在于:在语句“X++;”执行中只计算X一次,而在语句“X=X+1;”执行中要计算X两次。
3.if(x > 0){ if(y >1) z =1; } else z= 2;
这个 else 部分属于哪个 if ?
C语言的规定是,每个else 部分总属于前面最近的那个缺少对应的 else 部分的 if 语句。