1 / 25

参考书目

参考书目. 1 、 《 The C Programming Language》 C 程序设计 Brian W.Kernighan 与 Dennis. M. itchie 2 、 《pointer on c》 C 和指针 Kenneth A.Reek 著,徐波 译. 本章主要内容. 1 C 语言的发展历史 2 C 语言的特点、应用 3 简单的 C 语言程序 4 C 语言程序的结构 5 C 语言程序的执行 6 程序风格. 5.1 C 语言的发展过程. 产生时间: 1972-1973

jamal
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、《The C Programming Language》 C程序设计 Brian W.Kernighan与Dennis. M. itchie 2、《pointer on c》 C和指针 Kenneth A.Reek 著,徐波 译

  2. 本章主要内容 1C语言的发展历史 2C语言的特点、应用 3 简单的C语言程序 4C语言程序的结构 5C语言程序的执行 6 程序风格

  3. 5.1 C语言的发展过程 • 产生时间:1972-1973 • 产生地点:美国贝尔实验室(BELL) • 创始人:D.M.Ritchie与Ken.Thompson • 目的:改写UNIX系统 • 标准化:1990年,国际标准化组织(ISO)接受了ANSI提出的标准, 称之为C 89或ANSI C。

  4. 5.2 C语言的特点 1.程序设计结构化 2.运算符丰富 共有34种运算符,可以实现其他高级语言难以实现的一些运算 3.数据结构类型丰富 除自身规定的数据类型外,允许用户定义自定义数据结构。 4.书写灵活 程序书写所受的限制并不严格(注:并不提倡这样做)。

  5. 5.2 C语言的特点 5.适应性广 程序执行效率高,可移植性好。 6.关键字简洁 共有32个关键字。分为以下4大类。 (1)数据类型关键字12个; (2)控制语句关键字12个; (3)存储类型关键字4个; (4)其他关键字4个。 7.区分大小写

  6. 优点 缺点 输入输出相对很多语言都较为复杂。数据的封装性上有很大缺陷  C语言的语法限制不太严格,对变量的类型约束不严格,对数组下标越界不作检查等,影响程序的安全性 C的指针操作给它带来了很多不安全的因素 类型检查机制相对较弱、缺少支持代码重用的语言结构。 • 简洁紧凑、灵活方便 • 运算符丰富 • 数据类型丰富 • C是结构式语言 • 语法限制不太严格,程序设计自由度大 • 允许直接访问物理地址,对硬件进行操作 • 生成目标代码质量高,程序执行效率高 • 适用范围大,可移植性好

  7. C在电子科学中的运用 • 单片机 • 可编程逻辑器件 • 嵌入式。。。

  8. 5.3 简单的C语言程序 【例1-1】 编写程序,在屏幕上输出“Hello,World!”的字符串。 程序如下: /* example1_1.c 在屏幕上输出字符串*/ #include <stdio.h> main() { printf("Hello,World!\n"); }

  9. 5.3 简单的C语言程序 【例1-1】程序说明: 1.include是文件包含命令,扩展名为.h的文件称为头文件 ,表示在程序中要用到这个文件中的函数。 2.main是主函数的函数名,表示这是一个主函数。 注意:1个C语言源程序只允许有1个main函数。

  10. 5.3 简单的C语言程序 【例1-1】程序说明(续): 3.printf是函数调用语句。 printf函数是系统定义的标准函数,其功能是把要输出的内容送到显示器上显示。在stdio.h库函数中。 4.main()函数中的内容必须放在一对花括号“{}”中。

  11. 5.3 简单的C语言程序 【例1-2】 请从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。 程序如下: /* example1_2.c 计算角度的余弦*/ #include<stdio.h> #include<math.h> main() { double x,s; printf("Please input value of x: "); scanf("%lf",&x); s=cos(x); printf("cos(%lf)=%lf\n",x,s); }

  12. 5.3 简单的C语言程序 【例1-2】程序说明: 1.程序包含了两个头文件:stdio.h、math.h。 2.在main函数中定义了两个双精度实数型变量x、s。 3.printf("Please input value of x:");用于显示提示信息。 4.scanf(“ %lf ”,&x) ;用于从键盘获得一个实数x。x代表角度的弧度值。 5.s=cos(x) ;计算x的余弦,并把计算结果赋给变量s。 6.printf (“cos(%lf)=%lf\n”,x,s) ;将x和s的值输出到屏幕。双引号中得两个格式字符“%lf”,分别对应着x和s两个输出变量。

  13. 5.3 简单的C语言程序 【例1-3】 设计一个加法器,能实现两数的相加。通过调用该加法器,计算两数的和。 程序如下: #include<stdio.h> int add(int x, int y); main() { int a, b, c; printf ("please input value of a and b:\n"); scanf("%d %d", &a, &b); c=add(a,b); printf ("max=%d\n",c); } int add(int x, int y) { return(x+y); }

  14. 5.3 简单的C语言程序 【例1-3】程序说明: 1.主函数体分为两部分:说明部分和执行部分。 2.语句c=add(a,b);是通过调用加法器add()来完成a+b的计算,并将计算结果赋给变量c。 3.屏幕上显示字符串:“please input value of a and b:”是提示用户从键盘输入a和b的值,用户从键盘上键入两个数,屏幕上会显示出这两个数的和。 • 思考:分析前面3个程序的特点。

  15. 5.4 C语言程序的结构 通常,C语言程序可由下面几个部分组合而成: 1.文件包含部分; 2.预处理部分; 3.变量说明部分; 4.函数原型声明部分; 5.主函数部分; 6.自定义函数部分。

  16. 5.4 C语言程序的结构 关于程序结构的几点说明: 1.不是每一个C语言程序都包含有上面的6个部分,最简单的C语言程序可以只有文件包含和主函数部分。 2.每一个C语言程序都必须有且仅有一个主函数,主函数的组成形式如下所示: main() { 变量说明部分 程序语句部分 }

  17. 5.4 C语言程序的结构 3.每一个C语言程序可以有0个或多个自定义的函数。 注:自定义函数的形式同主函数形式一样: <自定义的函数名>(<参数列表>) { 变量说明部分 程序语句部分 } 4.每一个C语言程序的语句由分号结束。

  18. 5.5 C语言程序的执行 1. C语言程序要通过编译、链接后生成可加载模块(执行文件),才能在计算机上运行。 2. 完整的程序生成过程如下:

  19. 5.5 C语言程序的执行 程序开发的具体步骤如下: 1. 编辑源程序。将C源程序用一个后缀为.C的文件保存。如:myfile.c 2. 编译。检查源程序中的语法错误,生成目标代码文件。如:myfile.obj 3. 链接。将多个目标程序链接到一个程序中,生成可执行文件,如:myfile.exe 4.第四步:运行可执行文件,检验程序的正确性。 大多用集成开发工具进行编辑、编译和调试程序。

  20. 5.5 C语言程序的执行 3. 几种常用的C语言集成开发工具:

  21. 5.6 程序风格 • #include <stdio.h> • main(t,_,a) • char *a; • {return!0<t?t<3?main(-79,-13,a+main(-87,1-_, • main(-86, 0, a+1 )+a)):1,t<_?main(t+1, _, a ):3,main ( -94, -27+t, a • )&&t == 2 ?_<13 ?main ( 2, _+1, "%s %d %d\n" ):9:16:t<0?t<-72?main(_, • t,"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l,+,/n{n+\ • ,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!/\ • +k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){n\ • l]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#\ • n'wk nw' iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \ • ;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;\ • #'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/") • :t<-50?_==*a ?putchar(a[31]):main(-65,_,a+1):main((*a == '/')+t,_,a\ • +1 ):0<t?main ( 2, 2 , "%s"):*a=='/'||main(0,main(-61,*a, "!ek;dc \ • i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1); }

  22. 作者:CambridgeConsultants Ltd.和Ian Phillipps • 国际C混乱代码大赛 • 版权:1988,Landon Curt Noll & Larry Bassel • 功能:输出The Twelve Days of Christmas的歌词

  23. 程序风格(规范,清晰,注释) • 1、缩排(tab) • 2、空格与() • 3、空行 • 4、命名、大小写 • 5、{ } • 6、注释/* */

  24. 5.7 本 章 小 结 本章主要内容 1. 简要介绍了C语言的特点和发展过程; 2.C语言程序的基本组成部分; 3.C语言程序的开发步骤; 4. 常见的C语言程序开发工具。

More Related