程序设计教学教案124_第1页
程序设计教学教案124_第2页
程序设计教学教案124_第3页
程序设计教学教案124_第4页
程序设计教学教案124_第5页
已阅读5页,还剩125页未读 继续免费阅读

下载本文档

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

文档简介

教学进程

第一章程序与程序设计语言

[教学目的]:C语言的主要特点、C语言程序的构成及C语言程序的开发环境。掌握VisualC++6.0的程

序开发环境及C语言程序的开发流程。了解程序与程序设计语言的基本概念,程序设计语言

的发展过程等。

[教学重点]:

1、C语言的主要特点。

2、C语言程序的构成要素。

3、C语言程序的开发步骤和程序的调试过程。

[教学难点]:

1、C语言的基本语法结构。

2、C语言程序的开发和调试过程。

[教学时数]:2学时

[授课形式]:多媒体授课、实际操作演示、边讲边练

[教学过程]:

一、新课介绍(5-10分钟左右)

1、自我介绍

2、为什么要学习C语言?

3、教学要求及学习方法

4、课程目标及内容安排

5、课程安排及考核方式

考试(出勤、实验、作业、期中考试)80%+课程设计20%

6、课程要求

二、正课阶段(60分钟左右)

第1章程序设计与C语言

学习目标:理解程序的基本概念。掌握计算机程序设计的一般步骤。了解程序设计语言的发展过程。

1.1程序与程序设计语言

程序的概念:广义地讲程序是解决一个实际问题的基本步骤。在计算机中,程序是指导计算机执行某

个功能或功能组合的一组指令。每一条指令都让计算机执行完成一个具体的操作,一个程序所规定的操作

全部执行完毕后,就能产生计算结果。

程序设计的一般过程:

C语言的发展历史:

□产生过程

时间:70年代初

地点:美国贝尔实验室

目的:用于UNIX操作系统

口C标准

《K&R》标准:K&R合著《TheCProgrammingLanguage》

ANSIC:1983年

87ANSIC:1987年

1990年国际标准的ANSIC

C语言的主要特点:

①C语言的标识符要求区分大小写。

②语言简洁、紧凑,使用方便灵活。

③模块化程序设计。

④运算符丰富,数据结构丰富0

⑤具有结构化的控制语句。

⑥语法限制不太严格,程序设计自由度大。

⑦允许直接访问物理地址,能够进行位操作,可以直接对硬件进行编程。

⑧生成目标代码质量高,程序执行效率高。

⑨可移植性好。

1.3初识C语言程序

编写一个简单的C程序,用于输出指定信息。

//FileName:chapl_l.c〃注释

#include<stdio.h>//预处理命令

intmain()〃主函数

{〃函数体

printR"ThisisthefirstCprogram.\n");〃输出语句

return0;〃返回语句

}

1.4C语言程序的调试

利用C语言编制程序的最终目的是高效地解决现实世界各领域中的实际问题,对实际问题进行分析,

以C语言构建程序的思相为指引设计解决问题的方案,是构建C程序的第一步,通常称为程序设计。在

此基础上,按照C语言的规则编写出C程序,把这个C程序存储在计算机中,运行后产生正确的结果,

是构建C程序的第二步,通常称为程序生成。

“确定”

按钮。系统自动返回VC6主窗口.

③显示文件编辑区窗口,在文件编辑区窗口输入源程序文件。

编译方法:

在VC++环境中单击工具栏目渤!曰色中的参按钮,或者按

Ctrl+F7键,或者选择Build菜单中的Compile选项3种方式都可以进

行程序的编译。执行编译命令后,输出窗口会显示出编译结果。

连接方法:

在VC++环境中单击工具栏.渤!3电中的微按钮,或者按

F7键,或者选择Build菜单中的Build选项3种方式都可以进行程序的

连接。执行连接命令后,输出窗口会显示出连接结果。

执行方法:

在vc++环境中单击工具栏参渤!m曲中的!按钮,或者按

Ctrl+F5键,或者选择Build菜单中的Execute选项3种方式都可以运

行程序。可执行程序运行后,将显示为DOS控制台状态,按任意键

