C语言(2):选择与循环结构

    顺序结构是程序流程控制的基本结构。但是,为了实现各种功能的算法,除了按照正常的流程顺序执行外,还需要改变顺序控制流程以实现某种功能,这种情况下要用到选择语句,循环语句等控制语句。

    控制语句主要有:1:条件语句(if....else) 2:循环语句(for,while,do.....while) 3:中断switch或循环语句(break) 4:结束当前循环语句(continue) 5:多分支选择语句 (switch) 6:返回语句 (return) 7:转向语句 (goto)(一般不推荐使用,会破坏代码的结构)

   一:选择结构

   选择结构用于根据条件与与否选择下一步要执行的动作,可以从两种或多种候选动作中选择一种执行。

   简单if语句形式:

if(表达式)

   语句段

  

例: 三个数排序

题目描述

小小想写一个简单的三个数排序的程序,就是从键盘输入三个整数,将这三个数按照从小到大的顺序输出。

输入

一行:三个整数。

输出

一行:排完序后的三个整数。

样例输入 

11 10 5

样例输出 

5 10 11

AC代码:

   if....else语句形式: 

        if(表达式)

                 语句段1

          else

                语句段2

    注:

(1):else总是与if成对出现。可以单独使用if语句,但不能单独使用else语句。

(2):else总是与它上面的最近的未配对的if匹配。

例: 兑奖

题目描述

    某饮料公司最近推出了一个“收集瓶盖赢大奖”的活动:如果你拥有10个印有“幸运”,或者20个印有“鼓励”的瓶盖,就可以兑换一个神秘大奖。现分别给出你拥有的“幸运”和“鼓励”的瓶盖数,判断是否可以去兑换大奖。若可以兑换大奖,则输出Yes,否则输出No。

输入

    仅一行。包含两个整数,分别为印有“幸运”和“鼓励”的瓶盖数目。

输出

    若可以兑换大奖,则输出Yes,否则输出No。

样例输入

10 30

样例输出

Yes

AC代码:

二:循环结构

要构成循环结构,必须满足四个要素:

 (1):循环控制表达式和循环控制变量

(2):循环体语句

(3):初始条件设置语句

  (4): 循环变量修改语句

 while语句在每次执行循环体之前测试循环条件。do.....while语句在每次执行循环体之后测试循环条件。for语句提供特殊语法,可以初始化或更新一个或几个控制变量,同时测试循环条件。(这个平时比较常用)。

 while语句形式:

while(表达式)

   语句

例: 数字和1

题目描述

输入一个正整数,输出它的各位数字之和。

输入

一行一个正整数,int 范围以内。

输出

一行一个正整数,表示答案。

样例输入 

153

样例输出 

9

 AC代码:

do.....while语句形式:

do

      语句

while(表达式);(注意有分号)

例:数列求和 

题目描述

数列求和是一类常见的问题,本题有一定的代表性:
求s=a+aa+aaa+aaaa+⋯+aa⋯aa(n位)
其中,a的值由键盘输入,位数n也由键盘输入。 

输入描述

第一行输入a的值;
第二行输入位数n。 

输出描述

输出对n(n≥0)个数完成求和运算后的结果。
比如a=3,n=6时,s=3+33+333+3333+33333+333333

样例

输入

3
6

输出

370368

AC代码:

for语句形式:

for(表达式1;表达式2;表达式3)

         语句

for语句由4部分组成,即3个表达式和循环语句。for语句中的三个表达式以两个分号分隔,3个表达式是可选项,但是分隔它们的分号不能省略。3个表达式的作用如下:

表达式1:设置初始条件,只执行一次。通常情况下为变量赋值

表达式2:条件表达式,用来判断是否执行循环

表达式3:循环变量修改语句,用来保证循环可以正常结束

例: 数字统计I

题目描述

请统计某个给定范围[L,R]的所有整数中,数字2出现的次数。
比如给定范围[2,22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次。

输入

输入共1行,为两个正整数L和R(1≤L≤R≤10000),之间用一个空格隔开。

输出

输出共1行,表示数字2出现的次数。

样例输入 

2 22

样例输出 

6

 AC代码:

注:本文章主要面向初学者,故例题比较简单。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值