C语言程序设计之基础实用教案_第1页
C语言程序设计之基础实用教案_第2页
C语言程序设计之基础实用教案_第3页
C语言程序设计之基础实用教案_第4页
C语言程序设计之基础实用教案_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言授课计划第1次理论:基础知识第2次理论:数据类型,表达式第3次理论:顺序结构第4次理论:选择(xunz)结构(if,switch)第5次理论:循环结构(for,while)第6次理论:函数第7次理论:数组第8次理论:举例第9次理论:指针第10次理论:举例第11次理论:结构体,链表第12次理论:文件第13次理论:举例第1页/共54页第一页,共55页。 Python .第2页/共54页第二页,共55页。C语言的创世纪 一切从一个叫“Space Travel(太空旅行)”的电子游戏开始 为了让他的游戏能更好地运行,Ken Thompson(肯汤普逊,1943年2月4日-,为美国计算机科学学者,

2、与C语言之父丹尼斯利奇同为1983年图灵奖得主)用汇编(hubin)语言编写了一个操作系统UNIX 汇编(hubin)太不好用了,Thompson需要高级语言第3页/共54页第三页,共55页。C语言的创世纪第4页/共54页第四页,共55页。Ritchie和Thompson在开发(kif)UNIX第5页/共54页第五页,共55页。接受美国国家(guji)技术勋章第6页/共54页第六页,共55页。C语言的创始人Dennis M. Ritchie(丹尼斯利奇) 第7页/共54页第七页,共55页。C程序设计(chn x sh j)语言 是一种高级(goj)语言高级(goj)语言并不是“高级(goj)”

3、,只是相对低级语言,在一个高的级别上进行编程 历史悠久,战勋卓著诞生于上世纪70年代初,成熟于80年代(C89),修订于90年代(C99)很多重量级软件都是用C写的第8页/共54页第八页,共55页。第9页/共54页第九页,共55页。第10页/共54页第十页,共55页。第11页/共54页第十一页,共55页。二、二、C C程序的组成结构程序的组成结构(jigu)(jigu)及及特性:特性: 程序(chngx):为完成某一任务所用指令的集合。下面给出几段简单的C程序(chngx),从中分析一下程序(chngx)的结构及特征: 程序(chngx)一:main( ) printf( This is a

4、c program. n );指令:明确告诉计算机做什么。第12页/共54页第十二页,共55页。 程序(chngx)二:求两数之和# include main( ) int a,b,sum; /*定义变量*/ sum=0; a=123; b=456; sum=a+b; printf( sum is %dn ,sum); 第13页/共54页第十三页,共55页。#include “stdio.h” /*包含(bohn)预处理语句*/int Max(int x,int y) /* 定义子函数max, 函数值为整型,x,y为形式参数 */ int z; /* 对子函数中用到的变量z定义 */ if (

5、xy) z=x; else z=y; return(z); /* 将z的值返回,通过max带回调用处 */ main( ) /*主函数*/ int a,b,c; scanf( %d,%d ,&a,&b); /*输入变量a、b 的值*/ c=Max(a,b); /*调用 Max函数,将得到的值赋给变量c*/ printf(“max=%d”,c); /*输出c的值*/ 程序三:从键盘输入两个整数,并将它们中的最大值显示(xinsh)出来用户自定义函数用户自定义函数第14页/共54页第十四页,共55页。第15页/共54页第十五页,共55页。main( ) . . . . . . .m

6、ain( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;j10;j+) sum+=i*j ; printf(“%dn”,sum);优秀程序员的素质之一优秀程序员的素质之一: :使用使用TABTAB缩进缩进 要配对并注意要配对并注意(zh y)(zh y)缩进缩进对齐对齐有足够的注释有足够的注释有合适的空行有合适的空行第16页/共54页第十六页,共55页。例: /*This is the main /* of example1.1*/ */ 非法非法第17页/共54页第十七页,共55页。第18页/共54页第十八页,共55页。一个完整的C程序

