#define _CRT_SECURE_NO_WARNINGS 1
1、struct 结构体关键字 --描述复杂对象--我们自己创造出来的类型
#include <string.h>
#include <stdio.h>
struct Book            //创建一个结构体类型  ---   {}描述结构体内在属性 -- "." 结构体变量.成员    -- "->"结构体指针 -> 成员
{
    char name[20];  //C语言程序设计
    short price;    //55

};

int main()
{
    struct Book b1 = { "C语言程序设计" ,55};    //利用结构体类型--创建一个该类型的结构体变量
    printf("书名: %s\n", b1.name);
    printf("价格: %d元\n", b1.price);
    b1.price = 15;
    printf("修改后的价格:%d元\n", b1.price);
    strcpy(b1.name,"C++");   //strcpy-string copy--字符串拷贝--库函数--string.h
    printf("修改后的书名: %s\n", b1.name);
    return 0;
}

int main()
{
    struct Book b1 = { "C语言程序设计", 55 };
    struct Book* pb = &b1;     //struct Book*的指针类型指向b1赋值给变量pb;
    //利用pb打印出书名和价格
    printf("书名: %s\n", (*pb).name);
    printf("价格: %d\n", (*pb).price);
    printf("书名: %s\n", pb->name);
    printf("价格: %d\n", pb->price);
    return 0;
}

2、分支语句和循环语句   --C语言中由一个分号“;”隔开的就是一条语句。比如 :printf("hehe");
C语言是一门结构化的程序设计语言
1、顺序结构
2、选择结构
3、循环结构

2.1 分支语句 if
if语法结构 1:
/*    if(表达式)   ---表达式为真,执行语句,否则不执行
    语句;
    if(表达式)   ---表达式为真,执行语句1,否则不执行
    语句1;
    else         ---以上都为假,执行语句2
    语句2;
    */

if语法结构 2:
/*    if(表达式)   ---表达式为真,执行语句,否则不执行
    语句;
    else if(表达式)   ---表达式为真,执行语句1,否则不执行
    语句1;
    else         ---以上都为假,执行语句2
    语句2;
*/
例:
int main()
{
    int age = 9;
    if (age < 18)
    {                    //---大括号表示一个代码块,可以执行多行语句
        printf("未成年\n");
        printf("不能谈恋爱\n");
    }
    else if (age<28 && age>=18)
        printf("青年\n");
    else if (age >= 28 && age < 50)
        printf("壮年\n");
    else if (age >= 50 && age < 90)
        printf("老年\n");
    else
        printf("老不死\n");
    return 0;
}

int main()
{
    int a = 0;
    int b = 2;
    if (a == 1)    //  = 赋值   == 判断相等
        if (b==2)
        printf("hehe\n");
        else
        printf("haha\n"); //无输出内容,else就近匹配原则
    return 0;
}

练习:判断一个数是否为奇数
练习:输出1-100之前的奇数
#include <stdio.h>
int main()
{
    int a=0;
    /*scanf("%d",&a);*/
    
    /*printf("a = %d\n", a);*/
    while (a < 100)
    {
        a++;
        int b = a % 2;
        if (b == 1)
            printf("%d是奇数\n", a);
        else
            printf("%d不是奇数\n", a);
    }
    
    return 0;
}

2.2 分支语句 switch  常用于多分支语句
switch(整形表达式)
/*
{
    语句项   --   case 整型常量表达式
}
*/
int main()
{
    int day = 0;     //必须整型类型的变量
    scanf("%d", &day);
    switch (day)
    {
    case 1:         //case 整型常量表达式 --case后面不能为变量
        printf("星期一\n");
        break;
    case 2:
        printf("星期二\n");
        break;
    case 3:
        printf("星期三\n");
        break;
    case 4:
        printf("星期四\n");
        break;
    case 5:
        printf("星期五\n");
        break;
    case 6:
        printf("星期六\n"); 
        break;
    case 7:
        printf("星期天\n");
        break;
    default:
        printf("输入有误!\n");
        break;
    }
    return 0;
}

int main()
{
    int day = 0;     //必须整型类型的变量
    scanf("%d", &day);
    switch (day)
    {
    case 1:         //case 整型常量表达式 --case后面不能为变量
    case 2:
    case 3:
    case 4:
    case 5:
        printf("工作日\n");
        break;
    case 6:
    case 7:
        printf("休息日\n");
        break;
    default:       //default位置没有严格控制,可出现在语句列表中的任何位置.每个switch语句中只能出现一条default子句
        printf("输入有误!\n");
        break;
    }
    return 0;
}

练习
int main()
{

int n = 1;
    int m = 2;
    switch (n)
    {
    case 1:m++;        //m = 3
    case 2:n++;        //n = 2
    case 3:            
        switch (n){
        case 1:n++;
        case 2:m++; n++;
            break;//m = 4,n =3
        }
    case 4:m++;        //m = 5
        break;
    default:
        break;
    }
    printf("m=%d,n=%d\n", m, n);
    return 0;
}

3.循环语句
3.1 while 
/*
    while(表达式)   表达式为真,执行循环语句
    循环语句;
*/

3.1.1 break  ---while中的break是用于永久终止循环
int main()
{
    int i = 1;

while (i < 11)
    {
        if (i == 5)
            break;   //不执行后循环内后面语句,直接停止后期的所有循环,终止循环
        printf("%d\n", i);
        i++;     // 1,2,3,4
    }
    return 0;
}

3.1.2 continute  --用于终止本次循环,本次循环中continute后面的代码不会再执行,
                     直接跳转到while语句的判断部分,进行下一次循环的入口判断。
int main()
{
    int i = 0;

while (i < 10)
    {
        i++;
        if (i == 5)
            continue;   //不执行后面语句,直接跳到while循环再判断
        printf("%d\n", i);  //1,2,3,4,6,7,8,9,10
    }
    return 0;
}

