第1章-进入C语言的世界_第1页
第1章-进入C语言的世界_第2页
第1章-进入C语言的世界_第3页
第1章-进入C语言的世界_第4页
第1章-进入C语言的世界_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1解释1:C++是由于开发大型应用软件的需要而产生的,并不是所有的人都要去编写大型软件;解释2:C是C++的基础,C++学起来比C语言困难,所以不太适合程序设计的初学者。而且C是C++/C#/Java等高级语言程序设计的基础。问题:既然有了面向对象的C++语言,为什么还要学习C语言?2第一章进入C语言世界本章主要内容:

了解C语言程序的结构设计简单的C语言

C程序的调试和运行计算机语言的发展

C语言程序设计3例1.1仅由main()函数构成的C语言程序

#include<stdio.h>main()/*主函数*/{inta,b;/*声明定义两个整型变量*/

a=1;b=a+1;/*给两个变量赋初值*/

printf("%d",b);/*输出b的值*/}第一节、了解C语言程序的结构说明:main-主函数名,void-函数类型每个C程序必须有且只有一个主函数main(

){}是函数开始和结束的标志,不可省每个C语句以分号结束使用标准库函数时应在程序开头一行写:

#include<stdio.h>4“”表示在当前目录和系统目录里查找,<>表示只在系统目录里查找。

一般自己编写头文件用“”,系统自带的用<>

但是如果都用“”也是可以的,只是编译时稍微慢点。现在的电脑基本感觉不出来。

包含头文件的写法是:#include<stdio.h>还是#include“stdio.h”呢?来自“百度”5例1.1仅由main()函数构成的C语言程序

#include<stdio.h>main()/*主函数*/{inta,b;/*声明定义两个整型变量*/

a=1;b=a+1;/*给两个变量赋初值*/

printf("%d",b);/*输出b的值*/}说明:/*……*/只是表示注释,计算机不执行注释语句,注释语句只是给人看的。注释也可以用//来表示。6例1.2由main()函数和其他函数构成的C语言程序

#include<stdio.h>myoutput()

/*自定义函数*/{

printf("\n**Hello!Howdoyoudo?**\n");

/*输出字符串*/}main()

/*主函数*/{myoutput();/*调用自定义函数*/

printf("*************************\n");}7总结:C语言的程序结构

C程序是由函数构成的。这使得程序容易实现模块化。函数是c语言的最小模块。一个函数由函数头和函数体组成。

一个C程序有且仅有一个主(main)函数。一个C程序总是从main函数开始执行,不管main函数出现在任何位置。8总结:C语言的程序结构

C程序使用“;”作为语句的终止符或分隔符。C程序中用“{}”表示程序的结构层次范围。可以对C程序作注释,主要是对程序功能的必要说明和解释。一个独立执行的c程序称做一个c文件。所有的c程序都是由一个或多个文件组成的。一个文件又可以由一个或多个函数组成。93、C程序的书写格式

每行通常写一条语句每条语句结束时加分号“;”作为语句结束符花括号内的语句通常向右缩进两个字符或一个水平制表符适当采取缩进格式很有必要,会使程序更加清晰易懂。在程序中可以使用注释信息,增强程序的可读性。初学者一定要重视程序的书写格式,按照人们的约定和习惯来书写c语言程序。10第二节设计简单的C程序例1.3设计程序:已知a=3,b=5;

求sum=2a+b;#include<stdio.h>main(){inta,b,sum;//定义三个变量整型变量a,b,suma=3;//将a赋值为3b=5;

//b赋值为5sum=2*a+b;//将2*a+b的结果赋值给sumprintf(“sum=%d”,sum);

//在显示屏上显示出sum的值。}一、编程示例11main(){inta,b,sum;定义变量a=3;b=5;sum=2*a+bprintf("sum=%d,sum;C语言编程的常犯错误:1、main()经常出现拼写错误,如写成mian()或Main()。2、忘记花括号{}、圆括号()、双引号“”是成对出现的。3、语句终止没有使用“;”。4、定义类型和变量名之间没用空格分隔。5、注释语句的错误使用。某学生写的有错误的程序!!12习题:阅读程序写出结果main(){printf("**************\n");printf("\n");printf("Verygood!\n");printf("\n");printf("**************\n");}二、算法及算法表示一个程序应包括两个方面的内容:对数据的描述:数据结构(datastructure)对操作的描述:算法(algorithm)著名计算机科学家沃思提出一个公式:数据结构+算法=程序14

