第2章 C语言基础知识

1 C语言发展和特点

C语言源于ALGOL60语言,于20世纪60年代初提出。

1963年,英国剑桥大学将ALGOL60语言发展成为组合程设计语言(CPL)。1970年英国剑桥大学的Martin Richards对CPL进行简化,开发出基本组合程序设计语言(BCPL)。

1970年,美国贝尔实验室的 Ken Thompson以BCPL语言为基础,设计出很简单且很接近硬件的B语言(取BCPL的首字母)。

1972年,美国贝尔实验室的 D.M.Ritchie 在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,即C语言

1.1 C语言发展

1975年UNIX第六版发布后,C语言终于获得了计算机专业人士的广泛支持。

1978年,美国贝尔实验室正式推出了C语言

1983年美国国家标准协会(ANSI)根据C语言问世以来的的各种版本,对C语言发展和扩充制定了第一个C语言标准草案,称为83ANSIC。

1989年ANSI发布了一个完整的C语言标准ANSI X3.159-1989,称为ANSIC或C89。

1990年,国际标准化组织(ISO)接受C89为ISO国际标准,也称为C90。

1999 年 ,ISO 对 C 语 言 标 准 进 行 修 订 , 发 布 了 新 的 C 语言国际标准 -ISO/IEC9899:1999,简称C99。

2 C语言基本词法

2.1 字符集

字符是组成语言最基本的元素。C语言的字符集由字母、数字、空格、标点和特殊字符组成。C语言的字符集就是ASCII字符集,主要包括:

1、阿拉伯数字:0、1、2、…、9(共10个)

2、大小写英文字母:A~Z、a~z(共52个)

3、非字母、非数字的可显示字符(33个)

2.2 关键字

C语言中具有特殊含义的单词称为"关键字",又称为"保留字",主要用于构成语句。

C语言共有32个关键字,所有的关键字均由小写字母组成。

2.3 标识符

标识符是字符的序列,除了库函数的函数名等由系统定义外,其余均由用户自行定义。用户根据需要对C程序中用到的变量、符号常量、自定义函数等进行命名,形成用户标识符。

C语言规定,用户标识符仅由大小写英文字母、数字和下划线组成,且第一个字符不能是数字。

用户自定义的标识符既不能是C语言的关键字,也不能与用户已编写的函数或C语言的库函数重名。

标识符

定义:标识变量名、符号常量名、函数名、数组名、文件名的字符串序列——名字。

命名规则:

只能由字母、数字、下划线组成,且第一个字符必须是不能是数字

大小写字母含义不同,一般用小写

不能使用关键字

使用:先定义、后使用 标识符应该"见名知意",如 total , max

标识符应该"不宜混淆",如 l与1 , o与0

下面给出一些正确和错误的标识符实例:

2.4 C语言的特点

(1)结构化语言

(2)运算能力强大

(3)数据类型丰富

(4)具有预处理能力

(5)可移植性好

(6)程序执行效率高

(7)程序设计自由度

2.5 词汇分类

C语言的词汇分为六类,即常量、标识符、关键字、运算符、注释符和分隔符,

其中:

2.5.1 注释符

C语言的注释符有两种,一种是以"/*"开头,并以"*/"结尾的多行注释。

另一种是以"//"开头的单行注释。两者的区别在于,第一种注释可以跨行,第二种注释不可以跨行。

2.5.2 分隔符

C语言的分隔符包括逗号和空格两种。逗号主要用在类型说明和函数参数表中,分隔各个变量;空格多用于语句各单词之间,作为间隔符。

2.5.3 常量

符号常量:用标识符代表常量 ◆一般用大写字母: PRICE 、 PI

◆定义格式: #define 符号常量 常量

◆其值在作用域内不能改变和再赋值。

3 C语言基本语句分类

按照语句功能或构成的不同,可将C语言的语句分为数据定义语句、赋值语句、函数调用语句、表达式语句、流程控制语句、复合语句和空语句等等,C语言的每个语句都以分号";"结束。

4 C程序基本组成

C程序是由语句组成的,通常包括一个或多个函数,其中有且只有一个函数称为主函数,其函数名为main。

4.1 C程序的组成特点

1、每个C程序由一个或多个函数组成。每个C程序有且仅有一个主函数,除主函数外,可以没有其他函数,也可以有一个或多个其他函数。

2、函数是C程序的基本单位。每个函数是由函数首部和函数体两部分组成。

3、C程序中每一语句后面都以分号";"作为语句的结束,但预处理命令、函数首部和右花括号"}"之间不能加 分号。

4、C语言本身没有输入/输出语句,而是通过调用库函数scanf()、printf()、getchar()和putchar()实现的。

5、C程序的任意位置都可以加注释/*......*/,注释可以多行,但不可嵌套。

6、C程序的书写格式灵活,一行内可书写多条语句,一条语句也可以写在多行上,可以任意插入空格和回车。

