2019.2.26苏小红C语言

1.输出右对齐

可以采取在每行前面输出空格,使数字右对齐。

2.double和float的区别

float : 单精度浮点数

内存占4个字节,有效数字 8位,

double : 双精度浮点数

内存占8个字节,有效数字16位

double取值范围更大, float的cpu处理速度更快。
如果不声明,默认小数为double类型,所以如果要用float的话,必须进行强转。

3.多个if和if+else if

if + else if的条件之间是互斥关系,
if + if 的条件之间是并列关系。

4.等比数列求和问题

如国王的象棋盘问题。一般有两种方法:一是寻找一个通式来表示累加项;另一种是通过寻找前项和后项之间的联系,利用前项计算后项。

5.问答系统

错误后重新回答机制,选用do while 循环内含 if 判断 + flag

6.随机产生四则运算或四种信息

采取switch函数,case为1,2,3,4分别手动安排。

7.函数相关

7.1若函数没有函数返回值,则需要void定义返回值的类型。若函数不需要入口参数,则需用void代替函数头部中形参表中的内容,它告诉编译器此函数不接收来自调用程序的任何数据。
7.2参数传递:主调函数把实参的值复制给被调函数的形参的过程。
7.3良好的程序设计风格要求即使函数没有任何返回值也要用return;作为最后一条语句,表示结束函数的执行,但不返回任何值。
7.4函数原型声明通常与函数定义的头部是一致的,但是在函数原型的形参列表中,形参变量名可以省略 ,只给出形参的类型即可。
7.5全局变量在程序中位置与main()函数平行。在不指定初值时会自动初始化为0。大多数地方只是读取它的值,而不是修改它的值,此时就比较适将这个变量定义为全局变量。但是全局变量破坏了函数的封装性,建议不要使用全局变量。
7.6自动变量auto(动态局部变量,缺省)在定义时不会自动初始化,如不指定初值则值为乱码。auto在退出函数后其分配的内存立即被释放。

8.静态变量和全局变量

变量和函数有数据类型和存储类型两个属性。
静态变量和动态变量都是在静态存储区分配内存,都能自动初始化为0,生存周期都是整个程序运行期间。
函数内部定义的静态变量是静态局部变量,只能在函数内部访问。
所有函数外定义的静态变量是静态全局变量,能在定义它的文件内被访问,而非静态的全局变量可以在被程序的其他文件访问。

9.外部变量

在所有函数之外定义的变量没有指定其存储类别,则为一个外部变量。
作用域为从它的定义点到文件末尾。
但是要想在定义点之前或者问价其他位置使用它,就需要声明(而非定义)
extern 类型名 变量名;

10.断言assert()

包含头文件assert.h,assert后面括号内表达式为真时,没有动作;为假时终止程序。
断言仅在如下情况使用:

检查程序中的各种假设的正确性,例如一个计算结果是否在合理范围内;
证实或测试某种不可能发生的状况确实不会发生。6

11.动态局部变量和静态局部变量

#include 
int Square(int i)
{
    return i*i;
}
int main()
{
    int i = 0;
    i = Square(i);
    for ( ; i < 3; i++)    //此处的 i 是动态局部变量 i
    {
        static int i = 1;   //此处的 i 是静态局部变量 i
        i +=Square(i);
        printf("%d,", i);
    }
    printf("%d\n", i);
    return 0;
}

输出结果是2,6,42,3

12.计算a和b的最大值

return a > b? a: b;

13.最小公倍数

for (i = 1; i < b; i++)
{
    if (i*a % b == 0)
        return i*a;
}
return b*a;

14.阶乘函数

unsigned long Fact(unsigned int i)
{
    unsigned int i;
    unsigned long result = 1;
    for (i =2; i <= n; i++)
    {
        result *= i;
    }
return result;
}

15.求最大公约数的欧几里得算法

即辗转相除法:
对正整数a和b,连续进行求余预算,直到余数为0为止,此时非0的除数就是最大公约数。设r = a mod b表示a除以b的余数,若 r!= 0,则将b作为新的a,r作为新的 b,即Gcd(a,b)= Gcd(b, r),重复a mod b 运算,直到r=0为止,此时b为所求的最大公约数。

明日开始编程时间减半,复习《数据结构》《组成原理》《操作系统》《计算机网络》,进度快就学习《数据库》《计算机网络安全基础》

你可能感兴趣的:(2019.2.26苏小红C语言)