ImageVerifierCode 换一换
格式:DOCX , 页数:173 ,大小:187.66KB ,
资源ID:3268205      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3268205.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言课程教案b.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言课程教案b.docx

1、C语言课程教案b第一章 C语言程序设计概述1.1 程序与程序设计语言1.1.1 程序的基本概念 所谓程序,实际上是用计算机语言描述的某一问题的解决步骤,是符合一定语法规则的符号序列。1.1.2程序设计语言 1. 机器语言与汇编语言由0和1组成的序列所表示的数据和指令。所谓机器语言,就是指该机器能够识别的指令的集合,即指令系统。特点:机器懂,人难懂。例如, 以下是某计算机的两条机器指令:加法指令: 1 0 0 0 0 0 0 0 减法指令: 1 0 0 1 0 0 0 0 采用一些“助记符号”来表示机器语言中的机器指令,形成了汇编语言。两条指令用汇编语言描述如下:ADD A, BSUB A, B

2、特点是:人记住了,机器不懂了。计算机不能直接执行用汇编语言编写的程序,它必须经过一个叫汇编程序的系统软件翻译成机器语言程序后才能执行。我们称前者为源程序,后者为目标程序。3. 算法语言 近似于自然语言的形式,以语句作为程序的基本组成,算法语言的一条语句相当于多条汇编语言指令或机器语言指令,表达能力强。算法语言程序(源程序)也必须先经过编译程序(或解释程序)翻译成机器语言程序(目标程序)后,才能由计算机执行。1.2算法及其描述有人这样说过:“计算机科学就是研究算法的科学”,足见算法在程序设计中的重要性了。下面从算法的概念和描述方法两方面,对算法的问题进行讨论。1.2.1算法的概念著名的瑞士计算机

3、科学家、PASCAL语言发明者N沃思(Niklaus Wirth)教授提出了程序定义的著名公式:程序 = 算法 + 数据结构算法是数据操作,数据结构是数据的描述,算法是对特定问题求解步骤的一种描述。 算法应当具备以下几个方面的特点:(1) 有穷性(2) 确定性(3) 可行性(4)必输出2、算法的描述方法(1)自然语言(2)流程图(3)改进的流程图(三种基本结构)顺序结构 选择结构 循环结构:a 当型循环 b 直到型循环 (4) N-S图 3、简单算法举例例1.1 求12345S1:1PS2:2iS3:PiPS4:i1iS5:如果i不大于5,返回S3,否则,结束。1.4 C语言程序的基本结构 例

4、1.1 已知三个整型数8、12、6,按公式 s = a + b c 计算,并显示结果。#include stdio.h /*标准输入输出头文件*/main()int a,b,c,s; /*定义四个整型变量*/a=8;b=12;c=6; /*变量赋值*/s=a+b*c; /*算术运算并赋值*/printf(s=%d n,s); /*输出结果*/ 从例1.1可以看出:(1) C语言程序由函数构成。(2) “/*”与“*/”之间的内容构成C语言程序的注释部分。(3) 用预处理命令#include可以包含有关文件的信息。(4) 大小写字母在C语言中是有区别的。(5) 语句用 ;号结束1.5 C语言字符

5、集、标识符与关键字 1.5.1 C语言字符集 基本字符集包括有英文字母、阿拉伯数字以及其他一些符号。具体归纳如下:(1) 英文字母:大小写各26个,共计52个;(2) 阿拉伯数字:0到9,共计10个;(3) 下划线:_ ;(4) 其他特殊符号:主要指运算符 1.5.2 标识符与关键字 1. 标识符标识符用来表示函数、类型及变量的名称,它是字母、下划线和数字的排列,但必须用字母或下划线_开头。下面给出一些合法与不合法命名的标识符:合法标识符: _22A,lea_1,avg3,day,ABCde43xyw8不合法标识符: M.J.YORK,$_238,#xy,a*b,8Tea2关键字关键字是一种语

