c语言书本例题课件解释.docx
《c语言书本例题课件解释.docx》由会员分享,可在线阅读,更多相关《c语言书本例题课件解释.docx(27页珍藏版)》请在冰豆网上搜索。
c语言书本例题课件解释
例题,1.33.33.53.73.84.14.65.26.77.27.38.2
P5
(1)c程序是由函数构成的。
……函数是c程序的基本单位
(2)一个函数是由两部分组成……
P6(3)……(4)……(5)……(6)……(7)……
P193.字符的存储方式
P22(3)变量名的取名规则……(4)变量必须“先定义,后使用”
P271.实型变量的分类
P302.转义字符
P33最上面一段编程用ASCII码改写大小写
P392.自增,自减运算符
P422.7.2c表达式
P46本章小结第5点
P863.9.4本章小结第8点
P932.最上面
(2)……2.逻辑表达式
P110第(3)点
P139数组下标(加粗字体前后)
P211一个变量的地址称为改变量的“指针”……
例1.3求两个整数中的较大者。
#include
voidmain()
{
intmax(intx,inty);
inta,b,c;
scanf(”%d,%d”,&a,&b);
c=max(a,b);
printf("max=%d\n",c);
}
intmax(intx,inty)
{
intz;
if(x>y)z=x;
elsez=y;
return(z);
}
例3.3用printf函数输出字符数据。
#include
voidmain()
{charc='a';
inti=97;
printf("c=%c,c=%d\n",c,c);
printf("i=%c,i=%d\n",i,i);
}
例3.5输出双精度数时的有效位数。
#include
voidmain()
{doublea,b;
a=.;
b=.;
printf("%f\n",a+b);
}
例3.7输入三角形的三边长,求三角形面积。
Ø解题思路:
假设给定的三个边符合构成三角形的条件
Ø找到求三角形面积的公式:
其中s=(a+b+c)/2
例3.8从键盘输入一个大写字母,要求改用小写字母输出。
Ø解题思路:
◆关键是找到大、小写字母间的内在联系
◆小写字母的ASCII码=大写字母的ASCII码+32
例4.1输入两个学生a和b的成绩,输出其中高的成绩。
Ø解题思路:
◆设定变量max,将高的成绩放在其中
◆如果a大于或等于b,把a的值赋给max
如果b大于a,把b的值赋给max
输出max
编写程序
#include
voidmain()
{floata,b,max;
printf("pleaseenteraandb:
");
scanf("%f,%f",&a,&b);
if(a>=b)max=a;
if(b>a)max=b;
printf("max=%6.2f\n",max);
}
运行结果
pleaseenteraandb:
67.5,95.5↙
max=95.50
4.6运输公司对用户计算运费。
运输距离越远,单位运费越低。
Ø标准如下:
s<250没有折扣
250≤s<5002%折扣
500≤s<10005%折扣
1000≤s<20008%折扣
2000≤s<300010%折扣
3000≤s15%折扣
Ø设每吨每千米货物的基本运费为p,货物重为w,距离为s,折扣为d
Ø总运费f的计算公式为f=p×w×s×(1-d)
解题思路
Ø折扣的变化规律(参见教材图4.12):
◆折扣的“变化点”都是250的倍数
◆在横轴上加一种坐标c,c的值为s/250
◆c代表250的倍数
◆当c<1时,表示s<250,无折扣
◆1≤c<2时,表示250≤s<500,折扣d=2%
◆2≤c<4时,d=5%;4≤c<8时,d=8%;
8≤c<12时,d=10%;c≥12时,d=15%
编写程序
include
voidmain()
{
intc,s;
doublep,w,d,f;
printf("请输入单价、重量和距离:
");
scanf("%lf,%lf,%d",&p,&w,&s);
if(s>=3000)c=12;
elsec=s/250;
switch(c)
{case0:
d=0;break;
case1:
d=2;break;
case2:
case3:
d=5;break;
case4:
case5:
case6:
case7:
d=8;break;
case8:
case9:
case10:
case11:
d=10;break;
case12:
d=15;break;
}
f=p*w*s*(1-d/100.0);
printf(”运费:
%10.2f元\n”,f);
}
运行结果
请输入单价、重量和距离:
15,145.6,346.9↙
运费:
.72元
例5.2用do…while循环求:
1+2+3+…+100,即
例6.7有3个字符串,要求找出其中“最大”者。
解题思路:
Ø按英文字典的排列,后面出现的串大
Ø要求处理3个字符串,需要定义一个二维的字符数组
Ø假定每个字符串不超过19个字符,则可定义二维的大小为3×20
例7.2输入两个整数,输出二者中的大者。
要求在主函数中输入两个整数,用一个函数max求出其中的大者,并在主函数中输出此值。
解题思路:
Ø题目要求用一个max函数实现比较两个整数,并将得到的大数带回主函数。
显然,二个整数中的大者也应该是整数,因此max函数应当是int型。
Ø两个数是在主函数中输入的,在max函数中进行比较,因此应该定义为有参函数,在函数调用时进行数据的传递。
例7.3输入4个整数,找出其中最大的数。
用一个函数来实现。
Ø解题思路:
◆定义max_4函数,找4个数中最大者
◆max_4中再多次调用max,找4个数中的大者,然后把它作为函数值返回main函数
例8.2输入a和b两个整数,按先大后小的顺序输出a和b。
Ø解题思路:
用指针方法来处理这个问题。
不交换整型变量的值,而是交换两个指针变量的值。