初识结构体、分支及循环

本文介绍了C语言中的结构体用法,包括如何创建结构体类型、初始化结构体变量,并展示了通过指针访问结构体成员的方法。此外,文章还详细讲解了分支语句(if、if...else、switch)和循环语句(while),并提供了相关实例代码。
摘要由CSDN通过智能技术生成

#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;
//}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值