6、言中规定具有特定含义的标识符。关键字不能作为变量或函数名来使用常用的关键字如下: char continue default dodouble else float for ifint long return switch typedef while1.6 C语言程序的开发环境 编写好的C语言程序要经过编辑(输入)、编译和连接后才能形成可执行的程序。图1.2表示了C语言程序设计上机过程。图1.2 C语言程序上机过程C语言的编译系统有多种,本书采用Turbo C 2.0集成开发环境。第2章 C语言的基本数据类型与表达式2.1 C语言的基本数据类型 2.1.1 数据类型概述1)描述的数据性质不同,

7、所以要用不同类型的数据来表示。数学集合论中将数据分成自然数,整数,实数,复数等,同样的在C语言中也会利用不同类型的数据表示不同的数据类型。2)占用的存储空间的长度不同,不同类型的数据所能表示的数值范围也不同。 字符类型(char) 整型(short,int,long,unsigned)基本类型 单精度型(float)实型(浮点型)双精度型(double) 2.1.2 整数类型 整型数据可分为:基本型、短整型、长整型。(1) 基本型,以int表示;(2) 短整型,以short int表示;(3) 长整型,以long int表示;以上的每一种又都分成有符号和无符号的两种。2.1.3 实数类型1、实

8、型数据的分类(1) float (占32位)(2) double (占64位)2、实型数据的表示方法(1) 十进制小数形式(必须有小数点)(2) 指数形式(字母E或e前面必须有数字,且e后面的指数必须为整数)2.1.4 字符类型1、字符(占8位):由单撇号扩起来的单个字符。如a,?转义字符:n, t, b, r, , , ddd, xhh2、字符串:由双撇号扩起来的字符序列。 a与a的区别: 注意,a和a是不同的。前者是字符量a,后者是字符串量a。e和E是不同的字符量。2.2 常量与变量 2.2.1 常量与符号常量C语言的数据有常量和变量之分。常量是指在程序运行中,其数值不能被改变的量。1.

9、整型常量合法:256,75,0(十进制) 0237,045(八进制) 0x28AF (十六进制)不合法:096(非八进制数码) 48EA(缺0x) 0xK(K非十六进制字符)2、实型常量(只能用十进制表示)合法:28.76 3.4E8 15.78E2不合法:6.4E4.8 E73、字符常量合法: a n 1014、字符串常量changsha,central south university,+ ?ab都是合法的字符串常量。 ab 不是字符常量,也不是字符串常量。5、符号常量:用一个标识符代表一个常量。#define 标识符 常量数据 优点:a.含义清楚; b.一改全改;例如:#define M

10、AX 1000#define MIX 10+10#define END MIX*MIX 2.2.2 变量与变量定义 变量是以某标识符为名字,其值是可以改变的量。1. 变量定义语句变量定义(或叫说明、声明)语句的一般格式为:类型标识符 变量名1,变量名2 例如: int i,j,k; /*定义三个整型变量i,j,k*/float x1,y1; /*定义两个单精度型变量x1,y1*/char profit,loss; /*定义了两个字符型变量profit,loss*/在同一程序中变量名不允许被重复定义,如:大写字母和小写字母被认为是两个不同的字符。因此,sum和SUM是两个不同的变量名。习惯上变量

11、名定义时多用小写字母表示。在C语言中,要求对所有的变量作强制定义,即“先定义,后使用”,并尽量做到“见名知义”。变量的属性三要素:变量名 a,变量的地址 &a,变量的值3;我们能过变量的名修改变量的值。变量的地址就是图中的存储单元。2、变量赋初值即在定义变量的同时使变量初始化。例:int a3; int abc3 是不合法的。三、例题十进制数10在内存中的存放形式:0000000000001110负数在内存中以补码形式存放方法:将该数的绝对值的二进制形式按位取反再加1。例:求10的补码10的原码:取反:1111111111110101再加1:1111111111110110例2.1:有符号的意

