深入了解C语言结构化的程序设计

目录
  • C语言是结构化的程序设计语言!
  • if语句
    • 1:单分支结构
    • 2:多分支结构
    • 悬空else
    • while循环
  • 总结

C语言是结构化的程序设计语言!

结构有三大类:顺序结构,选择结构,循环结构!

顺序结构:顺序结构是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。

举个例子:

#include<stdio.h>
int main()
{
    int i=1;//这段代码中i依次为1,2,3
    printf("%d\n",i);//同时打印1,2,3,这里的代码就是按顺序结构进行下去的
    i++;
    printf("%d\n",i);
    i++;
    printf("%d\n",i);
    return 0;
}

选择结构:选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。主要是使用if语句,以及switch语句。

if语句

1:单分支结构

if(表达式)
  语句;
#include<stdio.h>
int main()
{
    int age;
    scanf("%d",&age);
    if(age<18)
    {
        printf("未成年\n");
    }
    return 0;
}

2:多分支结构

if(表达式1)
  语句1;
else if(表达式2)
  语句2;
else
  语句3;
#include<stdio.h>
int main()
{
    int age;
    scanf("%d",&age);
    if(age<18)
    {
        printf("未成年\n");
    }
    else if(age>=18&&age<=30)
    {
        printf("青年\n");
    }
    else
    {
        printf("中年以及老年\n");
    }
    return 0;
}

注:当if语句中的表达式结果为真,则语句执行

悬空else

看看这段代码,你知道它会打印什么吗?

#include<stdio.h>
int main()
{
    int a=0;
    int b=0;
    if(a==1)
        if(b==2)
          printf("hehe\n");
    else
        printf("haha\n");
    return 0;
}

如果你觉得会打印东西,那么恭喜你,回答错误!!!

告诉你给秘密,下面的这段代码等于上面的那段代码!

#include<stdio.h>
int main()
{
    int a=0;
    int b=0;
    if(a==1)
    {
        if(b==2)
          {
              printf("hehe\n");
          }
        else
          {
            printf("haha\n");
          }
    }
    return 0;
}

看完上面的代码估计你就明白了!else是与最近的if匹配,而不是与对其的if匹配!

switch语句:switch语句常常用于多分支的情况。

switch(整形表达式)
{
   语句项;
}
语句项
//是一些case整形常量表达式:
          语句
#include<stdio.h>
int main()
{
    int time;
    scanf("%d",&time);
    switch(time)
    {
    case 1:
        printf("春天\n");
        break;//break是指跳出循环
    case 2:
        printf("夏天\n");
        break;
    case 3:
        printf("秋天\n");
        break;
    case 4:
        printf("%冬天\n");
        break;
    default://default是指case没有规定的位置,可以写在任何一个case标签可以出现的位置
        printf("输入错误\n");
        break;
    }
}

循环语句:循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。

while循环

while(表达式)
  循环语句;
#include<stdio.h>
int main()
{
    int i=0;
    while(i<=10)
    {
        i++;
        if(i==5)
            continue;//continue是用于终止本次循环,然后直接跳转到while语句的判断部分,进行下一次循环的入口判断
        printf("%d ",i);
    }
    return 0;
}

do~while循环:循环至少执行一次,不是经常使用!

do
   循环语句;
while(表达式);
//与while语句的区别就是do~while是先执行,然后再判断,while语句相反!

for循环

for(表达式1:表达式2:表达式3)
     循环语句:
 表达式1:初始化
 表达式2:判断
 表达式3: 调整
