高级语言编程基础_第1页
高级语言编程基础_第2页
高级语言编程基础_第3页
高级语言编程基础_第4页
高级语言编程基础_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

课程内容第1章计算机系统初步知识第2章计算机软件

第3章C编程基础

第4章C结构第5章C数组第6章C函数1回顾

准备好纸和笔,纸的左上角写上姓名、学号、班级2回顾

1、计算机由哪几部分组成,怎样联系起来的?2、什么是按位存储,按字节寻址?3、什么是程序,什么是计算机程序,什么是计算机程序设计?4、什么是语言,构成语言的三要素是?什么是计算机程序设计语言?5、什么是机器语言,什么是指令,指令的一般格式,指令的执行过程?6、什么是源程序,实现源程序变成机器语言(指令)的程序称为什么,需要哪些过程?3冯·诺依曼型计算机存储器输出输入运算器控制器数据信号控制信号地址信号

回顾4主存结构:按位存储,按字节寻址

回顾5回顾2.指令的执行过程6回顾1.编写源程序:编辑源程序代码2.执行编译:产生与源程序等价的目标程序3.连接:连接所需库函数和其它目标程序4.调试程序:对产生的错误进行修改,重新编译5.执行程序:生成最终正确的可运行的.exe程序。7教学内容

第3章C编程基础3.1C介绍3.2C程序基本构成3.3C语法8教学目标

了解计算机语言的发展、C语言的特点;掌握C语言程序的基本构成:头文件、main()函数、输入语句、输出语句、注释等;掌握C语言程序的基本语法:熟悉C语言的数据类型;算术、赋值运算符,能够根据要求构造相应的表达式;能够区分常量与变量的不同,掌握基本数据类型的常量与变量的定义、使用;9教学重点

C语言程序的基本构成C语言程序的基本语法10(1)C语言的发展C语言是国际上广泛流行的计算机高级语言。C语言的发展:BCPL语言B语言C语言精练、接近硬件,但过于简单,无数据类型具有多种数据类型最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的。3.1C语言的发展及其特点111983年,美国国家标准协会(ANSI)制定了第一个C语言标准草案(’83ANSIC);1989年,ANSI公布了一个完整的C语言标准—ANSIX3.159-1989(常称ANSIC,或C89);1990年,国际标准化组织ISO接受C89作为国际标准ISO/IEC9899:1990,它和ANSI的C89基本上是相同的;121995年,ISO对C90作了一些修订;1999年,ISO又对C语言标准进行修订,在基本保留原来的C语言特征的基础上,增加了一些功能,命名为ISO/IEC9899:1999;2001、2004年先后进行了两次技术修正(TC1和TC2)。ISO/IEC9899:1999(及其技术修正)被称为C99。C99是C89(及1995基准增补1)的扩充。目前最新的版本是ISO/IEC9899:2011,一般称为C11不同软件公司提供的各C语言编译系统多数并未完全实现C11建议的功能。13

C语言是一种用途广泛、功能强大、使用灵活的过程性(procedural)编程语言,既可用于编写应用软件,又能用于编写系统软件。因此C语言问世以后得到迅速推广。14(2)C语言的主要特点语言简洁、紧凑,使用方便、灵活:只有37个关键字、9种控制语句程序书写形式自由,源程序短运算符丰富:有34种运算符把括号、赋值、强制类型转换等都作为运算符处理表达式类型多样化15(2)C语言的主要特点(续)数据类型丰富:包括:整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型C99又扩充了复数浮点类型、超长整型(longlong)、布尔类型(bool)指针类型数据,能用来实现各种复杂的数据结构(如链表、树、栈等)的运算。16具有结构化的控制语句:如if…else语句、while语句、do…while语句、switch语句、for语句用函数作为程序的模块单位,便于实现程序的模块化C语言是完全模块化和结构化的语言17允许直接访问物理地址,能进行位操作,可以直接对硬件进行操作:C语言具有高级语言的功能和低级语言的许多功能,可用来编写系统软件这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言18(2)C语言的主要特点(续)用C语言编写的程序可移植性好:C的编译系统简洁,很容易移植到新系统在新系统上运行时,可直接编译“标准链接库”中的大部分功能,不需要修改源代码几乎所有计算机系统都可以使用C语言。生成目标代码质量高,程序执行效率高。19例1要求在屏幕上输出以下一行信息。

ThisisaCprogram.程序代码:/*Myfirstprogramm.*/#include<stdio.h>intmain(){printf("ThisisaCprogram.\n");return0;}(1)简单C语言程序举例3.2C程序基本构成20解释程序代码:#include<stdio.h>intmain(){