返回VisualC++6.0环境。

三、小结

1.什么是程序

2.程序设计语言的发展过程

3.C语言的发展历史

4.C语言的主要特点

5.C语言程序的调试

四、作业

教材P14习题1所有题目

教学进程

第二章第1讲C语言的基本知识

[教学目的]:通过本节的学习,使学生理解标识符的概念,掌握标识符的定义规则,了解c语言的基本数

据类型,理解常量与变量的概念,熟练掌握整型、实型及字符型常量与变量的定义和使用。

[教学重点]:

1、标识符的定义。

2、变量的定义与应用。

3、常量的定义与应用。

[教学难点]:

1、变量的定义与应用。

2、常量的定义与应用。

[教学时数]:2学时

[授课形式]:多媒体授课、实际操作演示、边讲边练

[教学过程]:

一、课程回顾介绍(5分钟左右)

1、语言的发展经历了那几个阶段?

2、C语言的基本语句结构?

3、C语言的语法特点

4、想一想:下面程序有哪些错误?

main()

{

intx,y,z;

x=30;

y=50,

{z=x;x=y;y|=z;}

printf(x=%d,y=%d\nn,X,Y)

一getchO;______n---------------

二、正课阶段(70分钟左右)

2.1标识符和关键字

自然语言与C语言组成要素对比

官然语言字句段多

单词短语

C语言字符标识符表达式语句函数程序

字符集

字符是组成语言的最基本的元素,国际上使用最广泛的计算机字符编码是ASCII码,标准的ASCII

码字符集包括128个字符。

字符说明

字母字符包括大写字母A〜Z以及小写字母a〜z共52个字符

数字字符包括。〜9共10个字符

空格符空格符只在字符常量和字符串常量中起作用

特殊字符是不可显示、不可打印的字符,用于计算机设备的操作控制以及在数据

特殊字符

通信时进行传输控制

其他字符其它字符包括图形符、标点符和运算符等

标识符:

标识符就是用来标识在C语言程序中出现的符号常量、变量、数据类型、函数和语句的字符序列,C

语言中的标识符是由字符组成,满足一定的构成规则。

C语言规定,标识符由字母、数字、下划线组成,且第一个字符不能使用数字。

例如,〃、例、BOOKI、su〃15、都是合法的标识符,

而3、帅门,-/、3Si”dem、$M(m、Siun@Mul、a>b等是不合法的,不能用作C语言的标识符。

关键字:

关键字是系统定义的、具有特定含义、专门用作特定用途的C语言标识符,也称为保留字。标准C

语言中共有32个关键字。

根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。

(1)数据类型关键字(12个):char,double,enum,float,int,long,short,signed,struct,union,unsigned,

void

(2)控制语句关键字(12个):break,case,continue,default,do,else,for,goto,if,return,switch,while

(3)存储类型关键字(4个):auto,extern,register,static

(4)其它关键字(4个):const,sizeof,typedef,volatile

2.2数据类型

C语言的数据类型

'C语言的数据类float

整型

int

隼精度型

基本类型字符型char-j

双度型

实型(浮点型)

枚举类型enum

数据类型<:double

数组类型

构造类型-结构体类型

-共用体类型

指针类型

空类型

基本数据类型

类型名称中文名称字节数(Byte)位数(bit)数值范围备注

char字符型18728〜127-2?〜(27-1)

int整型216-32768〜32767—215〜(2'5-1)

-3.4X1O-3«~

单精度实型〜位有效数字

float4323.4X103867

-1.7乂1尸》一

double双精度实型86415〜16位有效数字

1.7X1O308

2.3常量与变量

2.3.1常量与变量的概念

常量:

在程序运行过程中其值保持不变的量称为常量。常量可以分为符号常量和直接常量两种。

字面常面(直接常量):12・44.63“Hello!”

符号常量:用一个标识符代表一个常量。

符号常量是采用宏定义命令定义的常量。基定义形式如下:

格式:#define常量名字面常量

举例:#definePRICE100

#definePI3.14

#defineCi'a'

变量:

在程序运行过程中其值可以被改变的量称为变量。变量在内存中根据其数据类型占据一定的存储单

元,用来存入可能变化的值。

变量的定义

变量定义的一般形式为:

类型说明符变量名标识符1,变量名标识符2,…;

例如:intij,k;〃定义i,j,k为整型变量

floatxl,x2;〃定义xl,x2为单精度实型变量

doubleyl,y2;〃定义yl,y2为双精度实型变量

charcl,c2;〃定义cl,c2为字符型变量

变量的赋值

方式1:定义变量的同时赋初值(也叫变量初始化)。

格式:数据类型变量名[=初值][,变量名2[:初值2]……];

如:inia=2;

charc=,x,;

floatx=1.2,y=2.4;

方式2:通过一个赋值语句给变量赋初值。

格式:变量名=初值;

intaM%乒a,b;

-------------------------------b=3;

思考?

#include<stdio.h>

voidmain()

{

intstudent,age;

intif=adrress=l;

floatscore=90;

stadent=2;

Age=20.7;

printf(n%d%d%dif,student,age,score);

?

2.3.2整型常量与变量

整型常量

在C语言中整型常量可以表示为十进制、八进制和十六进制三种形式。

(1)十进制整型常量

其形式是:d

其中,d可以是从。〜9的一个或多个十进制数位,第一位不能是0。进位规则为:逢十进一。

如:123,-456

(2)八进制整型常量

其形式是:0d

其中,d可以是一个或多个八进制数(0〜7之间),起始。是必须的引导符。进位规则为:逢八进一。

如:0123,-0456,

(3)十六进制整型常量

其形式是:Oxd

其中,d可以是一个或多个十六进制数(从0〜9的数字,或是从大到f的字母)。引导符0是必须的,字

母X可以用大写或小写,进位规则为:逢十六进一。

非十进制数转化成十进制数

按权展开:

1)二进制转化十进制

如:1101

=1*23+1*22+0*21+1*20

=8+4+0+1=13

十进制数转化成非十进制数

取余倒排序法:除数破除裁余我

)十进制转化二进制

12|6

如:将6转化成二进制0-

求:将180转化成八进制、2|31

十六进制11

整型变量

类型字节数范围

15

int[signed]int2-32768^32767(2-1)

unsignedint20^65535

short[signed]short[int]2-32768^32767(215-1)

[mt]unsignedshort[int]20^65535

long[signed]long[int]4-2147483648~2147483647

[mt]unsignedlong[int]40^4294967295

实例分析

#include<stdio.h>

intmain()

inta,b,c,d;〃定义a、b、c、d为基本整型变量

unsignedu;〃定义u为无符号基本整型变量

a=10;b=-20;u=5;

c=a+u;

d=b-u;

printf("c=%d,d=%d\n",c,d);

return0;

)

2.3.3实型常量与变量

在C语言中,实型常量有两种表示形式:十进制小数形式和指数形式

(1)十进制小数形式

由正负号、数码。〜9和一个小点组成,小数点前面和后面可以没有数字。

例如

.123//表示实数0.123

-.123〃表示实数-0.123

123.〃表示实数123.0

(2)指数形式

由十进制小数或整数与字母e或E组成。一般形式如下:

aEn或aen

其中,a可以是十进制小数或整数,n必须为十进制整数,整体表示数aXIOn。如:0.23e2,-0.45e-3,

3.0F+5

实型变量

类型字节数有效数字数值范围

float46*7io-37*io38

double815-16io~3O7*io308

longdouble1018-1910-4931~104932

实例分析

#include<stdio.h>

intmain()

<

floatazb;〃定义a、b为单精度浮点型变量

doubled;〃定义d为双精度浮点型变量

a=3.56;b=12345.678;

d=12345.6789;

printf("%fz%f,b,d);

return0;

}

2.3.4字符型常量与变量

在C语言中字符型数据包括字符和字符串两种。字符型数据在内存中

存储的是字符的ASCII码值的二进制形式,一个字符的存储占用一个字节。

字符常量

C语言中,字符常量分为普通字符常量和转义字符两种。

常用转义字符及其含义

为义字符含义ASCH码值《十进制)

