• 2018-2019-1 20189221 《从问题到程序》第 3 周学习总结


    2018-2019-1 20189221 《从问题到程序》第 3 周学习总结

    《从问题到程序》(第 3 章、第 4 章)

    第3章 变量、函数和控制结构

    变量

    当一个变量被定义时,系统为它确定一个存储值的位置,这个存储位置所占存储器单元的多少由变量的类型确定,也就是说,由变量所要存储的数据值的大小决定。
    变量有四个属性:变量的名字,变量的类型,变量的存储位置和变量的值。
    变量的命名除了不能用关键字作为变量外,可以用任何标识符作为变量名。
    将关键字void放在函数头部写返回值类型的位置,就表示定义的是一个不返回值的函数。
    关系表达式成立时求出的值是1,关系不成立时值是0,关系运算符优先级低于所有算术运算符。

    函数

    当主程序执行函数调用时,它自己的执行暂时中断,执行控制权转到被调用函数,使该函数开始执行。直到函数执行完毕,函数返回使执行控制权回到主程序,主程序才从中断点之后继续下去

    scanf是最常用的输入函数。scanf(格式描述串,&变量名,....)
    enum定义只能定义表达整数的常量,比如NUM=10;。
    scanf语句必须有&,且不会做值的类型转换。
    printf中double类型对应的是%f,scanf中double类型对应的是%lf。

    条件表达式

    条件表达式的形式是:
    表达式1 ? 表达式2 : 表达式3
    计算时先算表达式1;如果其值非0(条件成立)就计算表达式2,用它的值作为整个条件表达式的值;如果表达式1值是0就计算表达式3,用它的值作为整个条件表达式的值。

    逻辑表达式

    C语言的逻辑运算符是 !、&& 和 || ,它们分别表示否定、并且和或者三种逻辑运算。

    人们提出了程序执行的三种基本流程模式,即顺序执行、选择执行和重复执行。

    语句

    • 条件语句:if 语句
      条件语句有两种形式:

    if (条件)语句
    if(条件)语句1 else 语句2

    第一种形式:首先求出条件的值,其值非0时就执行语句,该语句的完成也是整个条件语句的完成;否则(条件为0)就不执行语句,整个条件语句直接完成。

    第二种形式:首先求出条件的值,其值非0时就执行语句1,否则(值是0)执行关键字else后的语句2。这两个语句之一执行完成时条件语句完成。
    每个else部分总属于前面最近的那个缺少对应的else部分的if语句。

    • 循环语句:
      while 语句
      其形式是:

    while(条件)语句

    这里的语句称为循环体,同样可以是复合语句或其他控制结构,包括循环结构(这种情况称为多重循环)。

    for 语句
    其形式是:

    for (表达式1;表达式2;表达式3)语句

    其中表达式1完成变量的初始设置(用赋值表达式),表达式2是确定循环是否继续的条件,表达式3常用于循环变量更新,语句部分是循环体。
    for语句中缺第一个或第三个表达式表示不做那部分动作,缺第二个表达式表示循环条件为1,也就是一个条件始终为真的循环。这种循环不会因为条件检测而终止。
    .for循环中,for(i=1;i<=20;i++)和for(i=1;i<=20;++i)程序意义不会改变,提倡使用++i。
    逗号运算符是优先级最低的运算符,形式为:表达式1,表达式2。例如:for(sum=0,n=1;n<=100;n++)

    第 4 章 基本程序设计技术

    第 3 章讨论了三种结构化流程模式和相关语言结构。顺序模式用复合语句实现。选择模式就是正确描述条件,考虑不同条件下应完成的动作,用条件语句实现也不困难。重复执行模式比较复杂,用循环实现时牵涉到的问题较多,第 4 章还要讨论基本输入输出,采用递归的方式编程,并介绍 C 语言的其他控制结构和控制语句。

    第四章描述了几种典型循环程序设计问题。判断素数(谓词函数)、艰难旅程(浮点误差)、求立方根(迭代和逼进)、求 sin 函数值(通项计算)。因为近期学习密码学知识,以判断素数为例进行说明。
    判断只有成立和不成立两种情况,完成判断的函数是一类特殊函数(也称为谓词),它们的返回值被作为逻辑值使用,通常用来控制程序流程,或放在条件表达式的控制部分。人们通常令判断函数返回 0 或 1,用 1 表示判断成立(在这里表示是素数),0 表示判断不成立。

    因为专业相关,还查阅了一些其他的素性测试方式:

    顺便编写了伪素数生成过程,然后判断是否为素数:

    斐波那契序列(计算与时间)
    Fibonacci(斐波那契)序列{Fi }i 有如下的递归定义:
    F0 = 1, F1 = 1, Fn = Fn−1 + Fn−2 (n >1)

    Fibonacci 序列的迭代计算(程序正确性与循环不变式)
    (1) F0 和 F1 已知;
    (2) 由 F0 和 F1 可以计算出 F2;
    (3) 一般地,若已知连续两个 Fibonacci 数,就可以算出序列中下一个数。

  • 相关阅读:
    EF--CodeFirst
    一个很吊的文章---框架
    EF的代码优先设计
    MVC3--View层
    asp.net返回值当文件下载问题
    MVC源码
    编译原理
    TPatch动态补丁系统(iOS)
    浅析分布式系统
    如何在腾讯云快速构建一个Wordpress个人站点
  • 原文地址:https://www.cnblogs.com/gdman/p/9901807.html
Copyright © 2020-2023  润新知