printf("ThisisaCprogram.\n");return0;}主函数类型函数体函数的名字,表示主函数C程序必须有一个main函数输出函数输出语句换行符当main函数执行结束前将整数0作为函数值表示语句结束用到函数库中的输入输出函数时21注释。不是程序代码,它只是方便程序员阅读代码,编译器编译时会把它忽略。也就是注释是不会被编译的。程序可以没有注释,但为了方便以后阅读代码,都会在程序关键处加上注释。C语言允许用两种注释方式://:单行注释可单独占一行;也可出现在一行中其他内容的右侧/*……*/:块式注释:可包含一行或多行(2)C语言程序的构成22预处理指令#include<stdio.h>#include称为预处理,编译器编译之前要做的,因此称为预处理<stdio.h>称为头文件,因为它通常放在程序的开头。作用:包含了编译器理解printf函数所需要的信息。还包含其他C标准库函数。标准库:定义编写C常需要的常量、符号和函数。例如计算机的输入输出。标准库在头文件中指定,头文件的扩展名总是.h,要使用某些函数,只要用预处理命令包含其对应的头文件即可。有时候为了方便写程序,也可以定义自己的头文件。(2)C语言程序的构成233.main()函数一个C程序中有且只能有一个main()函数。程序总是从main()函数开始执行4.关键字(如int)

表示具有特殊意义的字。(2)C语言程序的构成24函数体(2)C语言程序的构成256.输出信息printf("ThisisaCprogram.\n");printf是标准库中的输出函数。控制符(换行符)\n换行符(转义字符的一种)输出光标会移动到下一行8.语句结束符;每个语句以分号结束;必不可少。(2)C语言程序的构成26程序总是从main函数开始执行C程序书写格式是比较自由的一行内可以写几个语句一个语句可以分写在多行上为清晰起见,习惯上每行只写一个语句语句最后必须有分号C语言本身不提供输入输出语句程序应当包含注释,增加可读性(3)几点说明27如何编写程序???如何用C编写2+3=5?如何用C编写2.2+3.3=5.5?如何用C输出a,b,c等英文字母?283.3C程序基本语法数据类型常量和变量运算符和表达式29 在现实生活中,我们会接触到许多数据 从上我们可以得到数据:年龄33岁,身高2.26m,体重141.0kg,…它们具有不同的性质:字符串有标识作用,数值型可计算,还有精度差异。编写程序时,需区别对待。1.数据类型30数据存储在内存中,不同数据所占用存储空间的多少、数值范围不同;所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据的存储形式不同的类型分配不同的长度和存储形式数据在计算机中的存储是以字节为单位计算的,一个字节是8位。例如:整数10的用2字节表示的示图:31同一数据类型在不同计算机中占用的空间可能不同,如:int型,在16位计算机中占2字节,在32位计算机中占4字节;数据占用内存字节的多少决定了其能表达数据的范围;计算机内存中的同一数据当做不同类型来解释时,所得结果是不同的;32单精度型(float)双精度型(double)数据类型基本类型整型浮点型构造类型指针类型(*)数组类型([])结构体类型(struct)共用体类型(union)函数类型空类型(void)枚举类型(enum)整型(int)短整型(shortint)长整型(longint)字符型(char)33数据类型情况重点掌握类型关键字、所占字节数、表示的数值范围。下表是DevC++的基本数据类型:34(2)字符型数据(由一个字符组成,占一个字节)字符(128个):大多数系统采用ASCII字符集;单引号表示字母:A~Z,a~z数字:0~9专门符号:29个:!”#&‘()*等空格符:空格、水平制表符、换行等不能显示的字符:空(null)字符(以‘\0’表示)、警告(以‘\a’表示)、退格(以‘\b’表示)、回车(以‘\r’表示)等35

(3)浮点型数据浮点型数据是用来表示具有小数点的实数在C语言中,实数是以指数形式存放在内存存储单位中的小数部分指数数符以圆周率PI的近似值3.14159为例,可写成:3.14159x100、0.314159x101、0.0314159x102、31.4159x10-1等形式。由于小数点位置可以浮动,故称为浮点数。规格化指数形式:小数点前数字为0、小数点的第1位数字非0 对于一个实数来说,其规格化指数形式只有一种,例如: 0.314159x101符合要求,0.0314159x102、31.4159x10-1等则不符合要求指数表示了数据的大小,尾数表示了数据的精度。通常用e或E后面带整数表示10的多少次方。36 在C语言中,有许多符号需要命名,如:变量名、函数名、数组名等,这些符号称为标识符。标识符的命名规则:由字母、数字、下划线组成,并且第一个字符必须为字母或下划线。合法标识符:area、PI、a_array、price等非法标识符:456p、cade-y、x.y、a&b等(1)标识符不同的C语言编译系统所规定的标识符长度可能不同?2.常量和变量37标识符有三类:关键字:C语言预先规定的一批有固定含义的标识符,不能另作他用autodouble

