【高级语言程序设计】第 2 章:C 语言基础知识

时间:2022-02-13 01:16:24

目录

一、C语言发展和特点

(1)C 语言的发展 

(2)C 语言的特点

二、C 语言基本语法

(1)字符集

(2)关键字 

(3)标识符

(4)词汇分类

① 注释符 

② 分隔符

③ 常量 

三、C 语言基本语句分类

四、C 程序基本组成

(1)C 程序的组成特点 

(2)C 语言结构特点 

(3)C 语言格式特点

五、C 程序开发环境

(1)C 程序的运行步骤 

(2)C 程序的运行

① 启动 Microsoft Visual C++ 6.0 

② 新建项目 

③ 新建源程序 

④ 编译源程序 

⑤ 链接源程序

⑥ 运行程序

(3)C 程序的调试 

① 设置断点

② 调试界面 

③ 单步调试



一、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)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 语言的特点

①  结构化语言
② 运算能力强大
③ 数据类型丰富
④ 具有预处理能力
⑤ 可移植性好
⑥ 程序执行效率高
⑦ 程序设计*度


二、C 语言基本语法

(1)字符集

字符集:
字符是组成语言最基本的元素。
C 语言的字符集由字母、数字、空格、标点和特殊字符组成。
C 语言的字符集就是 ASCII 字符集,主要包括:
  • 阿拉伯数字:0、1、2、…、9(共10个)
  • 大小写英文字母:A~Z、a~z(共52个)
  • 非字母、非数字的可显示字符(33个)

【高级语言程序设计】第 2 章:C 语言基础知识


(2)关键字 

关键字:
  • C 语言中具有特殊含义的单词称为 “关键字” ,又称为 “保留字” ,主要用于构成语句。
  • C 语言共有 32个 关键字,所有的关键字均由 小写字母 组成。
  • 由系统定义,不能重作其它定义

【高级语言程序设计】第 2 章:C 语言基础知识


(3)标识符

标识符:
  • 标识符是字符的序列,除了库函数的函数名等由系统定义外,其余均由用户自行定义。
  • 用户根据需要对C程序中用到的变量、符号常量、自定义函数等进行命名,形成用户标识符。
  • C语言规定,用户标识符仅由大小写英文字母、数字和下划线组成,且第一个字符不能是数字
  • 用户自定义的标识符既不能是C语言的关键字,也不能与用户已编写的函数或C语言的库函数重名
定义:
标识变量名、符号常量名、函数名、数组名、 文件名的字符串序列—— 名字
命名规则:
  • 只能由字母、数字、下划线组成,且第一个字符必须是不能是数字
  • 大小写字母含义不同,一般用小写
  • 不能使用关键字
使用: 先定义、后使用

注意:

  • 标识符应该见名知意” ,如 total , max
  • 标识符应该不宜混淆” ,如 l 与 1 , o 与 0

【高级语言程序设计】第 2 章:C 语言基础知识


(4)词汇分类

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

① 注释符 

  • C 语言的注释符有两种,一种是以 “/*” 开头,并以 “*/” 结尾的多行注释。
  • 另一种是以 “//” 开头的单行注释。
  • 两者的区别在于,第一种注释可以跨行, 第二种注释不可以跨行。

② 分隔符

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

③ 常量 

符号常量 标识符 代表常量
  • 一般用大写字母: PRICE PI
  • 定义格式: #define 符号常量 常量
  • 其值在作用域内不能改变和再赋值。
【高级语言程序设计】第 2 章:C 语言基础知识

符号常量示例:
#define PRICE 30
#include <stdio.h>
void main()
{
int num,total;
num=10;
total=num*PRICE;
printf("total=%d\n"
,total);
}


// 运行结果为:total=300


三、C 语言基本语句分类

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


四、C 程序基本组

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

(1)C 程序的组成特点 

  • 每个 C 程序由一个或多个函数组成:每个 C 程序有且仅有一个主函数,除主函数外,可以没有其他函数,也可以有一个或多个其他函数。
  • 函数是 C 程序的基本单位:每个函数是由函数首部函数体两部分组成。
  • C 程序中每一语句后面都以分号 “; 作为语句的结束:但预处理命令、函数首部和右花括号 “}” 之间不能加分号
  • C 语言本身没有输入/输出语句:而是通过调用库函数 scanf()、printf()、 getchar() 和putchar() 实现的。
  • C 程序的任意位置都可以加注释 /*......*/:注释可以多行,但不可嵌套。
  • C 程序的书写格式灵活:一行内可书写多条语句,一条语句也可以写在多行上,可以任意插入空格和回车。
  • C 程序的执行总是从主函数开始,并在主函数结束:主函数和其他函数的位置是任意的,其他函数总是通过函数调用语句被执行。
  • C 程序中可以有预处理命令:通常预处理命令应放在程序的最前面。
  • 主函数可以调用任何其他函数:任何其他函数之间可以互相调用,但不能调用主函数。