7、由一个或多个源文件构成。源文件分两类:头文件和源程序。 头文件源文件 编译预处理命令 源程序 注释/*/ 说明部分 main函数(hnsh) 函数(hnsh) 语句部分 函数(hnsh)说明部分 其他函数(hnsh) 变量定义 函数(hnsh)体 语句部分C C语言程序(chngx)(chngx)的基本结构:第19页/共54页第十九页,共55页。头文件:由系统提供的一些函数,用户可直接调用,扩展名为.h(.h(如:stdio.hstdio.h、math.hmath.h等) )。源程序:扩展名为.c.c的程序代码包括:编译预处理命令、注释/ /* * */ /、函数等。编译预处理命令:以符号开头

8、的行,在一行(yxng)(yxng)中只能写一条编译预处理命令。#include (#include (调用系统提供的头文件) )#include #include #include #include #include #include 见附录四第20页/共54页第二十页,共55页。计算机程序的特性:(1)目的性:程序都是为了实现某个目标或完成某个功能。(2)确定性:程序中的每一条指令都是确定的,而不是(b shi)含糊不清的。(3)有穷性:一个程序不论规模多大,都应当包含有限的操作步骤,并能在一定的时间内完成。(4)有序性:程序的执行步骤是有序的,不可随意更改程序的执行顺序。例:编程计算(j

9、 sun)f=n!,并输出f。#include main( ) int n, i; long f=1; printf(n=); scanf(%d,&n); for(i=1;i=n;i+) f*=i; printf(%d!=%ld,n,f);第21页/共54页第二十一页,共55页。软件:计算机程序算法(方法(fngf)规则)文档资料程序设计:用数学的算法和推理去解决问题或描述问题语言:一种交流工具第22页/共54页第二十二页,共55页。 三、三、C C语言编制语言编制(binzh)(binzh)的全过程的全过程第23页/共54页第二十三页,共55页。例:统计一个班学生的考试成绩,并选出优

10、秀学生及各档人数。 计算机程序设计就是用计算机语言编写一些代码( (指令) )来驱动计算机完成特定的功能,用计算机理解的语言( (指令) )告诉计算机如何工作。(1)(1)问题描述( (定义) )输入:输入需要的初始(ch sh)(ch sh)数据。 处理:对输入信息做什么加工。如计算、统计等。 输出:希望得到什么结果等。程序设计程序设计(chn x sh (chn x sh j)j)过程:过程:第24页/共54页第二十四页,共55页。(2)(2)算法描述( (设计) ) 算法:是对特定问题求解步骤的一种描述。 算法也是对问题的进一步细化,但它不是计算机可以直接执行的,而是编制(binzh)(

11、binzh)程序代码前对处理思想的一种描述。(3)(3)编制(binzh)(binzh)程序(4)(4)调试运行(5)(5)整理文档程序设计程序设计(chn x sh (chn x sh j)j)过程:过程:第25页/共54页第二十五页,共55页。这类似于学习英语(yn y)中的单词与句法,并正确的运用语法规则写成文章。学好程序设计(chn x sh j)语言有两步:第一步:掌握语言的语法规则,包括标识符、关键字、句法规则等。并能正确的运用这些语法规则编制(binzh)计算机能识别的程序。第26页/共54页第二十六页,共55页。第二步:掌握解决问题的方法(fngf)和步骤 用程序语言编程,就是

12、用计算机看得懂的语言向计算机描述解决某个问题的方法和步骤,计算机就是按照(nzho)程序的描述,一步一步执行相应操作的。所编写的程序,不但要求语法准确无误,更要求提供的步骤也准确无误,计算机才能按照(nzho)要求执行出正确的结果。例如:任意输入两个整数,输出两个整数的和。设计思路:说明变量类型输入数据(shj)计算输出结果C语言程序为:#include main() int a,b,c; scanf(“%d%d”,&a,&b); c=a+b; printf(“c=%dn”,c);第27页/共54页第二十七页,共55页。 拿到一个需要解决的问题,在编程之前,我们首先要确定的就是

13、解决该问题的算法,只有先得出(d ch)了正确的算法,才能进一步把该算法用程序语言的形式编写出来。正确的语法正确的语法(yf)+(yf)+正确的算法正确的算法= =正确正确的程序的程序第28页/共54页第二十八页,共55页。算法:对某一特定问题的求解步骤(bzhu)(bzhu)的一种描述。 解决某个问题的方法或步骤(bzhu)(bzhu)。第29页/共54页第二十九页,共55页。算法(su(su n f)n f)特点: 1 1、一个算法必须保证执行有限步之后结束;2 2、算法的每一个步骤必须具有确切的定义;3 3、应对算法给出初始(ch sh)(ch sh)量;4 4、算法应具有一个或多个输出

