本讲将通过几个经典例子来讲解选择与循环嵌套。

选择与选择嵌套

if 与 if嵌套

判断变量a是否在3~10之间。

int a = 4;if (a > 3) {   if (a 10) {       printf("满足条件");   }}

可以看到,上面程序也可以使用逻辑运算符来简化为:

int a = 4;if (a > 3 && a 10) {   printf("满足条件");}

第二种写法明显更清晰,也更方便处理。所以在开发过程中,要学会合理运用逻辑运算来合并一些没必要的嵌套。

if 与 switch嵌套

用户输入是否是工作日(y/n)与星期几。如果是工作日,则星期一输出“中午吃牛肉面”,星期二输出“中午吃卤肉面”。

char isWorkingDay = 0;int dayOfWeek;printf("请输入是否是工作日(y/n), 与星期几:");scanf("%c %d", &isWorkingDay, &dayOfWeek);if (isWorkingDay == 'y') {   switch (dayOfWeek) {       case 1:           printf("中午吃牛肉面");           break;       case 2:           printf("中午吃卤肉面");           break;       default:           break;   }}

选择与循环嵌套

对于选择与循环的嵌套结构,主要讲解for循环与if的嵌套。

if 与 for嵌套

输出2000~2100之间的闰年。

// 从2000循环到2100,挨着判断是否是闰年for (int i = 2000; i <= 2100; i ++) {   // 判断闰年:能被400整除或能被4且不能被100整除的年份   if ((i % 400 == 0) || (i % 4 == 0 && i % 100 != 0)) {       printf("%d ", i);   }}

循环与循环嵌套

循环嵌套主要讲解for循环的嵌套。

输出以下形状

************
// 控制行数for (int i = 0; i 3; i ++) {   // 控制列数   for (int j = 0; j 4; j ++) {       printf("*");   }   // 每一行结束后换行   printf("\n");}

输出以下形状

**********

首先分析*与行号的关系:

行号 *个数
0 1
1 2
2 3
3 4
// 控制有多少行for (int i = 0; i 4; i ++) {   // 控制每一行都多少*   for (int j = 0; j <= i; j ++) {       printf("*");   }   printf("\n");}

输出九九乘法表

for (int i = 1; i <= 9; i ++) {   for (int j = 1; j <= i; j ++) {       printf("%d * %d = %d\t", j, i, i * j);   }   printf("\n");}

输出以下形状

   *  ** *******

首先分析*与行号的关系:

行号 *个数 空格数
0 1 3
1 2 2
2 3 1
3 4 0

空格数 = 总行数 - 1 - 行号

*数 = 行号 + 1

// 控制行数for (int i = 0; i < 4; i ++) {   // 控制每行的空格数   for (int j = 0; j 4 -        printf(" ");   }   // 控制每行的*数   for (int j = 0; j <= i; j ++) {       printf("*");   }   printf("\n");}

输出以下形状

      1    2   3  4   5   67   8   9   0

分析:这道题同样需要找到行号、空格、数字之间的关系。同时可以看到,数字是从1开始,到0结束的,可以通过取余运算来达到这个效果。

// 定义变量number,用于输出连续数字int number = 1;// 外层循环控制行数for (int i = 0; i < 4; i ++) {   // 控制每一行的空格数   for (int j = 0; j 4 -        printf(" ");   }   // 控制每一行输出的数字   for (int j = 0; j 1; j ++) {       // 因为最后一个数是0,而不是10,所以对10取余       printf("%d ", number % 10);       // 每输出一个数,就++       number ++;   }   printf("\n");}

《c语言简明教程》

01-C语言的过去与未来

02-Dev C++  安装及使用方法教程

03-C语言的第一个简单实例

04-关键字与标识符-C语言

05-数据类型与常量变量-C语言

06-C语言运算符

IT入门 感谢关注

程序员题库→程序员用的单词表→练习地址:www.520mg.com/it

?戳

