C典型题分析与解答

C典型题分析与解答

ID:46496506

大小:56.50 KB

页数:7页

时间:2019-11-24

C典型题分析与解答_第1页
C典型题分析与解答_第2页
C典型题分析与解答_第3页
C典型题分析与解答_第4页
C典型题分析与解答_第5页
资源描述:

《C典型题分析与解答》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第一部分C程序设计的初步知识1、若t为double类型,表达式t=l,t+5,t++的值是。A、1B、6.0C、2.0D、1.0解答:本例中的逗号农达式共有3项,首先运算匸1,把1.0的值赋给t;然后执行(+5,但t的值不变,还是1.0;最厉执行1++,则将t的值作为表达式t++的值,然厉变量(中的值增1。因此,整个表达式的值应为1++的值,为1.0,I的值为2.0。2、表达式3.5+1/2+56%10的计算结果是o解答:首先计算1/2值为0,然后计算56%10值为6,最后3数相加得9.5。计算过程中注意数

2、据类型及数据类型的转换。3、若k和j为int整型变量,请写出运算表达式:k二j=3,j+2,j++,++j后,表达式的值是_(1),变量k的值是_(2),变量j的值是_(3)。解答:首先运算k=j=3,同时把梏数3赋值给了k和j,此后k不再参与运算,故(2)中应填3;接下來执行j+2,但j的值不变;执行j++,表达式值为3,j的值为4;执行++j,表达式和j的值都为5,整个表达式的值就是最后一表达式值,故(1)为5,(3)也为5。第二部分顺序、选择和循环程序设计1、下而的程序片段执行后,n的值是o(A)0(

3、B)1(C)2(D)3inta=5»b=6,c=7,d=8,m=2,n=2;if((m=a>b)&&(n=c>d))');解答:在if语句中,控制表达式(m=a>b)&&(n=od)为“逻辑与”运算。程序将先求ll

4、(m=a>b)的值,只要其值为“假”,程序将不再对后面的表达式(n=od)iit行求值操作。此处由于圧5,b=6,显然a>b不成立,表达式a>b的值为0,并把0赋给了m。由于&&运算符左边的值已为0,就已经能确定整个逻辑表达式的值为“假”。因而将不再求其右边表达式的值,故表达式(n=od)不再执

5、行,n的值未发生任何变化仍为2o故本题止确答案应为Co2、给三介形的3个边长a、b、c输入数据,判断是否能构成三介形,若能构成三介形,则输出此三角形的面积。解答:作为三角形的3条边,其任意两边Z和都应大于第三边。为了判断输入的三条边a、b、c能否构成三角形,贝IJ只需判断表达式a+b>c和b+c>a和a+c>b是否同时满足即可。若b、c的值能同时满足上述3个表达式,我们就说a、b、c可以构成三角形,否则不能。用C语言来描述同时满足上述3个条件的表达式为:(a+b>c)&&(b+c>a)&&(a+c>b)。源

6、程序编写如下:#include"math.h"main(){floata,b,c,s,area;printf(4tPleaseinputa,b,c:'');scanf(“%f%f%f',&a,&b,&c);printf(<4a=%f,b=%f,c=%f,,,a,b,c);if((a+b>c)&&(b+c>a)&&(a+c>b))s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("三角形面积为:%farea);}elseprintf(“不能组成三

7、角形!E);}3、输入一整数s,0WsW32767若不满足此条件,则要求重新输入;从个位开始,输出s每一位上的数字,每个数字占一行。解答:设计思路如下:本题耍分两步完成,首先耍判断输入的值是否满足条件,并把满足条件的值赋给变量s,第二步是从个位开始,输出s每一位上的数字,每个数字占一行。这两步可用两个do-while循环来完成。源程序如下:main(){ints,r;do{printf(Enters(0<=s<=32767):");scanf("%d",&s);}while(s>32767

8、

9、s<0);

10、do{r=s%10;printf("%d”,r);s=s/10;}while(s>0);第三部分字符数据和字符数据处理编写函数,把一位整数转换为对应的数字字符。解答:我们首先把对应函数命名为numtocho主函数中为了做到按从低位到高位的次序输出,应当将整数的低位先进行转换。这可以采用如下的方法:1、输入一个整数n。2、当n大于0时,做步骤3到7,否则做步骤8。3、r=n%10(得到n的个位数)。4、调用numtoch函数:ch=numtoch(r);。5、输111cho6、n=n/10(梏除后,n缩小

11、了10倍,并去掉了原来的个位数,以后依次类推)。7、转步骤2。8、结束。以下程序中,n存放整数,f存放余数,ch存放转换后的字符。程序如下:#include“stdio.h”include“math.ITcharnumtoch(int);main(){intn,r,charch;printf(uPleasegiveainteger:,>);scanf(''%d",&n);if(n==0)printf(uError

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。