C教案第69104课时Word格式.docx
- 文档编号:22231050
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:54
- 大小:45.87KB
C教案第69104课时Word格式.docx
《C教案第69104课时Word格式.docx》由会员分享,可在线阅读,更多相关《C教案第69104课时Word格式.docx(54页珍藏版)》请在冰豆网上搜索。
第70课时
上节课我们学了while循环,那么这节课我们来做几道题目。
新课讲解:
【例1】统计从键盘输入一行字符的个数。
#include<
stdio.h>
main(){
intn=0;
inputastring:
\n"
);
while(getchar()!
='
\n'
)n++;
%d"
n);
本例程序中的循环条件为getchar()!
其意义是,只要从键盘输入的字符不是回车就继续循环。
循环体n++完成对输入字符个数计数。
从而程序实现了对输入一行字符的字符个数计数。
使用while语句应注意以下几点:
1)while语句中的表达式一般是关系表达或逻辑表达式,只要表达式的值为真(非0)即可继续循环。
【例2】
inta=0,n;
\ninputn:
"
scanf("
&
n);
while(n--)
%d"
a++*2);
本例程序将执行n次循环,每执行一次,n值减1。
循环体输出表达式a++*2的值。
该表达式等效于(a*2;
a++)。
2)循环体如包括有一个以上的语句,则必须用{}括起来,组成复合语句。
课堂小结:
while语句中的表达式一般是关系表达或逻辑表达式,只要表达式的值为真(非0)即可继续循环。
循环体如包括有一个以上的语句,则必须用{}括起来,组成复合语句。
第71课时
让学生熟练掌握循环结构中的while循环
【例1】求1-2+3-4+…+99-100的值。
方法一:
inti=1,sum=0;
if(i%2==0)
sum-=i;
else
sum+=i;
i++;
方法二:
inti=1,sum1=0,sum2=0;
while(i++<
sum2+=i;
sum1+=i;
sum1-sum2);
【例2】求1×
2×
3×
4×
5的值。
{inti=1,t=1;
=10)
t*=i;
t);
第72课时
【例1】求1+1/2+1/3+1/4+…+1/50的值。
{inti=1,sum=0;
50)
sum+=1.0/i;
%f\n"
getch();
【例2】求100!
的值。
{doublei=1,t=1;
/*100!
太大了,必须定义为double*/
%lf"
因为才开始接触循环语句大部分的学生还需提示才能大概写出程序,需要加强指导。
第73课时
实验课题:
循环结构程序设计
实验地点:
科教楼
实验时间:
实验目的:
熟练掌握while循环程序设计
实验内容:
任务一:
从键盘上输入数据,统计其中大于0的整数和小于0的整数,分别用变量x,y进行统计,用整数0结束循环。
{intn,x,y;
x=y=0;
while(n!
=0)
{if(n>
0)____________
elseif(n<
0)____________
x=%5d,y=%5d"
x,y);
任务二:
从键盘上输入10个数,输出其中的正数。
并画出流程图。
intn,i=1;
if(n>
0)
第74课时
编写程序,对输入的一行字符,分别统计其中英文字母、数字和其它字符的个数。
{charch;
intletter,number,other;
letter=number=other=0;
while((ch=getchar())!
)
if(ch>
A'
&
ch<
Z'
||ch>
a'
z'
letter++;
elseif(ch>
0'
9'
number++;
other++;
%d,%d,%d"
letter,number,other);
求1+1/2+1/4+1/6+…+1/50
通过这节课的学习,学生对while语句的循环有了很好的理解。
第75课时
让学生进一步掌握循环结构中的while循环
【例1】阅读如下程序,根据程序说出其实现的功能。
/*翻译密码。
原文中的密码变成该字母后的每四个,其他字符不变。
请输入一个字符串,输出其密码。
*/
#include<
{
charc;
while((c=getchar())!
if((c>
c<
)||(c>
))
{c=c+4;
if(c>
'
||c>
)c=c-26;
putchar(c);
putchar('
一个数列是:
3/5+5/7+7/9+9/11…求这个数列前20项的和。
第76课时
【例2】求1-1/2+1/4-1/8
{inti=2,n,sign=1;
floatsum=1;
=8)
{sum-=1.0/(sign*i);
sign=-sign;
i+=2;
sumis%f\n"
求1+1/2-1/4+1/8…求这个数列前50项的和。
通过这几节课的学习,大部分的学生能读懂while循环的程序,但只有小部分的学生能用while进行编程,还得在后继的教学中,对这部分的知识进行加强。
第77-78课时
第三次月考
查漏补缺
试卷如下:
09第三次月考
一、选择题(20*2)
1.在C语言中下列那个不属于基本类型()
A.整型B.数组C.字符D.实型
2.下列选项中,不能用作标识符的是_____。
A._1234_B._1_2C.int_2_D.2_int_
3.已知变量a=4,b=13,c=3.5;
表达式c+b%3*(int)(a+c)/4的值为:
A.3.5B.4.5C.5.5D.6.5
4.执行语句printf("
%u\n"
-32767)的输出结果是:
_____。
A.
0
B.32769C.-1
D.32767
5、执行下列语句后,输出结果是:
inta;
longintb=65536;
a=b;
a);
A)65536
B)0C)-1
D)1
正确答案是:
B
6、阅读下面的程序
main()
inti,j;
%2d%*3d%2d"
i,&
j);
%d%4d"
i,j);
如果从键盘上输入
1234567<
回车>
则程序的运行结果是:
A)1267
B)12345
C)12345
D)程序语法出错
A
7、请读程序:
#include<
{inta;
floatb,c;
%2d%3f%4f"
a,&
b,&
c);
\na=%d,b=%f,c=%f\n"
a,b,c);
若运行时从键盘上输入9876543210<
CR>
(<
表示回车),则输出结果是
A)a=98,b=765,c=4321
B)a=10,b=432,c=8765
C)a=98,b=765.000000,c=4321.000000
D)a=98,b=765.0,c=4321.0
C
8、以下程序的输出结果是
{intx=10,y=10;
printf("
%d%d\n"
x--,--y);
A)1010
B)99
C)910
D)109
D
9、请选出以下语句的输出结果
strlen("
\t\"
\065\xff\n"
));
A)5
B)14
C)8
D)输出项不合法,无法正常输出
10、在C语言中(以16位PC机为例),五种基本数据类型存储空间长度
的排列顺序是:
A)char<
int<
longint<
=float<
double
B)char=int<
C)char<
longint=float=double
D)char=int=longint<
double
A
11、下面程序的输出是:
unsignedinta=32768;
a=%d\n"
A)a=32768
B)a=32767
C)a=-32768
D)a=-1
12、下面程序的输出结果是:
inta=5,b=3;
floatx=3.14,y=6.5;
%d,%d\n"
a+b!
=a-b,x<
=(y-=6.1));
A)1,0
B)0,1C)1,1
D)0,0
A
13、下面程序的输出结果是:
inta,b,c;
longintd;
b=(a=32767,a++);
c=d=0xffff;
%x,%d,%d,%d\n"
a,b,c,d);
A)8000,32767,-1,-1
B)-1,-1,32767,8000
C)-1,-1,-1,-1
D)32767,-1,-1,-1
A
14、阅读下面的程序
charch;
%3c"
ch);
%c"
ch);
abc<
A)a
B)b
C)c
15、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关
系的表达式为
A)a<
>
B)!
a
C)a=0
D)a
D
16、设inta=12,则执行完语句a+=a-=a*a后,a的值是
A)552
B)264
C)144
D)-264
D
17.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是
A)'
b'
B)a<
=bC)a||b+c&
b-c
D)!
((a<
b)&
!
c||1)
正确答案是:
18.设a=5,b=6,c=5,d=8,m=n=2,执行(m=a>
(n=c>
d)后n的值为
A)1
B)2C)3
D)0
19.设x、y、z、t均为int型变量,则执行以下语句后,t的值为
x=y=z=1;
t=++x||++y&
++z;
A)不定值
B)4C)1
D)0
20.已知intx=10,y=20,z=30,则执行
if(x>
y)
z=x;
x=y;
y=z;
语句后,x、y、z的值是(
)。
A)x=10,y=20,z=30
B)x=20,y=30,z=30
C)x=20,y=30,z=10
D)x=20,y=30,z=20
B
二、填空题(10*2)
(1)以下程序运行后的输出结果是【1】。
main()
{
inta=1,b=2,c=3;
if(c=a)printf("
c);
elseprintf("
b);
(2)以下程序运行后的输出结果是【2】。
{inta=3,b=4,c=5,t=99;
if(b<
a&
a<
c)t=a;
a=c;
c=t;
if(a<
c&
b<
c)t=b;
b=a;
a=t;
%d%d%d\n"
(3)以下程序运行后的输出结果是【3】
{inta,b,c
a=10;
b=20;
c=(a%b<
1)||(a/b>
1);
%d%d%d\n"
(4)以下程序运行后的输出结果是【4】
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;
break;
case1:
b++;
case2:
a,b);
(5)有以下程序
main()
{intn=0,m=1,x=2;
if(!
n)x-=1;
if(m)x-=2;
if(x)x-=3;
printf(“%d\n”,x);
执行后输出结果是【5】。
(6)若有以下程序
{intp,a=5;
if(p=a!
p);
p+2);
执行后输出结果是 【6】
(7)以下程序运行后的输出结果是【7】。
{inta=1,b=3,c=5;
if(c=a+b)printf("
yes\n"
no\n"
(8)以下程序运行后的输出结果是【8】。
{intp=30;
printf(“%d\n”,(p/3>
0?
p/10:
p%3));
(9)实型变量的类型说明符有:
_____【9】_____、_【9】___________。
(10)表达式7+8>
2&
25%5的结果是【10】。
三、编程题:
(4*10)
1.从键盘上输入数据,统计其中大于0的整数和小于0的整数,分别用变量x,y进行统计,用整数0结束循环。
2.从键盘上输入10个数,输出其中的正数。
intx,i=1;
scanf(____________);
________________
3.给出一个五位数,判断它是不是回文数。
如12321是回文数,个位与万位相同,十位与千位相同。
4.设计一个模拟台式计算器,从键盘上输入两个数,再输入算术运算符,要求计算结果。
要求输出结果为:
第一个数运算符第二个数=运算结果。
第79-80课时
第三次月考试卷讲解及分析
这次的月考整体上来说,比以往两次都好,刘芳、刘星辰还是保持在前列,而刘鸿章、彭宇也有很大的进步。
第81课时
do-while循环
让学生掌握循环结构中的do-while循环
do-while语句的结构及编程实现方法
a、do-while语句的一般形式为:
do
语句
while(表达式);
b、语句说明:
(1)do是C语言的关键字,它表示dowhile语句的开始,并且它只能与while联合使用。
(2)“循环体”指定dowhile循环结构进行的操作。
循环体可以是一条语句,或是用花括号括起来的两条或多条语句。
(3)while后面圆括号中的“表达式”指定循环条件,非0执行,否则不执行。
c、这个循环与while循环的不同在于:
它先执行循环中的语句,然后再判断表达式是否为真,如果为真则继续循环;
如果为假,则终止循环。
因此,do-while循环至少要执行一次循环语句。
【例】用do-while语句求
用传统流程图表示算法,见图:
{inti,sum=0;
{sum=sum+i;
while(i<
=100);
同样当有许多语句参加循环时,要用"
{"
和"
}"
把它们括起来。
(1)dowhile循环与while循环的不同在于:
(2)注意while后面的分号不能忘了。
第82课时
while和do-while循环的比较
让学生区分循环结构中的do-while和while循环
while和do-while循环比较。
(1)用while语
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教案 69104 课时