从0开始学c语言-10-结构体以及一些作业

本人0基础开始学编程,我能学会的,你也一定可以,学会多少写多少。

下载安装请从官网入手,社区版本即可,这里主要使用的软件是VS2019,图标如下。

宝子们,学完这一章我会做个总结篇章,咱们初学者算是粗略地把一些东西给认识了一下,在总结篇章后我们会继续学习指针和结构体等知识点。

上一篇

从0开始学c语言-09-指针及指针大小、*、&、地址_阿秋的阿秋不是阿秋的博客-CSDN博客

总结篇

从0开始学c语言-总结01-c语言的粗略认识和快捷键_阿秋的阿秋不是阿秋的博客-CSDN博客

目录

结构体

结构体的创建和初始化

. 为结构成员访问操作符

(*结构体指针变量).成员变量

结构体指针变量->成员变量

我的一些尝试。

可以拿来尝试的代码

一些作业

作业一:打印一个小飞机

作业二:


结构体

结构体在我看来就是在描述一个复杂东西,比如你自己就很复杂,你有独一无二的头发和脸蛋等等。这些各种特征构成了你,也就是结构体。

结构体的创建和初始化

结构体让c语言创建出新的类型,具体来说像这样子

//我们创建一个阿秋的粉丝团结构体
struct aqiu
{
	int age;
	char name[20];  //意思是说这个结构体中名为name的char数据有20个元素
	                //也就是创建了name字符数组
	double weight;

	//这些叫成员变量

};  //这里是有分号的,虽然会自动加上的说

这是结构体的创建,给了结构体一个大名叫aqiu,给了它三个成员变量,分别为不同类型的age、name[20]和weight。

现在进行结构体的初始化并打印结构体信息

. 为结构成员访问操作符

int main()
{
	struct aqiu a = { 18,"qiu",45 }; //进行初始化
	printf("first:%d %s %lf\n", a.age, a.name, a.weight);//结构体变量.成员变量
}

(*结构体指针变量).成员变量

struct aqiu* ha = &a;  //struct aqiu*是结构体指针,ha是结构体指针变量名字 
printf("second:%d %s %lf\n",(*ha).age, (*ha).name, (*ha).weight);//特别注意英文括号

这是指针的应用,上一个文章如果看过的话,就会知道什么意思。

解释一下,通过指针变量ha找到a的地址,那么指针变量ha就会和a的地址一样,改变指针变量ha就会改变a,不过我们现在只是打印而已。

如果想改变,就像下面这样。

(*ha).age = 20;

结构体指针变量->成员变量

printf("second:%d %s %lf\n",(*ha).age, (*ha).name, (*ha).weight);//特别注意英文括号
printf("third:%d %s %lf\n",ha->age, ha->name,ha->weight);//和上面意思一样,结构体指针变量名->成员变量名

我们通常喜欢这样用结构体指针变量,因为书写比较方便。

我的一些尝试。

printf("second:%d %s %lf\n",ha.age, ha.name, ha.weight);//这个看一下警告

这种书写方式会让电脑不能够正确理解你的意思,所以一定要书写规范。

printf("third:%d %s %lf\n",(*ha)->age, ha->name,ha->weight);//看警告

同样这种方式也是不可以的。

可以拿来尝试的代码

建议自己敲一遍,自己敲才能发现问题。

int main()
{
	struct aqiu a = { 18,"qiu",45 };
	//意思是说阿秋粉丝团结构体变量名为a的粉丝(结构体之一)
	//她的年龄18,名字叫qiu,体重45
	//printf("first:%d %s %lf\n", a.age, a.name, a.weight);//结构体变量.成员变量
	
	struct aqiu* ha = &a;  //struct aqiu*是结构体指针,ha是结构体指针变量名字 
	//printf("second:%d %s %lf\n",ha.age, ha.name, ha.weight);//这个看一下警告
	//(*ha).age = 20;
	printf("second:%d %s %lf\n",(*ha).age, (*ha).name, (*ha).weight);//特别注意英文括号
	
	printf("third:%d %s %lf\n",ha->age, ha->name,ha->weight);//和上面意思一样,结构体指针变量名->成员变量名
	//printf("third:%d %s %lf\n",(*ha)->age, ha->name,ha->weight);//看警告

	return 0;//这叫做结构体的创建和初始化
}
//小白学到这里就行了,要一步步深入

一些作业

作业一:打印一个小飞机

 先自己敲!!!

#include <stdio.h>
int main()
{
    printf("     **     \n");
    printf("     **     \n");
    printf("************\n");
    printf("************\n");
    printf("    *  *    \n");
    printf("    *  *    \n");

    return 0;
}

有人用了if函数和for语句循环打印出来的,不过我觉得那有点太复杂了。

作业二:

判断一个整数是否能5整除是一个挺简单的问题,懒惰的KiKi还是不想自己做,于是找到你帮他写代码,你就帮帮他吧。
输入描述:
输入包括一个整数M(1≤M≤100, 000)。
输出描述:
输出包括一行,如果M可以被5整除就输出YES,否则输出NO(结果大小写敏感)。

重点:先自己敲

敲不出来看看我这段引导:

看一下题目条件,一个整数能否被5整除。

整数:确定为int类型。

被5整除:就是除以5之后没有余数。

没有余数意味着我们需要用%这个操作符。

输出和输出对应的关键字是:scanf和printf

包含了如果语句:那我们就要用if语句

现在就可以敲出来了:

int main()
{
	int a;
	scanf ("%d", &a);
	int b = a % 5;
	if (b != 0)
	{
		printf("NO");
	}
	else
	{
		printf("YES");
	}
	return 0;
}

这是我的思路,大家一定自己先试试。

下一篇:从0开始学c语言-11-if分支语句、switch分支语句_阿秋的阿秋不是阿秋的博客-CSDN博客

总结篇

从0开始学c语言-总结01-c语言的粗略认识和快捷键_阿秋的阿秋不是阿秋的博客-CSDN博客

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值