zoukankan      html  css  js  c++  java
  • 《从问题到程序》第三章学习笔记

    知识总结

    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 语句。

  • 相关阅读:
    HPU--1189 Ou à
    实数向整数的强制转换
    HPU--1166 阶乘问题(一)
    HPU--1163 大数A+B
    阿斯伯格综合征完全指南各章链接
    思维改变生活第10章、有效沟通
    Mathematica(MMA)闪电入门系列 目录与说明
    第二语言习得理论介绍
    第二语言习得实践方法
    复赛注意事项:关于文件读写的格式
  • 原文地址:https://www.cnblogs.com/9223lx/p/8017710.html
Copyright © 2011-2022 走看看