《C语言程序设计基础》教案非计算机专业Word下载.docx
《《C语言程序设计基础》教案非计算机专业Word下载.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计基础》教案非计算机专业Word下载.docx(42页珍藏版)》请在冰豆网上搜索。
(2)运算符丰富。
34种运算符。
(3)数据类型丰富,具有现代语言的各种数据结构。
(4)具有结构化的控制语句,是完全模块化和结构化的语言。
(5)语法限制不太严格,程序设计自由度大。
(6)兼有高级和低级语言的特点。
(7)目标代码质量高,程序执行效率高。
(8)程序可移植性好(与汇编语言比)。
3)简单C程序的介绍------通过简单C程序的例子,介绍C程序的构成模式。
4)C语言上机步骤与方法------通过简单的VisualC++上机视频介绍如何在该环境编辑、编译、连接和运行一个C程序。
3.课堂讨论(10分钟)
简单C程序的分析和讨论。
4.内容小结(5分钟)
(1)C语言的特点
(2)简单C程序构成模式
(3)C语言上机环境。
六、实施步骤
通过多媒体与板书结合,在课堂讲授过程中采用启发教学方式,,通过适当的课堂讨论来提高学生的积极性。
七、总结
通过本章节的学习,我们应该要掌握以下几点内容:
1.简单C程序各组成部分及其相关句法规则;
2.C程序的运行环境及上机步骤。
第2次课教案
1.常量与变量的相关概念;
2.整型数据、浮点型数据的存储方式及表示方法。
1.掌握常量与变量的相关概念;
2.掌握整型常量和变量的存储方式及表示方法;
3.掌握浮点型常量和变量的存储方式及表示方法。
1.常量和变量的相关概念;
2.整型数据和浮点型数据的存储方式及表示方法。
整型数据和浮点型数据的存储方式及表示方法。
五、本讲计划学时---2学时(100分钟)
1.开始部分(5分钟)
复习上节课内容,回顾简单C程序构成模式。
2.讲授课程(80分钟)
1.C语言的基本元素
1)符号集(字符集)
(1)大写字母:
A~Z
(2)小写字母a~z
(3)阿拉伯数字:
0~9(4)下划线:
_
(5)标点符号和运算符
2)标识符
用来标记常量、变量、函数及文件名字的字符序列。
标识符的构成规则:
(1)以字母(大小写皆可)或下划线开头
(2)随后可跟若干个(包括0个)字母、数字、下划线
3)关键字(附录B)
也称“保留字”
它是C语言中具有特定含义、专门用作语言特定成分的一类标识符。
ANSI推荐的C语言的关键字是32个
如:
main、int、char、float、define等
注意:
所有的关键字都有固定的意义,不能用作其他。
所有关键字都必须小写。
如:
else与ELSE代表不同含义
else是关键字,ELSE用户定义的标识符
2.通过实例深入理解常量和变量的概念,及相关的命名规则。
1)编译系统将大写字母和小写字母认为是两个不同的字符(习惯上,符号常量用大写)。
2)建议变量名的长度最好不要超过8个字符。
3)在选择变量名和其它标识符时,应注意做到“见名知意”,即选有含意的英文单词(或其缩写)作标识符。
4)要求对所有用到的变量作强制定义,也就是“先定义,后使用”。
3.整型数据
1)整型数据在内存中是以二进制形式存放的,以二进制的补码表示;
2)C规定在程序中所有用到的变量都必须在程序中定义,即“强制类型定义”;
3)一个整型变量只能容纳-32768~32767范围内的数,无法表示大于32767或小于-32768的数。
遇此情况就发生“溢出”;
4)一个整数,如果其值在-32768~+32767范围内,认为它是int型,它可以赋值给int型和longint型变量;
5)一个int型的常量同时也是一个shortint型常量,可以赋给int型或shortint型量;
6)一个整常量后面加一个字母u或U,认为是unsignedint型,如12345u,在内存中按unsignedint规定的方式存放;
7)在一个整常量后面加一个字母l或L,则认为是longint型常量。
4.浮点型数据
1)一个浮点型数据一般在内存中占4个字节(32位)。
与整型数据的存储方式不同,浮点型数据是按照指数形式存储的;
2)浮点型变量分为单精度(float型)、双精度(double型)和长双精度型(longdouble)三类形式。
对常量、变量等概念的有关习题进行分析和讨论。
(1)C语言基本元素
(2)常量和变量
(3)整型和浮点型数据
七、课外作业布置
熟悉学习辅导中的VisualC++上机环境,学会编译前两讲的简单C程序。
八、总结
1.理解常量与变量的概念及语法规则;
2.掌握整型及浮点型数据的存储方式及表示方法。
第3次课教案
1.字符型数据的语法及其存储形式和使用方法;
2.算术运算符和表达式及逗号运算符和逗号表达式。
1.掌握字符型数据的存储方式、表示方法;
2.掌握不同类型间数据转换的原则与方法;
3.掌握有关运算符与表达式的运用。
1.字符型数据
2.运算符和表达式的运用
在第一章的讲授中,大家已大概了解了下C程序的构成框架,先对上次课内容进行简单的回顾,复习整型、浮点型数据的相关表示形式。
1)字符常量:
用单引号包含的一个字符
2)转义字符
3)字符变量
4)字符数据在内存中的存储形式及其使用方法
●一个字符常量存放到一个字符变量中,实际上并不是把该字符的字型放到内存中去,而是将该字符的相应的ASCII代码放到存储单元中。
这样使字符型数据和整型数据之间可以通用。
●字符数据与整型数据可以相互赋值
●字符数据可以以字符形式输出,也可以用整型数形式输出。
voidmain()
{charc;
c=‘\376’;
//八进制数\376(十进制为254)
printf(“%c,%d\n”,c,c);
}//有些系统(如TurboC)将字符处理为带符号的整数。
5)字符串常量
2.各类数值型数据间的混合运算
整型(包括int,short,long)、浮点型(包括float,double)可以混合运算。
3.算术运算符和算术表达式
C运算符
(1)基本的算术运算符:
•+(加法运算符,或正值运算符。
如:
3+5、+3)
•-(减法运算符,或负值运算符。
5-2、-3)
•*(乘法运算符。
3*5,2*x,3*(a+b))
•/(除法运算符。
5/3,(x+y)/(a+b))
•%(模运算符,或称求余运算符,%两侧均应为整型数据,如:
7%4的值为3)。
(2)算术表达式和运算符的优先级与结合性
(3)强制类型转换运算符
(4)自增、自减运算符
4.逗号运算符和逗号表达式
●逗号表达式的一般形式可以扩展为:
表达式1,表达式2,表达式3,……,表达式n,它的值为表达式n的值。
●逗号运算符是所有运算符中级别最低的。
#include<
stdio.h>
voidmain()
{inta=1;
printf(“结果为:
%d\n”,a=3*a,3*a);
//若改为(a=3*a,3*a),考虑输出结果的不同
}
字符数据输出及逗号运算符的使用。
(1)字符型数据
(2)算术运算符和算术表达式
(3)逗号运算符和逗号表达式
1.完成第二章的复习题;
2.上机练习课本例题及书后习题。
数据类型是C语言的基础,牢固掌握数据类型的相关语法,结合习题、上机进一步了解C程序设计的相关知识,为以后程序分析与设计打好良好基础。
第4次课教案
1.程序的三种基本结构
2.赋值语句
3.字符数据的输入输出
1.掌握语句的概念;
2.掌握字符数据输入输出函数。
1.赋值语句
2.字符数据的输入输出函数
复习第2章有关数据类型与表达式的知识,指出上周上机操作存在的不足及需要改进的地方。
1.通过对程序的三种基本结构的介绍引入顺序程序设计的讲授。
2.了解C语言中语句的分类
1)简单语句
2)复合语句
3)空语句
3.赋值语句
1)掌握赋值表达式的相关概念及写法
赋值运算符“=”
用法:
变量=表达式
作用:
将表达式的值赋给变量(常量、变量是表达式的特例)
如:
a=5;
ave=(a+b)/10;
赋值结果与类型转换
●实型数据(单、双精度)赋给整型变量时,舍弃实数的小数部分。
●整型数据赋给单、双精度变量时,数值不变,但以浮点数形式存储到变量中。
●长度相同的有符号与无符号整型数间,原样赋值(但数值有时会有变化)
●char、int、long等类型的转换
2)赋值语句(第2章介绍了相关知识)
4.字符数据的输入输出(通过了解输入输出的概念来进一步学习)
1)字符输出函数putchar
形式:
putchar(c)
作用:
向显示器上输出一个字符
2)字符输入函数getchar()
格式:
getchar()
从键盘缓冲区读入一个字符
注意:
当输入多个字符时,多余字符作废;
用getchar()得到的字符可以赋给字符型变量、整型变量,或作为表达式的一部分。
赋值运算符及字数输入输出函数的使用。
(1)三种基本结构
(2)赋值语句
(3)字符输入输出函数
1.上机练习课本例题,理解赋值语句与字符输入输出语句的应用;
2.尝试修改程序达到发现问题的目的,在不断的上机实践中发现自己在语法上的问题。
结合前面所学知识,进一步了解书上例题及学习辅导中例题的含义,理解赋值语句与字符输入输出语句的应用。
第5次课教案
1.简单的格式输入与输出
2.较复杂的输入输出格式控制
3.初略地了解算法的相关概念
掌握格式输入输出函数的用法。
格式输入输出函数的用法。
格式输入输出函数的用法;
复习前一次课有关知识,讲解上机出现的问题。
1.简单的输入输出函数
1)简单的printf函数输出数据
printf(格式控制符,输出项列表)
格式控制符:
双引号括起来的字符串
输出项列表:
要输出的内容(常量、变量、表达式等)
格式控制字符串------i=%3df=%5.1f
格式控制符完整的格式:
说明:
格式字符:
指定输出项的数据类型和输出的格式
1)d——十进制整数
2)o——无符号八进制数
3)x——无符号十六进制数
4)u——不带符号的十进制整数
5)c输出一字符
6)s输出一字符串
7)e以指数的形式输出实型数
8)f以小数的形式输出实型数
9)g自动决定输出格式为e和f中较短的一种
10)%输出%
长度修正符
l:
对整型指长整型long
例:
%ld,%lx,%lo,%lu
对实型指双精度double
%lf
域宽及精度的描述
m:
域宽,即对应的输出项在输出设备上所占的字符数
若实际数据宽度>
m,按实际数据宽度输出
若实际数据宽度<
m,左边补空
n:
精度,说明输出的实型数的小数位数
需要注意的几点:
●编译程序只是检查printf函数的调用形式,不分析格式控制字符串,如果格式字符与输出项的类型不匹配,不进行类型转换;
●格式字符要用小写字母;
●格式控制字符串中可以包含转义字符;
●格式控制字符串中的普通字符则原样输出;
●输出项的参数除了常数、变量外还可以是表达式、函数调用。
2)格式输入函数scanf
按格式控制符的要求将数据从终端传送到变量地址所指定的内存空间
形式:
scanf(格式控制符,变量地址列表)
变量地址:
通过对变量名“求地址”运算得到
形式:
&
变量名
控制符格式与printf相似,在此不做过多说明。
●scanf中不使用U说明符,对unsigned型数据用d,o,x说明符输入;
●输入数据时不能规定数据的精度
scanf(“%4.2f”,&
a);
●在“格式控制”字符串中,若有格式说明以外的其他字符,输入时应照原样输入
scanf(“a=%d,b=%f”,&
a,&
b);
输入:
a=123,b=45.678
●%c一次接收一个字符,无需单引号,空格字符是有效字符。
2.简单的顺序结构程序设计
通过课本中两个具体实例,分析如何使用输入输出函数及简单顺序程序设计。
(1)输入函数
(2)输出函数
1.书后习题3、4、6;
2.鸡兔同笼问题:
已知鸡兔总头数为h,总脚数为f,求鸡兔各多少只?
C的输入输出格式较多,比较烦琐,但用得不对,则会浪费大量调试时间,因此对于这部分的学习必须通过多上机练习,才能更好地掌握。
第6次课教案
1.条件判断---关系运算和关系表达式;
逻辑运算符及逻辑表达式
2.if语句
1.掌握关系与逻辑表达式的用法;
2.掌握if语句的用法。
1.格式输入输出函数的用法;
2.if语句的用法。
关系与逻辑表达式的用法。
1.算法相关概念及表示方法
(1)带序号的自然语言描述
易懂却不直观,不严格
(2)流程图:
灵活、自由、形象、直观,可表示任何算法
(3)N-S图(盒图):
完全去掉了带箭头的流程线,算法的所有处理步骤都写在一个大矩形框(表示简单、符合结构化思想)
(4)伪代码:
用介于自然语言与计算机语言之间的文字及符号来描述算法(方便、易懂、便于向计算机语言过渡)
2.条件判断
(1)关系运算和关系表达式
●关系运算符及其优先次序:
<
(小于)
=(小于或等于)
>
(大于)
=(大于或等于)----------------前4个优先级相同(高)
==(等于)
!
=(不等于)----------------------后2个优先级相同(低)
关系运算符的优先级低于算术运算符!
关系运算符的优先级高于赋值运算符!
●关系表达式:
用关系运算符将两个表达式(可以是算术表达式或关系表达式,逻辑表达式,赋值表达式,字符表达式)接起来的式子,称关系表达式。
例:
a>
b,a+b>
b+c,(a=3)>
(b=5),’a’<
‘b’,(a>
b)>
(b<
c)
!
关系表达式的值是一个逻辑值,即“真”或“假”。
关系表达式”a>
b”的值为“真”,表达式的值为1。
(2)逻辑运算符和逻辑表达式
●逻辑运算符及其优先次序
(逻辑与)相当于其他语言中的AND
||(逻辑或)相当于其他语言中的OR
(逻辑非)相当于其他语言中的NOT
a&
b若a,b为真,则a&
b为真。
a||b若a,b之一为真,则a||b为真。
!
a若a为真,则!
a为假。
优先次序:
(非)->
()->
||()
逻辑运算符中的“&
”和“||”低于关系运算符,“!
”高于算术运算符
●逻辑表达式
用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。
逻辑表达式的值应该是一个逻辑量“真”或“假”。
3.if语句
1)if语句的三种形式:
●条件执行if(e)A-----A可为简单或复合语句
if(a>
0)printf(“aispositive.\n”);
if(x>
y){z=y;
y=x;
x=z;
}
●分支选择if(e)AelseB
当e为真值(非0)时执行A,否则执行B或后续语句。
if(a>
0)printf(“Aispositive.\n”);
elseprintf(“Aisnotpositive.\n”);
读程序,写出它所完成的功能。
#include<
{floatx,y;
printf(“Enterx:
”);
scanf(“%f”,&
x);
if(x==0)y=1;
elsey=(x*5+1)/x;
printf(“\nx=%4.1f\ty=%4.1f\n”,x,y);
●elseif形式(阶梯式的if-else语句)
if(P1)S1
elseif(P2)S2
…..
elseif(Pn)Sn
elseSn+1
系统从上到下的逐个判断条件P,一旦发现某条件Pi满足时,则执行与它有关的语句Si,并跳过其他剩余的阶梯。
若所有条件均不满足,执行最后一个else语句或后续语句。
else与最近的if相匹配。
思考:
评价学生的成绩
score>
=90优秀score>
=80良好
=70中score>
=60及格
score<
60不及格
关系表达式和逻辑表达式的运算。
通过多媒体与板书结合,在课堂讲授过程中采用启发教学方式,通过适当的课堂讨论来提高学生的积极性。
选择结构是C语言中非常重要的程序设计结构,要求学生结合上机掌握逻辑表达式,条件判断语句的用法。
第7次课教案
1.if语句
2.switch语句
3.程序举例
掌握选择性程序设计语句的用法。
选择型程序设计语句。
2)if语句的嵌套
计算函数
math.h>
printf(“inputx:
if(x<
-3.0)y=x-1.0;
elseif(x>
=-3.0&
x<
=3.0)y=sqrt(9.0-x*x);
elsey=log10(x);
printf(“x=%0.1f\ty=%0.1f\n”,x,y);
}
3)条件运算符与条件表达式
●条件运算符:
?
和:
/*唯一的三目运算符*/
●条件表达式:
e1?
e2:
e3
b?
a:
bx==0?
1:
sin(x)/x
●执行过程:
1)计算e1
2)e1值为非0(真),计算并返回e2的值否则计算并返回e3的值
●运算顺序:
高于赋值运算,低于算术、关系、逻辑运算
●条件运算符的结合方向是“右结合”
a>
c>
d?
c:
d等价于:
(c>
d)
读程序,写出程序完成的功能。
{inta,b,imax;
printf(“inputdatatoaandb:
scanf(“%d,%d”,&
imax=a>
b;
printf(“Themaxis%d\n”,imax);
2.开关语句
亦称为多分支选择语句,比用嵌套的if语句实现多路分支问题,其程序结构清晰、易读。
1)格式
switch(e)
{casec1:
语句1
casec2:
语句2
……
casecn:
语句n
[default:
语句n+1]
2)执行过程
●计算表达式e的值;
●若与常量表达式ci值一致,则从语句i开始执行;
直到遇到break语句或switch语句的”}”。
●若与任何常量表达式值均不一致时,则执行default语句或执行后续语句。
3)注意
常量表达式ci仅起语句标号作用,不作求值判断;
常量表达式的值必须是唯一的;
多个case语句课共用一组执行语句。
3.程序举例(见课本)
通过课本中具体实例,分析选择型程序设计。
(1)if语句
(2)开关语句
七、课外学习辅导安排及作业布置
1.书后习题