当前位置: 首页 > news >正文

拒绝摆烂!C语言练习打卡第五天

🔥博客主页:小王又困了

📚系列专栏:每日一练

🌟人之为学,不日近则日退 

❤️感谢大家点赞👍收藏⭐评论✍️

 


目录

一、选择题

📝1.第一题 

📝2.第二题

📝3.第三题

二、编程题

📝1.第一题 

📝2.第二题


🗒️前言:

在前面我们学习完C语言的所以知识,当然练习巩固也不能落下。俗话说:“无财之谓贫,学而不能行之谓病。”可见实践对我们学习的重要。接下来就让小王带着大家进行练习,巩固我们C语言的学习。

一、选择题

📝1.第一题 

请指出以下程序哪步有错误【多选】( )

void GetMemory(char** p, int num)
{if (NULL == p && num <= 0)//1{return;}*p = (char*)malloc(num);return;
} int main()
{char* str = NULL;GetMemory(&str, 80); //2if (NULL != str){strcpy(&str, "hello"); //3printf(str); //4} return 0;
}

💡解题思路:

  • 代码1错误:通过观察代码我们可以知道这个函数的功能是要动态开辟空间,num 是开辟空间的大小不能为0,p 是二级指针不能为空指针,这两个条件有一个不满足,程序就会出错,所以应该使用 || 。
  • 代码2正确:在代码2中传入 str 的地址,在语句 char*str=NULL;中str初始化为空指针,但是 str 指针变量也有地址,所以 p 保存的是指针变量 str 的地址,所以调用GetMemory函数之后,动态开辟的空间的地址存放在了str中。
  • 代码3错误:这里是要进行字符串的拷贝,要传递的是字符串的地址,而这里使用了&符号,传递的是地址的地址,所以是错误的。

📝2.第二题

已知 i,j 都是整型变量,下列表达式中,与下标引用 X[i][j] 不等效的是【多选】( )

A、*(X[i]+j)    B、*(X+i)[j]     C、*(X+i+j)        D、*(*(X+i)+j)

💡解题思路:

X [ i ][ j ]表示取二维数组的第 i 行,第 j 列

  • A选项:在二维数组中X[ i ]表示的是第 i 行首元素的地址,再加 j,表示找到第 i 行的第 j 个元素的地址,在解引用就可以找到这个元素啦。
  • B选项:我们知道数组名是首元素的地址所以 X 是二维数组第一行的地址,加 i 找到第 i 行,这里要注意 ()、[] 的优先级比 * 的优先级高,所以 * 最后执行。由 arr[i]=*(arr+i),可得 *(*( (X+i)+j) ),这样是错误的。
  • C选项:X是二维数组的数组名,数组名相当于第一行的地址,X+i+j,跳过了i+j行,就越界了,也是错误的。
  • D选项:*(X+i) 等价于 X[ i ], *(X[ i ]+j) 就等价于 X[ i ][ j ]。

📝3.第三题

下面这个程序执行后会有什么错误或者效果【多选】( )

#define MAX 255
int main()
{unsigned char A[MAX], i;for (i = 0; i <= MAX; i++){A[i] = i;}return 0;
}

 💡解题思路:

  • 我们通过观察代码可以看到数组的大小为255,所以它的下标是 0-254,i<=MAX 条件都满足,i=255,进入循环 A[255]=i 会出现越界访问。
  • A是无符号字符型,它的取值范围是 0-255,255在加1时,就会变成0重新循环,所以程序会陷入死循环

二、编程题

📝1.第一题 

💡解题思路:

我们要统计连续1的个数,使用一个计数器,当遇到连续的1时就++,遇到0时,将计数器清0,重新记录连续1的个数。每次连续的个数记录起来,与上一次的比较,如果当前的个数大于之前的个数就替换,如果不大于就不替换,最终就可以得到最大连续1的个数。

