




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C 语言课程教案详解 章节题目: 第一章 C 语言概述 教学时间:4 学时 教学目的:1、了解 C 语言的产生过程2、掌握 C 程序结构3、掌握 C 程序开发过程4、掌握用 TURBO C 运行一个 C 程序。 内容、重点、难点: 内容 :1.1 C 语言的历史和特色1.2 C 程序结构1.3 C 程序的开发过程 重点:1、掌握 C 程序的基本结构构成2、学会用 Turbo C 运行一个 C 程序 难点: 掌握 C 程序的开发过程 第 1 章 C 语言概述C 语言是国际上广泛流行的一门高级程序设计语言, 具有语言简洁、 使用方便灵活、 移植性 好、能直接对系统硬件和外围接口进行控制等特点。 本
2、章将简要地介绍它的产生过程和特点、 C 程序结构及 C 程序的上机步骤,以便对C 语言有一个概括的认识。1.1 C 语言的历史和特色 一、历史1、1960 年出现了 ALGOL 60 。2、1963 年和 1967 年, 在 ALGOL 60 的基础上推出了 CPL 和 BCPL 语言更接近于硬件。3、1970 年美国贝尔实验室对 BCPL 语言做了进一步简化,设计了 B 语言,并用 B 语言编 写了第一个 UNIX 操作系统。4、在1972年至1973年间,贝尔实验室的 D.M.Ritchie在B语言的基础上设计出 C语言。 二、特色1 、简洁紧凑,使用方便灵活C 语言一共只有 32 个关键
3、字、 9 种控制语句,程序书写自由,压缩了一切不必要的成分, 语言简练。2、运算符丰富C 语言有 34 种运算符和 15 个等级的运算优先顺序,使表达式类型多样化, 可以实现在其它语言中难以实现的运算。3、数据类型丰富C 语言的数据类型有整型、实型、字符型、数组类型、指针类型、结构体类型、联合体类型 及枚举类型等,能用来实现各种复杂的数据结构的运算。4、模块化结构C 语言用函数作为程序的模块单位, 便于实现程序的模块化, 而且便于模块间相互调用及传 递数据。5、语法限制少和程序设计自由度大C 语言允许程序编写者有较大的自由度, 放宽了以往高级语言严格的语法检查, 较好地处理 了“限制”与“灵活
4、”这一对矛盾。6、比较接近硬件C 语言允许直接访问物理地址, 能进行位操作, 能实现汇编语言的大部分功能, 可以直接对 硬件进行操作。7、生成目标代码质量高、程序执行效率高一般只比汇编程序生成的目标代码效率低10% 20%。8、可移植性好 基本上不做修改就能用于各种型号的计算机和各种操作系统。1.2 C 程序结构 下面列出几个简单的 C 程序来说明 C 程序的结构特征。例 1.1 输出一行信息。main ( )printf (This is first C programme! n) ;该程序的作用是输出一行信息: This is first C programme!main 表示“主函数”
5、;函数体用大括号 括起来。本例题中主函数仅包含一个语句,该语句由 printf ()输出函数构 成。括号内双引号中的字符串按原样输出;n 是换行符,即在输出” This is first C programme!后回车换行; 语句后面有一个分号,表示该语句结束,这个分号必不可少。例 1.2 计算两个数之和。main ( )/* 求两个数之和 */int a ,b,sum;/*定义 3 个整型变量 */a=123;/*以下3行为C语句*/b=321 ;sum=a+b;printf (sum is %dn,sum) ;该程序的作用是求两个整数a和b之和sum,并在屏幕上输出 sum。程序中,/*,
6、*/表示注释部分,对编译和运行不起作用。第 3 行是变量说明,使用的 a、 b 和 sum 为整型 (int) 变量。第4行是两个赋值语句,使 a的值为123, b为321。第5行使sum的值为a+b,第6 行的 %d 是输入输出的“格式说明” ,表示“十进制整数类型” , printf 函数中括号内最右端 的 sum 是要输出的变量,当然它的值为444。例 1.3 比较两个数的大小。main ( )/*主函数,功能输入两个整数,判断后输出较大的数 */int a ,b,c;/*定义 3 个整型变量 */scanf (”d,%d,&a,&b) ;/*输入变量 a 和 b 的值 */c=max(
7、a,b);printf (max= %dn,c) ;/*输出c的值*/int max (int x,int y)/*定义max()函数,函数值为整型,x,y为形式参数、整形变量*/ int z ;/* 定义 main () 函数内部用到的变量 z 为整数 */if (xy)z=x;/*将 x,y 中较大的值赋给 z*/elsez=y; return (z) ;/*将z值返回。通过 max()函数带回调用处*/ 该程序的作用是从键盘输入两个整数,然后在屏幕上输出它们中较大值的数。程序的第5行是调用max()函数,在调用过程中将实际参数a和b的值,分别传递给 max()函数中的形式参数 x和y,然
8、后得到一个返回值(z的值),并把这个值赋给变量 c。 运行情况如下:2, 8 /max=8 从以上几个例题,可以看到 C 程序的结构特征。1. C 程序是由函数构成的。一个 C 程序至少有一个 main ()函数,也可以包含一个 main ()函数和若干个其它函数。2. 一个函数有两部分构成。 函数说明部分,即函数的第一行,包括函数类型、函数名、形参类型、形参名。函数体, 由一对大括号 括起来的语句集合。 函数体一般包括有声明部分和执行部分。 声明 部分用于定义所用到的变量。执行部分由若干语句组成。3. 一个C程序总是从main ()函数开始执行,而不管 main ()在源程序中的位置,执行完
9、主函 数中的所有语句后,程序就结束。4. 每个语句和变量定义的最后必须要有一个分号,分号是 C 语句的必要组成部分。5. C 语言本身没有提供输入和输出语句,输入输出操作是通过库函数scanf ()、 printf () 等函数来实现的。6. C 语言用 /*,*/对程序进行注释,/和*之间不允许留有空格,/*和*/应当一一对应匹配,注释部分允许出现在程序中的任何位置上。程序中加一些注释,可以增加程序的可读性。1.3 C 程序的开发过程用 C 语句编写的程序称为“源程序” 。1. C 程序开发的 4 个基本步骤一般 C 程序开发要经历 4 个基本步骤: 编辑编译连接运行( 1 )编辑 使用字处
10、理软件或编辑工具将源程序以文本文件形式保存到磁盘,源程序文件名由用户自己选定,但扩展名必须为 .c 。( 2)编译 编译的功能就是调用“编译程序” ,将已编辑好的源程序翻译成二进制的目标代码。如果源 程序没有语法错误将产生一个与源程序同名,以 .obj 为扩展名的目标程序。(3)连接编译后产生的目标程序往往形成多个模块, 还要和库函数进行连接才能运行, 连接过程是使 用系统提供的“连接程序”运行的。连接后,产生以 .exe 为扩展名的可执行程序。(4)运行可执行程序生成后, 就可以在操作系统的支持下运行, 若执行结果达到预期的目的, 则开发 工作到此完成,否则,要进一步地经过以上过程以取得最终
11、的正确结果。2. 使用 Turbo C 开发程序的方法现在,多数的 C 程序开发使用一个集成 Turbo C 开发工具来完成。下面简单介绍使用 Turbo C 开发程序的方法。(1)Turbo C 的目录及文件Turbo C 应装入磁盘的某一目录下, 例如,放在 c 盘的根目录下一级 TC 子目录下, Turbo C 安装完成后,磁盘上将增加以下目录及文件:TC子目录(c: tc):其中包括tc.exe、tcc.exe、make.exe等执行文件。INCLUDE 子目录 (c:tcinclude) :其中包括 stdio.h 、 string.h 、 math.h 等头文件。Lib 子目录(
12、c:tclib ):其中包括 graphlics.lib 、 math.lib 、 math1.lib 等库函数文件。BGI子目录(c:tc|bgi):其中包括tc运行时所需的信息。通过执行tc.exe命令就可以进入 Turbo C环境,如果用户的当前目录是Turbo C所在的子目录tc,则只需从键盘输入“ tc”命令即可。C:tctc /(2)Turbo C 集成环境作简单介绍,它包括以下几个方面的内容: 主菜单窗口编辑窗口信息窗口功能键提示行3. 用 Turbo C 运行第一个 C 程序下面介绍使用 Turbo C 编辑和运行一个简单的 C 程序的操作步骤:( 1 )编辑或修改源程序。 在
13、编辑窗口键入一下源程序: main ( )printf ( This is my first C program);然后执行“ File/save”命令;或按“ F2”键存盘。( 2)编译与连接源程序。执行“ compile/make exe file ”命令或直接按下 F9 键,即可一次完成编译与连接。( 3)运行程序。按“ F10”键返回主菜单,用光标移动键将亮条移到“Run”菜单选项回车或按下“Ctrl+F9 ”键,即可运行刚生成的可执行文件。此时 Turbo C 工作窗口消失,屏幕上显示程序运行结 果:This is my first C program 若发现运行结果不对,可再按“F
14、 1 0 ”键回工作窗口,重复上述步骤。(4)运行程序后查看程序的运行结果。(5)退出 Turbo C, 按“ Alt+X ”键,系统即退出 Turbo 环境。 本章小结本章对 C 语言进行了总体介绍,对学生的要求是掌握基本概念,学习的过程要紧密结合本 章的知识要点:1. 程序的构成, main () 函数和其他函数。2. 头文件、数据说明、函数的开始和结束标志。3. 源程序的书写格式。4. C 语言的风格。作业: 章节题目: 第二章 顺序结构程序设计教学时间:6 学时 教学目的:1、掌握常量与变量的书写和定义2、掌握三种基本数据类型3、掌握运算符和表达式的使用4、掌握顺序结构程序设计的方法
15、内容、重点、难点: 内容 :2.1 常量和变量2.2 整型数据2.3 实型数据2.4 字符型数据2.5 变量的初始化2.6 运算符和表达式 重点:1、三种基本数据类型的定义和使用2、各种运算符的使用难点:1、运算符的使用2、使用顺序结构编程注:教案尾页有小结和作业 第 2 章 顺序结构程序设计 顺序结构是一组按书写顺序执行的语句。 本章将主要介绍程序中用到的一些基本要素 (常量、 变量、运算符、表达式和输入输出语句等) ,以及基本的数据类型(整型、实型和字符型) 。 2.1 常量和变量一、常量1、 常量:在程序运行的过程中,其值不能被改变的量。如 2、4、-1.6 等。2、分类:普通常量和符号
16、常量3、符号常量:用一个标识符代表一个常量,这样的标识符称为符号常量。如用PI 代表3.14159264、注意:符号常量的值在其作用域内不能改变,也不能再被赋值。如在程序中,对PI 重新赋值:PI = 2;这样是不允许的。二、变量1、变量C 语言规定在程序运行的过程中,其值可以改变的量,称为变量。 2、标识符:用来标识变量名、符号常量名、函数名、数组名、类型名和文件名的有效字符 序列。3、C 语言规定:标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字 母或下划线。一般变量名的长度不能超过 8 个字符。 如下面是合法的标识符,也是合法的变量名:sum,average, day,
17、month , student,_above,k_1_2_3 , basic 下面是不合法的标识符和变量名:M.D.John , $123, #33 ,3D64, a, -ab在C语言中,要求对所有用到的变量作强制定义,也就是先定义,后使用。2.2 整型数据一、整型常量C 语言整型常数可用以下三种形式表示:1. 十进制整数:数码直接开头的十进制数。2. 八进制整数:以 0 开头的常量是八进制数。3. 十六进制整数:以 0x 开头的数是 16 进制数。二、整型变量1. 整型变量的分类 整型变量可分为:基本型、短整型、长整型和无符号型四种,其定义的关键字如下:(1) 基本型,以int表示。范围为-
18、3276832767,即-215(215-1)。( 2)短整型,以 short int 或 short 表示。范围与基本型相同。(3) 长整型,以long int或long表示。若一个整型常量后面加上一个字母I或L,则认为是long int 型常量。范围为 -2147483648214783647 即-231( 231-1)(4) 无符号型,在实际应用中变量的值常常是正的,如年龄、工资、成绩等,因此可以将变量定义为无符号类型。无符号型又分为: 无符号整型, 以 unsigned int 或 unsigned 表示。 范围:065535即 0(216-1 )。 无符号短整型,以 unsigned
19、 short 表示。范围: 065535 即 0( 216-1)。 无符号长整型,以 unsigned long 表示。范围: 04294967295 即 0( 232-1)。2. 整型变量的定义 变量的定义格式为:数据类型 变量表列; 其中若定义多个同类型的变量,则用逗号分开。例: int a,b; (指定变量 a,b 为整型 )unsigned short c,d; (指定变量 c,d 为无符号短整型 )long e,f ;(指定变量 e,f 为长整型 )3. 整型数据的输入整型变量键盘输入,是通过scanf函数实现的,sea nf函数是数据输入函数,格式为:scanf (格式控制,地址表
20、列 );例如:scanf (% d % d , &a,&b);(1 )格式控制是用双引号括起来的字符串,由和格式字符组成,作用是将输入数据 转换为指定的格式输入。(2) 格式字符,对于不同的数据用不同的格式字符。d 格式符是用来输入十进制整数的。因为本节问题中变量 a, b是整型变量,所以输入时,用了d格式符。(3) &a,&b中的&是地址运算符, &a是指a在内存中的地址。上面 seanf函数的 作用是:将a、b的值放到a, b在内存的地址单元中去。所以,在该问题中,若输入:3 5/则输出结果为 a+ b= 84. 整型数据的输出整型数据的输出用printf函数来实现。如 printf (
21、a+ b = % d , e);printf 函数的格式为:printf (格式控制,输出表列);(1) 格式控制和输入函数sea nf的格式控制基本一致。(2) 输出表列是需要输出的数据或表达式。(3) 在输出整型数据时,格式字符如下: d,按整型数据的实际长度输出。 % md , m为输出字段的宽度,如果输出数据的位数小于m则左端补以空格,若大于 m,则按实际位数输出。例如printf (% 4d,%4d,a,b);若 a= 123, d= 12345,则输出结果为V123,12345 (注: V 表示空格字符,下同) %ld ,输出长整型数据。如long a= 135790;printf
22、 ( %8ld ,a);输出结果为: VV135790一个int型数据可以用%d或%ld格式输出。 %u,输出unsigned型数据,即无符号类型,如unsigned u;那么u在输出的时候,应该用 u 格式控制符,那么输出时应使用语句:printf ( %u ,u);例 2.1 从键盘输入任意一个整数,输出这个数的平方的值。main( ) int a;long s;scanf( %d ,&a);s= a*a;printf( s=% ldn ,s);2.3 实型数据一、实型常量实数在 C 语言中,又称浮点数。实数有两种表示形式:1 十进制数形式。由数字和小数点组成(注意必须有小数点)。2指数形
23、式。但注意字母e (或E)之前必须有数字,且e后面指数必须为整数,如e3、2.1e3.5、 .e3、 e 都不是合法的指数形式。二、实型变量在本节问题中, 已知两个数是实数, 那么两数之和与积也必定为实数, 所以需要设四个 实型变量,分别为 a,b,sum,mul。定义语句为:float a,b,sum,mul ;C 实型变量分为:1. 单精度型( float 型)一个 float 型数据在内存中占 4 个字节( 32 位),在 TURBO C 中,单精度实数的范围约为10381038之间并提供7位有效位;小于10-38 的数被处理成零值。2. 双精度型( double 型)一个 double
24、 型数据在内存中占 8 个字节,双精度实数的数值范围约为 1030810308。并提供 1516 位有效位,具体精确多少位与机器有关;小于 10-308 的数 被处理成零值。三、实型数据的输入和输出1. 实型数据的输入实型数据的输入也用seanf函数实现的,格式符使用的是f字符,以小数的形式输入数据,也可以使用 e 字符,以指数的形式输入数据。如本节问题中的 scanf( %f%f ”,&a,&b);2. 实型数据的输出实型数据的输出用 printf 函数实现,格式符使用 f 字符,以小数的形式输出数据。输出时应(1) %f:不指定字段宽度,整数部分会全部输出,并输出 6位小数。(2) %m.
25、n :指定输出数据共占m列,其中有n位小数。如果数值长 度小于m,则左端补空格。(3) % m.n:指定输出数据共占m列,其中有n位小数。如果数值长度小于m,则右端补空格。(4) 若是双精度型变量输出时应用%lf 格式控制,如 double f;输出时应使用语句:printf (” %lf ” ,f);2.4 字符型数据一、字符常量1 、 字符常量C语言的字符常量是用一对单引号括起来的单个字符。口:a、b、夂、D、?、$等都是字符常量。2、转义字符除了这样的字符常量外, C 语言还允许用一种特殊形式的字符常量,就是以一个开头的字符序列例如,前面已经用到,在printf函数中的n,它表示一个换行
26、符。例 2.2 字符常量的输出。main ( )printf ( ab cntde);运行结果 : ab cde二、字符变量在本节问题中,设了两个字符型变量e1和c2。定义形式如下:char c1,c2;它表示 c1 和 c2 为字符型变量,各可以放一个字符。可以用下面语句对c1,c2 赋值:c1= a ; c2= b;因此在内存中一个字符变量只占一个字节。三、字符数据的存储形式字符在内存中存储的不是字符本身,而是它的ASCII码,例如字符a的ASCII码为97,b的ASCII码为98。那么字符的存储形式与整数的存储形式是类似的。C语言使字符型数据和整型数据是通用的。例 2.3 main (
27、) char a1,a2;a1 = 97; a2= 98;printf ( %c %cn ,a1,a2);printf ( %d %dn ,a1,a2); 程序运行时输出如下:a b97 98字符型数据和整型数据是通用的,但应该注意字符数据只占一个字节,它只能存放0255范围内的整数。例 2.4 大小写字母的转换。main ( )char a1,a2;a1= a;a2=b;a1= a1 32; a2= a2 - 32; printf ( %c %cn ,a1,a2); 运行结果为:A B程序的作用是将两个小写字母a和b转换成大写字母A和B。a的ASCII码为97,而A为65, b为98, B
28、为66。从ASCII码表中可以看到每一个小写字母比它相应的大写字 母的 ASCII 码大 32。四、字符型数据的输入和输出1 getchar 函数和 putchar 函数例 2.5 #include stdio.hmain ( )char c;c= getchar (); putchar (c);在运行时,如果从键盘输入字符 a a/(输入a后,按回车键)a(输出变量 c 的值 a)注意: getchar ( )只能接收一个字符。putchar ( )也只能向终端输出一个字符。在使用 getchar函数和 putchar 函数时,程序的首部需使用预编译命令 #include stdio.h。2
29、. scanf函数和printf函数例 2.6 main ( )char c1,c2;scanf (” c%c,&cl,&c2);printf ( %c%c ,c1,c2);若输入为ab/则输出为 ab在使用scanf函数和printf函数输入输出字符型数据时,使用%c格式控制,用来输入输出单个字符。注意,在用%c 格式输入字符时,空格将以有效字符输入:scanf ( %c%c%c ,&c1,&c2,&c3);若输入 aVbVc /则将字符a送给cl,字符空格V 送给c2,因为空格也是一个有效字符,字符b送给c3%c只需要读入一个字符,用了空格做间隔,所以会出现这样的问题。五、字符串常量字符串
30、常量是用双引号括住的字符序列。如:How do you do , CHINA , a等都是字符串常量 .可以输出一个字符串,如printf ( How do you do.);注意:不要将字符常量与字符串常量混淆。a是字符常量,a是字符串常量,二者不同。C 规定:在每个字符串的结尾加一个 “字符串结束标志” 以便系统据此判断字符串是否结束。以0 作为字符串结束标志。0是ASCII码为0的字符,从 ASCII码表中可以看到 ASCII 码为 0 的字符是“空操作字符”不引起任何操作。2.5 变量的初始化变量的初始化, 就是在定义变量的同时给变量赋予初值。 可以采用说明变量的类型, 然后再 赋值的
31、方法,也可以对变量类型说明的同时,给变量赋初值。1 先定义后赋值int a,b,c;a= 2;b = 5;c= 10;2定义和赋值同时进行int a= 5;short b= 10;char c= a;float d = 7.8;3对几个变量同时赋一个初值int a1= 10, a2=10, a3=10;不可以写成:int a1 = a2= a3= 10;但是也可以写成: int a1, a2, a3;a1 = a2= a3= 10;初始化不是在编译阶段完成的, 而是在程序运行时执行本函数时赋以初值的。 相当于一个赋 值语句。例如:int a=10;相当于:int a;a= 10;又如:int
32、a,b,c = 20;相当于:int a,b,c;c= 20;2.6 运算符和表达式一、算术运算符和表达式 例 2.7 已知正方形的长和宽,求正方形的周长。分析正方形的周长公式为:1 = 2* (a+b),已知正方形的长和宽可以计算周长。main ( )int a,b,l;a= 3;b= 4;l= 2*(a+b) ;printf ( l = %dn ,1);1. 基本的算术运算符 (加法运算符,或正值运算符) (减法运算符,或负值运算符)* (乘法运算符)/ (除法运算符)% (模运算符,或求余运算符) 注意:(1)两个整数相除结果为整数。但是如果相除的两个数中,至少有一个为实数,则结 果为带
33、小数的商。(2) % 模运算符,要求操作数均为整型数据,如 7%4 的值为 3。2. 算术表达式用算术运算符和括号将操作数连接起来的,符合C语法规则的式子,称 C算术表达式。在表达式求值时,按运算符的优先级别高低次序执行。例如:10+a+1.5 8765.12* b 在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。3. 强制类型转换 可以用强制类型转换运算符将一个表达式转换成所需类型。例如( double ) a(将 a 转换成 double 类型)(int)(x+y)(将 x+y 的值转换成整型)(float) (5%3)(将 5%3 的值转换成 float 型)一般形式为:(
34、类型名)(表达式)注意:( 1 )类型名应用括号括起来。如( int)( x+y)(2) 已知 float x; 对于 (int)x, x 仍然是 float 类型,而整个表达式 (int)x 为整型。二、赋值运算符和赋值表达式1. 赋值符号赋值符号=就是赋值运算符,将一个数据赋给一个变量。如a=3。2. 类型转换 如果赋值运算符两侧的类型不一致,要进行类型转换。(1) 将实型数据赋给整型变量时, 舍弃实数的小数部分。 如 i 为整型变量, 执行 i= 3.56 的结果是使 i 的值为 3。(2)将整型数据赋给实型变量时,数值不变,但以浮点数形式存储到变量中。3. 复合的赋值运算符 常用的赋值
35、运算符有以下几种:=,=,*=, /=, %=例如:a= 3等价于 a= a 3x* = y 8等价于 x= x* (y 8)x= 3等价于 x= x%34. 赋值表达式由赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式。例如:a= b= c= 5a= 5+(c= 6)a= (b= 4)+(c= 6)(赋值表达式值为 5, a、b、c 值均为 5) (表达式值为 11, a 值为 11, c 的值为 6) (表达式值为10, a值为10, b等于4, c等于6)三、逗号运算符和逗号表达式 逗号运算符将两个表达式连接起来。如3+5 , 6+8称为逗号表达式。逗号表达式的格式为表达式
36、1,表达式 2逗号表达式的求解过程是:先求解表达式1,再求解表达式 2,整个逗号表达式的值是表达式 2 的值。例如逗号表达式a= 3*5, a*4先求解a= 3*5,得a的值为15,然后求解a*4,得60。整个逗号表达式的值为60。课堂练习综合实例例 1 输入三角形的三条边长,求三角形面积。 (为了简单起见,设输入的三边长 a,b,c 能构成三角形)#include math.hmain ( )float a,b,c,s,area;scanf ( %f,%f,%f ,&a,&b,&c);s= 1.0/2*(a+b+c);area= sqrt(s*(s-a)*(s-b)*(s-c);printf
37、 ( a= %7.2f, b = %7.2f, c = %7.2f, s = %7.2fn ,a,b,c,s);printf ( area= %7.2fn ,area);运行情况如下:3, 4, 6a=3.00, b=4.00, c=6.00, s=6.50area=5.33例 2 从键盘输入一个大写字母,要求改用小写字母输出。#include stdio.hmain ( )char c1,c2;cl = getchar ();printf ( %c,%dn ”,c1,c1);c2= c1+32;printf ( %c,%dn ,c2,c2);运行情况如下:A /A, 65a,97本章小结 本
38、章在讲解顺序结构程序设计方法的同时,介绍了三种数据类型。1. 整型数据。主要了解整型数据的定义方法,根据使用整数的范围选用定义整数变量的类 型。掌握整型数据的输入输出方法,主要使用 d 格式控制符。2. 实型数据。主要掌握实型变量的不同定义方法,单精度数和双精度数的表示范围,实型 数据的输入输出方法,主要使用f格式控制符。3. 字符型数据。是由一对单引号括起来的单个字符,要注意,字符与字符串的区别。 还讲解了各种运算符和表达式, 主要掌握算术运算符, 在混合运算中, 要按照运算符的 优先级,结合方向运算。作业:实验一 顺序结构程序设计一、实验目的1. 掌握 C 语言数据类型,熟悉如何定义一个整
39、型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。22. 学会使用有关算术运算符,以及包含这些运算符的表达式。3. 掌握数据的输入输出方法,能正确使用各种格式转换符。二、实验学时数4 学时三、实验内容和步骤1. 启动 TC2.0 编译系统,进入编辑界面,建立一个新文件。文件名自定。(要求每个学生建立一个自己的文件夹, 每个同学的练习和作业的源程序命名形成系列, 便 于检查、查找和考核) 。利用一个小程序验证常量、 变量的使用方法与特点, 验证数据类型和表达式值的计算规则及 其输出格式。参考程序:main( ) char c1,c2;c1=97;c2=98;pr
40、intf( c,cn ,c1,c2);(1 )在此基础上加入以下printf 语句,并运行。printf( d,dn ,c1,c2);(2)将第二行改为以下语句,并运行。int c1,c2;(3)将第三行改为以下语句,并运行。 c1=300;c2=400;分别写出三次运行结果。2编程并调试运行(1) 编程序,用getchar函数读入两个字符给 cl、c2,然后分别用putchar函数和printf 函数输出这两个字符。上机运行此程序,比较 putchar 和 printf 函数输出字符的特点。( 2)试编写程序,从键盘输入一个大写字母,要求改用小写字母输出。 3写出下面程序的运行结果:1 )
41、main()int x=1,y=1,z=1;y=y+x;x=x+y;printf( dn ,x); printf( %dn ,y);2) main()char a;int b;a= A ;b=97;printf(” a:dec=%d oct=% o hex=%x ASCII=%cn ,a,a,a,a); printf(” b:dec=%d oct=% o hex=%x ASCII=%cn ,b,b,b,b); a= M ;b=-8;printf(” a:dec=%d oct=% o hex=%x ASCII=%cn ,a,a,a,a); printf(” b:dec=%d oct=% o he
42、x=%x ASCII=%cn ,b,b,b,b);4. 运行下面的程序,分析功能并纠正错误。main()int a,b,c,d;scanf( %d%d%d%d ;a,b,c,d);printf( a=%d b=%d c=%d e=a+b+c+d=%dn ,a,b,c,d,a+b+c+d); 章节题目:第三章 选择结构程序设计教学时间:8 学时教学目的:1 、掌握关系运算表达式2、掌握逻辑运算表达式3、熟练掌握 if 语句的使用4、掌握 switch 语句内容、重点、难点:内容:3.1 关系运算符和关系表达式3.2 逻辑运算符和逻辑表达式3.3 if 语句3.4 switch 语句重点:1、关系
43、运算符和关系表达式2、逻辑运算符和逻辑表达式3、if 语句的使用难点:1、掌握 switch 语句的使用2、 if 语句的嵌套使用 注:教案尾页有小结和作业第三章 选择结构程序设计 选择结构,或称分支结构,是指对所给定的条件进行判断,然后决定选择执行不同的操作。 本章主要介绍如何用 C 语言实现选择结构。 C 语言的选择语句有两类,一类是 if 语句,另 一类是 switch 语句,本章将分别进行介绍。在介绍选择结构程序设计的同时,还要介绍关 系运算符和关系表达式,逻辑运算符和逻辑表达式等内容。3.1 关系运算符和关系表达式一、关系运算符及其优先次序1、 关系运算符C 语言提供 6 种关系运算
44、符:(小于) (小于或等于)(大于)(大于或等于)(等于)(不等于) = = = !=优先级相同(高)优先级相同(低) 2、关于优先次序:(1 )前4种关系运算符(,=)的优先级别相同,后两种也相同。前 4种高于后2种。例如, 优先于=。而与优先级相同。(2)关系运算符与算术运算符、赋值运算符的优先级关系如下:算术运算符(高)7关系运算符(中)7赋值运算符(低)例如:ab+c等效于 a( b+c)a= =bc 等效于 a= =( b=c 等效于 a=( b=c )(3) 关系运算符的结合方向是“自左向右” 。 注意:“等于”关系的运算符“ = =”和“不等于”关系的运算符“!= ”与数学中的表
45、示方法不同。例如,欲判断x是否等于0,若写成:x=0则表示把0赋值给变量x,正确的写法为: x= =0。二、关系表达式1、关系表达式 用关系运算符将两个表达式(算术表达式、关系表达式、逻辑表达式、赋值表达式、字符表 达式等)连接起来的式子,称关系表达式。例:xy,a+bb 的值为“真”,表达式的值为 1。关系表达式 a= =b 的值为“假”,表达式的值为 0。可以将关系表达式的运算结果(0或1)赋给一个整型变量或字符型变量,如a=4,b=1,下面的赋值语句是将 1 赋给变量 c:c=abc 的值为 1例 3.1 试求 x=531 的值。分析x=531相当于x=(53)仁1仁0说明根据关系运算符
46、的优先级别高于赋值运算符。3.2 逻辑运算符和逻辑表达式一、逻辑运算符及其优先次序1 、逻辑运算符C 语言提供了 3 种逻辑运算符: ! 逻辑非 & 逻辑与 丨 逻辑或其中“ & ”和“丨”为“双目(元)运算符”,要求有两个操作数(即运算量),如(ab)&(x=y),(ab)丨(x=y)。“! ” 是“一目(元)运算符”,只需一个操作数,如!a 或!(a=b)&(xy) 可写成: a=b&xy(a= =b) | (x= =y) 可写成: a= =b | x= =y(3) 逻辑运算的结合方向是“自左向右”。二、逻辑表达式1、 逻辑表达式 用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达
47、式。例如:a&b*c,(a+b) | (cb则将a的值赋给m,若ab) m=a ;else m=b;printf (m=%dn,m);程序运行结果:m=10说明 在该问题中我们借用了 if 语句,通过条件来判断应该执行哪条语句,充分体现出选 择结构程序设计的思想。二、if 语句的三种形式1 if 语句if 语句是条件分支语句最基本的形式。格式: if ( 表达式 ) 语句功能:首先计算表达式的值,若表达式的值为“真” (非 0),则执行语句,若表达式的值为 “假”(0),不执行语句。其流程图3.1(a)所示。例如:if (xy) printf (%d,x);2 if-else 语句if-els
48、e 语句是条件分支语句的标准使用形式。格式: if ( 表达式 ) 语句 1else 语句 2功能:首先计算表达式的值,若表达式的值为“真” (非 0),则执行语句 1,若表达式的值 为“假” (0),则执行语句2。其流程图3.1(b)所示。例如:if (xy) printf (%d,x) ; else printf (%d,y) ;假(0)真(非 0)( a)表达式语句真(非 0)假(0)( b)表达式语句 1语句 23 if-else-if 语句前面两种 if 语句一般都用于两个分支的选择结构。对于多个分支选择时,可采用if-else-if语句。格式:if (表达式 1) 语句 1else
49、 if (表达式 2) 语句 2else if ( 表达式 3) 语句 3IIIelse if ( 表达式 n-1) 语句 n-1else 语句 n 功能:首先计算表达式 1 的值,若为“真” (非 0),执行语句 1 ,否则进行下一步判断;若 表达式 2 为真,执行语句 2,否则进行下一步判断 , 最后所有表达式都为假时,执行语句 n。例如:if (score89)grade=A ;else if (score79) gradeB ;else if (score69) grade C ;else if (score59) gradeD ;else grade E ;关于 if 语句的说明:(1) if 后面圆括号中的表达式一般是关系表达式或逻辑表达式,用于描述选择结构的条件,但也可以是任意的数值类型表达式(包括整型、实型、字符型、指针型数据表达式) 。 例如: if (2) printf (OK!) ;是合法的,因为表达式的值为 2,非 0,按“真”处理,执行结果输出“ OK !”(2) 第二种、第三种格式的if语句中,在每个else前面有一个分号,整个语句结束处也有 一个分号
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度校园心理安全责任协议书
- 2025年度智能化支付解决方案与服务合同
- 二零二五年度实习教师实习岗位工作职责合同
- 二零二五年度能源合同履约金管理及能源节约措施
- 二零二五年度农村房产转让合同(附带农村土地经营权)
- 2025年度金融衍生品交易连带责任保证合同
- 二零二五年度风险评估与风险控制合同
- 2025年度集体合同签订与产业工人队伍建设
- 二零二五年度公司法人变更合同审查与合同争议解决协议
- 二零二五年度精装花园洋房购房定金合同
- 2023中职27 婴幼儿保育 赛题 模块三 婴幼儿早期学习支持(赛项赛题)
- 湖北省丹江口市樊家湾矿区钛磁铁矿资源储量核实报(截至2016年12月底)
- 教师师德和专业发展课件
- 服务器巡检报告模版
- 【员工创新绩效研究文献综述】
- 2023年高中生物新教材人教版(2023年)必修二全册教案
- 【高考核心词汇考前冲刺】介词短语辨析+单选100题高考英语词汇查漏补缺冲刺训练
- 2023年供货方案 医疗器械供货方案(四篇)
- 夫妻吵架复合合同书
- 六年级上册心理健康教育课件-健康上网快乐多 北师大版
- GB/T 23641-2018电气用纤维增强不饱和聚酯模塑料(SMC/BMC)
评论
0/150
提交评论