1 / 37

本章导读

第 1 章 C 语言绪论. 《 C 语言程序设计 》 (Visual C++ 6.0 环境). 本章导读 本章通过 C 程序实例分析着手,使读者从宏观上整体把握和了解 C 程序的基本结构、 C 程序的开发调试过程, 对 C 程序开发设计有较深入的感性认识,进而强化对计算机语言和程序设计的理解,为进一步学习 C 语言程序设计打下基础。. 本章主要知识点 ( 1)Visual C++ 6.0 环境运行的 C 程序实例。 (2)C 程序的基本结构。 (3)C 语言的词法和输入 / 输出。 (4) 程序设计语言发展。. 返回本书目录.

haile
Download Presentation

本章导读

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第1章 C语言绪论 《 C语言程序设计》(Visual C++ 6.0环境) • 本章导读 本章通过C程序实例分析着手,使读者从宏观上整体把握和了解C程序的基本结构、C程序的开发调试过程, 对C程序开发设计有较深入的感性认识,进而强化对计算机语言和程序设计的理解,为进一步学习C语言程序设计打下基础。 • 本章主要知识点 • (1)Visual C++ 6.0环境运行的C程序实例。 • (2)C程序的基本结构。 • (3)C语言的词法和输入/输出。 • (4)程序设计语言发展。 返回本书目录

  2. 《 C语言程序设计》(Visual C++ 6.0环境) 1.1 Visual C++ 6.0环境运行的C程序实例 第1章 C语言绪论 1.2 C程序的基本结构 1.3 C语言的词法 1.4 C语言数据输入和输出 1.5 程序设计语言发展 返回本章导读

  3. 《 C语言程序设计》(Visual C++ 6.0环境) 1.1.1 C程序实例 1.1 Visual C++ 6.0环境运行的C程序实例 1.1.2 C程序的开发过程 1.1.3 Visual C++ 6.0集成环境 返回本章目录

  4. 《 C语言程序设计》(Visual C++ 6.0环境) 1. C程序实例(1) 1.1.1 C程序实例 2. C程序实例(2) 3. C程序实例(3) 返回本节目录

  5. 1.C程序实例1 《 C语言程序设计》(Visual C++ 6.0环境) 1.1.1 C程序实例(1) 【例1.1】输出一行信息:Thise is a C program. 程序名为l1_1.cpp。 #include "stdio.h" /*文件包含*/ main() /*主函数*/ { printf("This is a C program.\n"); /*输出信息*/ } 程序输出结果: This is a C program. 程序演示 返回本节目录

  6. 单击运行 运行结果 弹出运行结果窗口 输入源程序 [例1.1]程序演示 返回例题 返回本节目录

  7. 《 C语言程序设计》(Visual C++ 6.0环境) 2.C程序实例2 1.1.1 C程序实例(2) 【例1.2】输入两个整数,输出它们的和。 程序名为l1_2.cpp。 #include "stdio.h" /*文件包含*/ main() /*主函数*/ { int a,b,c; /*声明定义变量a,b和c*/ scanf("%d%d",&a,&b); /*输入变量a和b的值*/ c=a+b; /*计算c等于a与b的和值*/ printf("c=%d\n",c); /*输出变量c的值*/ } 运行程序输入: 90<CR> 7 <CR> 程序结果: C=97 程序演示 返回本节目录

  8. 单击运行 输入90和7,并以回车作分隔符和输入结束符。 运行结果 弹出运行结果窗口 输入源程序 [例1.2]程序演示 返回例题 返回本节目录

  9. 3.C程序实例3 《 C语言程序设计》(Visual C++ 6.0环境) 【例1.3】输入两个整数,通过调用函数计算它们的和,然后输出和值。 程序名为l1_3.cpp。 #include "stdio.h" /*文件包含*/ int sum(int x,int y) /*定义sum函数*/ { int z; /*声明定义变量z*/ z=x+y; /*计算z等于x与y的和值*/ return (z); /*将z的值返回,通过sum带回调用处*/ } main() /*主函数*/ { int a,b,c; /*声明定义变量a,b和c*/ scanf("%d%d",&a,&b); /*输入变量a和b的值*/ c=sum(a,b); /*调用sum函数,将得到的值赋给c*/ printf("c=%d\n",c); /*输出变量c的值*/ } 运行程序输入: 90 7<CR> 程序结果: C=97 1.1.1 C程序实例(3) 程序演示 返回本节目录

  10. 单击运行 输入90和7,并以空格作间隔符,以回车作输入结束符。 运行结果 弹出运行结果窗口 输入源程序 [例1.3]程序演示 返回例题 返回本节目录

  11. 1.编辑 2.编译 《 C语言程序设计》(Visual C++ 6.0环境) (1)编辑指编辑创建源程序是将编写好的C语言源程序代码录入到计算机中,形成源程序文件。 (2)本书用Visual C++ 6.0环境提供的全屏幕编辑器。在附录3中介绍Turbo C 2.0的环境情况。 (3)在VC 6.0环境中的源程序文件,其扩展名为.cpp,而在Turbo C 2.0环境中的源程序文件的扩展名为.c。 1.1.2 C程序的开发过程 (1)编译源程序就是由C系统提供的编译器将源程序文件的源代码转换成目标代码的过程。 (2)编译过程主要进行词法分析和语法分析,在分析过程中如果发现错误,将错误信息显示在屏幕上通知用户。经过编译后的目标文件的扩展名为.obj。 返回本节目录

  12. 《 C语言程序设计》(Visual C++ 6.0环境) 3.连接 4.运行 1.1.2 C程序的开发过程 (1)连接过程是将编译过程中生成的目标代码进行连接处理,生成可执行程序文件的过程。 (2)在连接过程中,时常还要加入一些系统提供的库文件代码。经过连接后生成的可执行文件的扩展名为.exe。 运行可执行文件的方法很多,可在C系统下执行“运行”命令。也可以在操作系统下直接执行可执行文件。 可执行的程序文件运行后,将在屏幕上显示程序执行的结果。 返回本节目录

  13. 利用Visual C++ 6.0集成环境开发C程序的过程如下: 《 C语言程序设计》(Visual C++ 6.0环境) 1.1.3 Visual C++ 6.0集成环境 1.启动Visual C++ 6.0环境 2. 编辑源程序文件 3. 编译和连接 4. 执行 返回本节目录

  14. 标题栏 菜单栏 工具栏 文件编辑区 项目工作区 输出区 状态栏 1.启动Visual C++ 6.0环境 《 C语言程序设计》(Visual C++ 6.0环境) 方法:单击 “开始”-“程序”-“Microsoft Visual studio 6.0”-“Microsoft Visual C++ 6.0”命令,启动Visual C++,VC6主窗口如下: 1.1.3 Visual C++ 6.0集成环境 返 回 返回本节目录

  15. 输入项目名 单击该选项 单击“完成” 单击“确定” 单击“工程” 选择新项目位置 单击“确定” 单击“Win32 Console Application” 2. 编辑源程序文件 《 C语言程序设计》(Visual C++ 6.0环境) (1)建立新工程项目 ①单击“文件”-“新建”,弹出 “新建”对话框。 1.1.3 Visual C++ 6.0集成环境 ②单击“工程”选项卡;单击 “Win32 Console Application” 选项;“工程”文件框中输入项 目名,如“gc1”和“位置”框输入 或选择新项目所在位置,单击 “确定”按钮。弹出“Win32 Console Application Step 1of 1”对话框。 ③单击“An empty project”按钮和“完 成”按钮。系统显示“新建工程信息”对 话框。单击“确定”按钮。 返 回 返回本节目录

  16. 输入文件名 单击“文件” 选择“添加工程” 单击“C++ Source file” 输入源程序 单击“确定” 2. 编辑源程序文件 《 C语言程序设计》(Visual C++ 6.0环境) (2)建立新项目中的文件 ①单击“文件”-“新建”,弹 出“新建”对话框。 1.1.3 Visual C++ 6.0集成环境 ②选择“文件”选项卡。单击 “C++ Source File”选项,在 “文件”文件框中输入文件名, 单击“确定”按钮。系统自动 返回VC6主窗口。 ③显示文件编辑区窗口,在文件编辑 区窗口输入源程序文件。 返回本节目录 返 回

  17. 单击“Build” 单击“编译” 3. 编译和连接 《 C语言程序设计》(Visual C++ 6.0环境) 方法一:选择主窗口菜单栏中“编译”菜单项;系统弹出下拉菜单,选择“构件”菜单命令。 1.1.3 Visual C++ 6.0集成环境 方法二:单击主窗口编译工具栏上的 “Build”按钮进行编译和连接。 (1)系统对程序文件进行编译和连接,生成以项目名称命名的可执行目标代码文件.exe。 (2)编译连接过程中,系统如发现程序有语法错误,则在输出区窗口中显示错误信息,给出错误的性质、出现位置和错误的原因等。如果双击某条错误,编辑区窗口右侧出现一个箭头,指示再现错误的程序行。用户据此对源程序进行相应的修改,并重新编译和连接,直到通过为止。 返回本节目录 返 回

  18. 单击“Build Execute” 单击“编译” 4. 执行 《 C语言程序设计》(Visual C++ 6.0环境) 方法一:单击“编译”菜单中“执行”命令。 方法二:单击主窗口编译工具栏上的“Build Execute”按钮来执行编译连接后的程序。 1.1.3 Visual C++ 6.0集成环境 运行成功,屏幕上输出执行结果,并提示信息:“Press any key to continue”。此时按任意键系统都将返回VC6主窗口。 在执行程序过程中出现运行错误。用户要修改源程序文件并且重新编译、连接和执行。 返 回 返回本节目录

  19. 《 C语言程序设计》(Visual C++ 6.0环境) 1.2 C程序的基本结构 1.2.1 C程序的结构特点 1.2.2 C程序的书写格式 返回本章目录

  20. 《 C语言程序设计》(Visual C++ 6.0环境) 任何函数(包括主函数main())都是由函数说明和函数体两部分组成。 其一般结构如下: 1.2.1 C程序的结构特点 [函数类型] 函数名(函数参数表)/*函数说明部分*/ { 说明语句部分;/*函数体部分*/ 执行语句部分; } 返回本节目录

  21. 1. C程序是由函数构成的。 2. 函数由函数说明和函数体组成。 3. C程序总是从main函数开始执行。 4.C程序语句和数据定义必须以分号“;”结束。 5.C语言严格区分大小写。 6.C语言数据输入和输出是由库函数实现的。 7.C语言用/*注释内容*/形式进行程序注释。 《 C语言程序设计》(Visual C++ 6.0环境) 一个C源程序可由一个main函数和若干个其他函数组成,其中必须有一个且只能有一个main函数。 1.2.1 C程序的结构特点 函数说明部分包括函数名、函数返回值类型、函数的形式参数(形参)名、形式参数类型。函数体即函数说明部分下面的用一对大括号括起来的部分{……} 。 main函数始终是C程序执行时入口处。 C语言中,分号是程序语句的结束标志,也是C语句的必要组成部分。 如变量a和变量A系统认定为两个不同的变量。 C语言本身没有输入输出语句。输入和输入操作是由库函数scanf和printf等函数来实现的。 返回本节目录 在“/*”和“*/”之间的所有字符都为注释符,C系统不对注释符进行编译 。

  22. 1. C程序书写格式自由。 2.C程序书写采用缩进格式。 3.程序中适当使用注释信息。 《 C语言程序设计》(Visual C++ 6.0环境) 对于短语句可以多条语句书写在同一行,也可以将长语句分写在多行。但需要注意,分行时不能将一个单词分开,也不能将双引号引起来的字符串分开。我们提倡一行一条语句的风格。 1.2.2 C程序的书写格式 根据语句的从属关系,程序书写时采用缩进格式,使程序语句的层次结构清晰,提高程序的可读性。同一层次语句要左对齐,不同层次的语句要缩进若干个字符,这样程序层次清楚,便于阅读和理解。 在书写程序时,适当地加入注释同样可增加程序的可读性。 返回本节目录

  23. 《 C语言程序设计》(Visual C++ 6.0环境) 1.3 C语言的词法 1.3.1 C语言的字符集 1.3.2 C语言的词法 返回本章目录

  24. 《 C语言程序设计》(Visual C++ 6.0环境) C语言的字符集是由ASCII字符集组成 1.3.1 C语言的字符集 (1)26个小写字母:a—z。 (2)26个大写字母:A—Z。 (3)10个数字:0—9。 (4)其他符号:+、-、*、/、=、,、.、_、)、(、&、^、%、$、#、@、!、~、<、>、?、’、;、:、”、)、[、]、{、}、-、\、空格。 返回本节目录

  25. C语言使用一组字符来构造具有特殊意义的符号,我们称之为词法符号。主要有关键字、标识符、运算符、分隔符、常量及注释符等。 1.关键字 《 C语言程序设计》(Visual C++ 6.0环境) 1.3.2 C语言的词法 关键字是系统预定义的词法符号,具有特定的含义。ANSI C规定有32个关键字,C++又补充了29个关键字。C和C++均不允许对关键字重新定义,即程序员不能用这样关键字再定义其他含义。 关键字举例: int char float long if else for while sizeof static struct 返回本节目录

  26. 2.标识符 3.分隔符 4.其他 《 C语言程序设计》(Visual C++ 6.0环境) 标识符是指用来标识程序中用到的变量名、函数名、类型名、数组名、文件名以及符号常量名的有效字符序列。 C语言标识符命名必须符合语法规定:标识符是以字母或下划线开始,由字母、数字和下划线组成的符号串。 1.3.2 C语言的词法 分隔符是程序中的标点符号,用来分隔单词或程序正文。 (1)空格:作为单词之间的分隔符。 (2)逗号:作为变量之间或函数的多个参数之间的分隔符。 (3)冒号:作为语句标号与语句间的分隔符以及switch语句中case与语句序列之间的分隔符。 (4)大括号:作为函数体、复合语句等定界。 注释符前面已经介绍。运算符是对数据进行某种操作的单词,是系统预定义的函数,具体内容将在第2章详细介绍。常量是程序中由书写形式决定类型和值的数据。C语言常量有数字常量、字符常量和字符串常量。将在第2章中做详细介绍。 返回本节目录

  27. 《 C语言程序设计》(Visual C++ 6.0环境) 1.4.1 C语言格式输入/输出 1.4 C语言数据输入和输出 1.4.2 C语言字符数据输入/输出 1.4.3 C++ 的输入输出流 返回本章目录

  28. 标准函数库中定义了一些输入输出函数,程序在调用这些库函数时,必须在源文件的开始处加上头文件的“包含命令”,格式如下:标准函数库中定义了一些输入输出函数,程序在调用这些库函数时,必须在源文件的开始处加上头文件的“包含命令”,格式如下: #include <库函数头文件名> 或#include "库函数头文件名" 1.格式输出函数printf() 《 C语言程序设计》(Visual C++ 6.0环境) 1.4.1 C语言格式输入/输出 printf()函数的作用:向计算机系统默认的输出设备(一般指终端或显示器)输出一个或多个任意类型的数据。 printf()函数的一般格式如下: printf(“格式字符串” [,输出项表]); (1)“输出项列表”是需要输出的一些数据。数据可以有0项、1项或多个输出项,多个输出项之间用“,”分隔,并且输出项应与格式控制相匹配。 (2)“格式控制”是用双引号括起来的一串字符,也称格式控制字符串,包括格式说明、普通字符和转义字符3种。格式控制字符串的功能是指定输出数据的格式和类型。 下面均以【例1.2】和【例1.3】中的printf("c=%d\n",c);进行说明。其中,“c=”是普通字符,“%d”是格式说明,’\n’是转义字符,而c是输出项。 返回本节目录

  29. 下面分别对“格式控制”的3种形式进行说明 《 C语言程序设计》(Visual C++ 6.0环境) (1)普通字符:普通字符内容按照原样向输出设备输出。如“c=”在屏幕上输出结果就是:c= 1.4.1 C语言格式输入/输出 (2)格式说明:格式说明是以字符“%”开头,加上格式字符组成,表示对数据输出格式的控制,它与后面的数据输出项对应。格式说明与数据输出项的数据个数、数据类型及数据排放次序相匹配对应。如,格式说明“%d”与输出项“c”对应,即控制数据输出项c按格式说明"%d"规定的格式(十进制整数形式)输出。因此,据c值为97,输出结果是:97 如果,格式说明“%d”改为“%c”,则输出项c的值将按“%c”规定的格式(字符型数据)输出。因此,据c值为97,输出结果是:a ‘a’为97对应的ASCII字符。常用的格式字符情况如教材表1-1所示。 (3)转义字符:转义字符是以’\’开头和其他特殊字符组合而成的具有一定含义的字符。如’\n’ 表示“回车换行”符。转义字符是ASCII字符中的一种,主要用来控制外部设备。常用的一些转义字符及其含义见教材表1-4所示。 返回本节目录

  30. 2.格式输入函数scanf() 《 C语言程序设计》(Visual C++ 6.0环境) 格式控制输入函数scanf作用是:按指定的格式从标准输出设备(键盘)输入数据。 1.4.1 C语言格式输入/输出 函数scanf()的使用格式为: scanf(“格式控制”,地址列表) ; (1)“地址列表”是由接收数据变量的地址组成。求地址运算符为&,如&a,&b分别表示变量a和变量b的地址。若接收多个数据,则变量地址之间用 “,”分隔,并且地址列表与格式控制中的格式说明相匹配。 (2)“格式控制”基本同于printf函数的格式控制。格式控制的功能是规定输入数据的格式。格式控制包括格式说明和普通字符,一般不包括转义字符。 返回本节目录

  31. 注意:格式字符和附加格式字符使用应与输出项相匹配。注意:格式字符和附加格式字符使用应与输出项相匹配。 《 C语言程序设计》(Visual C++ 6.0环境) (1)格式说明之间有普通字符或转义字符时,则数据输入时,必须按它们的原样输入这些字符作为数据分隔符。如,scanf("%d,%d",&a,&b); 输入数据时,数据之间必须用“,”作为分隔符。可输入:90,7<CR>。 (2)连续输入多个数值型数据时,数据之间要用空格、Tab键或回车键作分隔符。如【例1.2】和【例1.3】中语句scanf(“%d%d”,&a,&b);输入数据时,数据之间可用空格、Tab键或回车键分隔符。可输入:90 7<CR>。 (3) 连续输入多个字符数据时,各字符间不输入分隔符。如,scanf( "%c%c",&a,&b); 输入数据时,连续输入相应的字符。可输入:AB<CR>。则将‘A’字符输给了变量a,将‘B’字符输给了变量b。 (4)数据型数据和字符型数据交叉输入时,若字符在前,则字符和数值型数据间可以加入分隔符(空格、Tab键和回车键);若数值在前,则数值和字符间不可以加分隔符(空格、Tab键和回车键)。 (5)输入数据时,可以指定数据所占列数,系统自动按它截取所需数据。如,scanf("%3d%3d",&a,&b);若输入:12345678<CR>系统自动将123赋给a,456赋给b。 (6)输入数据时不能规定精度。如,scanf("%5.2f",&a);是不合法的。 1.4.1 C语言格式输入/输出 返回本节目录

  32. 1.字符输出函数putchar() 2. 字符输入函数getchar() 《 C语言程序设计》(Visual C++ 6.0环境) 字符输出函数putchar的一般格式为: putchar(c) putchar作用:在标准输出设备(显示器)上输出c对应的一个字符。 输出的字符是括号中c所对应的一个字符。c可以是单字符数据、整型数据及其表达式。 如,char c=’Y’;putchar(c);输出结果为Y。 如,int a=98;putchar(a+1);输出结果为c。 1.4.2 C语言字符数据输入/输出 字符输入函数getchar的一般格式为: getchar( ) getchar作用:在标准输入设备(键盘)读入一个字符。 例如,char c;c=getchar();执行时,要求输入一个字符,如输入:3<CR>,则输入的字符’3’就赋给了变量c。 返回本节目录

  33. C++程序中,还增加了特有的输入/输出流,由输入/输出流库提供。cin和cout是流库预定义标准输入流对象和标准输出流对象,分别连接键盘和显示器。头文件iostream.h包含了操作所有输入/输出流所需的基本信息。因此,大多数C++程序都将iostream.h头文件包括到用户的源文件中,即:#include <iostream.h> 1. 输出cout 《 C语言程序设计》(Visual C++ 6.0环境) 1.4.3 C++ 的输入输出流 输出流对象cout必须配合插入操作符<<使用。输出格式为: cout<<输出项1<<输出项2<<……<<输出项n; 功能:首先计算出各输出项的值,然后将其转换成字符流形式输出。 【例1.4】将【例1.1】使用输出流cout完成数据输出。程序名为l1_4.cpp。 #include <iostream.h> /*文件包含*/ main() /*主函数*/ { cout<<"This is a C program.\n"; /*输出信息*/ } 输入项还可以是各种控制字符或函数,如回车换行符’\n’等。常用的输入/输出流格式控制符见教材表1-5所示。使用格式控制符要包含头文件iomanip.h,即源文件开始应增加文件包含命令#include <iomanip.h>。 返回本节目录

  34. 2.输入cin 《 C语言程序设计》(Visual C++ 6.0环境) 输入流对象cin必须配合提取操作符>>来完成数据的输入。输入格式为: cin>>变量1>>变量2>>……>>变量n; 功能:读取用户输入的字符串,按相应变量的类型转换成二进制代码写入内存。执行到输入语句时,用户按语句中变量的顺序和类型键入各变量的值。输入多个数据时,以空格、Tab键和回车键作分隔符。 1.4.3 C++ 的输入输出流 【例1.5】将【例1.2】使用输入流cin和输出流cout完成。程序名为l1_5.cpp。 #include <iostream.h> /*文件包含*/ #include <iomanip.h> main() /*主函数*/ { int a,b,c; /*声明定义变量a,b和c*/ cin>>a>>b; /*输入变量a和b的值*/ c=a+b; /*计算c等于a与b的和值*/ cout<<"c="<<c<<endl; /*输出变量c的值*/ } 返回本节目录

  35. 《 C语言程序设计》(Visual C++ 6.0环境) 1.5 程序设计语言发展 1.5.1 程序与程序设计语言 1.5.2 高级语言与C语言 返回本章目录

  36. 1. 程序 2.程序设计语言 《 C语言程序设计》(Visual C++ 6.0环境) 程序是控制计算机完成特定功能的一组有序指令的集合。前面我们见到的各个例题【例1.1】、【例1.2】、【例1.3】和【例1.4】和 【例1.5】都是一些小的程序,都能完成一定的功能。 1.5.1 程序与程序设计语言 编写程序所使用的语言称为程序设计语言,它是人与计算机之间进行信息交流的工具。前面我们介绍的程序【例1.1】、【例1.2】和【例1.3】是用Turbo C程序设计语言编写的,而【例1.4】和【例1.5】是用Visual C++程序设计语言编写的。可见,C语言和Visual C++语言是两种程序设计语言,是程序员编程的工具。 返回本节目录

  37. 1. 程序设计语言的发展 2.C语言 《 C语言程序设计》(Visual C++ 6.0环境) 程序设计语言的发展从低级到高级经历了机器语言、汇编语言、高级语言到面向对象语言四个阶段。C语言是一种高级语言。 1.5.2 高级语言与C语言 C语言仍然是当今世界上最为流行的面向过程的程序设计语言之一。C语言的产生最早可追溯到1960年出现的ALGOL 60。在ALGOL 60基础上,1963年英国剑桥大学推出了更接近硬件,规模较大的CPL(Combined Programming Language)语言。1967年对CPL进行简化推出了BCPL(Baxic Combined Programming Language)语言。1970年,美国贝尔实验室的Ken Thompson在BCPL基础上,设计出更简单,很接近硬件的B语言,用B语言编写的UNIX操作系统在DEC PDP-7机上实现。在1972至1973年间,贝尔实验室的Dennis Ritchie在B语言基础上设计出了C语言。1973年Ken Thompson和DennisRitchie合作把原来用汇编语言编写的UNIX操作系统中90%以上的部分用C语言改写。1983年,美国国家标准化协会ANSI制定了ANSIC标准。1990年,国际标准化组织ISO接受了87 ANSI C为ISO标准。C语言具有功能强大,容易理解,较好的移植性,较低级的语言功能和模块化结构程序设计等优势,使C语言已经风靡全球,成为世界上应用最为广泛的几种高级计算机语言之一。 返回本节目录

More Related