练习
int main()
{
    int ch = 0;
    //ctrl + z
    //EOF --end of file -> -1
    while((ch=getchar()) != EOF)   //getchar()是获取输入字符的函数
    {
        putchar(ch);       //打印getchaer()输入的字符 ,等同于printf("%c\n,ch);
    }
    return 0;
}

初识结构体、分支及循环相关推荐

  1. python的两种循环结构_python分支和循环结构

    Python Python开发 Python语言 python分支和循环结构 1.分支结构 1.1应用场景 迄今为止,我们写的Python代码都是一条一条语句顺序执行,这种代码结构通常称之为顺序结构. ...

  2. 初识结构体之座机电话号码

    试题描述 请定义一个表示电话号码的结构体类型. 电话号码包含区号(最多4位)和区内电话号码(最多8位).在一个区内的电话号码之间互相拨号时,不拨区号,否则必须先拨区号. 在主函数中,输入任意两个电话号 ...

  3. 【C语言趣味教程】typedef 真爽不爽不要玩 | 初识结构体

    前言: 本篇文章是一次大胆的尝试,我想试着改变我那枯燥不堪的文笔,试着能不能幽默风趣地讲解知识点.如果效果好的话,我会进一步尝试!希望大家喜欢! 学习结构体之前,我们先来讲讲  非常

  4. 【软件测试】结构化分支和循环语句的白盒测试

    文章目录 黑盒测试与白盒测试 分支语句的白盒测试 测试用例设计方法 举例 画流程图 设计语句覆盖测试用例 设计分支覆盖测试用例 设计路径覆盖测试用例 循环语句的白盒测试 简单循环 嵌套循环 连锁循环 ...

  5. 【结构体】 结构体引用、结构体数组指针、包含结构的结构体

    目录 一.概念.变量的定义 初识结构体 结构体变量的定义.引用结构体类型的初始化 二.结构体的数组 认识结构体数组 初始化结构体数组 三.结构体指针 初识结构体指针 指向结构体数组的指针 结构体作为函 ...

  6. 厦门理工学院c语言实验报告5,厦门理工学院 C语言报告实验8 - 结构体

    <C语言程序设计>实验报告 实验序号:8 实验项目名称:结构体 学 号 实验地点 315 姓 名 指导教师 林仙丽 专业.班级 实验时间 网络工程 2012年12月26日 一.实验目的及要 ...

  7. C语言结构体(入门)

    目录 初识结构体 我们为什么要使用结构体 结构体的声明 注意事项 创建结构体变量 匿名结构体 结构体自引用 typedef重命名 结构体初始化 注意事项 打印结构体 结构体包含另一结构体的初始化 初识 ...

  8. c 结构体在声明时赋值_Java基础知识 初识Java 循环结构进阶 数组 数据类型 各种运算符...

    今天给大家带来的是初级Java基础部分的知识:包括初始Java.变量.常量.数据类型.运算符.各种选择结构.循环结构.数组等Java的基础语法部分!最后还有****循环结构的进阶****,步骤超详细, ...

  9. C语言笔记含源码(变量、输入输出、分支、循环、函数、数组、指针、字符串、结构体)小总结

    文章目录 一.变量与输入输出 二.分支语句 三.循环 四.函数 五.数组 六.指针 七.字符串 八.结构体 一.变量与输入输出 定义变量需要:类型.变量名.变量值(可有可无) #include < ...

最新文章

  1. SQL语句汇总(三)——聚合函数、分组、子查询及组合查询
  2. dependencies与dependencyManagement的区(转自:http://blog.csdn.net/liutengteng130/article/details/46991829)
  3. Unity-Animator深入系列---控制IK
  4. [USACO13JAN] Cow Lineup (单调队列,尺取法)
  5. 集成CDI和WebSockets
  6. Dockerfile构建python 运行项目运行环境
  7. 有没有人带?这些都是学习生信的一大助力!
  8. 计算机专业英语课后答案北京理工大学,计算机专业英语
  9. wpf treeview使用expanded事件出错的问题
  10. html5画电池状态,JavaScript里获取电池状态的方法
  11. 【CodeForces 1260D --- A Game with Traps】二分
  12. html链接打开word文档,一招教你在Word文档中创建超链接打开其他文件
  13. 边境的悍匪—机器学习实战:第十五章 使用CNN和RNN处理序列
  14. Delphi好书推荐
  15. CentOS 7 中 pptpd安装
  16. 一道小学题,解答了我与学霸的差距
  17. 周金涛:人生就是一次康波
  18. 教育培训行业现状分析 教育培训行业的基本发展模式、教育培训行业的教学管理现状、教育培训业的未来发展趋势 学大、学而思、新东方为主要案例...
  19. 打开日志管理的潘多拉盒子
  20. 笔记本电脑相关术语详解

热门文章

  1. 易优cms海报画册印刷设计公司网站模板源码 带手机端
  2. SQL SERVER的quotename函数
  3. MYSQL数据库字段关联_MySQL数据库 字段操作 多表关系(更新中...)
  4. 01编写10个线程,第一个线程从1加到10,第二个线程从11加20…第十个线程从91加到100,最后再把10个线程结果相加。
  5. ABAP项目砖家之旅-语法和开发对象篇
  6. 济南好吃的,我要吃遍
  7. 安徽农村信用社招聘备考:文秘专业考试
  8. 2019年1月Android手机性能榜,【排行】2021年1月Android手机性能榜单:iQOO 7力压小米11...
  9. 点成分享| 空气卫生的重要性和病毒传播方式
  10. oracle中row_number用法,深入探讨:oracle中row_number() over()分析函数用法