int findMaxConsecutiveOnes(int* nums, int numsSize)
{int count = 0;int max = 0;for (int i = 0; i < numsSize; i++){if (nums[i] == 1){count++;}else{count = 0;}if (count > max){max = count;}}return max;
}

📝2.第二题

 💡解题思路:

我们遍历数组中的每个元素,数组元素的绝对值为几,就把数组第几个元素置为负数,也就是n-1下标的元素。因为数组的元素是1~n,下标的元素是0~n-1。

abs函数是对整数进行取绝对值。因为对一个位置加两个负号,就会变成正数,所以要取绝对值。

 

int* findDisappearedNumbers(int* nums, int numsSize, int* returnSize)
{*returnSize = 0;int* new = (int*)malloc(sizeof(int) * numsSize);for (int i = 0; i < numsSize; i++){//把(元素-1)作为下标int index = abs(nums[i]) - 1;//将下标对应的值置为负数//这里取绝对值是防止对重复的位置置为负数nums[index] = -abs(nums[index]);}for (int i = 0; i < numsSize; i++){if (nums[i] > 0){new[*returnSize] = i + 1;(*returnSize)++;}}return new;
}

本次的内容到这里就结束啦。希望大家阅读完可以有所收获,同时也感谢各位读者三连支持。文章有问题可以在评论区留言,博主一定认真认真修改,以后写出更好的文章。你们的支持就是博主最大的动力。

相关文章:

拒绝摆烂!C语言练习打卡第五天

&#x1f525;博客主页&#xff1a;小王又困了 &#x1f4da;系列专栏&#xff1a;每日一练 &#x1f31f;人之为学&#xff0c;不日近则日退 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、选择题 &#x1f4dd;1.第一题 &#x1f4dd;2.第二题 &#x1f4d…...

关于LambdaQueryWrapper.or()导致错误

这个是原始的代码&#xff0c;到导致一个问题&#xff0c;后面所有的内容&#xff0c;都在这个or的右边&#xff0c;也就是整个查询语句就这一个or&#xff0c;而很明显&#xff08; xxx or xxx&#xff09;and&#xff08;&#xff09;这才是我们要的&#xff0c;所以需要将这…...

Day17-Node后端身份认证-JWT

Day17-Node后端身份验证 一 密码加密 1 MD5加密 创建MD5.js//node提供了一个内置模块crypto用于密码加密 const crypto = require("crypto")module.exports.getMd5 = function(password){const md5...

onvif中imaging setting图像画质总结!

前言&#xff1a; 大家好&#xff0c;今天给大家来分享一篇关于图像质量的内容&#xff0c;这个内容是我在做onvif中的imaging setting的时候&#xff0c;关注到里面有关于: brightness(亮度)color saturation(色彩饱和度)contrast(对比度)sharpness(锐度)white balance(白平衡…...

not in效率低(MYSQL的Not IN、not EXISTS如何优化)

【版权所有&#xff0c;文章允许转载&#xff0c;但须以链接方式注明源地址&#xff0c;否则追究法律责任】【创作不易&#xff0c;点个赞就是对我最大的支持】 前言 仅作为学习笔记&#xff0c;供大家参考 总结的不错的话&#xff0c;记得点赞收藏关注哦&#xff01; 目录 …...

微信小程序拉起支付报: 调用支付JSAPI缺少参数: total_fee

1. 调用支付JSAPI缺少参数: total_fee 2. 检查返回给前端调起支付的参数是否正确 一开始是params.put("package", prepay_id); 回来改回params.put("package", "prepay_id"prepay_id);...

Thinkphp6 如何 生成二维码

最近需要用到使用到二维码&#xff0c;需要将对应的网址输出生成二维码&#xff0c;Thinkphp6实现还是比较简单的&#xff1a; 第一步&#xff1a;安装 think-qrcode composer require dh2y/think-qrcode第二步&#xff1a;在对应的控制器使用 use dh2y\qrcode\QRcode;第三步&a…...

01.机器学习引言

1.机器学习的步骤 1. 数据搜集 其中数据划分&#xff0c;是将数据集分为训练集、验证集和测试集&#xff08;通常不考虑时间&#xff09; 2. 数据清洗 3. 特征工程 提取对象&#xff1a;原始数据&#xff08;特征提取一般在特征选择之前&#xff09; 提取目的&#xff1a;…...

结构型(二) - 桥接模式

一、概念 桥接模式&#xff08;Bridge Pattern&#xff09;&#xff1a;是用于把抽象化与实现化解耦&#xff0c;使得二者可以独立变化。它通过提供抽象化和实现化之间的桥接结构&#xff0c;来实现二者的解耦。 另一种理解方式&#xff1a;一个类存在两个&#xff08;或多个…...

多维时序 | MATLAB实现WOA-CNN-GRU-Attention多变量时间序列预测

多维时序 | MATLAB实现WOA-CNN-GRU-Attention多变量时间序列预测 目录 多维时序 | MATLAB实现WOA-CNN-GRU-Attention多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现WOA-CNN-GRU-Attention多变量时间序列预测&#xff0c;WOA-CNN-GR…...

C#与西门子PLC1500的ModbusTcp服务器通信1--项目背景

最近在一个120万元的项目中&#xff0c;涉及到modbustcp通信&#xff0c;我作为软件总工负责项目的通信程序开发&#xff0c;modbus是一个在工业自动化领域中的通信协议&#xff0c;可以是modbusrtu&#xff0c;modbusascii&#xff0c;modbustcp三个形式&#xff0c;具体来说是…...

Socks5代理与IP代理:网络安全与爬虫之道

1. Socks5代理的多功能性 Socks5代理是一种支持TCP和UDP协议的代理技术&#xff0c;适用范围广泛。不同于传统HTTP代理&#xff0c;Socks5代理在传输数据时更为灵活&#xff0c;可以满足实时数据传输的需求&#xff0c;适用于在线游戏、视频流等场景。此外&#xff0c;Socks5代…...

苹果电脑怎么录屏?步骤详解,看到就是赚到

苹果电脑作为一款受欢迎的高性能设备&#xff0c;不仅在日常工作中发挥着重要作用&#xff0c;还可以用于创造内容&#xff0c;如录制屏幕内容。录屏功能能够帮助用户将屏幕上的活动记录成视频&#xff0c;方便分享、演示或存档。可是您知道苹果电脑怎么录屏吗&#xff1f;通过…...

vb毕业生管理系统设计与实现

【摘要】 本毕业生管理系统是使用VB和ACCESS数据库为开发工具开发的一个全新的管理系统(MIS)。开发出的软件可以在任何一个装有VB环境的机器上运行。本毕业生管理系统包括六个子模块:用户登陆模块、学籍管理模块、学生成绩模块、毕业设计选题模块、毕业设计成绩管理模块、系…...

WPF入门到精通:4.页面增删改查及调用接口(待完善)

在WPF中&#xff0c;页面的增删改查可以通过使用DataGrid等控件来实现。接口的调用可以使用HttpClient或RestSharp等网络库来完成。 1.页面增删改查 使用DataGrid控件来展示数据&#xff0c;并通过绑定数据源来实现数据的增删改查操作。示例代码如下&#xff1a; XAML代码&a…...

容器和云原生(三):kubernetes搭建与使用

目录 单机K8S docker containerd image依赖 kubeadm初始化 验证 crictl工具 K8S核心组件 上文安装单机docker是很简单docker&#xff0c;但是生产环境需要多个主机&#xff0c;主机上启动多个docker容器&#xff0c;相同容器会绑定形成1个服务service&#xff0c;微服务…...

spring boot集成jasypt 并 实现自定义加解密

一. 技术需求 由于项目中的配置文件 配置的地方过多&#xff0c;现将配置文件统一放到nacos上集中管理 且密码使用加密的方式放在配置文件中 项目中组件使用的版本环境如下 spring cloud 2021.0.5 spring cloud alibaba 2021.0.5.0 spring boot 2.6.13 二. 技术实现 配置文…...

Qt文件系统操作和文件的读写

一、文件操作类概述 QIODevice&#xff1a;所有输入输出设备的基础类 QFile&#xff1a;用于文件操作和文件数据读写的类QSaveFile&#xff1a;用于安全保存文件的类QTemporaryFile&#xff1a;用于创建临时文件的类QTcpSocket和QUdpSocket&#xff1a;分别实现了TCP和UDP的类…...

MME: A Comprehensive Evaluation Benchmark for Multimodal Large Language Models

本文也是LLM系列相关文章&#xff0c;针对《MME: A Comprehensive Evaluation Benchmark for Multimodal Large Language Models》的翻译。 MME:一个多模态大型语言模型的综合评估基准 摘要1 引言2 MME评估套件3 实验4 分析5 结论 摘要 多模态大语言模型&#xff08;MLLM&…...

学习开发振弦采集模块的注意事项

学习开发振弦采集模块的注意事项 &#xff08;三河凡科科技/飞讯教学&#xff09;振弦采集模块是一种用来实时采集和处理振弦信号的电子设备&#xff0c;在工业、航空、医疗等领域都有广泛应用。学习开发振弦采集模块需要注意以下几点&#xff1a; 一、硬件选择 首先需要选择…...

抵御时代风险:高级安全策略与实践

目录 网页篡改攻击 流量攻击 数据库攻击 恶意扫描攻击 域名攻击 在今天的数字时代&#xff0c;网站已经成为企业、机构和个人展示信息、交流互动的重要平台。然而&#xff0c;随着网络攻击技术的不断进步&#xff0c;网站也面临着各种安全威胁。本文将探讨五种常见的网络攻…...

(3)、SpringCache源码分析

1、入口说明 @EnableCaching是开启SpringCache的一个总开关,开启时候我们的缓存相关注解才会生效,所以我们@EnableCaching开始作为入口进行分析, 2、分析@EnableCaching注解 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Import(...

如何在 Ubuntu 中安装最新的 Python 版本

动动发财的小手&#xff0c;点个赞吧&#xff01; Python 是增长最快的主要通用编程语言。其原因有很多&#xff0c;例如其可读性和灵活性、易于学习和使用、可靠性和效率。 目前使用的 Python 有两个主要版本 – 2 和 3&#xff08;Python 的现在和未来&#xff09;&#xff1…...

等保测评--安全物理环境--测评方法

安全子类--物理位置选择 a)机房场地应选择在具有防震、防风和防雨等能力的建筑内; 一、测评对象 记录类文档和机房 二、测评实施 1)检查机房所在建筑物是否具有建筑物抗震设防审批文档; 2)检查机房门窗是否不存在因风导致的尘土严重; 3)检查机房是否不存在雨水渗漏…...