12、义和无符号数的(整型数据的溢出)main( )int a,b; a32767; ba+1; printf(%d,%d,a,b);运行结果为:32767,32768a: 0111111111111111b:1000000000000000例2.2:转义字符的使用main( )printf(abctderftgn); printf(htibbjk);在打印机上的结果:fabcgdehjik 在显示屏上的结果:fgdehjk2.3 运算符与表达式一、算术运算符和算术表达式1、基本的算术运算符(左结合)、*、/、说明:(1)两个整数相除结果为整数: 例:5/31 (2)两个操作数必须为整数 (3)字符

13、型数据在计算机内部是用一个整型数表示的。2. 变量赋初值变量使用“=”赋初值,但必须保证“=”右边的常量与“=”左边的变量类型一致。例2.1 main() int x,y,z,w; /*定义x,y,z,w为整型变量*/unsigned int k; /*定义k为无符号整型变量*/x=10;y=-20;k=30;z=x+k;w=y+k; /*不同类型的整型变量x、y、k可运算*/printf(x+k=%d,y+k=%d n,z,w); 程序上机运行结果为:x+k=40,y+k=10 例2.2 main() char c1,c2; /*定义字符型变量c1,c2*/;c1=a;c2=b; /*c1、

14、c2赋初值*/c1=c1-32;c2=c2-32; /*c1=c1-32和c2=c2-32是ASCII码相减,c1的ASCII码为97,c2的ASCII码为98*/ printf(%c %c,c1,c2); 运行结果为:A B 2.3.1 算术运算符与算术表达式 1. 运算符C语言基本的算术运算符共有5种:+(加)、-(减)、*(乘)、/(除)、%(取余,模运算)它们都是双目运算符,即运算符要求有两个操作数。如运算:x + y 、x-y 、x * y 、x / y 、x % y 都采用双目运算。(1)要求 % 运算左右两数必须为整型数据,如7%4的值为3。(2)两个整数 / 相除,结果为整数,

15、舍去小数部分。如5/3=1,-5/3=-1,采取“向零取整”的方法,即取整后向零靠拢(即向实数轴的原点靠拢)。2. 算术表达式(1)算术表达式定义用算术运算符和括号将运算对象(也称操作数)连接起来,符合C语言规则的式子,称为算术表达式。运算对象包括常量、变量、函数等。如: a*b+c/d 46+2*PI*R a*sin(x)+b*cos(x) 都是合法的算术表达式。(2)运算符的优先级与结合性(3)类型转换如果一个运算符两侧的数据类型不同,先自动进行类型转换,使两者具有同一种类型,然后再进行运算。(4)取负值运算符运算顺序应为: y=-a-b*c+a/c (5)自增与自减运算符C语言的自增运算

16、符为+,自减运算符为-,其操作对象只能是变量。作用是使变量的值增1或减1,如:+i,-i (在使用i之前,i值先加(减)1)i+,i- (在使用i之后,i值再加(减)1) 后缀形式 i+(先使用,后增值)例:i=3; printf(%d,+i);输出结果为4; 若改为:pritnf(%d,i+);则输出结果为3。 printf(%d,-i+);输出结果为:3。(i增值为4)(6)自增与自减运算符优先级高于算术运算符优先级,而与负值(-)运算符同级。如 i=2; j=-i+; “+”和“-”是同级优先关系。结果:j=-2,i=3。2.3.2 赋值运算符与赋值表达式1. 赋值运算符C语言的赋值运算

