抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

选择结构编程练习题

关系运算符和相等类运算符

关系运算符

关系运算符 含义
< 小于
> 大于
<= 小于或等于
>= 大于或等于

表达关系式的类型是int。如果指定的关系为,关系表达式的值是1;如果指定的关系为,关系表达式的值是0

相等类运算符

相等类运算符 含义
== 等于
!= 不等于

相等类表达式的类型是int。如果指定的关系为,相等类表达式的值是1;如果指定的关系为,相等类表达式的值是0

逻辑运算符

逻辑非运算符

逻辑非运算符是 ! ,属于单目运算符。

逻辑非运算符和运算对象构成的表达式的类型是int。如果运算对象的值不等于0,表达式的值是0;如果运算对象的值等于,相等类表达式的值是1

逻辑与运算符

逻辑与运算符是&&,属于双目运算符。

逻辑与运算符和运算对象构成的表达式的类型是int。如果两个运算对象的值都不等于0,表达式的值是1;否则,表达式的值是0。即任何一个运算对象的值等于0,表达式的值是0

逻辑非运算符

逻辑非运算符是||,属于双目运算符。

逻辑或运算符和运算对象构成的表达式的类型是int。如果任何一个运算对象的值不等于0,表达式的值是1;否则,表达式的值是0。即只有两个运算对象的值都等于0,表达式的值才是0

if语句

第一种形式

1
2
if (表达式)
语句

其功能是:如果表达式的值不等于0,则执行其后的语句;否则,不执行该语句。

第二种形式

1
2
3
4
if (表达式)
语句1
else
语句2

其功能是:如果表达式的值不等于0,则执行语句1;否则,执行语句2。

嵌套的if语句

if 语句的两种形式中,如果“语句”、“语句1”或“语句2”也是if语句,称为嵌套的if语句。

编程练习

编程练习4.1

$$
输入整数a和b,如果a^2+b^2大于100,则输出a+b的值;否则,输出a-b的值。
$$

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
int main(void)
{
// 输入整数a和b,如果a²+b²大于100,则输出a+b的值,否则,输出a-b的值
int a;
int b;
printf("请输入a的值:");
scanf("%d",&a);
printf("请输入b的值:");
scanf("%d",&b);
if(a * a + b * b > 100)
{
printf("a + b = %d\n",a + b);
}
else
{
printf("a - b = %d\n",a - b);
}
return 0;
}

编程练习4.2

输入整数 n ,如果 n 既是 5 的整倍数又是 7 的整倍数,则输出 yes,否则输出 no 。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
int main(void)
{
// 输入整数n,如果n既是5的整倍数又是7的整倍数,则输出yes,否则输出no
int n;
printf("请输入一个整数:");
scanf("%d",&n);
if (n % 5 == 0 && n % 7 == 0)
{
printf("yes\n");
}
else
{
printf("no\n");
}
return 0;
}

编程练习4.3

商场为促销实行打折销售商品,折扣规则如表所示。

商品数量 折扣
x < 5 0
5 ≤ x < 10 1%
10 ≤ x < 21 2%
21 ≤ x < 30 4%
30 ≤ x 6%

假定商品的价格为 p 元,编程计算某顾客购买 x 件商品的应付金额。计算公式为:
$$
sum = p * x * (1-d)
$$
其中,sum 为应付金额,d 为折扣数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <stdio.h>
int main(void)
{
double p; //商品价格
int x; //商品数量
double sum; //应付金额
double d; //折扣数
int b; //折扣率

printf("请输入商品的数量:");
scanf("%d",&x);
printf("请输入商品的单价:");
scanf("%lf",&p);
if (x < 5)
{
d = 0;
b = d * 100;
sum = p * x * (1-d);
}
else if (x < 10)
{
d = 0.01;
b = d * 100;
sum = p * x * (1-d);
}
else if(x < 21)
{
d = 0.02;
b = d * 100;
sum = p * x * (1-d);
}
else if(x < 30)
{
d = 0.04;
b = d * 100;
sum = p * x * (1-d);
}
else
{
d = 0.06;
b = d * 100;
sum = p * x * (1-d);
}
printf("你购买了%d件商品\n单价为%.2lf元\n折扣数为:%d%\n结算价格为%.2lf元\n",x,p,b,sum);
return 0;
}

编程练习4.4

输入’0’‘9’或’a’‘f’或’A’~’F’中的一个字符,代表一个十六进制数,将其转换为十进制数,求该数与15的和并输出。例如,输入a,输出25。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <stdio.h>
int main(void)
{
char ch;
int result;
printf("请输入字符:");
scanf("%c",&ch);
if(ch == 'a' || ch == 'A'){
result = 10 + 15;
}
else if(ch == 'b' || ch == 'B')
{
result = 11 + 15;
}
else if(ch == 'c' || ch == 'C')
{
result = 12 + 15;
}
else if(ch == 'd' || ch == 'D')
{
result = 13 + 15;
}
else if(ch == 'e' || ch == 'E')
{
result = 14 + 15;
}
else if(ch == 'f' || ch == 'F')
{
result = 15 + 15;
}
else if(ch >= '0' && ch <= '9')
{
result = ch - 48 + 15;
}
else
{
printf("请检查输入!\n");
return;
}
printf("%d\n",result);
}

编程练习4.5

输出一张如下所示的时间表:

20210310141539

根据输入的序号显示相应的问候信息:输入 1 时,输出 Good morning ;输入 2 时,输出 Good Afternoon ;输入 3 时,输出 Good night; 对于其他的输入,则输出 error 。

评论




2019-2022 覃浩的博客 鄂ICP备2021017381号-1 正在载入...

PoweredHexo
HostedGitHub & Coding
DNSDNSPod
CDN腾讯云CDN
PictureBed腾讯云CDN
ThemeVolantis