随笔分类 - c语言
摘要:#include <stdio.h> #define M (n*n+3*n) #define M1 n*n+3*n int main(){ int sum, n; printf("Input a number: "); scanf("%d", &n); sum = 3*M+4*M+5*M; prin
阅读全文
摘要://main.c #include <stdio.h> extern void func(); extern int m; int n = 200; int main(){ func(); printf("m = %d, n = %d\n", m, n); getchar(); //return 0
阅读全文
摘要:#include <stdio.h> #define PI 3.14159265454454235432453245 main() { printf("%f\n",PI); printf("%.1f\n",PI); printf("%.3f\n",PI); printf("%.6f\n",PI);
阅读全文
摘要:对于平常应用程序的开发,很少有人会关注编译和链接的过程,因为我们使用的工具一般都是流行的集成开发环境(IDE),比如 Visual Studio、Dev C++、C-Free 等。这些功能强大的 IDE 通常将编译和链接合并到一起,也就是构建(Build)或运行(Run)。即使在 Linux 下使用
阅读全文
摘要:前面我们都是将所有的代码写到一个源文件里面,对于小程序,代码不过几百行,这或许无可厚非,但当程序膨胀代码到几千行甚至上万行后,就应该考虑将代码分散到多个文件中,否则代码的阅读和维护将成为一件痛苦的事情。本节我们就来演示一下多文件编程。在下面的例子中,我们创建了两个源文件 main.c 和 modul
阅读全文
摘要:使用库函数之前,应该用#include引入对应的头文件。这种以#号开头的命令称为预处理命令。C语言源文件要经过编译、链接才能生成可执行程序:1) 编译(Compile)会将源文件(.c文件)转换为目标文件。对于 VC/VS,目标文件后缀为.obj;对于GCC,目标文件后缀为.o。 编译是针对单个源文
阅读全文
摘要:0.printf(标志,输出对象): 标志由双引号限定范围,包括需要原样显示的字符,特定标志如%d %s等 输出对象由一个或多个变量、常量、表达式组成。有两个以上时用逗号分隔 特定标志与输出对象的个数要一一对应,顺序也要对应 特定标志包括换行等特殊符号\n,注意确定其的恰当位置 1.C语言程序区分大
阅读全文
摘要:所谓虚拟地址空间,就是程序可以使用的虚拟地址的有效范围。虚拟地址和物理地址的映射关系由操作系统决定,相应地,虚拟地址空间的大小也由操作系统决定,但还会受到编译模式的影响。这节我们先讲解CPU,再讲解编译模式,让大家了解编译器是如何配合CPU来提高程序运行速度的。 CPU的数据处理能力 CPU是计算机
阅读全文
摘要:C语言是 70 年代的产物,那个时候只有 ASCII,各个国家的字符编码都还未成熟,所以C语言不可能从底层支持 GB2312、GBK、Big5、Shift-JIS 等国家编码,也不可能支持 Unicode 字符集。稍微有点C语言基本功的读者可能认为C语言使用 ASCII 编码,字符在存储时会转换成对
阅读全文
摘要:Unicode 也称为统一码、万国码;看名字就知道,Unicode 希望统一所有国家的字符编码。Unicode 于 1994 年正式公布第一个版本,现在的规模可以容纳 100 多万个符号,是一个很大的集合。 有兴趣的读取可以转到 https://unicode-table.com/cn/ 查看 Un
阅读全文
摘要:计算机是一种改变世界的发明,很快就从美国传到了全球各地,得到了所有国家的认可,成为了一种不可替代的工具。计算机在广泛流行的过程中遇到的一个棘手问题就是字符编码,计算机是美国人发明的,它使用的是 ASCII 编码,只能显示英文字符,对汉语、韩语、日语、法语、德语等其它国家的字符无能为力。为了让本国公民
阅读全文
摘要:字符集(Character Set)为每个字符分配了唯一的编号,我们不妨将它称为编码值。在C语言中,一个字符除了可以用它的实体(也就是真正的字符)表示,还可以用编码值表示。这种使用编码值来间接地表示字符的方式称为转义字符(Escape Character)。转义字符以\或者\x开头,以\开头表示后跟
阅读全文
摘要:学习了 fopen() 函数后,我们知道它的第二个参数是一个字符串,用来表示文件打开方式。如果字符串中出现b,则表示以二进制方式打开文件;如果字符串中出现t,或者两者都不出现,则表示以文本方式打开文件。 文本文件和二进制文件的区别 根据我们以往的经验,文本文件通常用来保存肉眼可见的字符,比如.txt
阅读全文
摘要:在C语言中,操作文件之前必须先打开文件;所谓“打开文件”,就是让程序和文件建立连接的过程。打开文件之后,程序可以得到文件的相关信息,例如大小、类型、权限、创建者、更新时间等。在后续读写文件的过程中,程序还可以记录当前读写到了哪个位置,下次可以在此基础上继续操作。 标准输入文件 stdin(表示键盘)
阅读全文
摘要:文件是数据源的一种,最主要的作用是保存数据。在操作系统中,为了统一对各种硬件的操作,简化接口,不同的硬件设备也都被看成一个文件。对这些文件的操作,等同于对磁盘上普通文件的操作。例如: 通常把显示器称为标准输出文件,printf 就是向这个文件输出数据; 通常把键盘称为标准输入文件,scanf 就是从
阅读全文
摘要:在实际编程中,我们经常需要生成随机数,例如,贪吃蛇游戏中在随机的位置出现食物,扑克牌游戏中随机发牌。在C语言中,我们一般使用 <stdlib.h> 头文件中的 rand() 函数来生成随机数,它的用法为: int rand (void); void 表示不需要传递参数。 C语言中还有一个 rando
阅读全文
摘要:%d 十进制整数 %i %lf双精度浮点数 %o八进制整数 0%o或0%O %x十六进制整数 0x%x 或 0X%X %f单精度浮点数 %E %e科学计数法 %s 字符串 %c 字符(单个) %hu代表以 unsigned short格式输出整数%hx 代表以16进制的 输出short类型的整数%u
阅读全文
摘要:复合语句(compound statement)简称为语句块,它使用大括号把许多语句和声明组合到一起,形成单条语句。语句块与简单的语句不同,语句块不用分号当作结尾。用括号{}括起来组成的一个语句称复合语句。 在程序中应把复合语句看成是单条语句,而不是多条语句,例如: { x=y+z; a=b+c;
阅读全文