«W<ML)7

退格BS)8

\f投页an12

\n执行0J)10

3回王仁B)13

水平制寰(KT)9

岳直制奏《VI)11

反制杠或

问号字苻63

V单徽号字符39

V双魔号字符34

\0空手符(皿)0

\ddd任意字符dA5f制

\xhh任意字符1~2位十六进制

字符变量

每个字符变量被分配一个字节的内存空间。由于字符变量在内存中存

放的是字符的ASCII码值,所以也可以把它们看成是整型量。字符数据可以参与算术运算,也可以与整

型量相互赋值,还可以按照整数形式输出。

实例分析

#include<stdio.h>

intmain()

{

shortintn=97;〃字符的ASCII码为97

printf("%d,%c,%d,%c\n",n,n,n+1,n+1);

return0;

)

字符串常量

C涪言中的字符串常量是由一对双引号括起来的字符序列。

字符串常量和字符常量是不相同的量,其区别如下:

(1)从表不形式上看,字符常量是由单引号括起来的,字符串常量是由双引号括起来的。

(2)从字符的个数上看,字符常量只能是单个字符,字符串常量可以包含0个或多个字符。

(3)有字符变量,但没有字符串变量。C语言没有专门的字符串类型变量,而是使用字符型数组或字符

型指针来存储字符串。