解决jmeter导入jmx文件报错方法

有的时候我们导入别人的jmx文件&#xff0c;但是在导入的时候会报错&#xff0c;如下图&#xff1a; 这是缺少jmeter插件jar包所引起的&#xff0c;下载对应jar包放到jmeter安装目录对应的lib/ext下就可以了。可以通过插件管理工具包下载安装&#xff0c;也可以直接下载对应的…...

CH32V307 开启浮点后rtthread的修改

官方版本是3.1.3&#xff0c;而且只有整数的&#xff0c;开启浮点后要做一些修改&#xff0c;这里问了官方并贴出来方便大家使用&#xff1a; 首先在mounriver开启浮点&#xff0c;步骤&#xff1a; 开启浮点&#xff1a;ide 开启float point->rvf, floating point abi->…...

网络面试题(172.22.141.231/26,该IP位于哪个网段? 该网段拥有多少可用IP地址?广播地址是多少?)

此题面试中常被问到&#xff0c;一定要会172.22.141.231/26&#xff0c;该IP位于哪个网段&#xff1f; 该网段拥有多少可用IP地址&#xff1f;广播地址是多少&#xff1f; 解题思路&#xff1a; 网络地址&#xff1a;172.22.141.192 10101100.00010110.10001101.11000000 广播…...

