版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序设计基础C语言概述陈若愚2016-2017学年第一学期关于我 陈若愚 邮箱:ruoy 办公室:健翔桥校区教3楼221 计算机学院课: 计算机科学导论 程序设计基础 离散数学 计算机电路基础 面象技术(C+/JAVA二选一) 专业发展概论 计算机组成原理 数据结构(C/JAVA/C英文版三选一)(续)学时多,内容:授课64学时+实验16学时工作中需要的知识Unix操作系统数据库相关技术计算机网络图形用户界面开发数据结构与算法程序优化与调试授课内容中的其他知识授课内容程序设计和C语言概述算法与结构化程序设计顺序结构程序设计循环结构程序设计选择结构程序设计利用数组处理批量数据用函数实现模块化程序
2、设计利用指针用户自定义数据类型文件输入输出预处理指令与位运算(续) 如何学?课前预习,课后练习,注重理解不要局限于多上机练习 考核方式:,利用网络和馆上机占70%【黑盒测试】上机实验占20%【程序运行+实验平时成绩占10%【点名+回答问题】 答疑:6-15周周三中午11:30-13:30,教3-221第1章C语言概述 1.1 什么是计算机程序? 1.2 什么是程序设计语言? 1.3 C语言的出现和发展 1.4 简单的C语言程序 1.5 运行C程序的步骤与方法1.1 什么是计算机程序? 计算机是由硬件组成的计算机系统硬件+软件+网络+数据 计算机由人们事先编好的程序控制 操作系统:Windows
3、,Unix,OS X,Linux 办公软件:Office,LibreOffice,iWorks 应用软件: 其他软件:, 人和计算机通过程序沟通,通过程序设计语言编写新的程序puter_program 用过电脑? 拆过电脑? 写过程序?1.2 什么是程序设计语言? 计算机产生初期使用机器语言: CPU(Central Pro 由0和1组成的指令sing Unit)的指令集 紧密依赖于计算机硬件 难学、难记、难写、难修改、难 在不同计算机之间互不通用X86指令集下,将十进制数字97移入000号寄存器(AL)指令寄存器数据本身10110000 011000011.2 什么是程序设计语言? 汇编语言
4、 (Assembly Language),也叫符号语言(Symbolic Language),低级语言。 20世纪50年代出现了高级语言 比较接近于人的自然语言(英文)和数学语言 高级语言直观易学,易理解,易修改,易易推广,通用性强, 用高级语言编写的程序,必须先翻译成机器语言程序,此翻译工作由编译系统实现/或者解释执行c=a+bMOV AL, 61hht/blog/top-10-program-languages-learn-2014/1.3 C语言的出现和发展, Dennis Ritchie在贝尔实验1969-1973室(Bell Labs)开发,最初是为编写UNIX操作系统提供的工作语言
5、。C语言受到Ken Thompson设计的B语言( BCPL )很大的影响Dennis Ritchie和Ken Tompson在1983年获得,表彰他们在操作系统ACMUnix操作系统开发方面做出的贡献Ken Thompson (坐) Dennis Ritchie(站)1.3 C语言的出现和发展 C语言和UNIX在发展过程中相辅相成 1978年以后,C语言先后移植到大、中、小、微型计算机上,成为世界上应用最广泛的程序设计高级语言TIOBE 从2001年以来,C语言的使用率在2016年8月降至历史最低点ht/index./content/prinfo/tpci/index.html1.3 C语言
6、的出现和发展 K&R C 1978年,Briernighan和Dennis了C程序设计语言( The CRitchieLanguage)的第一版。很长时Program间里,这本书成为了C语言的事实标准。 ANSI C1983年,化(ANSI)根据C语言问世以来各种版本对C语言的发展和扩充,制定了新的标准草案,即83 ANSI C。 C程序设计语言第二版是针对ANSI C编写的1.3 C语言的出现和发展 C99 ISO/IEC 9899:1999,目前各软件厂商提供的C语言编译系统大多数支持 C99。 C11改进与C+的兼容性 本课程以C99为基础C语言的应用 Linux操作系统内核 十个C开源
7、项目: Memcached、Lua、 Redis、Nginx、UNIXv6、NETBSD、1.4 简单的C语言程序 例1.1 要求在屏幕上输出以下一行信息。o, World!1.4 简单的C语言程序#include void main( )C程序必须有一个 main 函数函数的名字,表示主函数prf (o, World!n);1.4 简单的C语言程序#include void main( )主函数返回值的类型prf (o, World!n);1.4 简单的C语言程序函数体#include void main( )prf (o, World!n);1.4 简单的C语言程序输出语句#include
8、 void main( )格式化输出函数prf (o, World!n);1.4 简单的C语言程序换行符#include void main( )prf (o, World!n);1.4 简单的C语言程序入输出函数表示语句结束#include void main( )函数库中的输prf (o, World!n);1.4 简单的C语言程序#include void main( )prf (o, World!n);1.4 简单的C语言程序(续) 例1.2求两个整数之和。#include void main() a, b, sum; /定义整型变量a,b,sum a = 123; /为变量a赋值b
9、= 456; /为变量b赋值sum = a + b; /求a+b, 将结果赋值给sum prf(“sum is %dn”, sum); /将结果输出1.4 简单的C语言程序(续) 例1.2求两个整数之和。希望的输出: sum is#include void main() a, b, sum; /定义整型变量a,b,sum a = 123; /为变量a赋值b = 456; /为变量b赋值sum = a + b; /求a+b, 将结果赋值给sum prf(“sum is %dn”, sum); /将结果输出1.4 简单的C语言程序(续) 什么是 注释 / Comment? 注释是一段文字,以/*开
10、始,直到*/结束,这之间的所有文字都会被编译器忽略,因此对程序的编译和运行不起作用。 注释是给程序员看的,可以用汉字或英文字符表示,主要起文档作用。 两种注释: 多行注释:以/*开始,直到*/结束 单行注释:以/开始,直到行尾结束【C+风格的注释,C99规范中第一次引入】1.4 简单的C语言程序(续) 例1.3求两个整数中的较大者。1.4 简单的C语言程序(续)被调函数主函数max(x,y) z;if (x y)z = x; elsez = y; return z;#include void main()max(x,y);a, b, c; scanf(%d,%d, &a, &b); c = m
11、ax(a, b);prf(max=%dn, c);1.4 简单的C语言程序(续)max(x,y) z;if (x y)z = x; elsez = y; return z;#include void main()ax(x,y);a, b, c; scanf(%d,%d, &a, &b); c = max(a, b);prf(max=%dn, c);1.4 简单的C语言程序(续)因max函数的定义在main函数之后,需max(x,y) z;if (x y)z = x; elsez = y; return z;#include void main()ax(x,y);a, b, c; scanf(%
12、d,%d, &a, &b); c = max(a, b);prf(max=%dn, c);1.4 简单的C语言程序(续)max(x,y) z;if (x y)z = x; elsez = y; return z;#include void main()ax(x,y);a, b, c; scanf(%d,%d, &a, &b); c = max(a, b);prf(max=%dn, c);格式化输入函数1.4 简单的C语言程序(续)max(x,y) z;if (x y)z = x; elsez = y; return z;#include void main()输入语句ax(x,y);a, b,
13、 c; scanf(%d,%d, &a, &b); c = max(a, b);prf(max=%dn, c);1.4 简单的C语言程序(续)输入的数据a的地址到a,bmax(x,y) z;if (x y)z = x; elsez = y; return z;#include void main()输入格式ax(x,y);a, b, c; scanf(%d,%d, &a, &b); c = max(a, b);prf(max=%dn, c);8,5 1.4 简单的C语言程序(续)max(x,y) z;if (x y)z = x; elsez = y; return z;#include voi
14、d main()调用max函数ax(x,y);a, b, c; scanf(%d,%d, &a, &b); c = max(a, b);prf(max=%dn, c);1.4 简单的C语言程序(续)85max(x,y) z;if (x y)z = x; elsez = y; return z; 8 #include void main()ax(x,y);a, b, c; scanf(%d,%d, &a, &b); 8 c = max(a, b); 8,5 prf(max=%dn, c);1.4 简单的C语言程序(续)max=8max(x,y) z;if (x y)z = x; elsez =
15、y; return z;#include void main()ax(x,y);a, b, c; scanf(%d,%d, &a, &b); c = max(a, b);prf(max=%dn, c);8,5 1.4 简单的C语言程序(续)形式参数max(x,y) z;if (x y)z = x; elsez = y; return z;#include void main()实际参数ax(x,y);a, b, c; scanf(%d,%d, &a, &b); c = max(a, b);prf(max=%dn, c);1.4 简单的C语言程序(小结) C程序是由函数的 C源程序必须包含一个m
16、ain函数 可以包含若干个其他函数 函数是C程序的基本 被调函数可以是库函数,也可以是用户编制设计的函数 程序全部工作都由各个函数分别完成 C语言容易实现程序的模块化1.4 简单的C语言程序(小结)一个函数由两个部分组成函数首部参数类型参数名函数类型函数名参数列表函数名前是函数的返回值类型,默,void表示没有返回值认为函数名后有参数列表,可以为空void max() max( x, y)1.4 简单的C语言程序(小结)一个函数由两个部分组成函数体-在函数首部之后,大括号中部分可以没有部分*定义在本函数中所用到的变量*对本函数所调用函数进行执行部分可以是空函数*由若干个语句组成1.4 简单的C
17、语言程序(小结)C程序是由函数的一个函数由两个部分组成程序总是从main函数开始执行C程序书写格式号结束:语句和以分C语言本身没有输入输出语句应该养成写注释的1.5 运行C程序的步骤与方法 C语言是编译型语言【与解释型语言相对】 C语言程序必须编译后才可以执行编辑-编译-连接-执行pile-Link-ExecuteC程序设计(第四版)P13图1.21.5 运行C程序的步骤与方法 通常来说,编译器完成编译+连接两个任务需要编辑器和编译器两个软件编辑器+编译器+调试管理+=集成开发环境(IDE)WindowsLinuxOS X编辑器记事本/NotePad+Gedit/VIM/EmacsAtom /
18、 Sublime /TextWrangler编译器MSVC/GCC/LLVMGCC/LLVMGCC/LLVMIDEVC+6.0 / Code:Blocks /Code:Blocks /Xcode /Code:Blocks / Cite / Eclipse+CDTCite /Cite / Eclipse+CDTEclipse+CDT1.5 运行C程序的步骤与方法 上机输入和编辑源程序(.c文件) 对源程序进行编译(.obj文件) 进行连接处理(.exe文件) 运行可执行程序,得到运行结果: Windows环境下用Code:Blocks 虚拟机运行Linux环境(CentOS 6.8/CentOS 7) Mac OS X环境下用Xcode1.5 运行C程序的步骤与方法 可用不同的编译系统对C程序进行操作 下面以Visual C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45107-2024表土剥离及其再利用技术要求
- 福建省宁德市中考语文模拟试卷三套【附参考答案】
- 2024年精简版:高端装备零部件采购与技术支援合同
- 2024年度艺术品抵押贷款艺术品展览展示合同3篇
- 2024殡仪馆殡葬服务协议书
- 个人信贷简易协议样式 2024年规范版
- 精神科重大意外伤害事故护理急救工作规定
- 福建省南平市武夷山第二中学高二物理下学期期末试题含解析
- 福建省南平市文化武术学校2021年高一数学文期末试卷含解析
- 福建省南平市外屯中学高二物理测试题含解析
- 稷下街道中心小学校币使用方案含班币
- 110kV电力变压器参数表
- 卡西欧手表GW-M5610中文使用说明书
- 2024年天津三源电力集团限公司社会招聘33人高频难、易错点500题模拟试题附带答案详解
- 校(园)廉政风险防控预警处置制度
- TB 10106-2023铁路工程地基处理技术规程
- 三年级下册综合实践活动教学设计- 岭南水果|粤教版 52张
- 沪教版数学六年级(上)第二章分数课课练和单元练习卷及参考答案
- 中医护理学 课件 模块七 中医护理操作 项目四麦粒灸技术
- 小学心理健康教师资格考试面试2024年下半年试题与参考答案
- 二级MS操作题真题
评论
0/150
提交评论