《模块1 初识C语言电子课件 C语言程序设计案例教程.pptx》由会员分享,可在线阅读,更多相关《模块1 初识C语言电子课件 C语言程序设计案例教程.pptx(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C语言程序设计案例教程模块1 初识C语言(1)安装C编译器(如Visual C+、Dev C+、Borland Turbo C、Win TC、Turbo C/C+for Windows集成实验与学习环境等),了解所安装C编译器的基本使用方法与特点。(2)使用C编译器编辑、编译和执行简单C程序。(3)设计“学生成绩管理系统”的登录界面程序。任务描述(1)能够掌握C程序的构成。(2)能够应用某种C集成编译器进行C程序的编辑、编译和执行。(3)能够根据系统提示进行操作、检错和纠错,培养自我学习的能力。(4)能够不断积累程序设计过程中出现的英文,会认、会读、会写和会用。任务目标模块1 初识C语言#in
2、clude#include int login()/*输入密码登录系统,若三次输入不正确,则退出*/char secretCode7,ch;int i,number=3;printf(nnn);printf(ttt*欢迎使用学生成绩管理系统*n);printf(nn);while(number0)源代码展示模块1 初识C语言i=0;printf(nttt请输入密码:);while(ch=getch()!=13)secretCodei+=ch;printf(*);secretCodei=0;if(strcmp(secretCode,888888)=0)break;else源代码展示模块1 初识C
3、语言number-;if(number0)return 1;else return 0;mainMenu()/*系统主菜单,需要以后添加*/system(cls);源代码展示模块1 初识C语言printf(nnnttt*学生成绩管理系统*n);getch();main()if(!login()printf(nntt很遗憾,欢迎您下次再来!n);return 1;domainMenu();while(1);源代码展示模块1 初识C语言程序运行结果如图1-1所示。运行结果程序分析本程序由主函数main()和两个名为login()、mainMenu()的函数构成。login()函数实现密码登录界面设
4、计;mainMenu()是主菜单,需要以后补充。主函数调用两个函数实现相关操作。模块1 初识C语言C语言是国际上广泛流行的计算机高级语言,其语法简洁、紧凑,使用方便、灵活,具有丰富的运算符和数据类型,自定义类型也十分灵活。C程序的模块化主要通过函数实现。由于C语言既有高级语言的功能,又有低级语言的一些功能,因此它既可以用来编写系统软件,也可以用来编写应用软件。C语言在操作系统、工具软件、图形图像处理软件、数值计算、人工智能及数据库系统等多个领域都得到了广泛的应用。目前,许多开发工具,如微软的Visual C+和C#及Java等都遵循标准C语言的基本语法;很多嵌入式系统,多数都采用C语言来开发。
5、1.1 C语言简介目前,人们使用的程序设计语言有上百种,它们中的大多数被称为计算机的“高级语言”。C语言是近年来非常流行的程序设计语言,是一种面向过程的通用程序设计语言,很多人宁愿放弃已经熟悉的其他语言而改用C语言。1.1.1计算机语言概述计算机语言的种类非常多,总的来说,可以分成机器语言、汇编语言和高级语言三大类。1.机器语言机器语言是由0、1组成的机器指令的集合,是第一代计算机语言。计算机所使用的是由0和1组成的二进制数,二进制是计算机语言的基础。计算机发明之初,人们只能写出一串串由0和1组成的指令序列交由计算机执行,这种计算机能够认识的语言,就是机器语言。机器语言难读、难记、难写,容易出
6、错,且不同机型互不兼容。1.1.1计算机语言概述2.汇编语言为了减轻使用机器语言编程的烦琐,人们进行了一种有益的改进,用一些简洁的英文字母、符号串来替代一个特定指令的二进制串。例如,用ADD代表加法,用MOV代表数据传递等,使程序比较直观,易于阅读和理解,更容易实现纠错及维护,这种程序设计语言称为汇编语言,即第二代计算机语言。然而计算机是不认识这些符号的,这就需要一个专门的程序,负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。1.1.1计算机语言概述汇编语言同样十分依赖于机器硬件,移植性不好,但效率很高。针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特
7、长,程序精炼且质量高,所以至今仍是一种常用而强有力的软件开发工具。3.高级语言从最初与计算机交流的经历中,人们意识到,应该设计一种语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。经过努力,1954年,第一个完全脱离机器硬件的高级语言FORTRAN问世了。1.1.1计算机语言概述这么多年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、PL/1、Pascal、C、PROLOG、C+、VC、VB、Java等。高级语言的发展也经历了从早期语言到结构化程序设计语言,
8、从面向过程到非过程化程序语言的过程。相应地,软件的开发也由最初的个体手工作坊式的封闭式生产,发展为产业化、流水线式的工业化生产。高级语言的下一个发展目标是面向应用,也就是说,只需要告诉程序你要干什么,程序就能自动生成算法,自动进行处理,这就是非过程化的程序语言。1.1.1计算机语言概述4.高级语言的编译过程高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:解释类和编译类。(1)解释类:应用程序源代码一边由相应语言的解释器翻译成目标代码,一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态
9、地调整、修改应用程序。(2)编译类:编译是指在应用源程序执行之前,就将程序源代码翻译成目标代码,因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件才能执行,只有目标文件而没有源代码,修改很不方便。现在大多数的编程语言都是编译型的,如Visual Basic、Visual C+、Visual FoxPro、Delphi等。1.1.2 C语言概述1.C语言的发展在C语言诞生以前,系统软件主要是用汇编语言编写的。汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差,但一般的高级语言又难以实现对计算机硬件的直接操作。
10、直到1970年,美国贝尔实验室的Ken Thompson设计出了简单而且很接近硬件的B语言,并用B语言写了第一个UNIX操作系统。1972年至1973年,贝尔实验室的D.M.Ritchie在B语言基础上设计出了C语言。1973年,Ken Thompson和D.M.Ritchie合作把UNIX的90%以上用C语言改写,即UNIX第五版。虽然后来对C语言进行了多次改进,但主要还是在贝尔实验室内部使用。直到1975年UNIX第六版公布后,C语言的突出优点才引起人们的注意。1977年出现了不依赖于机器的C语言编译文本“可移植C语言编译程序”,使C语言移植到其他机器时所需做的工作大大简化,这也推动了UN
11、IX操作系统迅速地在各种机器上的实现。1978年以后,C语言已先后移植到大、中、小、微型机上,已独立于UNIX和PDP。1.1.2 C语言概述1983年,美国国家标准化协会(ANSI)根据C语言问世以来各种版本对C语言的发展和扩充,制定了新的标准,称为ANSI C。1987年,ANSI又公布了C语言新标准,即87 ANSI C。1990年,国际标准化组织(ISO)接受了87 ANSI C为ISO C的标准。目前流行的C编译系统都是以它为基础的,本书的叙述基本上以87 ANSI C为基础。目前流行的C语言的编译器有Microsoft C/C+、Borland C/C+、Visual C+6.0、
12、Win TC、Turbo C/C+for Windows集成实验与学习环境等,各种版本基本部分是相同的,但略有差异,因此应了解所用计算机系统配置的C编译系统的特点和规定。2.C语言的特点C语言之所以能存在和发展,并具有生命力,在于它有不同于其他语言的特点。C语言的主要特点如下。(1)简洁、紧凑。C语言一共只有32个关键字,9种控制语句。1.1.2 C语言概述(2)运算符丰富。C语言共有44种运算符。它把括号、赋值、强制类型转换等都作为运算符处理,从而使C语言的运算类型极其丰富,表达式多样化。(3)具有丰富的数据类型。C语言具有整型、实型、字符型、数组类型、指针类型、结构体类型等数据类型,能方便
13、地构造更加复杂的数据结构(如链表、树、栈等)。(4)C语言是一种结构化的程序设计语言。C语言具有结构化的控制语句(如if、switch、for、while、dowhile),用函数作为程序的模块单位,便于实现程序的模块化。(5)语法限制不严格,程序设计灵活。例如,C语言不检查数组下标越界,C语言不限制数据转化,不限制指针的使用,程序正确性由程序员保证。灵活和安全是一对矛盾,对语法限制的不严格可能也是C语言的一个缺点,黑客可能使用越界的数组攻击用户的计算机系统。1.1.2 C语言概述(6)能进行位操作,可以直接对部分硬件进行操作。例如,C语言可以直接操作计算机硬件,如寄存器、各种外设I/O端口等
14、;C语言的指针可以直接访问内存物理地址;C语言类似汇编语言的位操作可以方便地检查系统硬件的状态。(7)可移植性好。用C语言编写的程序基本上不需要修改或只需要少量修改就可以移植到其他计算机系统或操作系统中。(8)C语言编译后生成的目标代码质量高,程序的执行效率高。1.2 C程序介绍C程序是由C语言的若干语句序列组成的。为了了解C程序的结构特点,我们先看几个C程序,虽然有关内容还未介绍,但可以从这些例子中了解一个C程序的基本构成。1.2.1C程序的总体结构【例1-1】输入矩形的两条边长,求矩形的面积。程序代码如下。#include stdio.h/*头文件(含输入/输出函数)*/main()/*主
15、函数*/float a,b,area;/*变量声明*/scanf(%f%f,&a,&b);/*键盘输入数据给变量*/area=a*b;/*计算*/printf(area=%fn,area);/*输出变量的值至显示器*/1.2.1C程序的总体结构【例1-2】通过函数调用求两个数中的最大值。程序代码如下。#include stdio.h/*头文件(含输入/输出函数)*/int max(int x,int y)/*求两整数中较大的数*/return(xy?x:y);/*返回x、y中的最大值,通过max带回调用处*/main()/*主函数*/int a,b,c;/*声明部分,定义变量*/scanf(%
16、d%d,&a,&b);/*键盘输入数据给变量*/c=max(a,b);/*调用max,将调用结果赋给c*/printf(max=%d,c);/*输出变量的值至显示器*/1.2.1C程序的总体结构【例1-2】中包括两个函数,即主函数main和调用函数max,max的作用是求任意两个整数中的最大值。通过以上例子可以总结出C程序结构的主要特点如下。(1)C程序是由函数构成的。一个C源程序至少包含一个main函数,也可以包含一个main函数和若干其他函数。所以说,C是函数式的语言,函数是C程序的基本单位。(2)main函数(主函数)是每个程序执行的起始点。一个C程序总是从main函数开始执行,并在ma
17、in函数中结束。main函数的书写位置是任意的,可以将main函数放在整个程序的最前面,也可以放在整个程序的最后,或者放在其他函数之间。(3)一个函数由函数说明和函数体两部分组成。函数结构如下。函数类型 函数名(形参表)声明部分:在这部分定义本函数所使用的变量。1.2.1C程序的总体结构执行部分:由若干条语句组成命令序列。当然,在某些情况下也可以没有声明部分,甚至可以既没有声明部分也没有执行部分。变量声明部分必须书写在执行部分之前。(4)C程序的每个语句,都以分号(;)作为语句结束符。(5)C程序书写格式自由,一行可以写几个语句,一个语句可以写在多行上。(6)可以用/*/对程序任何部分做注释,
18、以增加可读性。注释内容要写在“/*”和“*/”之间。注释部分允许出现在程序中的任何位置。注释部分只是用于阅读,对程序的运行不起作用。C语言中注释不允许嵌套。注释可以用西文,也可以用中文。使用注释是编程人员的良好习惯,注释也是重要的交流工具。(7)C语言本身不提供输入/输出语句,输入/输出的操作是通过调用库函数scanf和printf等来完成的。1.2.2C程序的书写规则C语言语句简练、语义丰富、格式灵活,为了提高程序的可读性,应该遵循C程序的书写规则,养成良好的书写习惯。C程序书写格式的一般要求如下。(1)一般一条语句占一行,以分号结束;有些短语句也可以一行多条;长语句也可以写成多行,不加续行
19、符。(2)用花括号()标明程序的层次结构。(3)采用逐层缩进格式,使程序清晰易读。通常向右缩进两个字符或一个水平制表符。(4)标识符、关键字之间加空格间隔,若已有间隔符则可以不加。(5)使用注释信息,增加程序的可读性。1.3 C程序的开发过程C语言是一种编译型的程序设计语言。用C语言开发程序,需要一个开发环境。目前流行的集成环境有Borland Turbo C或称Turbo C、Visual C+、Dev C+、Win TC、Borland C+。本节以Visual C+为开发环境介绍C程序的上机操作过程。1.3.1C程序的实现过程从编写一个C程序到完成运行得到结果一般需要经过以下几个步骤。1
20、.编辑编辑是将源程序通过键盘逐个字符输入计算机内存,并加以修改,最后以文本文件的形式保存到磁盘文件中,其文件扩展名为“.c”。2.编译编译是将已编辑好的源程序翻译成二进制的目标代码。在编译时,要对源程序进行语法检查,如发现错误,则显示出错信息,此时应重新进入编辑状态,对源程序进行修改后再重新编译,直到通过编译为止,此时生成扩展名为“.obj”的同名目标文件。3.连接连接是将各个模块的二进制目标代码与系统标准模块经过连接处理后,得到可执行文件,其扩展名为“.exe”。4.运行直接运行可执行文件即可得到程序运行结果。通常,在DOS环境下直接输入可执行文件名,在Windows环境下双击可执行文件名即
21、可运行程序。1.3.2在Visual C+环境下实现C程序1993年,Microsoft 公司推出Visual Studio 1.0,此后新版本不断问世。虽然Visual Studio经历了诸多版本的改进升级,但是Visual Studio 6.0以后的C+没有多大的变化。随着C+新标准的公布,Visual Studio 2010在C+开发方面带来了很多革命性的变化。由于最新的计算机等级考试(二级C)的环境改成了Visual C+2010学习版,下面介绍在Visual C+2010学习版环境下如何实现C程序。1.Visual C+2010学习版主界面在Windows系统任务栏中,执行“开始”M
22、icrosoft Visual C+2010 Express命令,即可启动Visual C+2010学习版开发环境,其主界面如图1-2所示。1.3.2在Visual C+环境下实现C程序1993年,Microsoft 公司推出Visual Studio 1.0,此后新版本不断问世。虽然Visual Studio经历了诸多版本的改进升级,但是Visual Studio 6.0以后的C+没有多大的变化。随着C+新标准的公布,Visual Studio 2010在C+开发方面带来了很多革命性的变化。由于最新的计算机等级考试(二级C)的环境改成了Visual C+2010学习版,下面介绍在Visual
23、 C+2010学习版环境下如何实现C程序。1.Visual C+2010学习版主界面在Windows系统任务栏中,执行“开始”Microsoft Visual C+2010 Express命令,即可启动Visual C+2010学习版开发环境,其主界面如图1-2所示。1.3.2在Visual C+环境下实现C程序1.3.2在Visual C+环境下实现C程序2.在Visual C+2010学习版中实现C程序1)创建项目执行“文件”“新建”“项目”命令,弹出“新建项目”对话框,如图1-3所示。在“新建项目”对话框中,选择“Visual C+”“空项目”选项,在下边的“名称”文本框中输入项目名称,
24、如“cp”,选择项目路径,单击“确定”按钮,进入新建项目界面,如图1-4所示。1.3.2在Visual C+环境下实现C程序1.3.2在Visual C+环境下实现C程序2)建立C文件在新建项目窗口中的右侧找到新建的项目,如“cp”。右击cp下的“源文件”,在弹出的快捷菜单中选择“添加”“新建项”命令,弹出“添加新项”对话框,如图1-5 所示。在中间窗格中选择“C+文件”选项,在下边“名称”文本框中输入文件名,如“lianxi1.c”,选择文件的路径。单击“添加”按钮,进入代码编辑窗口。在代码编辑窗口中输入“lianxi1.c”的源代码,如图1-6所示。1.3.2在Visual C+环境下实现
25、C程序1.3.2在Visual C+环境下实现C程序3)生成并运行程序将C源程序输入结束后,按Ctrl+F5组合键,弹出提示对话框,如图1-7所示。单击“是”按钮,若程序没有错误则显示如图1-8所示的结果。若程序有错误,则在代码编辑窗口下边的输出窗口有提示错误,在编辑窗口根据错误提示修改源代码,按Ctrl+F5组合键重新生成运行。1.3.2在Visual C+环境下实现C程序按Ctrl+F5组合键执行生成运行后,程序结果可能一闪而过无法看到。可以通过下面两种方法显示程序结果。第一种方法:设置控制台显示。在代码编辑窗口(见图1-6)右击“cp”,在弹出的快捷菜单中选择“属性”命令,弹出“cp属性
26、页”对话框,如图1-9所示。在左边一栏找到“配置属性”“链接器”“系统”,单击“系统”后,将右边栏的“子系统”值设置为“控制台(/SUBSYSTEM:CONSOLE)”。经过这样的配置后,再按Ctrl+F5组合键,程序执行结束就会停留在控制台界面,显示结果并提示“请按任意键继续”。1.3.2在Visual C+环境下实现C程序第二种方法:添加代码。可以通过在程序最后添加代码“getch();”或“system(pause);”,便可显示程序结果。使用“system(pause);”需要包含头文件“stdlib.h”,即“#include”。1.3.2在Visual C+环境下实现C程序等级考试
27、重点及真题解析本模块主要考查C程序的构成与格式、C程序的开发过程等。从历次等级考试的试题来看,本模块属于非重点考查对象,一般以考查概念性的知识为主。一、重点、难点解析1.C程序的构成1)C程序主要由函数构成每一个C程序必须有且仅有一个main函数(主函数)。C程序的执行总是从主函数开始,并在主函数中结束。主函数的书写位置是任意的,它可以调用任何非主函数;任何非主函数都可以相互调用,但是不能调用主函数。等级考试重点及真题解析2)一个函数由两部分构成(1)函数的说明部分,包括函数类型(返回值类型)、函数名和形参表。(2)函数体。函数体中包含变量声明部分和执行部分。变量声明部分必须书写在执行部分之前
28、。2.C程序的书写规则C语言的书写格式自由,一行内可以写几个语句,一个语句也可以分写在多行。每个语句和数据定义的最后必须有一个分号。等级考试重点及真题解析C语言中的注释可以用“/*”和“*/”括起来,注释可以在任何允许插入空格符的地方插入。C语言中注释不允许嵌套。注释可以用西文,也可以用中文。3.C程序的编译与执行由C语句构成的指令序列称为C源程序,C源程序经过C语言编译程序编译之后生成一个后缀为“.obj”的二进制文件(称为目标文件);然后由“连接程序”把“.obj”文件与C语言提供的各种库函数连接起来生成一个后缀为“.exe”的可执行文件。在DOS状态下,输入此文件名字(不必输入后缀“.e
29、xe”)并按Enter键,该文件就可以执行。等级考试重点及真题解析C语言中的注释可以用“/*”和“*/”括起来,注释可以在任何允许插入空格符的地方插入。C语言中注释不允许嵌套。注释可以用西文,也可以用中文。3.C程序的编译与执行由C语句构成的指令序列称为C源程序,C源程序经过C语言编译程序编译之后生成一个后缀为“.obj”的二进制文件(称为目标文件);然后由“连接程序”把“.obj”文件与C语言提供的各种库函数连接起来生成一个后缀为“.exe”的可执行文件。在DOS状态下,输入此文件名字(不必输入后缀“.exe”)并按Enter键,该文件就可以执行。等级考试重点及真题解析二、真题解析1.用FO
30、RTRAN语言编制的源程序要变为目标程序,必须经过()。2017年9月A.汇编B.解释C.编辑D.编译 高级语言所编制的程序不能直接被计算机识别,必须经过解释或编译转换才能被执行。FORTRAN语言是一种编译型的程序设计语言。所以D是正确的。2.C语言程序的基本单位是()。2017年9月A.程序行B.语句C.函数D.字符等级考试重点及真题解析C程序是由函数构成的。一个C源程序可以包含一个main函数和若干其他函数,函数是C程序的基本单位。所以C是正确的。3.在计算机内部,一切信息存取、处理和传送的形式是()。2016年9月A.ASCII码B.BCD码C.二进制D.十六进制 计算机所使用的是由0
31、和1组成的二进制数,一切信息存取、处理和传送的形式都是二进制,所以答案为C。4.以下叙述中错误的是()。2011年3月A.C语言的可执行程序是由一系列机器指令构成的B.用C语言编写的源程序不能直接在计算机上运行等级考试重点及真题解析C.通过编译得到的二进制目标程序需要连接才可以运行D.在没有安装C语言集成开发环境的机器上不能运行C源程序生成的“.exe”文件 开发一个C程序要经过编辑、编译、连接和运行4个步骤。经过编译过的目标程序和用到的库函数连接生成的可执行程序,在DOS环境下直接键入可执行文件名,在Windows环境下双击可执行文件名即可运行程序,所以D是错误的。5.计算机高级语言程序的运
32、行方法有编译执行和解释执行两种,以下叙述中正确的是()。2011年3月A.C语言程序仅可以编译执行B.C语言程序仅可以解释执行C.C语言程序既可以编译执行又可以解释执行D.以上说法都不对C语言是一种编译型的程序设计语言。所以A是正确的。等级考试重点及真题解析思考与练习一、选择题1.下列叙述错误的是()。A.计算机不能直接执行用C语言编写的源程序思考与练习一、选择题1.下列叙述错误的是()。A.计算机不能直接执行用C语言编写的源程序B.C程序经C编译程序编译后,生成后缀为“.obj”的文件是一个二进制文件C.后缀为“.obj”的文件,经连接程序生成后缀为“.exe”的文件是一个二进制文件D.后缀
33、为“.obj”和“.exe”的二进制文件都可以直接运行2.下列叙述中正确的是()。思考与练习A.每个C程序文件中都必须要有一个main()函数B.在C程序中main()函数的位置是固定的C.C程序中所有函数之间都可以相互调用,与函数所在位置无关D.在C程序的函数中不能定义另一个函数3.C语言源程序名的后缀是()。A.exeB.cC.objD.cpp4.下列叙述中正确的是()。A.C程序中的注释只能出现在程序的开始位置和语句的后面B.C程序书写格式严格,要求一行内只能写一个语句C.简单C语句必须以分号结束思考与练习D.用C语言编写的程序只能放在一个程序文件中5.下列说法正确的是()。A.在书写C语言源程序时,每个语句以逗号结束B.注释时,“/”和“*”号间可以有空格C.无论注释内容多少,在对程序编译时都被忽略D.C程序的基本组成单位是语句6.下列叙述正确的是()。A.在C程序中无论整数还是实数,只要在允许的范围内都能准确无误地表示B.在执行C程序时,不一定从main()函数开始思考与练习C.C程序由函数组成D.C程序由函数和过程组成二、模仿编程1.模仿【例1-1】编写程序,已知一个圆的半径r=2.5,求圆的面积。2.模仿本模块案例,设计一个银行登录界面程序。Thank you