C语言篇第一个程序——学员笔记

C语言

C语言 很强大

优点

    十分灵活, 强大
    短小, 精悍
    语言简洁
    共有32个关键字, 9种控制语句, 书写形式自由

缺点

    太灵活, 编程自由度大, 入门有一定困难
    运算符和运算优先级过多
    不适合写大的东西

C语言标准

K&R C

    1978年,丹尼斯?里奇(Dennis Ritchie)和布莱恩?柯林汉(Brian Kernighan)合作出版了《C程序设计语言》的第一版。
    书中介绍的C语言标准也被C语言程式设计师称作“K&R C”
    第二版的书中也包含了一些ANSI C的标准。K&R C主要介绍了以下特色: 
        结构(struct)类型
        长整数(long int)类型
        无符号整数(unsigned int)类型
        把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道使用者要处理i = -10还是i =- 10,使得处理上产生混淆。

    即使在后来ANSI C标准被提出的许多年后,K&R C仍然是许多编译器的最低标准要求,许多老旧的编译仍然运行K&R C的标准。

ANSI C, ISO C

    C 的第一个标准是由ANSI发布的。
    虽然这份文档后来被国际标准化组织(ISO)采纳并且ISO发布的修订版也被ANSI采纳了,
    但名称ANSI C(而不是 ISO C)仍被广泛使用。
    ANSI C现在被几乎所有广泛使用的编译器支持。现在多数C代码是在ANSI C基础上写的。

C89,C90

    1983年,美国国家标准协会组成了一个委员会,X3J11,为了创立 C 的一套标准。
    经过漫长而艰苦的过程,该标准于1989年完成,并在作为ANSI X3.159-1989 "Programming Language C"正式生效。
    这个版本的语言经常被称作"ANSI C",或有时称为"C89"(为了区别C99)。
    在1990年,ANSI C标准(带有一些小改动)被美国国家标准协会采纳为ISO/IEC 9899:1990。
    这个版本有时候称为C90或者ISO C。
    因此,C89和C90通常指同一种语言。 
    传统C语言到ANSI/ISO标准C语言的改进包括:
        增加了真正的标准库  
        新的预处理命令与特性  
        函数原型允许在函数申明中指定参数类型  
        一些新的关键字,包括 const、volatile 与 signed  宽字符、宽字符串与字节多字符  
        对约定规则、声明和类型检查的许多小改动与澄清

C99

    2000年3月,ANSI 采纳了 ISO/IEC 9899:1999 标准。这个标准通常指C99。 
    C99新增了一些特性,如:  
        支持不定长的数组,即数组长度可以在运行时决定。  
        变量声明不必放在语句块的开头,for 语句提倡写成 for(int i=0;i<100;++i) 的形式,即i 只在 for 语句块内部有效。  
        初始化结构的时候允许对特定的元素赋值。  
        允许编译器化简非常数的表达式。
        取消了函数返回类型默认为 int 的规定。
    但是各个公司对C99的支持所表现出来的兴趣不同。
    当GCC和其它一些商业编译器支持C99的大部分特性的时候,微软和Borland却似乎对此不感兴趣,他们把更多的精力放在了C++上。

C11

    在2011年12月,ANSI 采纳了 ISO/IEC 9899:2011 标准。
    这个标准通常即C11,它是C程序语言的最新标准。

第一个程序

怎样开始写一个程序?

    1. 目标
        要明确我们书写这个程序索要达到的目标, 或者达到的效果, 深入思考我们需要完成什么.
    2. 设计
        对我们的程序进行一个设计, 思路上或者想法上, 代码如何书写上, 必要时可配上伪代码.
    3. 开始编写
        设计好了之后, 就开始编写吧!
    4. 测试
        编写完成, 进行程序的测试, 比如黑盒测试, 白盒测试, 单元测试....等等等等
    5. 发行
        测试完成无问题, 将程序发行出去.
    6. BUG修改
        发行了之后运行的人多了, 肯定会有BUG, 我们需要将BUG进行修改.
    7. 迭代更新
        当运行和使用的人多了, 时间久了之后, 肯定会有新的需求, 那么, 我们就需要进行迭代更新.

注意事项

C语言中, 所有的标点符号(不包括使用英文双引号, 即"..."包围的字符串, 但是包括其中的占位符和转义字符)都是半角符号.

{ ... } 代表的是函数体.

在函数体中间的内容, 每一条都是一条语句.

C语言中, 语句一般都以英文分号";"作为语句的结束. 当然有一些是不需要的, 比如 for 循环语句.

一个C语言程序, 必须有且仅有1个main函数(入口函数).

手动编译

    环境:
    Windows系统, 需要安装Visual Studio, 并打开我们Visual Studio提供的"开发人员工具"命令行.
    当然, 你也可以通过设置环境变量的方式来达到我们的目的.
    我们的目的只有一个, 就是使用 "cl.exe".

我们首先写一个 ILoveHades.c
通过我们的命令行命令: cl ILoveHades.c

编译完成会产生 ILoveHades.obj

链接完成会产生 ILoveHades.exe

注意, 我们的 .obj文件是不能执行 的.

我们看一下我们的执行结果:

是不是很有成就感!!!

IDE的使用

    IDE为我们提供了很多便利.
    比如:
        自动完成列表
        函数参数提示
        一键编译运行
        智能感知提示
        自动补全
        工程文件智能管理
        ....

合理运用IDE能够大幅度提升我们的开发效率和质量.

代码讲解

    .c 是我们的源代码文件, 我们称之为"源文件"
    .h 使我们的头文件, 用来做归纳总结的, 相当于对应源文件的目录, 包含了各种函数声明.

#include 是预编译指令, 是在编译之前进行的步骤

main函数, 入口函数, 有且仅有1个.

如果没有main函数, 编译不会报错, 但是在链接的时候, 会出现link1561错误.

    由此我们知道,

    编译, 就是进行语法检查, 检查通过后, 就会编译生成obj文件.
    链接, 对我们的可执行文件进行拼装, 会检测各种错误.

printf格式化

需要注意转义字符的使用.

需要注意占位符的使用, 使用占位符请务必保持占位符和给定的参数的类型一致.

扩展阅读: printf帮助文档

作业

    1. 分别用%d %o %x 输出一个int值, 并写清楚区别.
    2. 将printf的帮助文档看一遍, 将里边的例子运行一遍. 注意C11新增的函数, printf 和 printf_s的区别.
    3. printf 详解笔记.
    4. 厘米转英尺的程序编写, CM2Ft, 输出100次转换, 前面保留3位, 不足补零, 小数5位, 不保留0.
    5. 米转英尺, 要求同上.

更多学员笔记请加歪歪老师QQ2675336290

课程咨询请加妞妞老师QQ2474123456

猜你喜欢

转载自blog.csdn.net/qq_36683836/article/details/81126346