C语言基础知识实例讲解.docx

上传人:牧羊曲112 文档编号:3060737 上传时间:2023-03-10 格式:DOCX 页数:11 大小:41.74KB
返回 下载 相关 举报
C语言基础知识实例讲解.docx_第1页
第1页 / 共11页
C语言基础知识实例讲解.docx_第2页
第2页 / 共11页
C语言基础知识实例讲解.docx_第3页
第3页 / 共11页
C语言基础知识实例讲解.docx_第4页
第4页 / 共11页
C语言基础知识实例讲解.docx_第5页
第5页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C语言基础知识实例讲解.docx》由会员分享,可在线阅读,更多相关《C语言基础知识实例讲解.docx(11页珍藏版)》请在三一办公上搜索。

1、C语言基础知识实例讲解C语言基础知识:实例讲解 这篇文章旨在让各位对 C 有个总体的认识,有看不懂的地方请不必太在意,只要记住就可以了,继续往下学下去就会明白的。 首先请看下面这个简单的 C 程序,猜猜它会做些什么。猜不出来也没关系,后面会有详细的解说。 #include int main( void ) /* 一个简单的程序 */ intnum; /* 声明一个名叫num的变量 */ num = 1; /* 将 1 赋值给num */ printf( This is a simple C program. ); /* 调用printf函数 */ printf( My favorite num

2、ber is %d because it is first. , num ); return 0; 在对这个程序进行详细说明之前,我想先请您用编译器把它编译成可执行文件,并且运行,看看运行结果和您的猜想是否一致。如果不懂如何进行编译,请参考以下文章: 下面,我将分两步对这个程序进行详细的讲解。第一步是概要说明,也就是对程序中每一行代码的含义作简单讲解,以帮助您对这个程序有一个大致的理解。第二步是详细说明,也就是程序中的每一行代码进行详细的讲解,以加深您的理解。 一、概要说明 #include - 把另外一个文件包含进来 这行代码命令编译器把头文件stdio.h中的内容包含到我们的 程序中。st

3、dio.h是C语言的标准头文件之一,提供对键盘输入和显示输出等的 支持。要使用printf函数,就应该包含这个头文件。顺带一提,stdio代表 standard input/output,也就是标准输入输出的意思。 int main(void) - 函数头 C 程序由一个或多个函数组成。我们的这个程序只有一个函数:main 函数。 圆括号 表明 main 是一个函数;int表明 main 函数返回一个整数;void 表明 main 函数不接受任何参数。在此,请您紧记,int main(void) 是 ISO/ANSI C 标准中定义的 main 函数定义方法之一。 /* a simple pr

4、ogram */ - 注释 /* 和 */ 用于对程序进行注释说明,帮助读者更快更好地理解程序。编译器 会忽略 /* 和 */ 之间的内容,不会对它们进行编译。 - 函数体的开端 这个开大括弧 标志着函数体开始。函数体以闭大括弧 结束。在 和 之间的语句都属于这个函数。 intnum; - 声明变量num 这个语句表明我们声明了一个名叫num的变量。int表明这个变量为 整型变量。 num = 1; - 赋值语句 这个语句将 1 赋值给变量num。执行这个语句后,num的值等于 1 。 printf( This is a simple C program. ); - 函数调用语句 printf

5、函数是 C 语言标准函数库里的函数。这个语句调用printf函数在 屏幕上显示“This is a simple C program.”,并且换行。是换行符,它提示 printf开始新的一行,也就是将光标移动到下一行的开端。如果上面的语句中没有 ,那就不会换行,而且光标会紧跟在“This is a simple program.”后面。 printf( My favorite number is %d because it is first. , num ); %d 告诉printf用num的值替换掉 %d ,并且以整数形式显示num的值。 因为num的值为 1 ,所以这个语句在屏幕上显示“M

6、y favorite number is 1 because it is first.”,并且换行。 return 0; - 返回语句 C 程序应该返回一个数值给它的调用者。0 代表程序无误退出;而其它数字的含义 则由系统决定。通常,非零代表程序运行中遇到某种错误而退出。 - 函数体结束 函数体以闭大括弧 结束。 二、详细说明 现在,让我们进一步来了解每一行代码的含义。下面的内容很基础,也很重要, 必须认真弄懂,牢牢掌握。 1. #include 预处理指令和头文件 在编译器对我们写的源程序进行编译之前,预处理器会对我们的写的源代码 进行必要的处理,称为预处理。#include 就是一个预处理

