资源描述:
《2019C语言程序设计(第3版)何钦铭 颜 晖 第2章 C语言编写程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C语言程序设计(第3版)何钦铭颜晖第2章C语言编写程序 第2章C语言编写程序 【练习2-1】输出短句:在屏幕上显示一个短句“ProgramminginCisfun!”。试编写相应程序。解答: #includeintmain(void){ printf( return0;} 【练习2-2】下列语句的运行结果是什么?与例2-2的运行结果有何不同?为什么? printf(解答: 运行结果:Programmingisfun.AndProgramminginCisevenmorefun!例2-2的运行结果分2行显示。原因在于,例2-2中在每条输出语句的结尾都采用了‘’换行
2、。【练习2-3】输出倒三角图案:在屏幕上显示如下倒三角图案。试编写相应程序。********* *解答: #includeintmain(void){ printf(return0;} 【练习2-4】温度转换:求华氏温度150°F对应的摄氏温度。试编写相应程序。解答: #includeintmain(void){ doublecelsius,fahr; printf(scanf( celsius=*(fahr-32)/9; printf( return0;} 【练习2-5】算术表达式 5*(fahr-32)/9 能改写成 5(fahr-32)/9 吗
3、?为什么?如果将其改写为5/9*(fahr-32),会影响运算结果吗?解答: 5(fahr-32)/9不是合法的C表达式,因为不能省略运算符*;5/9*(fahr-32)的值为0。 【练习2-6】一个物体从100米的高空自落下,编写程序,求它在前3秒内下落的垂直距离。设重力加速度为10m/s2。解答: #includeintmain(void){ doubleh,g=10,t=3; h=1/2*g*t*t; printf( return0;} 【练习2-7】输入提示和输入语句的顺序应该如何安排?例2-5中,scanf(&money,&year,&rate)能改写为sc
4、anf(&money,&year,&rate)吗?为什么?能改写为scanf(&money,&rate,&year)吗?如果可以,其对应的输入数据是什么?解答: 输入提示在前,输入语句在后。不能改写为scanf(&money,&year,&rate),因为%lf与整型变量money不匹配,%d与浮点型变量rate不匹配。与scanf(&money,&rate,&year)对应的输入数据为:10003【练习2-8】计算摄氏温度:输入华氏温度,输出对应的摄氏温度,计算公式同例2-3。试编写相应程序。解答: #includeintmain(void){ intcelsius,fa
5、hr; Printf(“Inputfahr:”); scanf( celsius=5*(fahr-32)/9; printf( return0; } 【练习2-9】整数四则运算:输入2个正整数,计算并输出它们的和、差、积、商。试编写相应程序。解答: #includeintmain(void){ doublem,n; printf(scanf( printf( scanf( printf(printf(printf(printf( return0;} 【练习2-10】计算分段函数:输入x,计算并输出下列分段函数f(x)的值。试编写相应程
6、序。 x≠0 y=f(x)= 0x=0 解答: #includeintmain(void){ doublex,y; printf(scanf(if(x!=0)y=1/x;elsey=0; printf( return0;} 【练习2-11】计算分段函数:输入x,计算并输出下列分段函数f(x)的值。可包含头文件,并调用sqrt函数求平方根,调用pow函数求幂。试编写相应程序。 x2+2x+x0 y=f(x)= x0 解答: #include#includeintmain(void){ doublex,y; printf(“Inputx:”); sc
7、anf( if(x>=0) y=sqrt(x); else y=pow(x,5)+2*x+1/x; printf( return0;} 【练习2-12】输出华氏-摄氏温度转换表:输入两个整数lower和upper,输出一张华氏-摄氏温度转换表,华氏温度的取值范围是[lower,upper],每次增加2°F,计算公式同例2-6。试编写相应程序。解答: #includeintmain(void){ intlow