17、符为“=”,它的作用是将一个数据赋给一个变量。例如:x = 10 /*将10赋给变量x*/y = 3*x+5*a /*将表达式之值赋给变量y*/ZK 2. 赋值表达式(1)赋值表达式的构成由赋值运算符将一个变量和一个表达式连接起来的式子称作“赋值表达式”。它的一般形式为:变量 赋值运算符 表达式 赋值表达式当中的“表达式”,又可以是一个赋值表达式。如:a=(b=10) b=10是一个赋值表达式,整个赋值表达式a的值也是10。a=(b=10) 和 a=b=10 等价。x=y=z=8 (赋值表达式之值为8,x,y,z值均为8)x=10+(y=5) (表达式值为15,x值为15,y值为5)a=(b=

18、10)/(c=2) (表达式值为5,a值为5,b值为10,c值为2) (2)优先级赋值运算符优先级低于算术运算符、关系运算符和逻辑运算符,如:x=6y 先求关系表达式6y的值0或1,再将其值赋给变量x。(3)结合律赋值表达式按照自右至左的顺序结合。例如:x=y=3*z/w 运算顺序为:x=(y=3*z/w) 又:a=b=20/4 运算时先计算20/4,结果为5,将5赋给b,再将5赋给a。自右至左运算。3. 复合赋值运算符在赋值符“=”之前加上其他运算符,可以构成复合的运算符。C语言可使用的复合赋值运算符有10种。它们是:+=、-=、*=、/=、% (与算术运算符组合)= (与位移运算符组合)&

19、=、=、|= (与位逻辑运算符组合)复合赋值表达式的格式为:变量名 复合赋值运算符 表达式 例如: x+=a+y*3 等价于 x=x+(a+y*3) 若a的初值为12,则a+=a-=a*a 的求解步骤是怎样的呢?这是一个复合的赋值运算过程,其求解过程为: 先进行a-=a*a的运算,它相当于a=a-a*a=12-144=-132。 再进行a+=-132的运算,它相当于a=a+(-132)=-132-132=-264。 2.3.3 逗号运算符和求字节运算符1. 逗号运算符和逗号表达式逗号表达式的一般形式为:表达式1,表达式2 逗号表达式的求解过程是:先求解表达式1,再求解表达式2。整个逗号表达式的

20、值是表达式2的值。如: x = (y=3,y+1) 首先将3赋给y,然后执行y+1的运算,将结果4赋给x。整个x赋值右边的表达式要用括号括起来。因为逗号运算符的优先级别低于赋值运算符。逗号表达式的一般形式可以扩展为:表达式1,表达式2表达式n 它的值为表达式n的值。2. 求字节运算符sizeofC语言的sizeof是一个单目编译状态运算符,它返回变量或括号中的类型修饰符的字节长度。它的一般形式为:sizeof (变量名) sizeof (类型名) 如:float f;printf(%d,sizeof(f));printf(%d,sizeof(int)); 其输出显示字节数为4和2。2.3.4

21、条件运算符 条件运算符要求有三个操作对象,称三目(元)运算符。它由两个符号?和:组成。其一般形式为:表达式1?表达式2:表达式3 它的运算顺序是:先求表达式1的值,如果它的值为真(非0值),则求表达式2的值并把它作为整个表达式的值;如果表达式1的值为假(0值),则求表达式3的值并把它作为整个表达式的值。如:y=x10? 100:200 此式求值取决于x的值:(1) 若x10为真,则y=100;(2) 若x10为假,则y=200;C语言中条件运算符的优先级高于赋值运算符。条件运算符的结合方向为“自右至左”。如条件表达:y=x10?x/10:x0?x:-x; 从右至左结合,等价于:y=x10?x/

22、10:(x0?x:-x); 它的功能是:当x10时,y的值为x/10。当x0?x:-x的值(当x0时,表达式的值是x;当x0时,表达式的值是-x)。2.4 数据类型转换 C语言中,整型、单精度型、双精度型和字符型数据可以进行混合运算。字符型数据可以与整型通用。例如:100 +A+ 8.65 - 2456.75 * a 是一个合法的运算表达式。在进行运算时,不同类型的数据要先转换成同一类型,然后再进行运算。C语言数据类型转换可以归纳成3种转换方式:自动转换、赋值转换和强制转换。2.4.1 类型自动转换 在进行运算时,不同类型的数据要转换成同一类型。自动转换的规则如图2.1所示。 由低级向高级型转

23、换。(1) float型数据自动转换成double型;(2) char、short数据自动转换成int型;(3) int型与double型数据运算,直接将int型转换成double型;(4) int型与unsigned型数据,直接将int型转换成unsigned型;(5) int型与long型数据,直接将int型转换成long型。例如: char ch=a; int i=13; float x=3.65; double y=7.528e-6; 若表达式为:i+ch+x*y 则表达式的类型转换是这样进行的:先将ch转换成int型,计算i+ch,由于ch=a,而a的ASCII码值为97,故计算结果

24、为110,类型为int型。再将x转换成double型,计算x*y,结果为double类型。最后将i+ch的值110转换成double型,表达式的值最后为double类型。2.4.2 赋值转换 如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值过程中就要进行类型转换。转换的基本原则为:(1) 将整型数据赋给单、双精度变量时,数值不变,但以浮点数形式存储到变量中。 (2) 将实型数据(包括单、双精度)赋给整型变量时,舍弃实数的小数部分。如x为整型变量,执行“x=4.25”时,取值为x=4。(3) 字符型数据赋给整型变量,字符型数据只占一个字节,而整型变量占2个字节,因此将字符数据放入到

25、整型变量低8位中,整型变量高8位视机器系统处理有符号量或无符号量两种不同情况,分别在高8位补上1或补上0。如图2.2所示。图2.2 字符型数据转换成整型数据示意图(4) 带符号的整型数据(int)赋给long int型数据变量,要进行符号扩展。如果int型数据为正值,则long int型变量的高16位补0,反之,则补1。(5)unsigned int型数据赋给long int型数据变量时,不存在符号扩展,只需将高位补0即可。 例如:int a,b;float x1=2.5,x2;double y1=2.2,y2;a=x1; /* x1的值转换成整数2赋给a,小数截去了*/x2=3.14159*

26、y1*y1; /*右边表达式为双精度型,先转换成单精度再赋给x2*/b=a; /*将a的一字节ASCII码转换成两个字节的整数,再赋给b,b的值为97*/精度高的数据类型向精度低的数据类型转换时,数据的精度有可能降低。2.4.3 强制类型转换可以利用强制类型转换运算符将一个表达式转换成所需类型。如:(int)(a+b) (强制将a+b的值转换成整型)(double)x (将x转换成double型)(float)(10%3) (将10%3的值转换成float型) 强制类型转换的一般形式为:(类型名)(表达式) 注意:(int)(x+y)和(int)x+y强制类型转换的对象是不同的。(int)(x

27、+y)是对x+y进行强制类型转换;而(int)x+y则只对x进行强制类型转换。第3章 顺序程序设计简单程序的流程一般分为顺序结构、选择结构和循环结构。顺序结构是程序设计语言最基本的结构,其包含的语句是按照书写的顺序执行的,且每条语句都将被执行。其他的结构可以包含顺序结构,也可以作为顺序结构的组成部分。3.1 C语言的基本语句 C语言的语句可分为以下四类:简单语句(包括输入/输出语句)、空语句、复合语句和流程控制语句。简单语句空语句(;)复合语句(一条或多条语句) 条件语句(if语句,switch语句)C语言数据操作语句 结构化语句 循环语句流程控制语句 非结构化语句 非限定转向语句 顺序结构程序由简单语句组成,程序流程如图3.1 所示,语句按书写顺序执行。先执行A,再执行B。 A B图3.1 顺序结构执行流程本节主要介绍简单语句、空语句和复合语句的有关内容,对于函数调用语句中的“输入/输出语句”将在3.2节中再作详细的介绍。3.1.1 简单语句1.表达式语句由表达式组成的语句称为表达式语句。表达式语句很简单,表达式加上分号就是一个表达式语句。表达式也能构成语句,这是C语言的一个重要特色。表达式语句的一般

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1