7、C程序的执行总是从主函数开始,并在主函数结束。主函数和其他函数的位置是任意的,其他函数总是通过函数调用语句被执行。

8、C程序中可以有预处理命令,通常预处理命令应放在程序的最前面。

9、主函数可以调用任何其他函数,任何其他函数之间可以互相调用,但不能调用主函数。

4.2 C语言结构特点

 

4.3 C语言格式特点

习惯用小写字母,大小写敏感

不使用行号,无程序行概念

可使用空行和空格

常用锯齿形书写格式

程序员代码格式要求:

使用TAB缩进

{}对齐

有足够的注释

有合适的空行

5 C程序开发环境

5.1 VC6.0下载与安装

http://c.biancheng.net/view/463.html

5.2 C程序的运行步骤

1、编辑:进入C语言编译系统,建立源程序文件,扩展名为"c"或"cpp",编辑并修改、保存源程序。

2、编译:计算机不能识别和执行高级语言编写的源程序,必须经过编译程序对源程序进行编译。

3、连接:经过编译生成的目标程序还无法在计算机上直接运行,因为源程序中输入、输出以及常用的函数运算是直接调用函数库中的库函数,因此必须把库函数的处理过程链接到经编译生成的目标程序中,生成可执行文件,其扩展名为"exe"。

4、运行:一个C源程序经过编译、链接后生成可执行文件,可在编译系统或操作中运行。

5.3 C程序的运行

(1) 启动Microsoft Visual C++ 6.0;双击Microsoft Visual C++ 6.0的图标,启动Microsoft Visual C++ 6.0。

(2)新建项目

1、在主窗口的主菜单栏中选择"File"菜单项,在弹出的子菜单中选择"New"命令。

2、弹出的"New"对话框中,切换到"Projects"选项卡,在左侧列表框中选择"Wine 32 Console Application"项,然后在右侧的"Project name"文本框中输入新建工程的名称,如HelloWorld,在"Location"文本框中输入工程的存储路径。

3、在弹出的"Wine 32 Console Application"对话框中选中"An empty project"单选按钮,单击"Finish"按钮。

4、在弹出的"New Project Information"对话框中单击"OK"按钮,项目工作区中显示新建的空工程"Hello World"。

(3)新建源程序

1、在主窗口的主菜单栏中选择"File"菜单项,在弹出的子菜单中选择"New"命令。

2、在弹出的"New"对话框中,切换到"Files"选项卡,在左侧的列表框中选择"C++ Source File"项,表示新建一个C/C++源程序文件,勾选右侧的"Add to project"复选框,并选择刚刚创建的空工程"Hello World",在"File"文本框中输入新建源程序文件的名称,如"hello.c"。

3、单击"OK"按钮,可以看到程序编辑窗格即可编辑程序。

(4)编译源程序

在主菜单栏中选择"Build"菜单项,在弹出的子菜单中选择"Compile hello.c"命令,或者单击工具栏中的"Compile"按钮。在编译过程中,主窗口下方会弹出调试信息窗格,此窗格会输出编译的信息。如无错误,输出"0 error(s),0 warning(s)";如果有错误,则输出相关的错误信息。

(5)链接源程序

编译成功之后进行连接操作。在主菜单栏中选择"Build"菜单项,在弹出的子菜单中选择"Build HelloWorld.exe"命令,或者单击工具栏中的"Build"按钮。

(6)运行程序

连接成功之后即可运行程序。在主菜单栏中选择"Build"菜单项,在弹出的子菜单中选择"Execute Hello World.exe"命令,或者单击工具栏中的"Execute Program"按钮。

5.4 C程序的调试

(1)设置断点

调试C程序时,首先需要判断程序可能从哪条语句开始出现错误,将光标移动到该语句所在行,然后单击"Insert/Remove Breakpoint"按钮或<F9>按钮,此时若在语句行左侧出现一个红点,则表示断点设置成功。通过设置断点,检查运行到断点处某些表达式的值,以确定错误的大致位置;通过核对某些表达式的值,以确定错误的原因。

#include <stdio.h>

void main()

{

  int max(int x,int y);

  int a,b,c;

  scanf("%d,%d",&a,&b);

  c=max(a,b);

  printf("max=%d\n",c);

}

int max(int x,int y)

{

  int z;

  if(x>y) z=x;

    else z=y;

  return(z);

}

(2) 调试界面 断点设置成功后,单击"Go"按钮,程序开始运行。运行到断点所在语句时,程序将自动暂停执行,进入调试状态,代码行左侧的黄色箭头指示程序当前的执行位置。界面下方出现两个窗格,左侧窗格为自动变量框,可以看到各变量的当前值,右侧窗格为观察框,在"Name"列输入变量名,"Value"列显示该变量的当前值。

 

 

 

 

posted @ 2021-05-16 04:10  岁月星空  阅读(429)  评论(0编辑  收藏  举报