第一节: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语言第三章习题相关推荐

  1. 《明解C语言》第九章字符串课后练习题

    习题 9-2 #include <stdio.h> int main() {     char str[] = "ABC"; //    char str[] = &q ...

  2. 明解C语言入门篇_第9章_字符串的基本知识

    前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...

  3. 明解C语言入门篇_第10章_指针

    前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...

  4. 明解C语言入门篇_第13章_文件处理

    前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...

  5. 明解C语言入门篇_第6章_函数

    前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...

  6. 已知函数func的C语言代码框架,第三章习题-ddg..doc

    第三章习题-ddg. 习 题 1. 给出以下概念的解释说明. 机器语言程序机器指令汇编语言 汇编指令汇编语言程序汇编助记符 汇编程序反汇编程序机器级程序 通用寄存器定点通用寄存器栈指针寄存器 指令指针 ...

  7. 大学c语言第三章作业,c语言程序设计一章部分和第三章习题答案.doc

    c语言程序设计一章部分和第三章习题答案 实 验 报 告 课程名称 C语言程序设计A 实验项目 编程环境认知与顺序程序设计 实验仪器 PC机一台 学 院_____信息管理学院_______ 专 业 信息 ...

  8. 明解C语言入门篇_第12章_结构体

    前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...

  9. 明解C语言入门篇_第8章_动手编写各种程序吧

    前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...

  10. zucc c语言上机答案,ZUCC第三章 习题答案.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp汽车/机械/制造&nbsp>&nbsp数控机床 ZUCC第三章 习题答案.doc6页 本文档 ...

最新文章

  1. java用jdbc来rollback,jdbc rollback,该怎么解决
  2. pwm一个时间单位_详解STM32的PWM输出及频率和脉宽(占空比)的计算——寄存器配置六步曲!...
  3. 关于敏捷开发方法(Agile Software Development)的阅读笔记
  4. greenfoot推箱子游戏_推箱子小游戏V2.0更新
  5. 白话debounce和throttle
  6. 《淘宝网》质量属性简析
  7. 进程、地址空间、文件、I/O、保护、虚拟内存
  8. Matlab自适应均线_基于MATLAB的自回归移动平均模型(ARMA)在股票预测中的应用
  9. HDU 6319 Problem A. Ascending Rating (单调队列)
  10. Python 多重共线性检验
  11. 微信小程序开发工作流程
  12. 双网卡共享上网的完全解决方案
  13. 程序员加油站 -- 懂电脑更要懂人脑!继“书呆子”后又一呆子现世!
  14. 二叉树翻转/镜像 (Java实现)
  15. java-php-net-python-税务申报系统ssh计算机毕业设计程序
  16. omf多路径 oracle_Oracle数据库使用OMF来简化数据文件的管理
  17. 解决input输入的是空格问题
  18. Vertex Atrributes
  19. Qcom 8909 sbl1流程
  20. 无线通信原理之F-OFDM技术

热门文章

  1. Java 内部类与外部类的关系
  2. 互联网智商测试:搜索引擎谁的“智商”更高?
  3. 无线通信行业常用名词
  4. office 2007插入带圈字符
  5. 销售方法总结思维导图模板分享
  6. Linux下最适合程序员的编程字体
  7. Coremail邮件安全:2022重保最新钓鱼案件典型攻击手法复盘
  8. DOtween 教程
  9. 个人作业-软件案例分析
  10. 中国省市区乡县名称代码对照表