(4)字符常量在内存中占1个字节,字符串常量在内存中的字节数是字符个数加1。因为C语言规定,

每一个字符串的末尾加一个字符串结束标志\0(ASCII码为0

三、小结

1、标识符和关键字

2、C语言的数据类型

3、常量的概念、分类及表示方法

4、变量的概念、分类及定义、赋值方法

四、作业

教材P14习题1所有题目

教学进程

第二章第2讲C语言的基本知识(二)

[教学目的]:通过本节的学习,使学生熟练掌握c语言提供的各种运算符,掌握运算符的优先级和结合

性,掌握各种数据类型间的转换并能够应用所学知识编写简单的应用程序。

[教学重点]:

1、算术运算符与表达式。

2、关系运算符及表达式。

3、逻辑运算符及表达式。

4、?:条件表达式

5、逗号表达式

[教学难点]:

1、?:条件表达式

2、逗号表达式

[教学时数]:2学时

[授课形式]:多媒体授课、实际操作演示、边讲边练

[教学过程]:

一、课程回顾介绍(5分钟左右)

1、标示符的构成?

2、变量的定义格式及赋值方法?

3、下面哪些是合法的实型常量?

4、说出下列字符串“Goodstudents”的长度?字节数?以及在内存中的存放方式

5、字符常量与字符串常量有哪些区别?

想一想,分析下面程序的运行结果?

#include<stdio.h>

voidmain()

charchi,ch2;

chl='az;ch2='bz;

n,

printf(chl=%c,chl=%d\n'zchi,chl);

printf("ch2=%c,ch2=%d\n",ch2,ch2);

printf("ch2-32=%czch2-32=%d\n"zch2-

32,ch2-32);

二、正课阶段(70分钟左右)

2.1运算符和表达式

基本概念

运算是对数据进行加工的过程,用来表示各种不同运算的符号称为运算符。参加运算的数据称为运

算量或操作数。用运算符将运算量连接起来的符合C语言语法规则的式子称为运算表达式,简称表达式。

C语言的运算符

运篁符类型包括运菖符

算术运算符♦、一、*、/、*,++、---

关系运“符X<==、X、<=、!=

逻辑运算符1、M、||

位嫌作运“符«.>X\二&

睢值运”符;及我复合睢值运凝符

条件运”符?:

逗号运算符

指针运”符&A

求字字运复符sizeof

特殊运篁符()、[】、.

2.1.1算术运算符及算术表达式

算术运算符

C语言算术运算符可以分为基本算术运算符、自增、自减运算符和止负号运算符三类。

(1)基本算术运算符

基本算术运算符包括5种:+(加)、-(减)、*(乘)、/(除)、%(取余〕。

(2)自增和自减运算符

C语言中的自增运算符为++,自减运算符为都是单目运算符,具有右结合

性。运算符“++”表示操作数加1,运算符表示操作数减L

(3)正负号运算符

正负号运算符是单目运算符,如-a,-b,・5,+8等。

算术表达式

用算术运算符将运算对象连接起来,符合C语法规则,并能说明运算过程的式子,称为算术表达式。

算术达式的构成规则如下:

1)数值型常量、数值型变量、数值型函数调用;

2)+(算术表达式)、一(算术表达式);

3)++整型变量、一一整型变量、整型变量++、整型变量一一;

4)(算术表达式)双目算术运算符(算术表达式);