#define _CRT_SECURE_NO_WARNINGS 1//打印乘法口诀表
#include<stdio.h>
int main()
{
    int i,j;
    for(i=1;i<=9;i++)
    {
        for(j=1;j<=i;j++)
        {
            printf("%d*%d=%d ",j,i,j*i);
        }
        printf("\n");
    }
    return 0;
}

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • C语言程序设计第五版谭浩强课后答案(第二章答案)

    1. 什么是算法?试从日常生活中找3个例子,描述它们的算法 算法:简而言之就是求解问题的步骤,对特定问题求解步骤的一种描述. 比如生活中的例子: 考大学 首先填报志愿表.交报名费.拿到准考证.按时参加考试.收到录取通知书.按照日期到指定学校报到. 去北京听演唱会 首先在网上购票.然后按时坐车到北京,坐车到演唱会会场. 把大象放进冰箱 先打开冰箱门,然后将大象放进冰箱,关冰箱. 2. 什么叫结构化的算法?为什么要提倡结构化的算法? 结构化算法:由一些顺序.选择.循环等基本结构按照顺序组成,流程的转

  • c语言程序设计文件操作方法示例(CreateFile和fopen)

    实例: (1)第一种方法CreateFile 复制代码 代码如下: #include "stdafx.h"#include <windows.h>void main(int argc, char* argv[]){      HANDLE hDevice = CreateFile("C://S.txt",            GENERIC_READ|GENERIC_WRITE,            0,            NULL,      

  • C语言程序设计50例(经典收藏)

    [程序1]题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. 2.程序源代码: 复制代码 代码如下: #include "stdio.h"#include "conio.h"main(){  int i,j,k;  printf("\n");  for(i=1;i<5;i++) /*以下为三重循环*/   

  • C语言程序设计谭浩强第五版课后答案(第三章习题答案)

    1.假如我国国民生产总值的年增长率为7%, 计算10年后我国国民生产总值与现在相比增长多少百分比.计算公式为 p = ( 1 + r ) n p = (1+r)^n p=(1+r)n ,其中r为年增长率,n为年数,p为与现在相比的倍数. 题目解析: 此题的关键主要是利用数学库math中pow函数进行计算,若不熟悉可以查阅帮助文档,查看pow函数的用法. 代码示例: #include<stdio.h> #include <math.h> int main() { float p, r

  • 深入了解C语言结构化的程序设计

    目录 C语言是结构化的程序设计语言! if语句 1:单分支结构 2:多分支结构 悬空else while循环 总结 C语言是结构化的程序设计语言! 结构有三大类:顺序结构,选择结构,循环结构! 顺序结构:顺序结构是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行. 举个例子: #include<stdio.h> int main() { int i=1;//这段代码中i依次为1,2,3 printf("%d\n",i);//同时打印1,2

  • Go语言结构体定义和使用方法

    本文实例讲述了Go语言结构体定义和使用方法.分享给大家供大家参考.具体分析如下: 一个结构体(struct)就是一个字段的集合. (而 type 定义跟其字面意思相符.) 复制代码 代码如下: package main import "fmt" type Vertex struct {     X int     Y int } func main() {     fmt.Println(Vertex{1, 2}) } 结构体字段使用点号来访问. 复制代码 代码如下: package

  • C++17结构化绑定的实现

    动机 std::map<K, V>的insert方法返回std::pair<iterator, bool>,两个元素分别是指向所插入键值对的迭代器与指示是否新插入元素的布尔值,而std::map<K, V>::iterator解引用又得到键值对std::pair<const K, V>.在一个涉及std::map的算法中,有可能出现大量的first和second,让人不知所措. #include <iostream> #include <m

  • 解决Java 结构化数据处理开源库 SPL的问题

    目录 前言介绍: 1. 集合运算能力 2.Lambda语法 3. 在Lambda语法中直接引用字段 4. 动态数据结构 5. 解释型语言 前言介绍: 现代Java应用架构越来越强调数据存储和处理分离,以获得更好的可维护性.可扩展性以及可移植性,比如火热的微服务就是一种典型.这种架构通常要求业务逻辑要在Java程序中实现,而不是像传统应用架构中放在数据库中. 应用中的业务逻辑大都会涉及结构化数据处理.数据库(SQL)中对这类任务有较丰富的支持,可以相对简易地实现业务逻辑.但Java却一直缺乏这类基

  • TypeScript 背后的结构化类型系统原理详解

    目录 前言 什么是结构化类型系统? 什么是标称类型系统? 结构化类型系统等价于鸭子类型系统吗? 如何在 TypeScript 中模拟标称类型系统? 交叉类型实现 类实现 总结 前言 你能说清楚类型.类型系统.类型检查这三个的区别吗?在理解TypeScript的结构化类型系统之前,我们首先要搞清楚这三个概念和它们之间的关系 类型:即对变量的访问限制与赋值限制.如 TypeScript 中的原始类型.对象类型.函数类型和字面量类型等类型,当一个变量类型确定后,你不能访问这个类型中不存在的属性或方法,

  • C++20中的结构化绑定类型示例详解

    目录 C++20中新增了一个非常有用的特性 结构化绑定概念 结构化绑定类型 数组 Pair 结构体 实现一个可以被结构化绑定的类元组类型 C++20中新增了一个非常有用的特性 结构化绑定(Structured Binding).它可以让我们方便地从一个容器类型中取出元素并绑定到对应的变量中,使得代码更加简洁.易读.接下来,本文将分别介绍结构化绑定的概念.类型以及如何实现一个可以被结构化绑定的类元组类型. 结构化绑定概念 结构化绑定是C++20中的一个语言特性,允许将一个结构体或者其他类似类型的容

  • HTML结构化:实践DIV+CSS网页布局入门指南

    你正在学习CSS布局吗?是不是还不能完全掌握纯CSS布局?通常有两种情况阻碍你的学习: 第一种可能是你还没有理解CSS处理页面的原理.在你考虑你的页面整体表现效果前,你应当先考虑内容的语义和结构,然后再针对语义.结构添加CSS.这篇文章将告诉你应该怎样把HTML结构化. 另一种原因是你对那些非常熟悉的表现层属性(例如:cellpadding,.hspace.align="left"等等)束手无策,不知道该转换成对 应的什么CSS语句. 当你解决了第一种问题,知道了如何结构化你的HTML

  • php读取二进制流(C语言结构体struct数据文件)的深入解析

    尽管php是用C语言开发的,不过令我不解的是php没有提供对结构体struct的直接支持.不过php提供了pack和unpack函数,用来进行二进制数据(binary data)和php内部数据的互转: 复制代码 代码如下: string pack ( string $format [, mixed $args [, mixed $...]] )   //Pack given arguments into binary string according to format.  array unp

  • C语言 结构体(Struct)详解及示例代码

    前面的教程中我们讲解了数组(Array),它是一组具有相同类型的数据的集合.但在实际的编程过程中,我们往往还需要一组类型不同的数据,例如对于学生信息登记表,姓名为字符串,学号为整数,年龄为整数,所在的学习小组为字符,成绩为小数,因为数据类型不同,显然不能用一个数组来存放. 在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据.结构体的定义形式为: struct 结构体名{     结构体所包含的变量或数组 }; 结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可

  • C语言结构体(struct)常见使用方法(细节问题)

    基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量. 结构体定义: 第一种:只有结构体定义 struct stuff{ char job[20]; int age; float height; }; 第二种:附加该结构体类型的"结构体变量"的初始化的结构体定义 //直接带变量名Huqinwei struct stuff{ char job[20]; int age; floa

随机推荐