14、;5 5、算法的每一步都必须是计算机能进行的有效操作。 第30页/共54页第三十页,共55页。1、自然语言: 使用人们日常进行交流的语言。如:从a,b中找出一个大的数给max。自然语言的算法(sun f)描述: 第三步:输出(shch)max(shch)max的值。第二步:比较,如果(rgu)a(rgu)a比b b大,则把a a的值给maxmax,否则把b b的值给maxmax;第一步:从键盘输入两个数a a和b b;算法描述第31页/共54页第三十一页,共55页。2、专用工具: 借助于有关(yugun)图形工具或代码符号来描述。常用的工具有:流程图、N-S图等。算法(su(su n f)n

15、f)描述第32页/共54页第三十二页,共55页。scanf(“%d,%d”,&a,&b);if(ab) max=a;else max=b;printf(“%d”,max);用流程图来描述从a a和b b中找大数(d sh)(d sh)的问题。输入a和babamaxbmax输出max第33页/共54页第三十三页,共55页。scanf(“%d,%d”,&a,&b);if(ab) max=a;else max=b;printf(“%d”,max);输入a和b abamax bmax输出maxYN用N-SN-S图来描述(mio sh)(mio sh)从a a和b b中找

16、大数的问题。N-S为Nassi和Shneiderman 两位科学家的名子(mn z)第34页/共54页第三十四页,共55页。四、四、C语言的字符集:语言的字符集: 第35页/共54页第三十五页,共55页。四、四、C语言的字符集:语言的字符集: 第36页/共54页第三十六页,共55页。成员运算符(2(2个) ):. .、-四、四、C语言的字符集:语言的字符集: 第37页/共54页第三十七页,共55页。五、五、C语言词汇语言词汇(chu) 第38页/共54页第三十八页,共55页。标识符标识符定义定义(dngy)举例举例(j l)作用作用(zuyng)起名原则起名原则注明注明是以是以字母或下划线开头

17、字母或下划线开头,后跟若干字,后跟若干字母、下划线或数字。母、下划线或数字。正确:正确:abc _abc a11 a12 _a12 ABC _23 Abc A_2不正确:不正确:23 2A No. A-2 是用来给变量、函数、类型等起名字是用来给变量、函数、类型等起名字的,以便于区分。的,以便于区分。1.见名知意:见名知意:sum、max、node 2.习惯用法:习惯用法:i、j、k(循环变量循环变量)、s1、s23. 便于记忆:便于记忆:1.标识符区分大小写。标识符区分大小写。ABC、Abc、abc 2.标识符长度没有统一规定,各系统约定不标识符长度没有统一规定,各系统约定不同。同。 (有效

18、长度一般为有效长度一般为1-32个字符个字符)第39页/共54页第三十九页,共55页。如:合法(hf)(hf)标识符:_22A:_22A,lea_1lea_1,avg3avg3,dayday,ABCde43xyw8ABCde43xyw8不合法(hf)(hf)标识符:M.J.YORKM.J.YORK,$_238$_238,#xy#xy,a a* *b b,8Tea,for,if8Tea,for,if第40页/共54页第四十页,共55页。 关键字是由关键字是由C C语言规定的具有特定意义的字符串,通常语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应与关键字相同,也称为保留字。

19、用户定义的标识符不应与关键字相同,关键字分为关键字分为(fn wi)(fn wi)如下几类:如下几类: v 类型说明符类型说明符 v用于定义、说明变量用于定义、说明变量(binling)(binling)、函数或其它数据结构的类型、函数或其它数据结构的类型( (如:如:int , char ,float int , char ,float 等)等) v 语句定义符语句定义符v用于表示一个语句的功能(如:用于表示一个语句的功能(如:if , for ,while if , for ,while 等等) )v 预处理命令字预处理命令字 v用于表示一个预处理命令用于表示一个预处理命令 (如:(如:i

20、nclude)include)第41页/共54页第四十一页,共55页。autoauto breakbreak char case const continue do char case const continue do double default else enum extern double default else enum extern float for goto if int long register float for goto if int long register return short signed sizeof static return short signed