5)有限次使用上述规则获得运算式也是算术表达式。

(1)基本算术运算符:+-*/%

说明两个整数相除的结果为整数.舍去小数部分.例'

当前为负数时,多采用•向零取的方法.・93-1

5.0/3-?

求余运算的两均应为整数例,3%3=2

案例1:已知三角形的边长a、b、c,求三角形周长的一半

程序运行结果口

#include<stdio.h>

voidmain()s=0.00.*

{

floatazb,czs;

a=3;b=4;c=5;

s=l/2*(a+b+c);

n

printf(s=%8.2f"zs);

)

⑵自增'自减运算符

自增运算符(++)

自减运算符(一一)

++i,-i(在使用i之前,使i的值加(减)1)

i++,i-(在使用i之后,使i的值加(减)I)

思考:分析下面的程序运行结果?

#include<stdio.h>

main()/*主函数*/

{

int

i=5;

j=10;

ni=++i;

n=j++;

k=i+j++;

printf(',i=%d\nj=%d\n,m=%d\n,n=%d\n,k=%d\n,'jj,m,n,k);

getchO;

]

2.1.2关系运算符及关系表达式

关系运算符:vv=>>===!=(6种)

优先级:赋值<关系(后2〈前4)<算术

关系表达式用关系运算符将两个表达式连接起来的式子

2.1.3逻辑运算符及逻辑表达式

逻辑运算符:!(逻辑非)&&(逻辑与)||(逻辑或)

逻辑运算真值表

.b!a!b•1lb

$0充。0011

$000101

0$01001

001100

逻辑表达式

用逻辑运算符和圆括号将操作数连接起来的、符合C语法规则的式子

称为逻辑表达式。具体构成规则如下:

单目逻辑运算符表达式

表达式双目逻辑运算符表达式

2.1.4赋值运算符及赋值表达式

(=)用于赋值运算,是C语言中最基本的运算符,分为基本的赋值运算和复合赋值运算。由』”连接

的式子称为赋值表达式。

简单赋值运算符:=

复合赋值运算符:+=»-=»*=,/=»%=

格式:〈变量〉〈赋值运算符A<表达式〉

例如:inta=10:

例如:a+=10等价于a=a+10

2.1.5条件运算符及条件表达式赋值运算符

条件运算符(?:)是C语言中唯一的一个三目运算符,其目的是进行条件判断。

条件运算符的一般格式为:

表达式1?表达式2:表达式3

条件运算符的运算规则可以描述为:如果“表达式1”的值为非0(即逻辑真),则运算结果等于“表

达式2”的值;否则,运算结果等于“表达3”的值。

例:max=(a>b)?a:b;

2.1.6逗号运算符及逗号表达式

逗号运算符:,

逗号表达式格式:表达式1,表达式2,.................表达式n

案例分析:阅读下列程序,写出运行结果

#include<stdio.h>

inimain()

inta=l,b=3,c=5,x,y;

y=((x=a+b),(b+c));

printf("y=%d,x=%d\n\n",y,x);

return0;

2.1.7sizeof运算符及sizeof表达式

sizeof是C语言的一种单目操作符。将sizeof运算符与操作数组合在一起构成的式子称为sizeof表达式。

sizeof运算符用来获得一个数据或数据类型在内存中所占空间的字节数。

Sizeof表达式的一般形式

sizeof(表达式)或sizeof(数据类型名)

2.1.8C语言运算符的优先级与结合性

运算符要荥运复对■的个数优先0结合性

1♦+一♦—《芟型)sizeof1(单目运■后)高右结合

*/«2(双目运宣籽)左结合

♦-2(双目运,衿)左转合

