习 题 三
3.1 选择题
(1)下列运算符中优先级按从高到低依次排列的是 D 。
A.&& ! || B.|| && ! C.&& ! || D.! && ||
(2)下面表达式值为0的是 C 。
A.3%5 B.3/5.0 C.3>5 D.3<5
(3)关于if语句后面一对括号中的表达式,叙述正确的是 D 。
A.只能用关系表达式 B.只能用逻辑表达式
C.只能用关系表达式或逻辑表达式 D.可以使用任意合法的表达式
(4)对switch后括号内的表达式,叙述正确的是 C 。
A.只能是数字 B.可以是浮点数
C.只能是整型数据或字符型数据 D.以上叙述都不对
(5)iX=2,iY=3,ch='a',表达式iZ=(iX||iY)&&(ch>'A')的值是 D 。
A.true B.false C.0 D.1
(6)表达式(6!=8)&&('A'<'a')的值是 B 。
A .true B.1 C.0 D.非0值
(7) int k = x>y? (x>z?x:z) : (y>z?y:z) 语句的目的是: A
A 求 x, y, z 最大值 B. 求 x, y, z 最小值
C 求 x, y, z 中间值 D 求 x, y, z 平均值
(8)有如下程序段
int a=14,b=15,x;
char c=’A’;
x=(a&&b)&&(c<’B’);
执行该程序段后,x的值为( D )
A ture B false C 0D 1
(9) 以下程序的输出结果是( B )
main()
{
int a=0,i=1;
switch(i)
{
case 0:
case 3:a+=2;
case 1:
case 2:a+=3;
default:a+=5;
}
printf("%d\n",a);
}
A 3 B 8C10D 2
3.2 填空题
(1)下面程序的输出结果是 2 。
#include "stdio.h"
main()
{int i,j;
i=j=2;
if(i= =1)
if(i==2)
printf("%d",i=i+j);
else
printf("%d",i=i–j);
printf("%d",i);
(2)下面程序的输出结果是
iX=3
iX>3
iX unknow 。
#include "stdio.h"
main()
{int iX=3;
switch(iX)
{ case 1:
case 2:printf("iX<3\n");
case 3:printf("iX=3\n");
case 4:
case 5:printf("iX>3\n");
default:printf("iX unknow\n");
}
}
(3)以下程序的运行结果是iM=3,iN=4,iT=3 。
#include "stdio.h"
main()
{int iM,iN,iT,iA=2,iB=3;
iM=(++iA==--iB)?– –iA:++iB;
iN=++iA;
iT=iB;
printf("iM=%d,iN=%d,iT=%d\n",iM,iN,iT);
}
(4)下面程序的输出结果是 x 。
#include "stdio.h"
main()
{char chT='w',chA='m',chB='d',chC='x',chM;
chM=(chT>chA)?chT:chA;
chM=(chM>chB)?chM:chB
chM=(chM>chC)?chM:chC;
printf("c%",chM);
}
(5)下面程序的功能是判断一个三位数是否为水仙花数,填空使程序完整。所谓水仙花数就是该数各位上数字的立方之和等于该数。
#include "stdio.h"
main()
{ int iNum,iH,iT,iS,iSum;
printf("please input a integer(100-999)");
scanf("%d",&iNum);
iS=iNum%10; /*取得个位上的数*/
iT=iNum/10%10 ; /*取得十位上的数*/
iH=iNum/100; /*取得百位上的数*/
if(iS*iS*iS+iT*iT*iT+iH*iH*iH==iNum )
printf("%d是水仙花数。\n",iNum);
else
printf("%d不是水仙花数。\n",iNum);
}
3.3 编程题
(1)从键盘输入一个年份值,判断是否闰年。设iYear为某一年份,iYear为闰年的条件为:iYear可以被4整除且不可以被100整除,或者iYear可以被400整除。
#include "Stdio.h"
#include "Conio.h"
int main(void)
{
/* 此处添加你自己的代码 */
int iYear;
printf("please input the year:");
scanf("%d",&iYear);
if(iYear%400==0||(iYear%4==0&&iYear%100!=0))
printf("%d is leap",iYear);
else
printf("%d is not leap",iYear);
getch();
return 0;
}
(2)从键盘输入三个整数,按由小到大的顺序输出。
#include "stdio.h"
main()
{int i,j,k,max;
scanf("%d%d%d",&i,&j,&k);
max=i>j?i:j;
max=max>k?max:k;
printf("max=%d",max);
getch();
}
(3)假设星期一至星期五每工作一小时的工资是20元,星期六和星期日每工作一小时的工资是平时的3倍,其中工资的4.5%是税金。试编一程序从键盘输入星期序号(1,2,3,4,5,6,7,分别表示星期一至星期天)和工作小时数,计算该日的工资及应交税金。
#include "Stdio.h"
#include "Conio.h"
int main(void)
{
/* 此处添加你自己的代码 */
int iWeek,iHours ;
float fSalary,fTaxes;
printf("please input the week number(1-7):");
scanf("%d",&iWeek);
printf("please input the work hours(1-12):");
scanf("%d",&iHours);
switch(iWeek){
case 1:
case 2:
case 3:
case 4:
case 5:
fSalary=20*iHours;
fTaxes=fSalary*0.045;
break;
case 6:
case 7:
fSalary=3*20*iHours;
fTaxes=fSalary*0.045;
break;
}运算符优先级按从高到低排列
printf("the salary is %f ,the taxes is %f",fSalary,fTaxes);
getch();
return 0;
}
(4)从键盘输入三角形的三条边长,判断是否构成三角形,如能则求出三角形的周长和面积并输出;如不能,输出不能构成三角形的信息。
构成三角形的条件为:三角形任意两边的和大于第三边时,构成三角形。
面积计算公式为:fArea=
其中,f1,f2,f3是三角形的三条边长,fTemp=(f1+f2+f3)/2。计算一个数的平方根可用函数float sqrt(float f),该函数是数学库函数,需要在程序的开头加上#include <math.h>。
#include "Conio.h"
#include "math.h"
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论