21、 sizeof static struct switch typedef unsigned union struct switch typedef unsigned union void volatile whilevoid volatile while由ANSIANSI标准(biozhn)(biozhn)推荐的关键字有3232个。第42页/共54页第四十二页,共55页。第43页/共54页第四十三页,共55页。第44页/共54页第四十四页,共55页。选择题:选择题:1.1.以下关于以下关于(guny)C(guny)C语言的叙述中正确语言的叙述中正确的是的是A) CA) C语言中的注释不可以夹在

22、变量名或关语言中的注释不可以夹在变量名或关键字中间键字中间B) CB) C语言中的变量可以在使用之前的任何语言中的变量可以在使用之前的任何位置进行定义位置进行定义C) C) 在在C C语言算术表达式的书写中,运算符语言算术表达式的书写中,运算符两边的运算数类型必须一致两边的运算数类型必须一致D) CD) C语言的数值常量中夹带空格不影响常语言的数值常量中夹带空格不影响常量的正确表示量的正确表示2.2.以下以下C C语言用户标识符中,不合法的是语言用户标识符中,不合法的是A)_1A)_1B)AaBcB)AaBcC)a_bC)a_bD)abD)ab3. 3. 以下选项中,能用作用户标识符的是以下选

23、项中,能用作用户标识符的是A)voidA)voidB) 8_8B) 8_8C) _0_C) _0_D) unsignedD) unsigned4.4.以下选项中合法的标识符是以下选项中合法的标识符是A A)1_11_1B B)1-11-1C C)_11_11D D)1_1_第45页/共54页第四十五页,共55页。选择题:选择题:5.C5.C语言源程序名的后缀是语言源程序名的后缀是 A A).exe B.exe B).c .c C C).obj D.obj D).cp.cp6.6.可在可在C C程序中用作用户标识符的一组标识程序中用作用户标识符的一组标识符是符是A A)and Band B)Da

24、te CDate C)Hi Hi D D)casecase _2007 y-m-d _2007 y-m-d Dr.Tom BigiDr.Tom Bigi7.7.以下叙述中正确以下叙述中正确(zhngqu)(zhngqu)的是的是_。A A、C C程序的基本组成单位是语句程序的基本组成单位是语句B B、C C程序中的每一行只能写一条语句程序中的每一行只能写一条语句C C、简单、简单C C语句必须以分号结束语句必须以分号结束D D、C C语句必须在一行内写完语句必须在一行内写完8.8.计算机能直接执行的程序是计算机能直接执行的程序是_。A A、源程序、源程序B B、目标程序、目标程序C C、汇编程

25、序、汇编程序D D、可执行程序、可执行程序第46页/共54页第四十六页,共55页。选择题:选择题:9.9.以下叙述中正确的是以下叙述中正确的是_。A A、C C程序中的注释只能出现在程序的开始位程序中的注释只能出现在程序的开始位置和语句的后面置和语句的后面(hu mian)(hu mian)B B、C C程序书写格式严格,要求一行内只能写程序书写格式严格,要求一行内只能写一个语句一个语句C C、C C程序书写格式自由,一个语句可以写在程序书写格式自由,一个语句可以写在多行上多行上D D、用、用C C语言编写的程序只能放在一个程序文语言编写的程序只能放在一个程序文件中件中10.10.以下选项中不合法的标识符是以下选项中不合法的标识符是_。A A、printprint B B、FORFORC C、&a&aD D、_00_0011.11.用用C C语言编写的代码程序语言编写的代码程序_。A A、可以立即执行、可以立即执行B B、是一个源程序、是一个源程序C C、经过编译即可执行、经过编译即可执行D D、经过编译解释、经过编译解释才能执行才能执行第47页/共54页第四十七页,共55页。C C语言程序的开发语言程序的开发(kif)(kif)环境环境C程序的计算机执行(zhxng)过程:编辑(binj)编译连接运行*c*

温馨提示

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

评论

0/150

提交评论