- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 选择结构程序设计
4.1 什么是算术运算?什么是关系运算?什么是逻辑运算?
答:略
4.2 C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?
答:在C语言中,用1和0表示真和假的值;判断一个逻辑表达式的值时,非0代表真,0代表假。比如34为真,因为3是非0,4也是非0,真与真,结果还是真,而34的值为1。
4.3 写出下面各逻辑表达式的值。设a=3,b=4,c=5。
(1)a+bcb= =c
(2)a||b+cb-c
(3)!(ab)!c||1
(4)!(x=a)(y=b)0
(5)!(a+b)+c-1b+c/2
分析:首先判断运算符的优先级与结合性
解:(1)相当于((a+b)c)(b= =c) 得0
(2)相当于(a||(b+c))(b-c) 得1
(3)相当于(!(ab))(!c)||1 得1
(4)相当于(!(x=a))(y=b)0 得0
(5)相当于((!(a+b))+c-1)(b+c/2) 得1
4.4 有3个整数a、b、c,由键盘输入,输出其中最大的数。
方法1:利用条件运算符进行比较求解。
#include”stdio.h”
main()
{int a,b,c,max;
printf(“please input 3 numbers:”);
scanf(“%d,%d,%d”,a,b,c);
max=(ab)?a:b;
/*这里运用条件运算符,将a和b中较大的那个数赋给max*/
max=(maxc)?max:c;
/*用上面得到的max(a和b中较大的)和c比较,取较大的再次赋给max*/
printf(“max=%d\n”,max);
}
方法2:用if语句进行比较求解。
#include”stdio.h”
main()
{ int a,b,c,max;
printf(“please input 3 numbers:”);
scanf(“%d,%d,%d”,a,b,c);
max=a; /*为变量max赋初值*/
if(maxb)
max=b;
if(maxc)
max=c;
printf(“max=%d\n”,max);
}
4.5 有一函数:
x (x1)
y= 2x-1 ()
3x-11 ()
写一程序,输入x,输出y值。
#include stdio.h
main()
{
int x,y;
printf(please input x:);
scanf(%d,x);
if(x1) /*当x小于1时*/
{
y=x;
printf(y=x=%d,y);
}
else if(x10) /*当1=x10时*/
{
y=2*x-1;
printf(y=2*x-1=%d,y);
}
else /*最后一个else,就是前两种情况都不满足时,也就是当x10时*/
{
y=3*x-11;
printf(y=3*x-11=%d,y);
}
}
4.6 给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数为321,应输出123。
分析:
1.判断输入的数是几位数就是用这个数和9999,999,99,9进行比较;
2.分别打印出每个数字则利用两个整数相除的结果仍为整数进行计算;
3.反序数字,实际上就是将求得的每个数字对应的变量按照不同顺序输出。
题目中说输入的数不多余5位,就表示可以输入少于5位的数,这样存在一个问题,如果是1234,是否将求得的万位数0也输出出来,变成01234,这个问题在考虑输出时不可避免,因为计算时是要首先计算万位数字的。由于通常不输出,也就是有几位数就输出几位数字。那么我们将1234就表示为1234,代码如下:
方法1:
#include stdio.h
main()
{long num; /*为了有效表示数的范围,要将输入的5位数定义为长整型*/
int ge,shi,bai,qian,wan,place;
/*5个变量分别表示个位,十位,百位,千位,万位数字及数字总个数*/
printf(please input a number(from 0 to 99999):);
scanf(%ld,num);
/*计算place,即求出这个数是几位数:*/
if(num9999)
place=5;
else if(num999)
place=4;
else if
您可能关注的文档
- C语言程序设计考试题库..doc
- C语言程序设计苏小红版第五六单元答案..doc
- C语言程序设计试卷1..doc
- C语言程序设计试卷及答案..doc
- c语言程序设计试题(A)..doc
- C语言程序设计试题(A卷)..doc
- C语言程序设计试题(B卷)..doc
- C语言程序设计试题..doc
- C语言程序设计试题14及答案..doc
- c语言程序设计试题2..doc
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江西省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年安徽省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年福建省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年广东省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年河南省高考英语试卷(含答案解析)+听力音频.docx
- 2024年湖北省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年湖南省高考英语试卷(含答案解析)+听力音频+听力原文.docx
- 2024年江苏省高考英语试卷(含答案解析)+听力音频+听力原文.docx
文档评论(0)