macOS nginx部署前端项目

1、安装nginx&#xff1b; brew install nginx2、配置nginx&#xff0c;主要配置代码&#xff0c;服务器代理 1、配置文件地址 根目录是 macOS 文件系统的最顶层目录。您可以在 Finder 中使用快捷键 Shift Command G&#xff0c;然后输入 /usr&#xff0c;即可直接打开 /u…...

管理类联考——逻辑——真题篇——按知识分类——汇总篇——二、论证逻辑——削弱——第一节 推理论证

文章目录 第七章 削弱质疑第一节 削弱-题型1-推理论证-论证为预测结果题-削弱质疑-预测-推理论证-分类1-削弱论点真题(2019-24)-削弱质疑-预测-推理论证-分类1-削弱论点真题(2019-42)-削弱质疑-预测-推理论证-分类1-削弱论点真题(2011-32)-削弱质疑-预测-推理论证-分类…...

LoRa 网络的高效自适应数据链路层架构

介绍 LoRa 是用于实现物联网的最流行的低功耗无线网络技术之一,与 Zigbee 或蓝牙等技术相比,其优点是提供远距离通信,但数据速率较低。LoRa 是一种单通道物理层技术,LoRaWAN 在此基础上实现了更复杂的多通道网络,并具有增强的功能,例如自适应数据速率。然而,LoRaWAN 依赖…...

