源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C 语言基础教程(一)颜色加亮

  • 时间:2020-02-15 05:19 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C 语言基础教程(一)颜色加亮
首先请看下面这个简单的 C 程序,猜猜它会做些什么。猜不出来也没关系,后面会有详细的解说。          #include[b]<[/b]stdio.h[b]>[/b]          int main( void )            /* 一个简单的程序 */          {              int num;                  /* 定义一个名叫 num 的变量 */              num = 1;                  /* 将 1 赋值给 num         */              printf( "This is a simple C program.\n" ); /* 调用 printf 函数 */              printf( "My favorite number is %d because it is first.\n", num );              return 0;          }      在对这个程序进行详细说明之前,我想先请您用[b]编译器[/b]把它[b]编译[/b]成可执行文件,并且运行,看看运行结果和您的猜想是否一致。如果不懂如何进行编译,请参考这三篇文章:       [url=http://cpp.ga-la.com/html/1/15/0510/15.htm][b]编译器使用方法[/b][/url] [b]    [url=http://cpp.ga-la.com/html/1/15/0510/12.htm]编译器Dev-C++安装&使用教程[/url]     [url=http://cpp.ga-la.com/html/8/17/0511/93.htm]Dev-C++ 下载[/url][/b]      下面,我将分两步对这个程序进行详细的讲解。第一步是[b]概要说明[/b],也就是对程序中每一行代码的含义作简单讲解,以帮助您对这个程序有一个大致的理解。第二步是[b]详细说明[/b],也就是程序中的每一行代码进行详细的讲解,以加深您的理解。     [b]一、概要说明[/b]                  #include[b]<[/b]stdio.h[b]>[/b]    <-   把另外一个文件包含进来             这行代码命令编译器把[b]头文件[/b]([b].h[/b] 文件)[b]stdio.h[/b] 中的内容[b]包含[/b]到我们的        程序中。stdio.h是C语言的[b]标准头文件[/b]之一,提供对键盘输入和显示输出等的        支持。要使用[b]printf[/b] 函数,就应该包含这个头文件。顺带一提,[b]stdio[/b] 代表       [b]standard input/output[/b],也就是[b]标准输入输出[/b]的意思。                  int main(void)    <-   函数头              C 程序由一个或多个[b]函数[/b]组成。我们的这个程序只有一个函数:[b]main[/b] 函数。       [b]圆括号[/b][b]()[/b] 表明 main 是一个函数;[b]int[/b] 表明 main 函数返回一个整数;[b]void[/b] 表明        main 函数不接受任何参数。在此,请您紧记,int main(void) 是[b]ISO/ANSI C      [/b] 标准中定义的 main 函数定义方法之一。                  /* a simple program */    <-   注释              /**/ 用于对程序进行[b]注释[/b]说明,帮助读者更快更好地理解程序。编译器        会忽略 /* 和 */ 之间的内容(包括 /* 和 */),不会对它们进行编译。                  {        <-   函数体的开端              这个[b]开大括弧 {[/b] 标志着[b]函数体[/b]开始。函数体以[b]闭大括弧 }[/b] 结束。在 { 和 }        之间的[b]语句[/b]都属于这个函数。                  int num;     <-   声明并且定义变量 num              这个语句表明我们[b]声明[/b]并且[b]定义[/b]了一个名叫 num 的[b]变量[/b]。int 表明这个变量为        [b]整型变量[/b]。                  num = 1;     <-   赋值语句              这个语句将 1[b]赋值[/b]给变量 num 。执行这个语句后,num 的值等于 1 。                    printf( "This is a simple C program.\n" );    <-   函数调用语句              [b]printf[/b] 函数是 C 语言[b]标准函数库里的函数[/b]。这个语句[b]调用[/b] printf 函数在         屏幕上显示“This is a simple C program.”,并且换行。[b]\n[/b] 是[b]换行符[/b],它提示         printf 开始新的一行,也就是将[b]光标[/b]移动到下一行的开端。如果上面的语句中没有         \n ,那就不会换行,而且光标会紧跟在“This is a simple program.”后面。                    printf( "My favorite number is %d because it is first.\n", num );              [b]%d[/b] 告诉 printf 用num的值替换掉 %d ,并且以整数形式显示num的值。         因为 num 的值为 1 ,所以这个语句在屏幕上显示“[b]My favorite number is 1        because it is first.[/b]”,并且换行。                  return 0;    <-   返回语句              C 程序应该[b]返回[/b]一个数值给调用它的媒介。返回 0 代表程序无误退出,         返回 1 代表程序运行时出错退出。                  }     <-   函数体结束            函数体以[b]闭大括弧 }[/b] 结束。     [b]二、详细说明[/b]          现在,让我们进一步来了解每一行代码的含义。下面的内容很[b]基础[/b],也很[b]重要[/b],      必须[b]认真弄懂[/b],牢牢[b]掌握[/b]。           [b]1.[/b] #include[b]预处理指令[/b]和[b]头文件[/b]               在编译器对我们写的[b]源程序[/b]进行编译之前,[b]预处理器[/b]会对我们的写的[b]源代码        [/b]进行必要的处理,称为[b]预处理[/b]。#include 就是一个[b]预处理指令[/b],它命令预处理器         进行的预处理是:[b]把特定的头文件包含到我们的源代码里[/b]。             #include[b]<[/b]stdio.h[b]>[/b]的作用是将头文件 stdio.h 里的内容包含进我们的程序,         产生的结果是将 stdio.h 里的内容一字不漏地插入 #include[b]<[/b]stdio.h[b]>[/b]出现的         地方,并且删除 #include[b]<[/b]stdio.h[b]>[/b]。换句话说,就是用 stdio.h 里的内容替换         #include[b]<[/b]stdio.h[b]>[/b]。这个过程是在预处理阶段完成的。C 语言的这种包含文件的         机制为多个程序[b]共享[/b]相同信息提供了极大的方便。             stdio.h 是 C 语言标准中定义了的头文件,它包含着[b]输入输出函数[/b]的信息。         所有 C 编译器都应该有这个头文件,这是[b]ANSI/ISO C[/b] 标准中规定的。当然,         ANSI/ISO C 规定的编译器必须提供的头文件可不止这么一个。标准还规定了许多         别的头文件,那些我们会在以后慢慢学到。             有些程序需要包含 stdio.h ,而有些不需要。如果我们的程序没有使用 printf         函数,那就不需要包含 stdio.h 。             头文件中包含着编译器进行编译时所需的信息。头文件中可能指明了函数名和         函数调用方法,但是这些函数的[b]实现代码[/b]并不在头文件中,而是在[b]预先编译[/b]好了的        [b]库文件[/b]里。            [b]链接器[/b]负责在库文件中寻找我们的程序所需的代码,并且把那些代码和我们写的         程序进行[b]链接[/b],从而将我的写的程序链接成[b]可执行文件[/b]。一句话,头文件用于指导         编译器正确地将我们写的源程序编译成可执行文件。           [b]2.[/b] main 函数                在 C 语言中,main 函数是[b]主函数[/b]。每个 C 程序都[b]必须有且只能有一个        [/b]main 函数(主函数)!C 程序从 main 函数开始执行,并且在 main 函数中结束。             int是 main 函数的[b]返回值类型[/b],它表明 main 函数应该返回一个整数给程序的         激活者(如操作系统)。             如果您想了解更多关于 main 函数的东西,请点击下面的链接:               [url=http://cpp.ga-la.com/html/3/3/0510/5.htm][b]C/C++ 误区一:void main[/b][/url]           [b]3.[/b] 注释                     /* a simple program */               /* */ 之间的内容都是[b]注释[/b]。对程序进行适当的注释可以帮助读者(包括您自己)           更快更好地理解您写的代码。注释可以在源程序中的任何地方书写。/* 和 */ 之间的           任何内容(包括 /* 和 */)都会被编译器忽略掉。注意:/ 和 * 必须紧挨在一起,           它们之间不能有空格。                      /* 我是注释 */                      /*我是                        跨行注释*/                      /*                        我也是注释                      */               以上的注释都是合法的;但下面的注释是非法的,因为没写[b]注释结束标记[/b] */。                      /* 非法,没有注释结束标记               下面这个注释可能会出乎你的意料:                      /* 我是[b]注释开始标记[/b]                      /* 哦哦,我不是注释开始标记                         我是注释结束标记,我[b]和第一个 /* 匹配[/b],而不是和第二个 /* 匹配。*/               上面这个注释中,[b]注释结束标记 */ 和第一个 /* 匹配[/b],它们之间的内容           都被视为注释。               [b]C99 [/b]中增加了另外一种注释方式,这种注释方式使用 // 作为[b]注释符[/b],和 //           处于同一行,并且在 // 右边的内容都被当作注释。/ / 之间不能有空格。                      // 我是注释                      int rigue;      //注释放在这里也是合法的               上面的注释在 C99 中是合法的,但是在[b]C89[/b] 中是非法的。也就是说,老旧的           编译器可能不支持 // 注释符。[b]VC6[/b] 支持 //,[b]TC2[/b] 不支持。           [b]4.[/b] 大括号与函数体                C 语言中,所有函数都以大括弧([b]{ }[/b])作为[b]界定符[/b]。函数体从开大括弧 {         开始,以闭大括弧 } 结束。在后续教程中,我会对函数进行更详细的讲解。           [b]5.[/b] int num;                这个语句[b]声明[/b]并且[b]定义[/b]了[b]变量[/b] num 。这一行末尾的[b]分号[/b](;)表明这一行         是一个[b]语句[/b]。; 是语句的一部分,单独一个 ; 也是一个合法的 C 语句。              int 是 C 语言中的一个[b]关键字[/b],它代表 C 语言里的一种基本数据类型:整型。         关键字是语言的[b]保留字[/b],不能用作其它用途。例如:我们不能关键字来做变量名或者         函数名。              [b]标识符[/b]是指我们为变量或函数等取的名字。在这个语句中,num 就是标识符。              C 语言中,所有变量在使用前都必须声明。C89 中,变量的声明必须位于         [b]函数体[/b]或者[b]程序块[/b]的开端。例如:                   int main( void ) /* C89 */                   { /* 函数体开始 */                       int doors;                       int dogs;                       doors = 5;                       dogs = 3;                       { /* 程序块开始 */                            int dig;                            int dug;                            dig = 6;                            dug = 8;                       } /* 程序块结束 */                       return 0;                   } /* 函数体结束 */              而在 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 的         编译器不多,所以上面的代码您的编译器很有可能编译不了。故而,为了使我们的         代码具有良好的[b]可移植性[/b],我们应该尽可能少用,甚至不用 C99 中的新特性。         [b]6.[/b] 赋值                   num = 1;              [b]赋值[/b]是 C 语言中的一种基本操作。上面的语句是一个[b]赋值语句[/b],它的含义         是:将 1 赋值给变量 num 。赋值操作完成后,num 的值等于 1 。         [b]7.[/b] printf 函数              printf( "This is a simple C program.\n" );              printf( "My favorite number is %d because it is first.\n", num );             这两行代码都调用了 printf 函数。printf 是一个[b]标准 C 函数[/b],也就是说,         它是 C 语言[b]标准函数库[/b]里定义了的函数。圆括号 () 表明 printf 是一个函数,         圆括号里的内容会被[b]传递[/b]给 printf 函数。例如,上面第一行代码把“This is a         simple C program.\n”(不包括双引号)传递给 printf 函数,然后由 printf         函数把这些信息显示于显示器。[b]\n[/b] 是[b]换行符[/b],它提示 printf 开始新的一行。         正因为 \n 是换行符,所以 \n 不会显示出来,而是进行了换行。如果上面的语句中         没有 \n ,那就不会换行。             上面代码第二行中的[b]%d[/b] 告诉 printf 用 num 的值替换掉 %d ,并且以         [b]整数形式[/b]显示 num 的值。              %d 被称为[b]占位符[/b],它告诉 printf 应该在什么地方显示 num 的值。% 用于         提醒 printf 在此处显示一个变量的值(本例中是 num 的值);d 告诉 printf 以         [b]十进制[/b]整数的形式显示 num 的值。         [b]8. return(返回)语句[/b]                    return 0;              这个[b]return 语句[/b]是我们程序中的最后一个语句。int main( void ) 中的 int         表示 main 函数应该返回一个整数,所以我们要使用 return 语句来返回一个整数。              如果您想了解更多关于[b]返回值[/b]的东西,请点击下面链接,查看文章的[b]第四点[/b]。                    [url=http://cpp.ga-la.com/html/3/3/0510/5.htm][b]C/C++ 误区一:void main[/b][/url]                 上面所说的某些内容您[b]暂时可能还不太理解[/b],但是[b]不用害怕[/b],牢牢地[b]把它们记住[/b],然后[b]继续往下学[/b]吧!随着学习的深入,就会[b]逐渐搞明白[/b]。现阶段只要有这个概念就足够了。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部