7、指令,它命令预处理器 进行的预处理是:把特定的头文件包含到我们的源代码里。 #include 的作用是将头文件stdio.h里的内容包含进我们的程序, 产生的结果是将stdio.h里的内容一字不漏地插入 #include 出现的 地方,并且删除 #include 。换句话说,就是用stdio.h里的内容替换 #include 。这个过程是在预处理阶段完成的。C 语言的这种包含文件的 机制为多个程序共享相同信息提供了极大的方便。 stdio.h是 C 语言标准中定义了的头文件,它包含着输入输出函数的信息。 所有 C 编译器都应该有这个头文件,这是 ANSI/ISO C 标准中规定的。当然, AN

8、SI/ISO C 规定的编译器必须提供的头文件可不止这么一个。标准还规定了许多 别的头文件,那些我们会在以后慢慢学到。 有些程序需要包含stdio.h,而有些不需要。如果上面这个例子中没有使用 printf函数,那就不需要包含stdio.h。 头文件中包含着编译器进行编译时所需的信息。头文件中可能指明了函数名和 函数调用方法,但是这些函数的实现代码并不在头文件中,而是在预先编译好了的 库文件里。 链接器负责在库文件中寻找我们的程序所需的代码,并且把那些代码和我们写的 程序进行链接,从而将我的写的程序链接成可执行文件。一句话,头文件用于指导 编译器正确地将我们写的源程序编译成可执行文件。 2.

9、main 函数 在 C 语言中,main 函数是主函数。每个 C 程序都必须有且只能有一个 main 函数!C 程序从 main 函数开始执行,并且在 main 函数中结束。 int是 main 函数的返回值类型,它表明 main 函数应该返回一个整数给程序的 调用者。 如果您想了解更多关于 main 函数的东西,请点击下面的链接: C/C+ 误区一:void main 3. 注释 /* a simple program */ /* */ 之间的内容都是注释。对程序进行适当的注释可以帮助读者 更快更好地理解您写的代码。注释可以在源程序中的任何地方书写。/* 和 */ 之间的 任何内容都会被编译

10、器忽略掉。注意:/ 和 * 必须紧挨在一起, 它们之间不能有空格。 /* 我是注释 */ /*我是 跨行注释*/ /* 我也是注释 */ 以上的注释都是合法的;但下面的注释是非法的,因为没写注释结束标记 */。 /* 非法,没有注释结束标记 下面这个注释可能会出乎你的意料: /* 我是注释开始标记 /* 哦哦,我不是注释开始标记 我是注释结束标记,我和第一个 /* 匹配,而不是和第二个 /* 匹配。*/ 上面这个注释中,注释结束标记 */ 和第一个 /* 匹配,它们之间的内容 都被视为注释。 C99 中增加了另外一种注释方式,这种注释方式使用 / 作为注释符,和 / 处于同一行,并且在 / 右

11、边的内容都被当作注释。/ 和 / 之间不能有空格。 / 我是注释 intrigue; /注释放在这里也是合法的 上面的注释在 C99 中是合法的,但是在 C89 中是非法的。也就是说,老旧的 编译器可能不支持 / 注释符。VC6 支持 /,TC2 不支持。 4. 大括号与函数体 C 语言中,所有函数都以大括弧作为界定符。函数体从开大括弧 开始,以闭大括弧 结束。在后续教程中,我会对函数进行更详细的讲解。 5. intnum; 这个语句声明了变量num。这一行末尾的分号表明这一行 是一个语句。; 是语句的一部分,单独一个 ; 也是一个合法的 C 语句。 int是 C 语言中的一个关键字,它代表

12、C 语言里的一种基本数据类型:整型。 关键字是语言的保留字,不能用作其它用途。例如:我们不能关键字来做变量名或者 函数名。 标识符是指我们为变量或函数等取的名字。在这个语句中,num就是标识符。 C 语言中,所有变量在使用前都必须声明。C89 中,变量的声明必须位于 函数体或者程序块的开端。例如: int main( void ) /* C89 */ /* 函数体开始 */ int doors; int dogs; doors = 5; dogs = 3; /* 程序块开始 */ int dig; int dug; dig = 6; dug = 8; /* 程序块结束 */ return 0;

13、 /* 函数体结束 */ 而在 C99 中,声明可以位于函数体或者程序块的任何地方。但是,变量仍然 需要在声明之后才可使用。例如: int main( void ) /* C99 */ /* 函数体开始 */ int doors; doors = 5; /* 程序块开始 */ int dig; dig = 6; int dug; dug = 8; /* 程序块结束 */ int dogs; dogs = 3; return 0; /* 函数体结束 */ 上面的程序在 C99 中是合法的,但是在 C89 中却是非法的。当前支持C99 的 编译器不多,所以上面的代码您的编译器很有可能编译不了。故而

