第5章选择结构作业1参考答案

更新时间:2023-07-17 08:45:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第五章 选择结构作业1

一、选择题

1. 关系表达式a≤x<b的正确描述是()。

A.a<=x<b B.x>=a&&x<b C.x>=a||x<b D.!(x<a&&x>=b)

2. 能正确表示“当x的取值在[1,10]或[200,210]范围内为真,否则为假”的表达式是

( )。

A. (x>=1) && (x<=10) && (x>=200) && (x<=210)

B. (x>=1) | | (x<=10) | | (x>=200) | | (x<=210)

C. (x>=1) && (x<=10) | | (x>=200) && (x<=210)

D. (x>=1) | | (x<=10) && (x>=200) | | (x<=210)

3. 下述表达式中,可以正确表示x≤0或x≥1的关系。

A)(x>=1) | | (x<=0) B)x>=1 | x<=0

C)x>=1 && x<=0 D)(x>=1) && (x<=0)

4. 判断char型变量s是否为小写字母的正确表达式是()。

A.’a’ <= s<=’z’ B.(s>=’a’) & (s<=’z’)

C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

5. 若希望当x的值为奇数时,表达式的值为“真”,x的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是()。

A.x%2==1 B.!(x%2==0) C.!(x%2) D.x%2

6. 若执行下面的程序时从键盘上输入5和6,则输出的是( )。

void main()

{ int a,b,s;

scanf("%d%d",&a,&b);

s=a;

if(a<b) s=b;

s=s*s;

print("%d\n",s);

}

A.25 B。30 C。36 D。40

7. 已知int a=1,b=2,c=3; 以下语句执行后a,b,c的值是()。

if(a>b)

c=a; a=b; b=c;

A.a=1, b=2, c=3 B.a=2, b=3, c=3

C.a=2, b=3, c=1 D.a=2, b=3, c=2

8. 对下述程序, 是正确的判断是()。

void main ( )

{ int x,y;

scanf(“%d,%d”,&x,&y);

if (x>y)

x=y;y=x;

else

x++;y++;

printf(“%d,%d”,x,y);

}

A)有语法错误,不能通过编译 B)若输入3和4,则输出4和5

C)若输入4和3,则输出3和4 D)若输入4和3,则输出4和5

二、把以下条件表示成C语言表达式

1.20<x≤30

x>20&&x<=30

2.n是大于整数m的奇数

n>m && n%2= =1

3.设a、b是不为0的实数,写出判断a、b同号的表达式

a*b>0

4.设month表示某一月份,写出判断month是合法月份的表达式

month>=1 && month<=12

5.设a、b、c是三角形的三边,写出判断该三角形是直角三角形的表达式

a*a+b*b= =c*c || a*a+c*c= =b*b || b*b+c*c = = a*a

三、计算表达式的值(设abc为整型,a=3,b=4,c=5)

1.a+b>c && b= =c 0

2. a||b+c && b-c

等价于a || (b+c && b-c) 值为1

3. !(a>b) && !c ||1 1

4.!(x=a) && (y = b) && 0 0

5. !(a+b)+c-1 && b+c/2 1

四、 写出运行结果

1、 如下程序的运行结果是:

void main()

{ int a=1,b=2,c=3,d=4,m=2,n=2;

int s;

s=(m=a>b)&& (n=c>d);

printf(“%d, %d, %d, %d, %d, %d\n”, a, b, c, d, m, n);

printf(“%d\n”,s);

}

1,2,3,4,0,2

2、

五、 程序设计

1.写一程序求y值 (x值由键盘输入)。

sin(x)

y sin(x)

参考程序: cos(x)2 cos(x)2(x 0) (x 0)

#include <stdio.h>

#include <math.h> //别忘了写这行,用到sin等数学函数必须加上该行

int main()

{

}

2.输入一个数,判断它能否被 3或者被 5整除, 如至少能被这两个数中的一个整除则将此数打印出来,否则不打印,编出程序。

参考答案:

#include <stdio.h>

void main()

{

}

3.任意输入一个字符,如果是数字字符,则把该字符转换成对应的整数加10后输出。如输入字符‘5’,应该输出15。否则什么也不做。

参考答案:

#include <stdio.h> int n; //只能用整型,因为后面要用到整除,整除只用于整数 scanf("%f",&n); if(n%3==0||n%5==0) //注意是==判断相等,不是= 赋值 printf("%d",n); float x,y; printf("please input a float\n"); scanf("%f",&x); x=x*3.14/180; //把角度转换成弧度,因为sin、cos函数要求用弧度 if(x>=0) y=(sin(x)+cos(x))/2; else y=(sin(x)-cos(x))/2; printf("y=%.2f\n",y); return 0;

void main() {

}

c=getchar(); //也可用scanf("%c",&c); if(c>='0'&&c<='9') { n=c-'0'+10; //'5'是字符,5是整数,则'5'-'0'得整数5, //即数字字符c-'0'得出相应的整数 printf("%d",n); char c; int n; } //注意,别忘了加{ }

本文来源:https://www.bwwdw.com/article/nqa1.html

Top