本人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博客
总结篇