01-02-1

1、day10作业

使用的代码

#include<stdio.h>
void change(int* i)
{*i=(*i) / 2;
}
int main()
{int i = 0;scanf("%d", &i);change(&i);printf("%d", i);return 0;
}
​

2、day11作业

使用的代码

#include<stdio.h>
#include<stdlib.h>
int main()
{char* p;int n;//存储申请多少字节的空间大小char c;scanf("%d", &n);p = malloc(n);scanf("%c", &c);//在使用gets()前,必须调用scanf()用于清除前面遗留的换行符,不然gets()读取的是换行符。gets特点是:读取到换行符后不再读取gets(p);puts(p);return 0;
}

总结:

malloc()申请空间的方法:定义指针,malloc()申请后返回值放到该指针中。

gets()接收数据的方法:参数是指针,将读入的数据放到该指针对应的空间中。

gets()scanf()之间一定要有一个scanf(),用于处理前面遗留的换行符,所以需要而外定义一个字符变量c,用于存放该换行符。

puts()输出数据:puts()的参数是指针,输出该指针对应空间中的数据。

3、day12作业

使用的代码

#include<stdio.h>
int step(int n)
{if (1 == n){return 1;}if (2 == n){return 2;}return step(n - 1) + step(n - 2);//返回n减去两种情况的递归之和
}
int main()
{int n;//存储台阶scanf("%d", &n);printf("%d", step(n));return 0;
}

说明

因为一次只能走1个c或2个台阶,所以到达第n级台阶有两种方法,从第n-2级直接上来,或从n-1级上 来。所以到达第n级台阶,一定是 step(n-1)+step(n-2) 的求和状态。所以在递归中,最后返回的是 step(n-1)+step(n-2) 的结果。

4、结构体

a.结构体的定义

a-1:语法:

struct 结构体名
{变量类型 变量名1;变量类型 变量名2;
};

使用的代码:
struct student
​
{int num;char name[20];char sex;   int age;float score;char addr[30];
};//结构体的声明

b.结构体的初始化

b-1:创建单个结构体变量

语法:

struct 结构体名 结构体变量 = {给结构体中的成员进行具体赋值}

代码:

//创建结构体的单个变量

struct student s = { 1001,"lele",'M',20,85.4,"Shenzhen" };

b-2:创建结构体数组

创建数组结构体语法:

struct 结构体名 数组名[数组大小]

代码:

//创建结构体数组

struct student sarr[3];

c.赋值语法

&数组名[下标].成员变量名

在赋值时,是否需要&:需要结合具体的成员变量时是否是数组,若是数组,则不需要&;若不是数组,

则需要&

代码:

for (i = 0; i < 3; i++)
​
{
​scanf("%d%s %c%d%f%s", &sarr[i].num, sarr[i].name, &sarr[i].sex,                               &sarr[i].age,&sarr[i].score, sarr[i].addr);
​
}

可以借助for循环进行循环赋值。

注意:.后是访问的具体变量。

d.访问结构体中的具体变量的方法

d-1:访问单个变量

语法:

结构体单个变量名.成员名

代码:

//访问单个结构体变量中的具体的成员变量

printf("%d %s %c %d %5.2f %s\n", s.num, s.name, s.sex, s.age, s.score, s.addr);

注意:当读取%s和%c同时出现时,中间一定要有一个空格,不然%c读取到的就是空格了。

d-2:访问结构体数组变量

语法:

数组名[下标].成员名

代码:

for (i = 0; i < 3; i++)
​
{
​printf("%d %s %c %d %f %s", sarr[i].num, sarr[i].name, sarr[i].sex,                 sarr[i].age,sarr[i].score, sarr[i].addr);
​
}
​
​

利用循环,对数组进行访问。

5、结构体指针

a.结构体大小

语法:sizeof(结构体名)

由于内存为了使地址对齐,会导致实际大小比人工通过加法运算得到的空间更大。对齐是为了更高效的取内存中的数据。

如下所示:

为了对齐,会把★处的两个空间,也算作该结构体的空间。

b.结构体指针的说明

b-1:创建结构体指针

语法:

struct 结构体名*指针名

代码:

struct student* p;

b-2:成员选择运算符

.

用于结构体变量在访问具体成员结果时使用

代码:结构体变量名.结构体成员名:得到该成员

->

用于结构体指针在访问具体成员结果时使用

代码:结构体指针名->结构体成员名:得到该成员

c.使用的代码:

struct student
{int num;char name[20];char sex;
};
int main()
{struct student s = { 1001,"wangle", 'M' };//创建结构体指针变量struct student* p;p = &s;printf("%d %s %c\n", (*p).num, (*p).name, (*p).sex);//注意:.的优先级比*(取值运算符)的优先级高printf("%d %s %c\n", p->num, p->name, p->sex);// 结构体数组初始化struct student sarr[3] = { 1001,"lilei",'M',1005,"zhangsan",'M',1007,"lili",'F'};//p是指针,sarr是数组首元素的地址,所以p指向的是数组首元素的地址。p = sarr;int num;printf("-----------------------------------\n");num = p->num++;// 当++表达式中的前面的运算符优先级更高时,则++的对象是整体:p->num:即是此整体进行++运算printf("num=%d,p->num=%d", num, p->num);//1001,1002num = p++->num;//此时++的对象是p这个指针,++后指向第二个元素1002,1005printf("num=%d,p->num=%d", num, p->num);// 后置++,表示先试用初始值,在进行++,所以此处先使用初始值为:p->num,再进行++:(p++)->numreturn 0;
}

注意:

1、.的优先级大于*的优先级

2、对于后置++的说明:

直接去除++后直接赋值,然后再++进行操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/836810.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Kubernetes渐进式学习-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 目录 1. 前言 2. 部署Node服务 2.1. 前置环境安装 2.2. 将Node服务加…

【java9】java9新特性概述

经过4次的跳票&#xff0c;历经曲折的Java9最终在2017年9月21日发布。因为里面加入的模块化系统&#xff0c;在最初设想的时候并没有想过那么复杂&#xff0c;花费的时间超出预估时间。距离java8大约三年时间。 Java9提供了超过150项新功能特性&#xff0c;包括备受期待的模块…

MySQL基础入门【mysql初识 | 数据库操作 | 表操作 | sql数据类型】

博客主页&#xff1a;花果山~程序猿-CSDN博客 文章分栏&#xff1a;Linux_花果山~程序猿的博客-CSDN博客 关注我一起学习&#xff0c;一起进步&#xff0c;一起探索编程的无限可能吧&#xff01;让我们一起努力&#xff0c;一起成长&#xff01; 目录 一&#xff0c;为什么会有…

【鸿蒙+全国产瑞芯微】智慧楼宇解决方案 | 如何实现多场景下智慧化、精细化楼宇管理?

随着数字化、智能化与工作生活的联结日渐紧密&#xff0c;聚焦人性化服务&#xff0c;以数字和科技匹配多重需求&#xff0c;加速商业楼宇智能化转型的脚步&#xff0c;逐步形成智慧楼宇产品矩阵。 方案亮点 01/数字标牌——形象展示 企业文化宣传、公告通知等 播放内容统一远…

uni-app跨端兼容

1.样式兼容 小程序端不支持*选择器&#xff0c;可以使用&#xff08;view,text&#xff09; 页面视口差异(tabar页、普通页) H5端默认开始scoped 例如骨架屏样式出现问题&#xff0c;需要将之前的样式拷贝到骨架屏中 提示&#xff1a;H5端是单页面应用&#xff0c;scoped隔离…

轴承制造企业“数智化”突破口

轴承是当代机械设备中一种重要零部件。它的主要功能是支撑机械旋转体&#xff0c;降低其运动过程中的摩擦系数&#xff0c;并保证其回转精度。轴承是工业核心基础零部件&#xff0c;对国民经济发展和国防建设起着重要的支撑作用。 轴承企业普遍采用以销定产的经营模式&#xf…

【排序算法】之希尔排序

一、算法介绍 希尔排序(Shell Sort)是插入排序的一种&#xff0c;它是针对直接插入排序算法的改进。希尔排序又称缩小增量排序&#xff0c;因 DL.Shell 于 1959 年提出而得名。它通过比较相距一定间隔的元素来进行&#xff0c;各趟比较所用的距离随着算法的进行而减小&#xf…

消息队列——Kafka

1、什么是消息队列&#xff0c;什么是Kafka&#xff1f; 我们通常说的消息队列&#xff0c;简称MQ&#xff08;Message Queue&#xff09;&#xff0c;它其实就指消息中间件&#xff0c;比较流行的开源消息中间件有&#xff1a;Kafka、RabbitMQ、RocketMQ等。今天我们要介绍的…

qt移植到imx6ull运行(qt部署到imx6ull)

这个事情对于小白来说确实不是很友好&#xff0c;会经常出现错误&#xff0c;我弄了两天终于弄好了 我主要参考了https://blog.csdn.net/m0_61738650/article/details/131269561 https://blog.csdn.net/m0_61738650/article/details/131171914这两个教程 我现在来简述一下流程…

【项目】Boost搜索引擎

项目相关背景 现在市面上已经出现很多搜索引擎&#xff0c;比如&#xff1a;百度、Google、Bing等等&#xff0c;它们都是全网性搜索 而我做得项目就像cplusplus网站中搜索C的相关知识一样&#xff0c;同样做的是站内搜索&#xff0c;它的搜索更垂直。 搜索引擎的宏观原理 ser…

Linux本地部署Nightingale夜莺监控并实现远程访问提高运维效率

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

视频剪辑的技巧:掌握如何高效批量调整视频尺寸的方法

在视频剪辑的过程中&#xff0c;调整视频尺寸是一个常见的需求。无论是为了适应不同平台的播放要求&#xff0c;还是为了统一多个视频的尺寸以提升观看体验&#xff0c;掌握高效批量调整视频尺寸的技巧都显得尤为重要。本文将为您详细介绍云炫AI智剪如何高效地进行这一操作&…

通往糊涂之路 The road to serfdom

最近被推送了一本书&#xff0c;哈耶克的............ 试一试&#xff0c;看看能不能看懂&#xff0c;也许是通往糊涂之路。

Windows Qt中支持heic 图片显示

安装vcpkg&#xff1a; git clone https://github.com/microsoft/vcpkg 执行脚本&#xff1a; .\vcpkg\bootstrap-vcpkg.bat 在安装之前如果需要指定vs的编译器&#xff0c; 在如下文件中做更改&#xff0c; 我指定的是用vs2019编译的&#xff1a; D:\vcpkg\vcpkg\triplets 增…

谈 postman自动化接口测试

背景描述 有一个项目要使用postman进行接口测试&#xff0c;接口所需参数有&#xff1a; appid: 应用标识&#xff1b; sign&#xff1a;请求签名&#xff0c;需要使用HMACSHA1加密算法计算&#xff0c;签名串是&#xff1a;{appid}u r l {url}url{stamp}&#xff1b; stam…

AlphaFold3—转录因子预测(实操)

写在前面 我们上一次已经介绍了如何使用AlphaFold3&#xff1a;最新AlphaFold 3&#xff1a;预测所有生物分子结构、相互作用 AlphaFold3可以做什么&#xff1f; 1.AlphaFold服务器可以对以下生物分子类型进行建模&#xff0c;评价其相互结合&#xff1a; 蛋白质 DNA RNA 生…

课题组里有一个卷王是什么体验?

::: block-1 “时问桫椤”是一个致力于为本科生到研究生教育阶段提供帮助的不太正式的公众号。我们旨在在大家感到困惑、痛苦或面临困难时伸出援手。通过总结广大研究生的经验&#xff0c;帮助大家尽早适应研究生生活&#xff0c;尽快了解科研的本质。祝一切顺利&#xff01;—…

SpringBoot项目配置HTTPS接口的安全访问

参考&#xff1a;https://blog.csdn.net/weixin_45355769/article/details/131727935 安装好openssl后&#xff0c; 创建 D:\certificate CA文件夹下包含&#xff1a; index.txt OpenSSL在创建自签证书时会向该文件里写下索引database.txt OpenSSL会模拟数据库将一些敏感信息…

光伏EPC管理软件都有哪些功能和作用?

光伏EPC管理软件是用于光伏工程项目管理的综合性工具&#xff0c;它涵盖了从项目策划、设计、采购、施工到运维的各个环节。 1、项目总览 管理所有项目计划&#xff0c;包括项目类型、项目容量等。 调整和优化项目计划&#xff0c;以应对不可预见的情况。 2、施工管理 制定…

中学生政史地杂志中学生政史地杂志社中学生政史地编辑部2024年第3期目录

每月时政 时政要闻&#xff08;2024年2月&#xff09; 李伟; 3-12 热点聚焦 关注2024年全国两会 汤健云; 13-15 积极应对老龄化&#xff0c;发展银发经济 王吉兴; 16-18《中学生政史地》投稿&#xff1a;cn7kantougao163.com “一带一路”助力柬埔寨经济发展 李…