明解C语言第三章习题
第一节:if语句
练习3-1:编写一段程序,像下面这样输入两个值,如果后者是前者的约数,则显示B是A的约数,否则显示B不是A的约数。
请输入两个整数。
整数A:17
整数B:5
B不是A的约数。
#include<stdio.h>
int main()
{int a, b;printf("请输入两个整数。\n");printf("整数A:"); scanf("%d", &a);printf("整数B:"); scanf("%d", &b);if (b % a)puts("B不是A的约数");elseputs("B是A的约数");return 0;
}
练习3-2:请考虑以下,将代码清单3-9最后的else变为else if (no < 0)结果会怎么样?
代码清单3-9代码如下:
#include<stdio.h>
int main()
{int no;printf("请输入一个整数");scanf("%d", &no);if (no == 0)puts("该整数为0");else if (no > 0)puts("该整数为正数");elseputs("该整数为负数");return 0;
}
代码更换后为:
#include<stdio.h>
int main()
{int no;printf("请输入一个整数:");scanf("%d", &no);if (no == 0)puts("该整数为0");elseif (no > 0)puts("该整数为正数");else if (no < 0)puts("该整数为负数");return 0;
}
运行结果相同!
练习3-3:编写一段程序,像下面这样输入一个整数值,显示出它的绝对值。
请输入一个整数:-8
它的绝对值是:8
#include<stdio.h>
int main()
{int a;printf("请输入一个整数:");scanf("%d", &a);if (a >= 0)printf("绝对值是:%d", a);elseprintf("绝对值是:%d", -a);return 0;
}
练习3-4:编写一段程序,像下面这样输入两个整数值,如果两数值相等,则显示“A和B相等”。如果A大于B则显示“A大于B”。如果A小于B则显示“A小于B”。
#include<stdio.h>
int main()
{int a, b;printf("请输入两个整数。\n");printf("整数A:"); scanf("%d", &a);printf("整数B:"); scanf("%d", &b);if (a == b)puts("A和B的数值相同");else if (a > b)puts("A的值大于B");elseputs("A的值小于B");return 0;
}
练习3-5:编写一段程序,确认相等运算符和关系符的运算结果是1和0
#include<stdio.h>
int main(void)
{int a;a = (5 >= 3);printf("%d\n", a);a = (5 <= 3);printf("%d\n", a);a = (5 == 3);printf("%d\n", a);a = (5 != 3);printf("%d\n", a);return 0;
}
练习3-6:编写一段程序,计算出输入的三个整数中的最小值并显示。(使用if语句)
#include<stdio.h>
int main()
{int a, b, c,min;printf("请输入三个整数。\n");printf("整数1:"); scanf("%d", &a);printf("整数2:"); scanf("%d", &b);printf("整数3:"); scanf("%d", &c);min = a;if (b < min){min = b;printf("最小值是:%d", min);}else if (c < min){min = c;printf("最小值是:%d", min);}elseprintf("最小值是:%d", min);return 0;
}
练习3-7:编写一段程序,计算出输入的四个整数中的最大值并显示。(使用if语句)
#include<stdio.h>
int main()
{int a, b, c, d, max1,max2;puts("请输入四个整数");printf("整数1:"); scanf("%d", &a);printf("整数2:"); scanf("%d", &b);printf("整数3:"); scanf("%d", &c);printf("整数4:"); scanf("%d", &d);max1 = (a> b) ? a : b;max2 = (c > d) ? c : d;if (max1 > max2)printf("%d", max1);elseprintf("%d", max2);return 0;
}
练习3-8:使用if语句替换掉315程序中的条件运算符,实现同样的功能
#include<stdio.h>
int main()
{int a, b;puts("请输入二个整数");printf("整数1:"); scanf("%d", &a);printf("整数2:"); scanf("%d", &b);if (a > b)printf("它们的差是%d", a - b);if (b > a)printf("它们的差是%d", b - a);return 0;
}
练习3-9:使用条件运算替换练习3-6的if语句,实现同样的功能
#include<stdio.h>
int main()
{int a, b, c, min1,min2;printf("请输入三个整数。\n");printf("整数1:"); scanf("%d", &a);printf("整数2:"); scanf("%d", &b);printf("整数3:"); scanf("%d", &c);min1 = (a < b) ? a : b;min2 = (c < b) ? c : b;printf("最小值是:%d", (min1 < min2) ? min1 : min2);return 0;
}
练习3-10:编写一段程序,像下面这样输入三个整数,如果三个数都相等,则显示"三个值都相等",如果两个相等则显示有两个相等,如都不符合,则显示,全部不相等。
#include<stdio.h>
int main()
{int a, b, c;puts("请输入三个值");printf("整数1:"); scanf("%d", &a);printf("整数2:"); scanf("%d", &b);printf("整数3:"); scanf("%d", &c);if (a == b && b == c)printf("他们三个都相等。");else if (a == b || a == c || b == c)printf("他们三个有两个相等。");elseprintf("他们三个都不想等");return 0;
}
练习3-11:编写一段程序,像下面那样输入两个整数,如果它们的差值小于等于10,则显示它们的差小于等于10,否则显示他们的差大于11
#include<stdio.h>
int main()
{int a, b;printf("请输入两个整数\n");printf("整数A:"); scanf("%d", &a);printf("整数B:"); scanf("%d", &b);if (a - b < 10 || a - b == 10)printf("它们的差小于等于10");elseprintf("它们的差大于等于11");return 0;
}
第二节:switch语句
练习3-12:对代码清单3-4的语句进行修改,要求不适用if语句使用switch语句
#include<stdio.h>
int main()
{int a;printf("请输入一个整数:");scanf("%d", &a);switch (a % 2){case 0: printf("你输入的是偶数"); break;case 1: printf("你输入的是奇数"); break;}return 0;
}
练习3-13:对代码清单3-17的程序进行修改,不使用if语句,用switch语句来实现
#include<stdio.h>
int main()
{int a;printf("请输入月份:");scanf("%d", &a);switch (a){case 3 :case 4 :case 5 : printf("春天!"); break;case 6 :case 7 :case 8 : printf("夏天!"); break;case 9 :case 10:case 11: printf("秋天!"); break;case 12:case 1 :case 2 : printf("冬天!"); break;default: printf("该月份不存在!!"); break;}return 0;
}
总结板块
&&表示与,两者都为真才为真
|| 表示或,两者都为假才为假
a<b ? a : b 如果a<b结果为真,则为a,如果a<b结果为假,则为b
?:语句就是将if语句功能凝结在一个单一语句中。
switch语句会首先对表达式的值进行判断,然后程序会转向case后书写的值与判断结果相等的部分
当程序被执行到break语句的break时,会跳出switch语句
default :xxxx
如果控制表达式的结果与任何一个case都不同的时候,就会跳转到default的标识下执行
明解C语言第三章习题相关推荐
- 《明解C语言》第九章字符串课后练习题
习题 9-2 #include <stdio.h> int main() { char str[] = "ABC"; // char str[] = &q ...
- 明解C语言入门篇_第9章_字符串的基本知识
前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...
- 明解C语言入门篇_第10章_指针
前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...
- 明解C语言入门篇_第13章_文件处理
前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...
- 明解C语言入门篇_第6章_函数
前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...
- 已知函数func的C语言代码框架,第三章习题-ddg..doc
第三章习题-ddg. 习 题 1. 给出以下概念的解释说明. 机器语言程序机器指令汇编语言 汇编指令汇编语言程序汇编助记符 汇编程序反汇编程序机器级程序 通用寄存器定点通用寄存器栈指针寄存器 指令指针 ...
- 大学c语言第三章作业,c语言程序设计一章部分和第三章习题答案.doc
c语言程序设计一章部分和第三章习题答案 实 验 报 告 课程名称 C语言程序设计A 实验项目 编程环境认知与顺序程序设计 实验仪器 PC机一台 学 院_____信息管理学院_______ 专 业 信息 ...
- 明解C语言入门篇_第12章_结构体
前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...
- 明解C语言入门篇_第8章_动手编写各种程序吧
前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...
- zucc c语言上机答案,ZUCC第三章 习题答案.doc
您所在位置:网站首页 > 海量文档  > 汽车/机械/制造 > 数控机床 ZUCC第三章 习题答案.doc6页 本文档 ...
最新文章
- java用jdbc来rollback,jdbc rollback,该怎么解决
- pwm一个时间单位_详解STM32的PWM输出及频率和脉宽(占空比)的计算——寄存器配置六步曲!...
- 关于敏捷开发方法(Agile Software Development)的阅读笔记
- greenfoot推箱子游戏_推箱子小游戏V2.0更新
- 白话debounce和throttle
- 《淘宝网》质量属性简析
- 进程、地址空间、文件、I/O、保护、虚拟内存
- Matlab自适应均线_基于MATLAB的自回归移动平均模型(ARMA)在股票预测中的应用
- HDU 6319 Problem A. Ascending Rating (单调队列)
- Python 多重共线性检验
- 微信小程序开发工作流程
- 双网卡共享上网的完全解决方案
- 程序员加油站 -- 懂电脑更要懂人脑!继“书呆子”后又一呆子现世!
- 二叉树翻转/镜像 (Java实现)
- java-php-net-python-税务申报系统ssh计算机毕业设计程序
- omf多路径 oracle_Oracle数据库使用OMF来简化数据文件的管理
- 解决input输入的是空格问题
- Vertex Atrributes
- Qcom 8909 sbl1流程
- 无线通信原理之F-OFDM技术