c语言if怎么结束_07if与循环案例超经典C语言相关推荐

  1. 07-if与循环-案例超经典-C语言

    本讲将通过几个经典例子来讲解选择与循环嵌套. 选择与选择嵌套 if 与 if嵌套 判断变量a是否在3~10之间. int a = 4;if (a > 3) {if (a < 10) {pr ...

  2. R语言使用ifelse函数与for循环的结合实战

    R语言使用ifelse函数与for循环的结合实战 目录 R语言使用ifelse函数与for循环的结合实战 R语言控制结构(Control Structures) <

  3. 【C语言入门教程】3.4 循环控制语句

    循环结构又称重复结构,是程序的 3 种基本结构之一.它反复执行循环体内的代码,解决需要大量重复处理的问题.循环结构由循环控制语句实现,其中内建有条件控制语句,用来判读是否继续执行循环操作.C 语言提供 ...

  4. c语言第四章循环程序设计,C语言程序设计教程第4章-循环结构程序设计

    <C语言程序设计教程第4章-循环结构程序设计>由会员分享,可在线阅读,更多相关<C语言程序设计教程第4章-循环结构程序设计(42页珍藏版)>请在人人文库网上搜索. 1.C语言程 ...

  5. java for循环_愉快地学Java语言:第五章 循环

    导读 本文适合Java入门,不太适合Java中高级软件工程师.本文以<Java程序设计基础篇>第10版为蓝本,采用不断提出问题,然后解答问题的方式来讲述.本篇文章只是这个系列中的一篇,如果 ...

  6. c语言菜单程序循环结构举例,C语言程序设计课件 第4章 循环结构.ppt

    C语言程序设计课件 第4章 循环结构.ppt 循环嵌套应用举例 [例4.8]从键盘上输入n的值为5,编程打印具有如下规律的对称图形. @ @ @ @ @ @ @ @ @ @ @ @ @ 行号(i)空格 ...

  7. c语言表示测试结束,C语言简单测试题

    <C语言简单测试题>由会员分享,可在线阅读,更多相关<C语言简单测试题(12页珍藏版)>请在人人文库网上搜索. 1.1)C语言中下列叙述正确的是________.A)不能使用d ...

  8. c语言程序设计的几种循环,C语言程序设计教案 第六章 循环程序设计.doc

    C语言程序设计教案 第六章 循环程序设计 第六章 循环程序设计 课题:第五章 选择结构程序设计教学目的:1.掌握三种循环语句的语法结构 2.灵活运用循环语句教学重点: 教学难点:三种循环语句while ...

  9. R循环有两个_R语言数据分析与挖掘(第九章):聚类分析(2)——层次聚类

    层次聚类(hierarchical clustering)基于簇间的相似度在不同层次上分析数据,从而形成树形的聚类结构,层次聚类一般有两种划分策略:自底向上的聚合(agglomerative)策略和自 ...

最新文章

  1. 阿里腾讯面试梳理个人成长经历分享
  2. 超实用编程技术指南!为什么你还学不会一门编程语言?
  3. 简述单片微型计算机屏蔽的作用,单片机原理及应用试题库 - 答案
  4. ASP.NET MVC 4应用程序文件夹
  5. 资源放送丨《Oracle聚簇因子的作用 - 2020云和恩墨大讲堂》PPT视频
  6. it项目管理案例_盈通顾问项目管理精英训练营(第一期)
  7. videojs如何获取请求消息_消息队列中,如何保证消息的顺序性?
  8. linux查看服务_Linux服务下通过指令查看JVM(非原创侵删)
  9. 用 Python 自动生成快闪文字视频
  10. Spring 菜鸟教程 IntrospectorCleanupListener
  11. 基于python的表情识别_python表情识别
  12. jmeter的脚本录制3
  13. ubuntu freeradius mysql_初试freeradius
  14. pta基础编程题目集 7-1 厘米换算英尺英寸
  15. 深度学习基础--输出层的神经元数应该与分类数匹配(分类数大于等于2)则是一个监督学习任务,对吗?
  16. 人脑功能连接与相似性分析:基于Python
  17. Python数据可视化之美
  18. 堆排序-Java小顶堆排序
  19. 华为BOX300连线及配置
  20. linux下分析webmail代码,十分钟快速架设Linux系统下WebMail

热门文章

  1. educoder MongoDB 实验——数据库优化
  2. RAID0、1、5、6、10介绍
  3. 笔记:vue项目中引用百度地图,地图空白现象
  4. 巩固——React中如何使用判断?
  5. windows 安装nginx
  6. Css单位px,rem,em,vw,vh的区别
  7. 基础04继承、super、this、抽象类
  8. 笔记本电脑怎样连接打印机_“小小”打印机 | 惠普M17w迷你激打
  9. Linux如何确认连接域名,linux 查看服务器域名
  10. could not insert: