首页 > 编程知识 正文

举例说明顺序结构选择结构和循环结构的基本概念与特点,顺序选择循环三种基本结构的程序

时间:2023-05-05 22:58:25 阅读:195298 作者:4824

三种基本程序结构

顺序结构

表达式语句

空语句

函数调用语句

符合语句

实例1,发工资根据每个人的工资额(以元作为单位)计算出各种面值的钞票的张数,且要求总张数最少。

例如 某职工工资为3863元 发工资的方案为 100元38张50元一张10元一张1元三张。

参考程序

#include <stdio.h> int main()
{
   int m100;
   int m50;
   int m10;
   int m1;
   int money;    scanf ("%d", &money);    m100 = money / 100;
   money = money % 100;    m50 = money / 50;
   money = money % 50;  
   m10 = money / 10;
   money = money % 10;    m5 = money / 1;
   money = money % 1;    printf ("m100 = %dnm50 = %dnm10 = %dnm1 = %dn",
       m100, m50, m10, m1, money);    return 0;
}

选择语句

if语句

if  (表达式) 
{
        语句
}
else
{
    语句
}

if 语句可以省略else部分,变为如下格式:
if  (表达式) 
{
    语句
}

写程序,判某一年是否闰年。
输入:年(year)
计算:判是否闰年
输出:闰年或非闰年(leap)
闰年条件:
能被4整除,但不能被100整除。
能被4整除,又能被400整除。

参考程序

#include <stdio.h> int main()
{
    int year;
    int leap;     scanf ("%d", &year);     if (year % 4 == 0)
    {
        if (year % 100 == 0)
 {
     if (year % 400 == 0)
     { 
         leap =1;
     }
     else
     {
         leap = 0;
     }
 }
 else
 {
     leap = 1;
 }
    }
    else
    {
        leap = 0;
    }     if (1 == leap)
    {
        printf ("%d is leap!n", year);
    }
    else
    {
        printf ("%d is not leap!n", year);
    }     return 0;
}


多分支语句

格式:switch(表达式)
                       {case  常量表达式1:语句序列1
                         case  常量表达式2:语句序列2                        
                                    M
                         case  常量表达式i:语句序列i
                                    M
                         case  常量表达式n:语句序列n
                         default: 语句序列n+1
                         }
         执行过程为:当表达式的值等于常量表达式i的值,则从语句序列i开始执行到语句序列n+1为止 。若表达式的值不等于任何一个常量表达式的值,则只执行default后面的语句。
   一般在每个语句序列之后加一个break语句,这样在执行语句序列i之后,使流程跳出switch结构,实现多分支选择结构。

 实例 :给出一百分制成绩,要求输出成绩等级‘A’、’B’、‘C’、‘D’、‘E’。90分以上为‘A’ ,80~89分为’B’ ,70~79分为‘C’...


参考程序

#include <stdio.h> int main()
{
    int grade;     scanf ("%d", &grade);     grade = grade / 10;
    switch (grade)
    {
        case 9:
 {
     printf ("An");
     break;
 }
 case 8:
 {
     printf ("Bn");
     break;
 }
 case 7:
 {
     printf ("Cn");
     break;
 }
 case 6:
 {
     printf ("Dn");
     break;
 }
 default:
 {
     printf ("En");
 }
    }     return 0;
}





循环结构


循环控制结构在程序中是指对某段程序或某条语句根据条件重复执行。C语言提供了while、do-while和for三种支持循环控制结构的语句。

while语句是支持“当型”循环控制结构的语句。
一般格式为: 
while  (表达式) 
{
    语句;
 }




do_while语句是支持“直到型”循环控制结构的语句。
 一般格式为: 
do
{
    语句;
} while (表达式);
这个分号不能丢



for语句是一种使用比while语句更加灵活的循环控制语句。
一般格式为: 
for (表达式1; 表达式2; 表达式3) 
{
  语句
}
 
先求解表达式1;
再解表达式2,若为真(非0)值,则
 执行语句,然后求解表达式3,再
 转到求解表达式2。若为假(0)值,
    则结束for语句的执行。




循环语句嵌套

一个循环语句内又包含另一个完整的循环语句,称为循环语句的嵌套。内嵌的循环语句一般称为内循环,包含内循环的循环语句称为外循环。内循环再嵌套内层循环,就够成了多重循环。


循环语句要注意的几点:

1.在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数。

2.建议for语句的循环控制变量的取值采用"半开半闭区间"写法。半开半闭区间写法和闭区间写法虽然功能相同,但相比之下,半开半闭区间写法更加直观。

3.不能在for循环体内修改循环变量,防止循环失控

4.循环要尽可能短,要使代码清晰,一目了然。一般来说循环内的代码不要超过20行。

5.把循环嵌套控制在3层以内

6.for语句的控制表达式不能包含任何浮点类型的对象


实例:计算一条语句中的空格、字母、数字的个数。

#include <stdio.h> int main()
{
    int int_count = 0;
    int letter_count = 0;
    int space_count = 0;     char ch;
    scanf ("%c", &ch);     while (ch != 'n')
    {
        if (ch == ' ')
 {
     space_count++;
 }
 else if (ch >= '0' && ch <= '9')
 {
     int_count++;
 }
 else if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
 {
            letter_count++;
 }
        scanf ("%c", &ch);
    }     printf ("int_count = %dnletter_count = %dnspace_count = %dn",
     int_count, letter_count, space_count);     return 0;
}



大部分基础理论写完了,后面的博客大部分是代码和注释多一些,如果有更简便的写法或者注释有错欢迎大家评论。







版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。