(2)语言结构特点 

① 函数与主函数

  • 程序由一个或多个函数组成
  • 必须有且只能有一个主函数main(),可以放在程序中任一位置
  • 程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。

② 程序语句

  • 程序由语句组成
  • 用 “;” 作为语句终止符

③ 注释

  • /* */ 为注释不能嵌套
  • 不产生编译代码

【高级语言程序设计】第 2 章:C 语言基础知识

④ 编译预处理命令

【高级语言程序设计】第 2 章:C 语言基础知识


(3)语言格式特点

  • 习惯用小写字母,大小写敏感
  • 不使用行号,无程序行概念
  • 可使用空行和空格
  • 常用锯齿形书写格式

【高级语言程序设计】第 2 章:C 语言基础知识

main( )
{
int i , j , sum;
sum=0;
for(i=1; i<10;i++)
{
for(j=1;j<10;j++)
{
sum+=i*j ;
}
}
printf(“%d\n”
,sum);
}


五、C 程序开发环境

(1)C 程序的运行步骤 

①  编辑 :进入 C 语言编译系统,建立源程序文件,扩展名为 “c” 或 “cpp” ,编辑并修改、保存源程序。
②  编译 :计算机不能识别和执行高级语言编写的源程序,必须经过 编译程序 对源程序进行编译。
③  连接 :经过编译生成的目标程序还无法在计算机上直接运行,因为源程序中输入、输出以及常用的函数运算是直接调用函数库中的库函数,因此必须把库函数的处理过程链接到经编译生成的目标程序中,生成可执行文件,其扩展名为 “exe” 。
④  运行 :一个 C 源程序经过编译、链接后生成可执行文件,可在编译系统或操作中运行。

【高级语言程序设计】第 2 章:C 语言基础知识


(2)C 程序的运行

① 启动 Microsoft Visual C++ 6.0 

双击 Microsoft Visual C++ 6.0 的图标,启动 Microsoft Visual C++ 6.0。

【高级语言程序设计】第 2 章:C 语言基础知识


② 新建项目 

  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” 按钮,项目工作区中显示新建的空工程 “HelloWorld” 。

【高级语言程序设计】第 2 章:C 语言基础知识

【高级语言程序设计】第 2 章:C 语言基础知识

【高级语言程序设计】第 2 章:C 语言基础知识

【高级语言程序设计】第 2 章:C 语言基础知识


③ 新建源程序 

  1. 在主窗口的主菜单栏中选择 “File” 菜单项,在弹出的子菜单中选择 “New” 命令。
  2. 在弹出的 “New” 对话框中,切换到 “Files” 选项卡,在左侧的列表框中选择 “C++ Source File” 项,表示新建一个 C/C++ 源程序文件,勾选右侧的 “Add to project” 复选框,并选择刚刚创建的空工程 “HelloWorld” ,在 “File” 文本框中输入 新建源程序文件的名称,如“hello.c” 。
  3. 单击 “OK” 按钮,可以看到程序编辑窗格即可编辑程序。

【高级语言程序设计】第 2 章:C 语言基础知识

【高级语言程序设计】第 2 章:C 语言基础知识


④ 编译源程序 

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

⑤ 链接源程序

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

⑥ 运行程序

  • 连接成功之后即可运行程序。
  • 在主菜单栏中选择 “Build” 菜单项,在弹出的子菜单中选择 “Execute HelloWorld.exe” 命令,或者单击工具栏中的 “Execute Program” 按钮。
【高级语言程序设计】第 2 章:C 语言基础知识

(3)C 程序的调试 

① 设置断点

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

【高级语言程序设计】第 2 章:C 语言基础知识


② 调试界面 

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

③ 单步调试

“Step Over” 和 “Step Into” 都是单步调试程序,二者的区别在于遇到的函数调用时, “Step Into” 进入函数内部逐步执行,而  Step Over” 并不进入函数内部执行。

【高级语言程序设计】第 2 章:C 语言基础知识

【高级语言程序设计】第 2 章:C 语言基础知识