<<=>>=2(双目运篁箭)左结合

2(双目运或苻)左结合

M2(双目运宜存)左结合

II2(双目运*行)左结合

?:3(三目运,存)右结合

=yy2(双目运•存)右结合

双目运,将)左结合

fft

2.2不同数据类型数据间的混合运算

在进行某种数值运算的过程中,会对操作数的数据类型进行类型转换,有些转换由系统自动进行,

有些转换由程序员人为指定。

2.2.1自动转换

对于系统自动进行的类型转换通常要遵循一定的转换规则,如图所示

double—float高

Ion

untstsne

,工

inVt4——char、shortffe

2.2.2强制转换

强制类型转换的一般形式如下:

(类型说明符)(表达式)

其功能是把表达式的值的数据类型强制转换成类型说明符所指定的类型。

例如,(floai)a表示将变量a转换成float型

(int)(x+y)表示将表达式“x+y”的值转换成int型。

案例分析:阅读下列程序,写出运行结果?

*include<stdio.h>

intmain()

f

I

floatx;

iiiti;

x=4.8;

i=(int)x;将'临时强制转换成整型,离开本行x还是单精度型

print£(nx=%f,i=%du,x.i);

(

三、小结

1、C语言的运算符及表达式

>算术运算符及算术表达式

>关系运算符及关系表达式

>逻辑运算符及逻辑表达式

>赋值运算符及赋值表达式

>条件运算符及条件表达式

>逗号运算符及逗号表达式

>sizeof运算符及sizeof表达式

2、C语言运算符的优先级与结合性

3、不同数据类型数据间的混合运算

四、作业

教材P14习题1所有题目

教学进程

第三章第1讲算法及顺序结构

[教学目的]:通过本节的学习,使学生理解算法的基本概念,熟练掌握流程图、N-

S图,掌握顺序结构程序设计,并能够应用所学知识编写简单的应用程序。

[教学重点]:

1、算法的特性和要素。

2、流程图、N-S图的画法。

3、顺序结构设计。

4、标准的输入输出函数(getchar()putchar();scanf()printf())

[教学难点]:

1、流程图、N-S图的画法

2、标准的输入输出函数(getchar。、putchar();scanf()>printf())

[教学时数]:2学时

[授课形式]:多媒体授课、实际操作演示、边讲边练

[教学过程]:

一、课程回顾介绍(5分钟左右)

1、指出下列各表达式的值:

如:123/10%10、19%4/5、16/5.0

2、以下程序的输出结果是:

//include"stdio.h"

mainO

(

inta=4,b=5,c=0,d;

d=!a&&!b||!c;

printf(H%d\nH,d);

3、阅读以下程序,写出程序的输出结果?

#inchide”stdio.h”

mainO

inta=5,b=4,c=6,d;

printf(**%d\n*,,d=a>b?(a>c?a:c):(b));

getchO;

}

二、正课阶段(70分钟左右)

2.1算法的基本知识

算法的概念

广义上讲,算法是解决某一问题的方法和步骤。狭义上,算法指的是计算机算法,即对特定问题求解

步骤的•种描述,它是计算机指令的有限序列,其中每•条指令表示计算机可以进行的一个或多个操作。

2.1.1算法的特性和要素

算法的特性

有穷性、确定性、可行性、有零个或多个输入、有一个或多个输出

算法的要素

一个计算机所能执行的算法必须具备以下两个要素:基本操作、控制结构

2.1.2算法的描述

算法的描述方法有很多种,最常用的有自然语言、伪代码、流程图、N-

S组、PAD图和计算机语言等。

(1)自然语言

(2)流程图

流程图是一种传统的算法表示方法,用一些图框表示各种操作,用流

程线表不操作的执仃顺序。

起止框•输入输出框.判断框.处理框.

O

流程线•连接点.,注释框」

实例分析:用流图描述sum=l+2+3+...+99+100的算法

饰出

(3)N-S图

N-S图是由LNassi和B.Shneiderman于1973年共同提出的一种结构化描

述方法。

实例分析:用N-S图描述sum=l+2+3+...+99+100的算法

用Z—£RFU络让6”“―1.2.R.♦QO*l<M>6hW

(4)程序设计语言

对于采用自然语言、流程图和N-S图描述的算法,计算机是不能执行的。

要让计算机执行一个算法,必须把该算法转换成计算机语言。用计算机语言

表示算法必须严格遵循所使用语言的语法规则。

2.2顺序结构程序设计

2.2.1表达式语句

表达式语句是由表达式加上分号(;)组成。其一般形式如下:

表达式;

2.2.2函数调用语句

函数是C程序的基本组成单位,一个函数的执行是通过在程序中调用这

个函数来实现的,调用函数的操作由C语句来完成,通常称为函数调用语句。

其一般形式如下:

函数名(参数表);

例如,“printfThcllo!”);"就是一个函数调用语句。