代运营网站/新网站秒收录技术

不知道别人的习惯是如何的,就我个人来说,写程序一般不是有性能问题,很少主动去使用多线程程序。除了主动去优化的场景&#xff0c;直观地认为多线程还是比较麻烦&#xff0c;可能涉及到同步问题&#xff0c;而且一个线程挂了&#xff0c;连累整个进程挂掉。除了可能快点外&…...

可以做ppt的网站有哪些方面/公司主页网站设计

你的得分&#xff1a;100.0完成日期&#xff1a;2014年05月23日17点13分说明&#xff1a;每道小题括号里的答案是您最高分那次所选的答案&#xff0c;标准答案将在本次作业结束(即2014年09月11日)后显示在题目旁边。一、单项选择题。本大题共50个小题&#xff0c;每小题2.0 分&…...

wordpress 支持 手机版/5g站长工具查询

关键词&#xff1a;搜救小车 stc89c52 避障 机械臂摘要&#xff1a;由于灾害现场搜救人员难以迅速展开救援工作,设计出本小车,小车以STC89C52单片机为核心控制器,采用WIFI模块进行人机互交,体感、声感和光感模块辨别位置,机械手执行用户操作,红外和超声波组合进行避障。小车…...

wordpress时光轴插件/网站seo源码

本文主要介绍无源电气网络&#xff0c;不涉及电动机和运算放大器&#xff0c;网络由RCL组成&#xff0c;复杂的电路包括恒流源和恒压源&#xff0c;用基尔霍夫定律列写KCL&#xff0c;KVL方程就能解决大部分问题。当然对这块考察深的考生可以复习一下节点电压法&#xff0c;戴维…...

呼和浩特市做网站公司好的/最有效的网络推广方式

http://blog.csdn.net/cutemouse/category/117620.aspx 转载于:https://www.cnblogs.com/hainange/archive/2006/05/02/6153711.html...

wordpress记录/事件营销

近三年博士研究生各专业招生人数统计表近三年博士研究生各专业招生人数统计表学院名称 专业名称 2015 年 2016 年 2017 年通信学院 信息与通信工程 6 8 12计算机学院 计算机科学与技术 4 9 13合计 10 17 25近三年硕士研究生各专业招生人数统计表2015 年 2016 年 2017 年学院名称…...