21天学通C语言-学习笔记(2)

第二章 C语言编程准备

第一章介绍了C语言的历史和程序设计的一些知识,本章将介绍C语言的特点。C程序由许许多多的标识符、关键字和操作符等组成。C语言规定了简单有效的语法规则并将它们组合在一起,串成一个个有丰富功能的程序。

2.1 C程序简介

本节将通过两个简单的C程序的讲解,使大家对C语言的特点有一个初步的印象。

2.1.1 简单C程序示例

【范例2-1】输出一个正方形,实现方法如示例代码2-1所示。

示例代码2-1

#include <stdio.h>                            /*包含文件*/
                                               /*空行*/
int main(void)  {                              /*main函数的声明,下面都为main函数的函数体*/
    /*使用printf语句逐行输出正方形*/
    printf("* * * * *\n");                     /*输出第1行*/
    printf("*       *\n");                     /*输出第2行*/
    printf("*       *\n");                     /*输出第3行*/
    printf("*       *\n");                     /*输出第4行*/
    printf("* * * * *\n");                     /*输出第5行*/
                                               /*空行*/
    return 0;                                  /*返回语句*/
}                                                           

【运行结果】程序运行后,得到一个由*号组成的正方形框,可在Visual Studio上验证。

【代码解析】

  • 第5~9行是函数体的内容,是程序功能的实现主体。每一行都是一个函数调用语句,调用了printf函数,其功能为打印子串。第5行打印的子串内容为“* * * * * *\n”,这个子串输出到屏幕时会将其中的\n处理为换行,其余字符按原样输出。
  • 第10行与第2行一样,也是一个空行。同样也是为了隔开功能不同的两个程序段而设置的。
  • C99标准规定无形参的main函数的声明要写为“int main(void)”,且要有“return 0;”语句。

【范例代码2-2】本范例简单地展示了C语言中一些操作符、变量和数据类型,实现方法如示例代码2-2所示。

示例代码2-2

#include <stdio.h>                                          /*包含文件*/
                                                            /*包含空行*/ 
int main(void){                                             /*main函数声明*/
         /*定义两个整型变量*/
          int a = 3;                                        /*定义并初始化a*/
          int b = 7;                                        /*定义并初始化b*/
          
          /*定义两个浮点型变量*/
          double c = 2.4;                                   /*定义并初始化c*/
          double d = 7.4;                                   /*定义并初始化d*/

          /*使用操作符进行计算*/
          b = b + a;                                        /*对b赋值*/
          d = c * d;                                        /*对d赋值*/

          /*定义两个整型变量*/
          printf("a = %d\n", a);                           /*输出a的值*/
          printf("b = %d\n", b);                           /*输出b的值*/
          printf("c = %d\n", c);                           /*输出c的值*/
          printf("d = %d\n", d);                           /*输出d的值*/

          return 0;
}          

【代码说明】%d 的作用是将输出的数据转换为指定的格式输出。在这里,printf函数用字符串外的数值替换字符串中的内容后输出。

2.1.2 C程序的特点

  • C程序开头一般都有一些以#include开头的预处理语句,它的作用是用来包含一些外部文件;

  • 都有一个main函数,它是程序的执行入口;

  • main函数都有以下声明:

    int main(void)

  • 程序的执行主体都放在main函数的函数体中;

  • 变量必须定义后才能使用;

  • 可以使用一系列的操作符对变量进行操作;

  • 可以调用函数来执行一些功能;

  • 都含有如下返回函数值的return语句:

    return 0;

  • 程序执行过程中,从main函数开始,到它的return语句结束;

  • 一般有适当的注释语句,以辅助说明语句功能;

  • 在不同程序段之间要适当地加空行,使程序结构清晰;

  • 程序语句要有良好的缩进风格,以提高代码可读性。

2.1.3 标识符和关键字

标识符是在C语言中用来标识唯一的对象的符号。具体地说,就是各种名称,如变量的名称、常量的名称、函数的名称、数据类型的名称、命令的名称等。例如,在范例2-1中,include是标识符、main是标识符、int是标识符、void是标识符、printf是标识符,return是标识符。

标识符的第一个字符必须是字母或下划线,后跟字母、下划线或数字。标识符中区别大小写字母。
关键字也是标识符。在范例2-1和范例2-2中接触到了几个C语言的关键字,如int、double、void、return等。关键字是C语言定义的一些有特殊意义的字符串,是为C编译器专门保留的,因此,也称为保留字。由于关键字有特殊的含义,因此,程序员不能使用这些字符串作为变量名和函数名。

restrictUnsigned
breakBool
externreturn
Voidcase
floatcontinue
shortVolatile
charfor
signedIf
Whileconst
gotosizeof
staticdefault
inlinestruct
doint
switchdouble
longtypedef
elseregister
union_Complex
_Imaginaryauto
enum

2.1.4 C程序的执行步骤

1.编译:编译过程就是把C程序翻译成机器认可的机器码的过程。这个过程又分为预编译、编译阶段、优化阶段和汇编阶段四个部分。

  • 预编译也叫预处理,就是在正式编译前所做的工作。C程序中的预处理命令都在这个阶段完成,预编译完成的基本上是对源程序的“替代”工作,如“#include<studio.h>”,就是使用文件“studio.h”的内容替换该命令。

  • 编译阶段负责对预编译后的C程序进行词法和语法分析,C程序中的词法错误和语法错误会在这里被发现。

2.链接: 经过编译后得到的目标文件中的机器码是相互独立的,需要链接器将它们组合在一起,并解析它们之间的交叉引用。C程序如果调用了函数库,这个过程就会将调用命令与被调用的函数链接在一起。

3.运行:完成链接后,就会得到一个可执行文件,可以直接运行。运行后,就可以得到程序结果。如果程序中有屏幕输出的命令,便可以在屏幕上看到打印内容。

2.2 C程序开发环境

Turbo C、Visual C++ 2005、GCC3.2.2

2.3 小结

本章先介绍了C语言的一些基本特点,再介绍了标识符和关键字的概念,然后介绍了编译、链接和运行等在程序开发过程中的角色,最后介绍了开发环境,这是学习C语言最基本的技能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值