C语言提供的输入输出标准库函数有:

getchar()>pulchar()>puts()>gets。、scanf()Wprintf()«

(1)getchar()

字符输入函数的一般形式如下:

intgetchar();

功能:接收从终端输入的一个字符,并返回其ASCH码值。

例如:intch=getchar();〃从输入终端(如键盘)接收一个字符并把它赋给ch变量。

实例分析:阅读下列程序,分析运行结果

#indude<stdio.h>输入:

voidmain()

aJ

<

charcl;

cl=getchar();摘入:检ab

putchar(cl);ab

putchar(getchar());

y

getchar。与getch()的区别?

getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在健

盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).如用户在按回车之前输入了不止一个字符,其

他字符会保留在键盘缓存区中,等待后续gelchar调用读取.也就是说,后续的getchar调用不会等待用户按键,

而直接读取缓冲区中的字符,直到缓冲X中的字符读完为后,才等待用户按键.

getch()与getcharO基本功能相同,差别是getch()直接从键盘获取键值,不等待用户按回车,只要用户按一个

键,getch()就立刻返回

(2)putchar()

字符输出函数的一般形式如下:

intputchar(charch)

功能:向终端输出一个字符,并返I可该字符的ASCH码值

实例分析:阅读下列程序,分析运行结果

attlao]»

USMUMLM»

CKMchi.chXch^.ch4.

cblF««eiH>fch2"Y«<etvMi>.

chA^etciMnhch9F«chnnL

pNchwlchlI.prtctian*tf>>

patchmidC).

尸-chivldm.

icttatiO.

(3)printf()

格式化输出函数的一般形式如下:

intprintf(char*format[,argument,...]);

功能:函数printf将一组参数,按format给定的格式,把数据格式化并且输出到标准输出设备。若出

错,则返回负数。向终端输出一个字符,并返回该字符的ASCII码值。

函数调用的一般形式为:

prinlf("格式控制字符串”,输出项列表);

%[标识][宽度][.精度]格式字符

例如:格式输出举例——f格式符

floatx=123.456;

123.456001

printfC%C,x);

123.456001

printfC%10fx);

r___123.46

printfC%10.2F.xJ;

printf(%.2匚xE123.46

123.46___

printfC%10.2「,x);

(4)scanf()

格式化输入函数的一般形式如下:

intscanf(格式控制字符串,地址列表)

功能:按照格式控制的要求,将从终端输入的数据赋值给地址列表中的各个变量。格式控制字符串的

含义和函数printf()中的格式控制字符串类似,地址列表列虚了各变量的地址,由取地址运算符“&”后跟

变量名组成。

函数调用的一般形式为:

scanf("格式控制字符串”,地址列表);

%[*][宽度]格式字符

I3,」

3,4

举例E'b;_K

»«由"。廿AxT,痴,&b);[)\

MntfC°/M%<rab);

3,4

m、b;n,___K,,

»c«ifC%d,%<r&a,&b);:4

pdntfC%d,°/od,〜b);I%,

2.2.3空语句

仅由分号组成的语句称为空语句。空语句是不执行任何操作的语句。

例如,

while(getchar()!='\n')

{

;〃循环体为空语句

)

空语句通常起到占位的作用,在程序没有完全开发完成前,可用空语

句占位,以便后续开发填充代码。

2.2.4复合语句