intstructcase else long switchbreakenum register typedefcharextern returnunionconstfloat shortunsignedcontinuefor signedvoid

defaultgoto sizeofvolatiledoif staticwhile

include等38预定义标识符:C语言预先定义并有特定含义的标识符,如:库函数名(printf)、预处理命令(define)。不建议另作他用用户标识符:用户定义的标识符,如:变量名、函数名、数组名等,最好“见名知意”39概念:在程序运行过程中,其值不能被改变的量 包括:整型常量、实型常量、字符常量和字符串常量等(2)常量1)整型常量:十进制整数:由正号(+)或负号(-)开始的、接着为首位非0的若干个十进制数字所组成。如38,-25,+120,74286等402)字符常量:普通的字符常量:用一对单引号括起来的一个字符,形式为:‘单字符’,如:’a’,’%’,’A’等,区分大小写 注意:’ab’是错误的,为什么?41转义字符:格式:\特定字符性质:改变原先字符的含义,实现特定功能 例如:\n(换行功能)42常用的转义字符:转义字符含义ASCII码值(十进制)\a响铃(bell)7\b退格(backspace)8\n换行(newline)10\r回车(carriagereturn)13\t水平制表(horizontaltab)9\v垂直制表(verticaltab)11\\反斜杠92\’单引号39\”双引号34\0空格符(null)0\ddd任意字符3位八进制数\xhh任意字符2位十六进制数433)字符串常量:格式:“…”,即:用一对双引号括起来的字符序列(字符个数可以0、1或多个,也可以是转义字符),起标识、提示作用。字符串以双引号为定界符,双引号不作为字符串的一部分。如:“Hello”,“GoodMorning!”,“广州大学”…长度:字符串的字符数。如:“Hello”的长度为5.存储:在内存中占一串连续的存储单元,系统自动在字符串的末尾加以字符串结束标志,即转义字符‘\0’。 占6个存储单元44特别注意:“字符串”与“字符型数据”是两个完全不同的概念。问题:分辨哪些是字符常量?哪些是字符串?

“sise”、”?”、””、‘!’、‘\x20’、“”454)怎样确定常量的类型?字符常量:由单撇号(‘’)括起来的单个字符或转义字符字符串常量:由双撇号(“”)括起来的单个字符或转义字符整型常量:不带小数点的数值,系统根据数值的大小确定int型还是long型等浮点型常量:凡以小数形式或指数形式出现的实数46概念:变量是计算机一块特定的内存,由一个或多个字节组成;用变量名去提取或存储变量值。变量名表示该内存地址;变量的值可以改变。(3)变量注:变量名是标识符,命名要“见名知意”在程序中,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据inta=3;47变量定义(声明):数据类型变量名1[,变量名2,…]; 实质:在编译时为其分配相应的存储单元 例如:inta,b,c;floatr;doubleroot1,root2;C语言规定,变量要“先定义,后使用”,编译时系统进行检查。例如,如果在定义时为intnum;而在执行语句中错写成nmu,编译时就会输出“变量nmu未经声明”的信息变量定义后,如果未赋值,则其值是不确定的。应避免这种情况的出现48变量初始化:数据类型变量名1=初值[,变量名2=初值,…];

功能:将变量定义、赋值“合二为一”49运算符(操作符):是对数据进行运算的符号操作数(运算对象):参与运算的数据表达式:由操作数和操作符连接而成的有效的式子。例如:2+3(1)一些概念3.运算符和表达式50运算符(5个):+,-,*:含义与数学上相同;(注:两个数相乘时,*不能省略)/: 对于整型数则为除法取整操作,例如,5/2得到结果2; 如果除数或被除数中有一个为负值,舍入方向不固定。例如,-5/2,有的系统中得到的结果为-2,在有的系统中则得到结果为-3。 对于浮点数则为通常意义的除法,例如,5.0/2.0得到结果为2.5 由此可见,/操作符可以对不同的数据类型进行不同的操作。(2)算术运算符与表达式51运算符(5个

温馨提示

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

评论

0/150

提交评论