C语言笔记(1)

关键词:

c语言编程的7个步骤;
可移植性语言;
解释型与编译型;
编码器与链接器,目标代码,启动代码,库代码;
getchar()作用;
Linux与Windows系统;
典型c程序格式;
int main(void)+return,void的含义;
scanf("%f", &weight)中&的含义;
位,字节,字。

1.c语言编程的步骤
C语言笔记(1)

2.c语言是可移植性语言,可以在许多环境中使用

3.计算机编程语言分类(解释型,编译型,脚本语言)
详见https://blog.csdn.net/liuchuo/article/details/52014764

4.c编程的基本策略:
C编程的基本策略是, 用程序把源代码文件转换为可执行文件(其中包含可直接运行的机器语言代码) 。 典型的C实现通过编译和链接两个步骤来完成这一过程。 编译器把源代码转换成中间代码, 链接器把中间代码和其他代码合并, 生成可执行文件。 C 使用这种分而治之的方法方便对程序进行模块化, 可以独立编译单独的模块, 稍后再用链接器合并已编译模块。 通过这种方式, 如果只更改某个模块, 不必因此重新编译其他模块。 另外, 链接器还将你编写的程序和预编译的库代码合并。中间文件有多种形式。 我们在这里描述的是最普遍的一种形式, 即把源代码转换为机器语言代码, 并把结果放在目标代码文件(或简称目标文件)中(这里假设源代码只有一个文件) 。 虽然目标文件中包含机器语言代码,但是并不能直接运行该文件。 因为目标文件中储存的是编译器翻译的源代码, 这还不是一个完整的程序。
目标代码文件缺失启动代码(startup code) 。 启动代码充当着程序和操作系统之间的接口。 例如, 可以在MS Windows或Linux系统下运行IBM PC兼容机。 这两种情况所使用的硬件相同, 所以目标代码相同, 但是Windows和Linux所需的启动代码不同, 因为这些系统处理程序的方式不同。
链接器的作用是, 把你编写的目标代码、 系统的标准启动代码和库代码这 3 部分合并成一个文件, 即可执行文件

5.你可能会遇到一个问题:
在程序执行完毕后, 执行程序的窗口立即消失。 如果不希望出现这种情况, 可以让程序暂停, 直到按下Enter键, 窗口才消失。 要实现这种效果, 可以在程序的最(return这行代码之前) 添加下面一行代码:
getchar();
该行读取一次键的按下, 所以程序在用户按下Enter键之前会暂停。

6.许多Linux发行版都可以安装在Windows系统中, 以创建双系统。 一些存储器会为Linux系统预留空间, 以便可以启动Windows或Linux。 可以在Windows系统中运行Linux程序, 或在Linux系统中运行Windows程序。 不能通过Windows系统访问Linux文件, 但是可以通过Linux系统访问Windows文档。

7.典型c程序
<stdio.h>该行告诉编译器把stdio.h中的内容包含在当前程序中。 stdio.h是C编译器软件包的标准部分, 它提供键盘输入和屏幕输出的支持
int main(void):圆括号表明main()是一个函数名。 int表明main()函数返回一个整数, void表明main()不带任何参数。 这些内容我们稍后

8.int main(void)中的int表明main()函数应返回一个整数。 C标准要求main()这样做。 有返回值的C函数要有return语句。 该语句以return关键字开始, 后面是待返回的值, 并以分号结尾。 如果遗漏 main()函数中的 return 语句, 程序在运行至最外面的右花括号(}) 时会返回0。 因此, 可以省略main()函数末尾的return语句。 但是, 不要在其他有返回值的函数中漏掉它。 因此, 强烈建议读者养成在 main()函数中保留 return 语句的好习惯。 在这种情况下, 可将其看作是统一代码风格。 但
对于某些操作系统(包括Linux和UNIX) , return语句有实际的用途。

9.scanf("%f", &weight);scanf()函数用于读取键盘的输入。 %f说明scanf()要读取用户从键盘输入的浮点数, &weight告诉 scanf()把输入的值赋给名为 weight 的变量。 scanf()函数使用&符号表明找到 weight变量的地点

10.位、 字节和字
位、 字节和字是描述计算机数据单元或存储单元的术语。 这里主要指存储单元。最小的存储单元是位(bit) , 可以储存0或1(或者说, 位用于设置“开”或“关”) 。 虽然1位储存的信息有限, 但是计算机中位的数量十分庞大。 位是计算机内存的基本构建块。
字节(byte) 是常用的计算机存储单位。 对于几乎所有的机器, 1字节均为8位。 这是字节的标准定义, 至少在衡量存储单位时是这样(但是, C语言对此有不同的定义, 请参阅本章3.4.3节) 。 既然1位可以表示0或1, 那么8位字节就有256(2的8次方) 种可能的0、 1的组合。 通过二进制编码(仅
用0和1便可表示数字) , 便可表示0~255的整数或一组字符。
字(word) 是设计计算机时给定的自然存储单位。 对于8位的微型计算机(如, 最初的苹果机) , 1个字长只有8位。 从那以后, 个人计算机字长增至16位、 32位, 直到目前的64位。 计算机的字长越大, 其数据转移越快,允许的内存访问也更多。

哈姆雷特,请继续前行

相关文章: