第1章语言基础_第1页
第1章语言基础_第2页
第1章语言基础_第3页
第1章语言基础_第4页
第1章语言基础_第5页
已阅读5页,还剩71页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《C程序设计》

作者:邱富杭 主讲:陈育文

第1章C语言基础C语言概述C语言是目前国际上广泛流行的一种结构化的程序设计语言,是一门优秀的计算机程序设计语言。它以强大的功能、丰富的数据类型、使用灵活、兼具面向硬件编程的低级语言特性及通用性强、可移植性好等语言特点成为当今软件开发的主流。通过全面、深入、系统地学习用C程序设计语言编写程序,能够初步了解计算机,掌握程序设计方法,养成良好的程序设计风格。第1章C语言基础

C语言是一门优秀的程序设计语言,其本身是高级语言,却又同时具有低级语言的某些优点,既可以用于编写系统程序,也可以用于编写应用程序。C语言是函数式语言,编制C程序就是编写C函数。早期的C语言主要是用于UNIX系统,由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,C语言开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用,成为当代最流行的程序设计语言之一,随着计算机的普及和发展,C语言在各个领域的应用越来越广泛,几乎各类计算机都支持C语言的开发环境,这为C语言的普及和应用奠定了基础。第1章C语言基础

C语言程序中使用的各种变量都应预先加以定义,即先定义,后使用。对变量的定义可以包括3个方面:数据类型、存储类型、作用域。C语言不仅提供了多种数据类型,还提供了构造更加复杂的用户自定义数据结构的机制。

本章介绍C语言的特点、程序组成、书写规则、上机运行和调试应用程序的方法以及基本数据类型、运算符和表达式。第1章C语言基础本章内容:C语言的发展及特点。C程序的基本结构。C语言的基本符号与词汇。C语言执行过程及集成开发环境。基本数据类型及常量与变量的概念,整型数据、实型数据、字符型数据的使用。运算符与表达式及运算的优先级。第1章C语言基础学习目标:掌握C程序的基本结构、掌握C语言的基本符号与词汇。掌握TurboC集成开发环境的基本使用方法。能够编写并在TurboC中编辑和运行最简单的C程序。了解基本数据类型及其常量的表示法。掌握变量的定义及初始化方法。掌握运算符和表达式的概念。理解自动类型转换和强制类型转换。了解常用数学函数与表达式,能够将一般的数学算式转化为C语言表达式。1.1C语言的发展与特点1.1.1C语言的发展用于书写计算机程序的语言叫程序设计语言,它是人与计算机之间进行信息交流的工具。从计算机诞生到今天,伴随着计算机技术的飞速发展,程序设计语言也在不断升级换代,主要经历了面向机器(机器语言和汇编语言)、面向过程(高级语言)和面向对象(高级语言)几个阶段。

面向过程:“面向过程”是一种以事件为中心的编程思想。就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

面向对象:“面向对象”(ObjectOriented,简称OO)是一种以事物为中心的编程思想。计算机语言

机器语言:计算机发展初期使用的语言,它由二进制的0、1组成,计算机虽可直接执行,但它面向机器,可移值性极差,现在已经很少用到。

汇编语言:使用助记符(英文单词或单词缩写)表示指令代码(如用ADD表示加法运算),以便于记忆。在执行时,汇编语言源程序由汇编程序先将其转换为目标程序,最后由连接程序把目标程序转换为可执行程序。计算机语言

汇编语言的显著特点是用它编写的程序能直接对计算机底层硬件操作,但由于它仍然面向机器,用它编写程序难度仍然很大(须懂得计算机原理),且维护十分困难,可移植性也差,故不适合初学者。

高级语言:采用近似于数学语言描述问题(如QBASIC语言),面向过程,与计算机机型无关,所以高级语言容易记忆,容易编程,有很强的通用性。用高级语言编写的程序不能直接在机器上运行,必须先将它翻译成机器语言,才能被计算机执行,故高级语言执行速度较慢。C语言的发展在C语言产生之前,人们编写系统软件主要是使用汇编语言。由于用汇编语言编写的程序依赖于计算机硬件,其可读性和可移植性都比较差;而一般高级语言又不具备低级语言能够直观地对硬件实现控制和操作、程序执行速度快的特点。在这种情况下,人们迫切需要一种既有一般高级语言特性,又有低级语言特性的语言。于是C语言就应运而生了。C语言的发展C语言介于高级语言和低级语言(汇编语言)之间,兼有二者之特点,故称为“中级”语言,特别适合作底层开发。C语言是一种编译性程序设计语言,它与Unix操作系统紧密地联系在一起。Unix系统是通用的、交互式的计算机操作系统,它诞生于1969年,是由美国贝尔实验室的K.Thompson和D.M.Ritchie用汇编语言开发成功的。C语言的发展C语言的产生和发展与UNIX有很大的关系,C语言的前身是BCPL语言。1967年英国剑桥大学的MartinRichard推出BCPL语言(BasicCombinedProgrammingLanguage)。1970年贝尔实验室的K.Thompson以BCPL语言为基础,开发了B语言,并用B语言编写了Unix操作系统,在PDP-7计算机上实现。1972年贝尔实验室的D.M.Ritchie在B语言的基础上设计出C语言,C语言既保持了BCPL语言和B语言的精练、接近硬件的优点,又克服了它们过于简单的缺点。1.1.2C语言的特点C语言作为世界上应用最广泛的计算机语言之一,有其不可替代的、吸引人的特点。C语言具有以下几个基本特点:C语言是结构化程序设计语言。C语言程序的逻辑结构可以用顺序、选择和循环三种基本结构组成,便于采用自顶向下、逐步细化的结构化程序设计技术。用C语言编制的程序具有简洁、紧凑、使用灵活方便、容易理解、便于维护的优点。1.1.2C语言的特点

C语言是模块化程序设计语言。C语言的函数结构、程序模块间的相互调用及数据传递和数据共享技术,为大型软件设计的模块化分解技术及软件工程技术的应用提供了强有力的支持。C语言具有丰富的运算能力。C语言除具有一般高级语言所拥有的四则运算及逻辑运算功能外,还具有二进制的位(Bit)运算、单项运算和复合运算等功能。C语言的特点

C语言具有丰富的数据类型和较强的数据处理能力。C语言不但具有整型、实型、双精度型,还具有结构、联合等构造类型,并为用户提供了自定义数据类型。此外,C语言还具有预处理能力,能够对字符串或特定参数进行宏定义。C语言具有较强的移植性。C语言程序本身并不依赖于计算机的硬件系统,只要在不同种类的计算机上配置C语言编译系统,即可达到程序移植的目的。C语言的特点

C语言不但具有高级语言的特性,还具有汇编语言的特点。C语言既有高级语言面向用户、容易记忆、便于阅读和书写的优点;又有面向硬件和系统,可以直接访问硬件的功能。可以直接访问物理地址,能进行位操作,实现汇编语言的大部分功能。C语言具有较好的通用性。C语言有时也被称为中级语言,这并非贬义,因为它把高级语言的最佳成分同汇编语言的控制和灵活性巧妙地结合到了一起。C语言既可用于编写操作系统、编译程序等系统软件,也可用于编写各种应用软件。C语言的特点

C语言也有其不足之处:主要是C语言语法灵活,在某种程度上降低了程序的安全性,对程序员要求较高;C语言比较适用于底层开发和小型精巧程序的开发(如硬件驱动、手机应用软件等),不适合用于开发大型应用软件。1.2简单的C语言程序1.2.1几个简单的C程序C语言的源程序由一个或多个函数组成,每个函数完成一种指定的操作,所以又称为函数式语言。下面观察以下三例,可以发现C语言程序的构成和书写规则。#include<stdio.h>voidmain(){printf(“e!");}/*文件包含*//*主函数*//*函数体开始*//*输出语句*//*函数体结束*/说明:main-主函数名,void-函数类型每个C程序必须有一个主函数main{}是函数开始和结束的标志,不可省每个C语句以分号结束使用标准库函数时应在程序开头一行写:

#include<stdio.h>【例1.1】在屏幕上显示信息“e!”。说明:本程序的作用是输出一行信息:e!【例1.2】求两数之和

#include<stdio.h>

voidmain()/*求两数之和*/

{

inta,b,sum;/*声明,定义变量为整型*/

/*以下3行为C语句*/

a=123;b=456;

sum=a+b;

printf(″sumis%d\n″,sum);

}说明:

/*……*/表示注释。注释只是给人看的,对编译和运行不起作用。所以可以用汉字或英文字符表示,可以出现在一行中的最右侧,也可以单独成为一行。说明:

输出一行信息:sumis579(A

)是不正确的叙述。A.注释说明只能位于一条语句的后面B.C源程序的基本组成单元是函数C.C源程序可由一个或多个函数组成D.每条语句最后必须有一个分号课堂小测试【例1.3】求3个数中较大者。

#include<stdio.h>

voidmain()/*主函数*/

{

intmax(intx,inty);/对被调用函数max的声明*/

inta,b,c;/*定义变量a、b、c*/

scanf(″%d,%d″,&a,&b);/*输入变量a和b的值*/

c=max(a,b);/*调用max函数,将得到的值赋给c*/

printf(″max=%d\\n″,c);/*输出c的值*/

}程序运行情况如下:8,5↙(输入8和5赋给a和b)max=8(输出c的值)intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}max(int

x,int

y)

max(a,b);

说明:本程序包括main和被调用函数max两个函数。max函数的作用是将x和y中较大者的值赋给变量z。return语句将z的值返回给主调函数main。

一个完整的C程序应符合以下几点:①C程序以函数为基本单位,整个程序由函数组成。其中主函数main()是一个特殊的函数,一个完整的C程序必须有且只能有一个主函数main(),它是程序启动时的唯一入口,C程序总是从main函数开始执行的,与main函数的位置无关。其特殊性表现在C语言程序执行时开始于主函数,也结束于主函数,归根到底,其它函数均受调于主函数。也就是说,C程序没有主函数,便不能执行。除主函数外,C程序还可包含若干其它C标准库函数和用户自定义的函数。这种函数结构的特点使C语言便于实现模块化的程序结构。main()函数的位置(B

)。A.必须在自定义函数前面B.可以在自定义函数后面C.必须位于程序的最前面D.必须在自定义函数后面课堂小测试构成C源程序的基本单位是(D

)。A.语句 B.变量C.运算符 D.函数课堂小测试②用户自定义的函数由函数说明和函数体两部分组成。函数说明部分包括对函数名、函数类型、形式参数等的定义和说明;函数体包括对变量的定义和执行程序两部分,由一系列语句和注释组成。整个函数体由一对花括号括起来。③语句是由定义符、运算符和数据按照C语言的语法规定组成的,每个语句完成一个特定的功能,语句以分号结束。④有的函数在定义时,函数名后的小括号内有形式参数,如例1.3中的max函数。{}内则是由若干语句组成的函数体,每个语句必须以分号结束。C语言的书写格式较自由,一行内可以写多个语句,一个语句很长时也可以分写在多行上。错误的叙述是(D

)。A.一个C语言源程序可由一个或多个函数组成B.若一条语句较长,也可分写在下一行上C.C程序必须包含一个main()函数D.构成C语言源程序的基本单元是算术表达式课堂小测试一个C语言源程序是由(B

)。A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成课堂小测试C程序:(1)C程序是由函数构成的。这使得程序容易实现模块化。(2)一个函数由两部分组成:

函数的首部:例1.3中的max函数首部

intmax(intx,inty)

函数体:花括{}号内的部分。若一个函数有多个花括号,则最外层的一对花括号为函数体的范围。函数体包括两部分:声明部分:inta,b,c;可缺省执行部分:由若干个语句组成。可缺省1.2.2C程序的基本结构注意:函数的声明部分和执行部分都可缺省,例如:voiddump(){}

这是一个空函数,什么也不做,但是合法的函数。1.2.2C程序的基本结构C语言函数体由(B

)括起来。A.<> B.() C.{} D.[]课堂小测试1.2.3C语言的基本符号与词汇1.C语言的基本符号集C语言的基本符号集采用ASCII码字符集,包括:大小写英文字母各26个。10个阿拉伯数字0~9。其他特殊符号,包括以下运算符和操作符:

+-*/%<<=>>===!=&&||!&|~=++--?:<<>>()[].->^#sizeof+=-=*=/=%=&=^=|=,2.C语言的词汇

(1) 标识符程序中用来标识变量名、函数名、数组名、数据类型名等的有效字符序列称为标识符。简单地说,标识符就是一个名字。标识符的构成规则如下:① 标识符只能由英文字母(A~Z、a~z)、数字(0~9)和下划线(_)三类符号组成,但第一字符必须是字母或下划线。2.C语言的词汇例如,下面的标识符是合法的:sum、Sum、n2、_average、a_3、student_2_name下面是不合法的标识符:num-1、a#3、2student、!sum_2、number.3② 大写字母与小写字母含义不同(即C语言是对大小写敏感的)。如sum、Sum、SUM表示三个完成不同的标识符。2.C语言的词汇③ 一般的C编译系统只取标识符的前8个字符为有效字符,而TurboC则取标识符的前32个字符为有效字符。④ 不能使用关键字(保留字)。2.C语言的词汇

(2) 关键字关键字又称为保留字,是C语言编译系统所固有的、具有专门意义的标识符。C语言的关键字有32个,一般用作C语言的数据类型名或语句名,如表1.1所示。说明:① 所有关键字的字母均采用小写。② 关键字不能再作为用户的常量、变量、函数和类型等的名字。表1.1C语言关键字(D

)为正确的用户标识符。A.struct B.5f C._f0.6 D._for课堂小测试本章的任务之一【例1.4】编写程序:求半径为2.0的圆面积。程序代码如下:#include<stdio.h>main(){floats,r;/*说明语句,定义实型变量s,r*/r=2.0;/*赋值语句*/s=3.14*r*r;/*计算面积s*/printf(“s=%f\n”,s);/*函数语句*/}

运行结果:

S=12.560001.2.4C语言应用程序的编译与运行 写好一个C语言源程序后,一般要经过编辑、编译、连接和运行才能得到程序结果。(1)编辑:在文本编辑器中,用C语言语法编写源程序代码,即C语言源程序(*.c)。(2)编译:通过编译器将源程序转换为机器代码,生成目标程序,在C语言源程序的编译过程中,可以检查出程序中的语法错误。1.2.4C语言应用程序的编译与运行(3)连接:C语言是模块化设计语言,一个C语言应用程序可能由多个程序设计者分工合作编写,需要将所用到的库函数以及其他目标程序连接为一个整体,生成可执行文件(*.exe)。(4)运行:运行可执行文件后,可获得程序运行结果。运行C程序的步骤上机输入与编辑源程序对源程序进行编译与库函数连接运行目标程序1.3C语言集成开发环境1.3.1TurboC集成开发环境介绍C语言有许多种编译器,这些编译器之间只有很小的差别,只要学会其中的一种,对其他几种就能很快地适应。本节主要介绍在微机上较为流行的C语言版本——TurboC。TurboC是美国Borland公司的产品。TurboC具有图形库和函数库,具有查错及协处理器的仿真功能。当前在国内使用比较普遍的是TurboC2.0,它是在MS-DOS操作系统上使用的编译系统,也可以在Windows操作系统下运行。TurboC2.0集成环境简介1.进入TC(1)DOS状态下:TC子目录键入TC回车(2)Windows环境下:双击安装目录下TC.EXE

集成环境如图:主菜单的项目和功能表项目功能项目功能FileEditRunCompileProjectOptionsDebugBreak/watch

调入存储文件、管理目录、退出TC环境等进入编辑状态,可编辑和修改源程序编译、连接和运行当前程序编译当前环境内的程序,生成目标文件处理由多个源程序文件组成的工程文件设置有关编译和连接的选项调试程序,显示变量的值,查找函数调试程序,断点的设置和清除及观察变量值一旦进入编辑窗口,其顶部为双线且名字是高亮度的——这表示它是活动的窗口。

2.常用编辑命令⑴光标移动←光标左移一格 ↑光标上移一行Home

光标移至行头Pgup

光标移至上页⑵插入、删除Insert

打开/关闭插入功能Ctrl+Y 删除一行⑶块命令:

Ctrl+KB

标记块头

Ctrl+KK

标记块尾

Ctrl+KC

复制块

Ctrl+KY

删除块⑷其它Ctrl+QF

查找

Ctrl+QA

查找并替换Ctrl+U

撤消正在进行的操作3.快速参考行F1——Help

打开帮助窗口F5——Zoom

扩大编辑窗口到整个屏幕

F6——Switch

切换活动窗口F7——Trace

单步执行,遇到函数,跟踪进入函数内部F8——Step

单步执行,遇到函数,直接完成函数调用F9——Make

编译连接程序,生成可执行文件F10——Menu

回到主菜单编程的操作步骤:

1.建立工作环境和工作目录

2.编辑源程序

3.编译、连接、运行程序编辑链接编译执行C程序的上机步骤file.exe程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe【例3.1】在屏幕上输出“Thisisanexample”

首先编辑、编译、连接及运行下面的程序:main(){printf(”thisisanexample!”);;

}先进入TC环境,完成以下操作:建立正确的工作环境

(1)

进入File子菜单中的Changedir菜单项如下图:

(2)

在主菜单中选择Options进Directories子菜单,如下图:编辑源程序

(1)选择File菜单下的New命令,如图:(2)在编辑窗口编辑源程序,如图:(3)存盘:选择主菜单File中的Save项或者直接按F2键,如图:3.编译

选择Compile菜单的compiletoOBJ单独编译上述程序,如图:4.连接选择Compile子菜单中的“LinkEXEfile”项,如图:5.运行程序选择主菜单下的Run子菜单运行程序,如下图:6.退出TC集成环境从File菜单选择Quit命令或按Alt+X

回到操作系统环境。经过这一系列操作后,产生了如下的文件:EX3_1.CEX3_1.OBJEX3_1.EXE

错误提示:例如:连接错误,如图:调试:发现并修改错误得到正确结果的过程

常用调试手段:

(1)单步执行程序

(2)设置和使用观察变量

(3)

设置和使用断点

(4)

计算表达式

(5)

按F4键可使程序执行到光标所在行

(6)

中止程序调试的二种方法

(7)充分利用TC的帮助功能按Ctrl+F1,出现上下文帮助信息,如图所示:1、菜单简介2、快捷键简介菜单命令与快捷键简介1.File下拉菜单项——从磁盘调入原有程序——列出最近曾调入的8个文件名——编辑新文件——将当前编辑的文件存盘——将编辑的文件改名后存盘——显示目录——改变存放C源程序的缺省目录——进入DOS操作系统——退出TC2.Edit没有下拉子菜单3.Run下拉菜单项——运行程序直到程序结束或断点处——终止程序调试,释放占用资源——程序运行到光标处——单步执行,可跟踪进函数体内部——单步执行,直接执行函数——观察程序运行时的屏幕显示,按任意键返回集成环境pile下拉菜单项——编译生成目标代码——生成可执行文件——连接OBJ和库文件生成EXE文件——重建工程中所有文件——设置主文件——获得源文件与当前系统状态有关的重要信息5.Project下拉菜单项——设置工程文件名——设置终止Make的缺省条件——为ON时自动检查源程序与OBJ文件的依赖关系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论