版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C程序设计第一章C语言概述C语言出现的历史背景1960:ALGO601963:CPL(CombinedProgrammingLanguage)1967:BCPL(BasicCPL)1970:B1973:C(87ANSIC,90ISOC)1990:C++1994:JAVACPL
是英国剑桥大学推出的,规模大,开始使语言接近硬件。BCPL是英国剑桥大学M.Richards简化CPL,提取核心部份,使用受限制。B
是美国贝尔实验室Ken.Thompson又进一步简化BCPL,只用于特殊用途。C是美国贝尔实验室D.M.Ritchie和Ken.Thompson
克服了B的缺点,使C成为具有双重功能的程序设计语言,得到了推广。成为80年代的最现代语言.ALGO60是面向问题的高级语言。太庞大,太复杂,没能推广。C++是面向对象的程序设计语言,克服了C的缺点,
成为90年代的最现代语言,已广泛使用。JAVA
简化了对C++的使用。ANSIC(AmericanNationalStandardInstituteC)
美国国家标准化协会ISOC(InternationalStandardOrganizationC)
国际标准化组织1.1C语言出现的历史背景说明:
不同版本的C编译系统所实现的语言功能和语法规则又略有差别,因此读者应了解所用的C语言编译系统的特点(可以参阅有关手册)。本书的叙述基本上以ANSIC为基础。程序:用于指挥计算机执行各种动作以便完成指定任务的指令集合。语言:用以表达情意的声音,是人类最重要的交际工具,它跟思想有密切关系。人们用计算机语言向计算机表达自己的思想,向计算机发出命令,以达到控制计算机为人们服务的要求。高级语言所编制的程序不能直接被计算机识别,必须经过转换(翻译)才能被执行。计算机所能识别的语言只有机器语言,即由0和1构成的代码。它非常难于记忆和识别。人们通常使用高级语言编程。C语言是国际上流行的、很有发展前途的计算机高级语言。它既可以用来编写系统软件,也可以用来编写应用程序*C程序设计语言是一种高级语言高级语言并不是绝对“高级”,只是相对低级语言,在一个高的级别上进行编程历史悠久,战勋卓著诞生于上世纪70年代初,成熟于80年代“ANSIC”标准的发布是C语言成熟的标志很多重量级软件都是用C写的上天入地,无所不能几乎没有不能用C写出来的软件,没有不支持C的系统C语言被分类为高级语言,但实际上它是一种介于高级语言和低级语言之间的语言。很多流行语言、新生语言都借鉴了它的思想、语法从C++,到Java,再到C#正确地学好C语言,是学习这些流行语言的基础。硬件(Hardware)操作系统(OS)应用程序
(Application)应用
平台基于
平台的
应用
程序低级语言的地盘高级语言的地盘C语言的地盘C程序设计语言的地盘以往的擅长:与操作系统和基础工具有关的编程任务操作系统核心,设备驱动程序,系统工具,网络应用,编辑器,字处理工具,编译器,某些图形应用,以及数据库应用未来的发展:高性能、实时中间件,嵌入式领域,开发程序设计等学习方法2.加强对基本概念和基本语法元素单位的理解3.重视基本概念和语法规则的记忆5.多加练习1.调整学习心态,不要钻牛角尖。4.善于使用代入的方法,从计算机角度思考问题1.1c语言的特点1.2c语言的基本语法成分1.3c语言的程序结构1.1C语言的特点1.C语言源程序由多个相互独立的函数组成2.语言简洁、紧凑,使用方便、灵活C语言只有37个关键字,9种控制语句,书写形式自由,主要用小写字母表示。3.数据结构丰富
C语言是在B语言的基础上发展起来的一种语言。它具有高级语言和低级语言(汇编语言)双重功能的特点,被广泛用于系统软件和应用软件的开发,成为目前生命力最旺盛的高级语言之一。其主要特点有:参见书P378附录C(C99)C89标准只有32个关键字4.运算符丰富C语言共有34种运算符。C语言的数据类型也多种多样,非常利于各种运算。5.具有结构化的控制语句有if...else、while、do...while、switch、for等语句。6.语法限制不太严格,程序设计自由度大7.允许直接访问物理地址,能进行位(bit)操作8.目标代码质量好,程序执行效率高9.可移植性好1.2c语言的基本语法成分1.C语言字符集:字符是C语言的最基本的元素,C语言字符集由字母、数字、空白、标点和特殊字符组成(在字符串常量和注释中还可以使用汉字等其它图形符号)。由字符集中的字符可以构成C语言进一步的语法成分(如,标识符,关键词,运算符等)1).字母:A-Z,a-z2).数字:0-93).空白符:空格,制表符(跳格),换行符(空行)的总称。空白符除在字符,字符串中有意义外,编译系统忽略其它位置的空白。空白符在程序中只是起到间隔作用。在程序的恰当位置使用空白将使程序更加清晰,增强程序的可读性。4).标点符号、特殊字符:!#%^&+-*/=~<>\|.,;:?‘“()[]{}4.运算符:运算符将常量、变量、函数连接起来组成表达式,表示各种运算。2.标识符
标识符用来标识变量名、符号常量名、函数名、类型名、文件名等的有效字符序列。3.关键字
C语言中一些具有特殊意义的标识符称为关键字。这些关键字在任何时候都不得用作变量名、符号常量名、函数名、类型名、文件名等。5.分隔符:逗号,空格等。起分隔、间隔作用。6.注释符:“/*”和“*/”构成一组注释符。也称保留字:具有特定含义,专门用作C语言特定成分的一类标识符。参见书P378附录C#include<stdio.h>intmain(){printf(“Hello,World.\n”);//输出结果
return0;}
输出“Hello,World.”程序
该程序运行时在屏幕上输出:Hello,World.编译预处理命令函数名函数体1.3c语言的程序结构
#include<stdio.h>//头文件intmain()//函数名{printf(“ThisisaCprogram.\n”);return0;}输出“ThisisaCprogram.”程序参见书P6例1.1该程序运行时在屏幕上输出:
ThisisaCprogram.程序说明
整个程序由一个函数组成,也就是主函数main,主要内容如下:#include<stdio.h>是一条编译预处理命令(后面细讲),它将C程序库文件“stdio.h”包含到本程序中
程序第2行到结束就是主函数,intmain()为函数的首部,一对花括号括起来的部分是函数体
程序中的“//文字……”
或“/*文字……*/”部分是注释
#include<stdio.h>intmain()//addofaandb{inta,b,sum;//变量定义a=10;b=20;//赋值sum=a+b;//求和printf(“sumis%d\n”,sum);//输出结果return0;//使函数返回值为0
}//函数结束
求两数之和。参见书P8例1.2简单的C程序举例编译预处理命令main()主函数一对{}括起来的部分是函数体scanf(“%d,%d”,&a,&b);//输入两个整数程序运行(键盘输入两个数):12↙34↙sumis
46运行结果:sumis30程序说明
整个程序由一个函数组成,也就是主函数main,主要内容如下:#include<stdio.h>是一条编译预处理命令(后面细讲),它将C程序库文件“stdio.h”包含到本程序中
程序第2行到结束就是主函数,voidmain()为函数的首部,一对花括号括起来的部分是函数体
inta,b,sum;为声明部分语句,定义了a、b、sum三个变量
程序中的“//文字……”或”/*文字……*/”部分是注释输入两个整数,输出大的整数。#include<stdio.h>intmain(){//主函数体开始
intmax(int,int);
//对被调用函数max的声明
inta,b,c;//定义变量a,b,c为整型变量scanf("%d,%d",&a,&b);//输入变量a和b的值c=max(a,b);//调用max函数,将所得值赋给cprintf(“max=%d”,c);//输出变量c的值
return0;//返回函数值为0}//主函数体结束
intmax(intx,inty)//函数定义{intz;if(x>y)z=x;elsez=y;return(z);}8,5↙max=8
参见书P8~9例1.3程序运行(输入两个整数):通过几个例题分析,1.C程序全部由一个一个的函数构成。至少有且只能有一个主函数main(),
其它函数可被主函数调用或相互调用。其它函数可为C函数库中函数,也可为自己编的函数。此特点称为程序的模块化.2.一个函数由函数说明(函数类型,函数名和参数类型)和函数体(说明语句和执行语句)两部分组成。1).函数的说明部分
包括函数名、函数类型、函数属性、函数参数(形式参数类型、形参名
)。C程序的要点可归纳如下:3)注意:函数的声明部分和执行部分都可缺省,例如:voidsmp(){}
这是一个空函数,什么也不做,但是合法的函数。3.一个C程序总是从main函数开始执行,而main函数可以出现在整个程序中的任何位置。2).函数体
最外层{}中的部分。由变量定义和执行语句两部分组成。4.C程序书写格式自由,一行内可写多个语句,一个语句可分写在多行上。5.每个语句(包括最后一个语句)和数据定义的后面必须有一个分号,“;”表示语句的结束。
6.C语言本身没有输入输出语句。输入输出操作由库函数scanf和printf等函数完成。故一般必须有头文件。7.可以用“//……”或“/……/”在C程序中的任何地方作注释以提高程序的可读性。#include<stdio.h>#……
xx(形参系列){……}intmain(){……调用xx/xxx(实参系列)……return0;}xxx(形参系列){……return(z);}头文件(必须有)*C程序的(一般)编写形式:主函数(必须有且仅有一个)子函数(依需要、可有可无)子函数(依需要、可有可无)参见书P10~12C语言是最优秀的程序设计语言之一
附:C程序的上机步骤参见书P12~14C程序的上机步骤源程序C语言库函数目标程序可执行程序有错有错有错有错编辑编译连接执行结束开始运行C程序的步骤和方法C语言上机步骤:上机输入与编辑源程序对源程序进行编译与库函数连接运行目标程序参见书P8图1-1C程序的上机步骤:TurboC的上机方法TurboC提供两种编辑、编译、连接、运行C程序的方法。1集成开发环境:即编辑、编译、连接、运行C程序的功能都完整地组建在TurboC系统内,用户通过一个简明的界面(菜单)来访问、使用。
快速、高效、易学、易用。2命令行编译器:启动TurboC:在DOS提示符后敲入:tc现已少用。
TurboC中常用的(快捷)功能键、编辑命令:
使用菜单F10激活菜单Alt+F/C/R/O使用菜单ESC退出菜单Alt+X退出TC程序调试:F7跟踪执行F8单步执行Ctrl+F7设置短点Ctrl+F8观察变量Ctrl+F4计算表达式其它常用的功能键F1帮助Ctrl+F1库函数帮助ESC退出帮助F3装入源程序F2源程序存盘F5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药用薄荷醇市场发展现状调查及供需格局分析预测报告
- 2024年度人力资源服务合同标的及人力资源服务详细说明
- 2024年度大米加工合同:大米深加工技术与产品研发协议
- 调相器市场发展预测和趋势分析
- 电动剃须刀刀片市场发展预测和趋势分析
- 柔性扁平电缆市场发展现状调查及供需格局分析预测报告
- 衬衫式外套市场发展现状调查及供需格局分析预测报告
- 2024年度一体机电脑分期付款合同
- 04版新能源车辆采购合同
- 04版智能电网维护服务合同详细描述和标的
- GB 12955-2024防火门
- 铸牢中华民族共同体意识-形考任务1-国开(NMG)-参考资料
- 集装箱购销协议合同范本示例
- 求职面试技巧培训
- 室内装修施工安全方案
- 直播电商代运营服务协议(GMV计费模式)
- 北京市海淀区2024-2025学年高三上学期11月期中考试地理试题 含解析
- 工程询价合同模板
- 2024年电工(高级技师)考前必刷必练题库500题(含真题、必会题)
- 人工智能(AI)训练师技能鉴定考试题库大全-下(多选、判断题)
- 人教版七年级数学上册期中测试压轴题考点训练(1-3章)(原卷版+解析)
评论
0/150
提交评论