14、,为了使我们的 代码具有良好的可移植性,我们应该尽可能少用,甚至不用 C99 中的新特性。 6. 赋值 num = 1; 赋值是 C 语言中的一种基本操作。上面的语句是一个赋值语句,它的含义 是:将 1 赋值给变量num。赋值操作完成后,num的值等于 1 。 7. printf函数 printf( This is a simple C program. ); printf( My favorite number is %d because it is first. , num ); 这两行代码都调用了printf函数。printf是一个标准 C 函数,也就是说, 它是 C 语言标准函数库里定

15、义了的函数。圆括号 表明printf是一个函数, 圆括号里的内容会被传递给printf函数。例如,上面第一行代码把“This is a simple C program. ”传递给printf函数,然后由printf 函数把这些信息显示于显示器。是换行符,它提示printf开始新的一行。 正因为是换行符,所以不会显示出来,而是进行了换行。如果上面的语句中 没有,那就不会换行。 上面代码第二行中的 %d 告诉printf用num的值替换掉 %d ,并且以 整数形式显示num的值。 %d 被称为占位符,它告诉printf应该在什么地方显示num的值。% 用于 提醒printf在此处显示一个变量的值

16、;d 告诉printf以 十进制整数的形式显示num的值。 8. return语句 return 0; 这个 return 语句是我们程序中的最后一个语句。int main( void ) 中的int 表示 main 函数应该返回一个整数,所以我们要使用 return 语句来返回一个整数。 如果您想了解更多关于返回值的东西,请点击下面链接,查看文章的第四点。 C/C+ 误区一:void main 上面所说的某些内容您暂时可能还不太理解,但是不用害怕,牢牢地把它们记住,然后继续往下学吧!随着学习的深入,就会逐渐搞明白。现阶段只要有这个概念就足够了。 C语言程序实例讲解(二) 首先请看以下代码,并

17、且和我们的第一个 C 程序比较比较,看看这个程序新增了什么知识点。 /* meter2centimeters.c - 以厘米为单位来表示两米 */ #include int main(void) int meters, centimeters; meters = 2; centimeters = 100 * meters; /* 100 乘以 meters */ printf( %d-meter is equal to %d centimeters. , meters, centimeters ); printf( Yes, I said %d centimeters! , 100 * met

18、ers ); return 0; 下面我们来仔细分析这个小程序。 1. 文档 这段代码头部的注释标明了文件名和程序的作用,我们把这些注释称为文档。写文档是一个很好的习惯,可以帮助我们了解程序的作用。在由多个源文件组成的程序中,文档显得更为重要。由于我们目前为止所写的都是很简单的程序,您也许还不觉得写文档有多大的作用,甚至还觉得浪费时间。但是我们应该养成写文档的习惯,这对我们以后写复杂的程序很有帮助。对于复杂程序,我们应该尽可能把文档写得更详尽。可以参考以下格式: /* * 文件名: meter2centimeters.c * 作者:Antigloss at * 编写日期: 05-9-9 0:0

19、0 * 最后修改日期: 05-9-9 0:00 * 功能:以厘米为单位来表示两米 * 算法: 1 米 = 100 厘米 */ 2. 多重声明 int meters, centimeters; 上面那句声明语句声明了两个变量。我们可以在一句声明语句中声明任意数目的变量,只要变量名之间用逗号隔开就可以了。例如下面这个语句声明了 4 个变量。 int a, b, c, d; 3. 乘法运算 C 语言中,* 是乘法运算符,所以 centimeters = 100 * meters; 的意思是:用 100 乘以变量 meters 的值,然后把相乘的结果赋值给变量 centimeters 。 4. pri

20、ntf函数 printf( %d-meter is equal to %d centimeters. , meters, centimeters ); 上面这个语句中占位符 %d 出现了两次。第一个 %d 由变量 meters 的值替换;而第二个 %d 则由 centimeters 的值替换。注意:每个变量由逗号隔开;%d-meter is equal to %d centimeters. 中的双引号是必须的,而且必须是英文的双引号,不能是中文的双引号。 printf( Yes, I said %d centimeters! , 100 * meters ); 上面这个语句表明,用于替换占位符的不仅仅可以是变量,也可以是表达式。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号