广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。方法1:1+2,+3,+4,一直加到100加99次方法2:100+(1+99)+(2+98)+…+(49+51)+50=100+49×100+50加51次对同一个问题,可有不同的解题方法和步骤例:求15有穷性:包含有限的操作步骤确定性:算法中的每一个步骤都应当是确定的有零个或多个输入:输入是指在执行算法时需要从外界取得必要的信息有一个或多个输出:算法的目的是为了求解,“解”就是输出有效性:算法中的每一个步骤都应当能有效地执行,并得到确定的结果。一个算法应该具有以下特点:例如:求出两个整数的和的算法描述如下:

(1)定义3个变量如:a,b,c,并给3个变量分别分配内存空间,用于存放整数值;(2)给2个变量分别赋给26、16两个整数,a=26,b=16;(3)求出两个整数和的数值,赋给第三个变量:c=a+b;(4)输出第三个变量c的值;(5)运行结束。(1)自然语言表示法

结构化程序算法描述

自然语言表示法是用自然语言叙述一个问题的求解过程。自然语言描述的算法明确、详细,是人们常用的描述解决问题的步骤的一般方法。前面的例题在描述其算法结构的时候,用到了自然语言的描述方法。(2)程序流程图

程序流程图是用规定的图形、指向线和文字说明来表示算法的一种图形。程序流程图的基本符号:

1)椭圆形图框:终端框表示算法的开始与结束2)矩型图框:处理框表示算法的各种处理功能3)菱形图框:判断框表示算法的条件转移操作4)平形四边形:表示算法的输入/输出操作5)圆点图框:引入引出连接符表示流程图的延续6)指向线:指向线指引流程图中的方向19算法的表示--流程图起止框输入/出框判断框处理框流程线连接点20“两数中取大数”的流程图21传统流程图的弊端传统流程图用流程线指出各框的执行顺序,对流程线的使用没有严格限制。因此,使用者可以毫不受限制地使流程随意地转向,使流程图变得毫无规律,阅读者要花很大精力去追踪流程,使人难以理解算法的逻辑。如图:22传统流程图的流程可以是:

这种如同乱麻一样的算法称为BS型算法,意为一碗面条(ABowlofSpaghetti),乱无头绪。缺点:难以阅读、修改,使算法的可靠性和可维护性难以保证。解决办法:必须限制箭头的滥用,即不允许无规律地使流程随意转向,只能顺序地进行下去。

(3)、N-S图

N-S图用层层嵌套的方框图形来描述程序算法,避免了流程图中出现的流程线,有效控制了无条件转移,体现了结构化描述方法。N-S图的基本结构框图

条件P

T

F

A

B选择结构流程图(4)伪代码表示算法

伪代码表示算法是用介于自然语言和计算机语言之间的文字和符号表示算法。伪码表示的拼词检查程序如下:PROCEDUREspellcheckISBEGINsplitdocumentintosinglewordslookupwordsindictionarydisplaywordswhicharenotindictionarycreateanewdictionaryENDspellcheck25第三节C程序的调试与运行一、C语言程序的实现编写好一个C程序到完成运行一般经过以下几个步骤:编辑编译连(链)接执(运)行2627C语言上机源程序test.ctest.obj可执行代码test.exe

运行编译连接1、将源程序逐个字符输入到计算机内存;2、修改源程序;3、将修改好的源程序保存在磁盘文件中,其文件扩展名为.c。将编辑好的源程序翻译成二进制的目标代码。编译时,系统对源程序进行语法检查,如发现错误,显示出错信息,此时要对源程序进行修改后重新编译,直到通过编译为止,生成扩展名为.obj的同名文件。将各个模块的二进制目标代码与系统标准模块经过连接处理后,得到可执行的文件,其扩展名为.exe。28C语言上机上机环境:TurboC

这是一个集编辑,编译,连接,执行和调试为一体的全屏幕语言工具。优点:系统小 缺点:不支持鼠标(MS-dos方式)启动TurboC:

MS-dos方式TC

Windows98/2000双击相应文件夹下tc 应用程序。如:c:\turboc2\tc29在VC++6.0中编译C程序(1)创建文件(2)编辑代码并保存(3)编译、连接、运行源程序(4)关闭工作区30在VC++6.0中编译C程序(1)创建文件方法一:在任意位置处创建一个记事本文件,保存格式由.txt修改为.c,如exam.c。启动VC++环境,选择菜单栏中的File->Open命令,在弹出的“打开”对话框中选择创建exam.c文件。31在VC++6.0中编译C程序(1)创建文件方法二:启动VC++,选择菜单栏中的File->New命令,在New对话框中选择File选项卡。在左边列出的选项中,选择C++Source

File或TextFile选项,在右边File文本框中输入exam.c,单出Location按钮修改保存的位置。32在VC++6.0中编译C程序(2)编辑代码并保存33在VC++6.0中编译C程序(3)编译、连接、运行源程序编译(compile)当输出窗口中的信息提示为Text1.obj

–0error(s),0warning(s)时,则表示编译正确。34在VC++6.0中编译C程序(3)编译、连接、运行源程序连接(build)35在VC++6.0中编译C程序(3)编译、连接、运行源程序运行课堂要求每个同学在自己电脑里面(非c盘)新建一个以“学号+姓名”的文件夹,比如“20090000079游锦仪”,课堂所做的习题都放里面,每道习题都必须在此文件夹里再新建一个文件夹。因此最好不要换座位。另:最好带u盘上课,以便于保存,因为机房电脑会定时清盘。养成良好的文件整理习惯

课堂练习

p23项目实训1和238第四节

计算机语言的发展过程(课后自习)1、第一代语言——机器语言(低级语言):面向机器由0,1组成的机器指令的集合如:1011011000000000让计算机进行一次加法1011010100000000让计算机进行一次减法机器只认这些0,1组成的二进制代码。优点:缺点:2、第二代语言——汇编语言(仍为低级语言),也叫符号语言:面向机器用符号代替机器语言中的二进制代码。39例如:

LDA A 取出A(LDA=LoadAccumulate) ADDB 加B STA C 存入C (STA=StoreAccumulate) PRINTC 打印C STOP 停止优点:缺点:

汇编语言汇编程序机器语言执行结果源程序系统软件目标程序汇编

C程序设计403、第三代语言——算法语言(高级语言)按照算法书写的,符合人们的习惯,表达式接近人们的会话(英语)和数学表达式。易于掌握书写,且不依赖于具体机器。故称为高级语言。常用的有BASIC、FORTRAN、COBOL、PASCAL、C语言等。需要翻译系统,执行过程如下:高级语言高级语言机器语言执行结果源程序系统软件目标程序编译两大特点:简单、易于书写、掌握;通用性。414、第四代语言:非过程化语言(高生产率语言):面向对象的语言只需对问题进行描述即可,即面向对象的语言OOL:Object-OrientedLanguageOOP:Object-OrientedProgramming5、第五代语言:智能化语言主要为AI而设计的。如:KBS、ES、推理工程、自然语言处理等。典型的人工智能语言主要有:LISP、Prolog、Smalltalk、C++等比较有代表性的有:LISP、PROLOG语言等。

42C语言发展简况一C语言起源

在C之前,包括操作系统在内的一些系统软件,主要用汇编语言编写,汇编语言是一种低级语言,所谓“低级”,是从计算机系统的层次观点角度而言的。在计算机系统中,硬件是最低层,而汇编语言最接近硬件,可以对硬件施加控制和操作,能充分发挥机器的潜能,并且,汇编语言程序执行速度最快,这些特点都是开发系统软件不可缺少的,但是汇编语言43编程难,调试也难,可读性和移植性都很差,与

温馨提示

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

评论

0/150

提交评论