把多个语句用大括号括起来组成的语句称为复合语句。在语法上,复合语句相当于单条语句,而不是

多条语句。其一般形式为:

(

语句1

语句n

)

复合语句可以放在能够使用语句的任何地方,它建立一个新的作用域或块。复合语句是C语言中唯

一不用分号结尾的语句。

三、小结

I、C语言的运算符及表达式

>算术运算符及算术表达式

>关系运算符及关系表达式

>逻辑运算符及逻辑表达式

>赋值运算符及赋值表达式

>条件运算符及条件表达式

>逗号运算符及逗号表达式

>sizeof运算符及sizeof表达式

2、C语言运算符的优先级与结合性

3、不同数据类型数据间的混合运算

四、作业

教材P14习题1所有题目

教学进程

第三章第2讲选择结构设计

[教学目的]:通过本节的讲解使学生了解c语言的基本程序设计结构一一选择结构。使学生能够达到编

写简单程序的能力。

[教学重点]:

1、if语句格式

2、switch语句格式。

[教学难点]:

1、if语句多分支结构

2、if语句的嵌套

[教学时数]:2学时

[授课形式]:多媒体授课、实际操作演示、边讲边练

[教学过程]:

一、课程回顾介绍(5分钟左右)

1、单个字符的输入、输出

getchar()putchar()

按格式的输入、输出

scanf()printf()

2、阅读下列程序,分析运行结果

#include"stdio.h"

main()

intnum=12345;

floatx=123.456;

printf("num=%3d,x=%1Of\n",num,x);

printf(,,num=%d,x=%.2f\n",num,x);

prinlf(',num=%-8d,x=%-10.2f),num,x);

getch();

二、正课阶段(70分钟左右)

3.3.1if语句

(1)单分支if语句

该语句的一般形式如下「一

if(表达式)

语句;

功能:如果表达式的值为其,

则执行其后面的语句,否则不执

行该语句。

(2)双分支if语句

程序举例:

#include<stdio.h>

voidmain()

(

intnum;

printf("\n请输入一个整数:");

scanf("%cT,&num);

if((num%2)==0)

primR“%d是一个偶数。\n",num);

else

printff%d是一个奇数。\n",num);}

(3)多分支if语句

该语句的一般形式如下:

if(表达式1)

语句1

elseif(表达式2)

语句2

elseif(表达式n)

语句n

else

语句n+1

功能:依次判断表达式的值,当出现某个表达式的值为真时,则执行其对应的语句,然后跳转到整

个if语句之后继续执行程序;如果所有的表达式均为假,则执行else后的语句,即语句n+L

案例分析:

根据输入的考试成绩(百分制整数)打印出等级水平。(使用if~else语句实现)A:90-100B:80-89

C:70-79D:60-69E:<60

#indude<stdio.h>

voidmain()

<

intscore;

printfC请始入考试成绩0〜100:");

bCdiirC'^d^&M-ore);

if(score>100)

printfC请洽入。〜100之间的整数\n");

elseif(score>=90)printfC'A\nw);

elseif(score>=80)printfC'B\n*r);

elseif(score>=70)printfC'C\n,r);

elseif(score>=60)

printfCD\n*3;

else

DrintfCTW);}

(4)嵌套的if语句

当if语句的操作语句中包含其他if语句时,称为嵌套的if语句。该

语句的基本形式如下:

if(表达式1).

if(表达式2〉)

语句

else>if子句内嵌if语句

语句2.」

else^

if(表达式3〉)

语句3~

else»else子句内嵌if语句

语句4”.

案例分析

main()

<

inta=lzb=3zc=5zd=4zx;

if(a<b)

if(c<d)x=l;

else

if(a<c)

if(b<d)x=2;

elsex=3;

elsex=6;

elsex=7;

printf("x=^>d",x);

getch();

)

思考?

1)编写程序,输入一个x的值,按以下函数计算并输出y的值。

2)求一个仟意的一元二次议程ax2+bx+c=0的解。

3.3.2switch语句

C语言提供switch语句专门处理多分支的情形,使程序变得简洁易懂。

switch语句的一般形式如下:

switch(表达

温馨提示

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

评论

0/150

提交评论