负O基础学习C语言——初学者(一)

结构体 (初阶)

结构体是C语言中特别重要的一个知识点,有了结构体使的C语言可以描述更加复杂的类型。
其实自定义的类型有:1结构体
2枚举
3联合体
今天就初步了解结构体 ,比如描述一个学生,学生包含:名字+年龄+性别+学号这几项信息。
这里就只能使用结构体来描述了。
列如:
``struct Stu s = {“zhangsan”, “男”, 20};
struct Stu s2= {“青红”,“女”,18};
这里的struct+stu——>是结构体类型,用类型创造一个变量,s s2自己编就可以了
接下来我们来打印出来这些信息
printf(“%s %s %d\n”, (*ps.name), (*ps).sex), (ps).age);
通俗来说给个
就叫指针 ,指针变量就叫ps
还有一种:结构体的指针—>成员名
列如:
printf(“%s %s %d\n”, ps->name, ps->sex, ps->age);
这样的表达方式比上面那种就更加简便,更加形象。
还有一种单个打印
结构体变量.成员名
printf(“%s\n”, s2.sex);
printf(“%d\n”, s2.age);
用s2点就知道成员
初步了解就可以了


分支语句和循环语句 (初阶)

接下来了解一下分支语句和循环语句
分支语句 if switch
循环语句 while for do while

什么是语句?

c语句可分为五类:
1.表达式语句
2.函数调用语句
3.控制语句
4.复合语句
5.空语句
这个里我们就介绍一下控制语句:
控制语句是控制程序流程来实现各种结构方式,这里就有三种结构(顺序结构,选择结构,循环结构) _
是由特定三种语句定义符号组成:
1.条件判断语句也叫分支语句:if语句 ,switch语句
2.循环执行语句:for语句 ,while语句 ,do while语句
3.转向语句:break语句 ,continue语句 ,return语句
_ 所以C语言是一门结构化的程序设计语言

image.png

列如if语句:

int main()
{
	int age = 0;
	scanf("%d", &age);//20
	if (age >= 18)
		printf("成年\n");
	else
		printf("未成年");
	return 0;
}

image.png

在C语言中 0表示假 非0表示真

int main()
{
	int age = 17;
	if (age >= 18)
		printf("成年\n");
	printf("谈恋爱\n");
	return 0;
}

image.png
为什么17岁还没成年 就打印了下面那个谈恋爱呢?
因为: if语句默认控制一个
正确表达的话就应该用大括号,一起包括起来——>就是代码块了

int main()
{
	int age = 17;
	if (age >= 18)
	{
		printf("成年\n");
		printf("谈恋爱\n") :
	}
else
printf("好好读书")
	return 0;
}

image.png
所以这样表达就清楚多了,千万不要吝啬大括号哦03ED146A.png

下面大家来看下 这个最后表达什么?

image.png
大家可以回答在评论区里 大部分应该都是回答的haha吧
其实啥也没用
image.png
惊不惊喜意不意外
image.png
如果这样写呢? 是不是一脸问号
image.png
其实这是因为else就近的原则,而不是第一个if不符合就轮到else了,

int main()
{
    int a = 0;
    int b = 2;
    if (a == 1)
        if (b == 2)
             printf("hehe\n");
        else
        printf("haha\n");
    return 0;
}

这才是正确的表达方式
那么如何才能表达出你们想要的结果haha呢?

int main()
{
    int a = 0;
    int b = 2;
    if (a == 1)
    {
        if (b == 2)
             printf("hehe\n");
    }    
    else
    {
        printf("haha\n");
    }
    return 0;
}

image.png
这就是代码风格的重要性,大家一点要注意,实在搞不清楚就打大括号,不要吝啬。
image.pngimage.png
这两幅图表达的意思都是一样的,但是你看起来哪个图更加舒服,明了呢?

最后一个小的细节

int main()
{
	int mun = 5;
	if (num = 10)
	{
		printf("hehe\n");
	}
	return 0;
}

image.png
当一个变量与常量判断相等时 常左变右

int main()
{
	int num = 5;
	if (10 == num)
	{
		printf("hehe\n");
	}
	return 0;
}

image.png
这样就不会出细节的错,判断部分的等号是要用==,而不是一个等号就可以了哦


总结:第一次写这么长的长篇文章,不知道你们听明白没有,反正我是越来越了解这个知识点了。内容的不足,和一些问题欢迎大家评论指导。我也会继续前行

守得云开见月明

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

躺平又起来的小萍子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值