C语言教案ppt

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

主讲:周小勇QQ:542936950EMail:zxyworking@126.com手机:132359665991.1程序设计语言1.1.1程序设计语言的发展(1)机器语言CPU的指令系统。计算机能够识别的机器代码。(0,1)(2)汇编语言低级语言,用一些“助记符号“代替“0,1“编程。第1章C语言概述(3)面向过程的语言汇编语言和机器语言是面向机器的。把解题过程看作是数据被加工的过程。基于这种方法的程序设计语言被称为面向过程的程序设计语言。(4)面向对象的程序设计语言把现实世界看成是由许多对象组成的。1.1.2程序设计语言的支持环境不同的操作系统下编译和运行C语言程序的方式和命令是不同的。注意:(1)FORTRAN语言是历史上的第一门计算机高级语言。(2)C语言称为程序员设计的语言,可以作为系统描述语言,既可以写系统软件,又可以写应用软件。用C语言编写的UNIX比用汇编语言编写的更易于理解.修改和扩充。并因此于1983年获得了计算机的最高奖-----图灵奖,要学UNIX必须先掌握C语言。(3)FORTAN、Algol和Pascal称为计算机科学家设计的语言。1.1.3编辑、编译、连接、运行C语言程序(1)编辑源程序。(*.c)(2)对源程序进行编译。(*.obj)(3)对编译生成的.obj文件进行连接,生成可执行程序.exe(4)执行可执行代码,验证结果的正确性,以确定是否要进行修改。#includestdio.hmain(){inta,b,sum;printf(“EnterTwoNumbers:”);scanf(“%d%d”,&a,&b);sum=a+b+6;printf(“Thesumis%d\n”,sum);}例11.2用库函数组装C程序例2main(){inta,b,c;scanf(“%d,%d”,&a,&b);c=max(a,b);printf(“max=%d”,c);}intmax(x,y)intx,y;{intz;if(xy)z=x;elsez=y;return(z);}结论:(1)C程序是由函数构成的。一个C源程序至少包含一个main函数和若干个其它函数。(2)一个函数由两部分组成A.函数的说明部分:函数名,函数类型,函数属性,函数参数(形参)名形参类型B.函数体:变量定义。执行部分,由若干个语句组成注:在某些情况下可以没有变量定义部分,甚至可以既无变量定义,又无执行部分。如:dump(){}/*空函数*/(3)一个C程序总是从main函数开始执行的而不论main函数在整个程序中的位置如何。(4)C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。(5)每个语句和数据定义的最后必须有一个分号。如:c=a+b;(6)C语言本身没有输入输出语句,输入和输出的操作由库函数scanf和printf等完成(7)/*….*/可以对C程序中的任何部分作注释。C语言的特点(1)语言简洁、紧凑、使用方便、灵活。(2)运算符丰富(共有34种运算符)。(3)数据结构丰富。如:整型、实型、字符型…..(4)具有结构化的控制语句。如:if…elsewhiledo…whilefor….(5)语法限制不太严格、程序设计自由度大。(6)C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。(7)生成目标代码质量高,程序执行效率高。(8)用C语言写的程序可移植性好。2.1数据类型C语言的词法记号:是指程序中具有独立含义的不可进一步分割的单位。分为以下5类:(1)关键词是C语言中预定义的符号,有固定的含义,用户自定义的任何名字不能够与之重复。关键词如下:autobreakcasecharcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile准关键词:defineendifincludeifdefifndeflineundef第2章数据描述与基本操作(2)标识符用户自已定义的符号。标识符的定义必须满足以下条件:A.只能由字母、数字,下划线构成。B.第一个字符必须为字母或下划线。C.标识符不能和关键词同名D.标识符最长只能是32个字符(TurboC中)E.用大写字母来表示常量标识符,用小写字母表示变量或其它标识符(3)分隔符:分隔符用于分隔各种词法记号,常用的分隔符有:[](){}*.:=;#(4)运算符(5)常量C语言的数据类型:(1)基本类型(简单类型)A.数值类型整型短整型(short),整型(int),长整型(long)实型(浮点型)单精度型(Float),双精度型(double)B.字符类型(char)C.枚举类型(enum)(2)构造类型(组合类型)A.数组类型B.结构类型C.共用类型(union)D.文件类型(FILE)(3)指针类型(4)空类型(void)2.1.1数值的定点表示形式与浮点表示形式(1)C语言中的指数形式的表示法:3.14159e00.314159e+10.0314159e+2=3.14159=3.14159=3.14159(数字部分)尾数指数(阶码)浮点数:小数点的位置是浮动的。注意:在计算机内部实数(以小数形式表示的数)都以浮点形式存储,实数用4个字节存储,3个字节存放数字部分,一个字节存放指数部分。(2)定点数不带指数部分的数称为定点数。如:3.14159,10,-20,1992注意:(1)虽然不带指数部分的实数称为定点数,但在计算机内部会自动转换成浮点形式存放。(2)整数属于定点数。2.1.2字符类型数据的表示和存储形式字符类型的数据在内存中以ASCII码的形式存放。‘a’0110000197注意:(1)字符变量可以以整数的形式输出。(2)字符以单引号形式出现。(3)‘a’-’A’=32Main(){charch;Scanf(“%c”,&ch);Printf(“%c,%d”,ch,ch);}2.1.3数据的存储空间长度及取值范围Int,short2个字节Long4个字节Float4个字节Double8个字节2.1.4带符号的数据类型与无符号的数据类型在内存中数值以补码的形式存放。16位的整数中,最高位0表示正,1表示负。注意:(1)正数的补码是它的本身。(2)负数的补码:先取该数的绝对值,再以二进制的形式表示,再对各位取反,取后加1。无符号型整数:必须为正数或零。又分为:无符号整型(unsignedint)、无符号短整型(unsignedshort)和无符号长整型(unsignedlong)注意:实型数据没有unsigned与signed之分,均带符号。求一种类型数据占用的存储空间的长度:sizeof(类型标识符)在程序的运行过程中其值不能被改变的量。(整型常量、浮点型常量、字符型常量、字符串常量和符号常量)。(1)0开头的是八进制数。0516(2)0X或0x开头的为十六进制数0x1c0d0X4600(3)1或L结尾时为长整型常量49876L0X4F8DAL(4)浮点型常量有十进制形式和指数形式(E后必须为整数。)3.14-9.5681.5E52.9E-72.2常量和变量(5)字符型常量是用单引号括起来的单一字符,其值即为它的ASCII码值。‘s’、’S’、如’2’的值为50C语言还允许一种特殊形式的字符常量,以\开头的字符序列。表2-3-1转义字符表字符形式含义字符形式含义\n\t\v\b\r换行横向跳格(Tab)竖向跳格退格回车\f\\\’\xhh\ddd换行但不回车反斜框\单引号1到2位16进制数所代表的字符1到3位8进制所代表的字符注意:字符串所需存储空间比字符串的字符个数多一个字节。字符串常数:用双引号括起来的零个或多个字符序列称为字符串常数。如:”hello”,“a”内存中的存储方式:hello\0实际的存储形式为:10410110810811102.2.3变量其值可以改变的量称为变量。一个变量由一个名字来标识,此名字称为该变量的标识符。同一个变量名对应的变量在不同的时刻可以有不同的值。变量说明的实例如下:inti;/*说明i为整型变量*/shortc,d,e;/*说明c,d,e为短整型变量*/unsignedlongp,g;/*说明p,g为无符号长整型变量*/floatx,y;/*说明x,y为单精度型变量*/doublez;/*说明z为双精度型变量*/charch1,ch2;/*说明ch1,ch2为字符型变量*/(1)算术运算符和算术表达式算术运算符包括:+(加)、-(减)、*(乖)、/(除)、%(取模)、++(增一运算符)、――(减一运算符)。++i、--i在使用i之前,先使i的值增/减1。i++、i--在使用i之后,使i的值增/减1。必须说明的是++、――运算符只能用于变量,而不能用于常量或表达式。2.3运算符和表达式Main(){intj;j=9;j++;Printf(“/n%d”,j);}Main(){intj;j=9;++j;Printf(“/n%d”,j);}(2)关系运算符和关系表达式关系运算符有>(大于)、>=(大于等于)、<=(小于等于)、==(等于)和!=(不等于),它们的优先级低于算术运算符的优先级。下面有几个实例:i5ch=’z’i==counttime!=p+q(3)逻辑运算符和逻辑表达式逻辑运算符有&&(逻辑与)、||(逻辑或)和!(逻辑非)3种。ab&&cdx==1||!b!(sex==’m’&&age20)(4)赋值运算符和值表达式一般形式为:<变量><赋值运算符><表达式>i+=j+8等价于i=i+(j+8)x*=3等价于x=x*3p%=2等价于p=p%2(5)条件表达式和逗号表达式A.条件表达式的一般形式是<表达式1>?<表达式2>:<表达式3>含义为:首先计算<表达式1>的值,若为非零,则<表达式2>的值就是该表达式的值,否则<表达式3>的值就是该表达式的值。Max=(ab)?a:bB.逗号表达式为:<表达式1>,<表达式2>其含义为:先求<表达式1>,再求<表达式2>,整个表达式的值就是<表达式2>的值。a=3*8,a+2其值为26在表达式中出现不同类型的操作数时,要按规则将其转换成同一类型。需要指出的是,两个均为float型的数据之间运算,也要先转换成double型,以便提高运算精度。doublefloatlongunsignedintchar,short类型转换规则高低2.4不同类型数据间的转换这里需要专门说明赋值表达式中的类型自动转换。当赋值表达式左边变量的数据类型级别高于右边表达式的级别时,仍按上述规则转换,否则,就要把右边高级别表达式的数据类型转换成左边低级别变量的数据类型。2.5.1变量的初始化C语言允许在说明变量的同时对其初始化,例如:intsum=0;floatpi=3.1416;charc=’w’;也可对被说明的一部分初始化,如:inti,sum=o,j;2.5数据的输入和输出2.5.2赋值语句赋值语句是由赋值表达式加上一个分号组成的,如“sum=a+b;”就是一个赋值语名,而“sum=a+b”则是一个赋值表达式。可见赋值表达式与赋值语句是两个不同的概念,赋值表达式是C语言特有的。下列语句者是赋值语句:x=0.3;y=z=-1;y=y*(z+1);x=(7+6)%5/2;2.5.3数据输出一般形式:printf(格式控制参数,输出项1,输出项2,…)格式说明,它由“%”和转换字符组成,如%d、%f等,作用是将输出的数据转换成指定的格式输出。普通字符,即按照原样输出的字符。Printf(“%d+%d=%d”,a,b,a+b);输出项1输出项2输出项3Main(){intj;j=2;Printf(“j=%d,j++=%d”,j,j++);}格式字符:对于不同的数据用不同的格式字符。1.d格式符。用来输出十进制整数

1 / 173
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功