寒假作业Day 06

寒假作业Day 06

一、选择题

1、关于内存管理,以下有误的是( )
A: malloc在分配内存空间大小的时候是以字节为单位
B: 如果原有空间地址后面还有足够的空闲空间用来分配,则在原有空间后直接增加新的空间,使得增加新空间后的空间总大小是:newSize
C: 如果原有空间地址后面没有足够的空闲空间用来分配,那么从堆中另外找一块newsize大小的内存,并把先前内存空间中的数据复制到新的newSize大小的空间中,然后将之前空间释放
D: free函数的作用是释放内存,内存释放是标记删除,会修改当前空间的所属状态,并且会清除空间内容

A正确,比如创建一个四个int类型的数组就可以这样创建:int* a=(int*)malloc(sizeof(int)*4);B和C:这都是在描述realloc的过程,这是realloc的两种情况;D:错误,只是会删除标记,但并不会清除空间内容

2、如下程序输出的结果是什么( )

#include <stdio.h>
typedef struct List_t
{
	struct List_t* next;
	struct List_t* prev;
	char data[0];
}list_t;

int main()
{
	printf("%d",sizeof(list_t));
	return 0;
}

我们可以明显看出,List_t是一个双向链表,其拥有一个next指针(后继指针),和一个prev指针(前驱指针),以及一个十分特殊的结构:“柔性数组成员”或“零长度数组”data[0]。它允许你在结构体的末尾有一个大小可变的数组。这种技术常用于创建可变大小的数据结构,如链表。

接下来分析,两个指针在32位系统上各占4个字节,并且在内存中刚好连续存储,共占8个字节,而data数组的大小为0,不会增加结构体的总大小,所以答案为8或者16(64位系统)

3、以下程序的输出结果是( )

#include<stdio.h>
void fut(int**s,int p[2][3])
{
	**s=p[1][1];
}
int main()
{
	int a[2][3]={1,3,5,7,9,11},*p;
	p=(int*)malloc(sizeof(int));
	fut(&p,a);
	printf("%d",*p);
	return 0;
}

首先分析fut函数,无返回值,传入一个指向指针的指针,和一个二行三列的二维数组,并在函数体中解引用s让其指向的值等于p[1][1]
而在主函数中,有一个a[2][3]数组,存储了1 3 5 7 9 11这6个元素,并新建一个指针p,给p创建了4个字节的空间;这个时候使用fut函数,让p的地址指向a[1][1],也就是9,所以*p=9

4、以下有关C语言的说法中,错误的是( )
A: 内存泄露一般是指程序申请了一块内存,使用完后,没有及时将这块内存释放,从而导致程序占用大量内存,但又不使用不释放
B: 可以通过malloc(size_t)函数调用申请超过该机器物理内存大小的内存块
C: 无法通过内存释放函数free(void * )直接将某块已经使用完的内存直接还给操作系统,free函数只是将动态申请内存的使用权释放
D: 可以通过内存分配函数malloc(size_t)直接申请物理内存

A选项正确;B错误,如果使用malloc函数调用申请超过该机器物理内存大小的内存块,就会申请失败;C:正确,只是交还使用权,但是并未清除使用过的内存里面的内容;D:正确

5、若要用 fopen 函数打开一个新的二进制文件,该文件既能读也能写,则文件方字符串应是( )
A: “ab++” B: “wb+” C: “rb+” D: “ab”

对于要打开一个新的二进制文件,并且该文件既能读也能写,应该使用模式字符串 “wb+”。这里的模式字符串的含义如下:

“w” 表示写入模式。如果文件不存在,则创建一个新文件;如果文件已存在,则清空该文件。
“b” 表示二进制模式。在二进制模式下,文件会以原始的字节形式进行读写,不会进行任何特定的转换。
“+” 表示更新模式。这允许文件既能读取也能写入。
因此,正确的答案是 B: “wb+”。

二、编程题

在这里插入图片描述

//解题版本
int multiply(int A, int B){
   if(A>0&&B>0)
    return A+multiply(A,B-1);

    return B;
}

//高级版本(可以算负数的乘法)
int multiply(int A, int B){  
    if (B == 0)  
        return 0;  
    if (B > 0)  
        return A + multiply(A, B - 1);  
    else  
        return -(A - multiply(A, -B + 1));  
}

其实这里也很巧妙,首先我们的判断条件是A和B都大于0,并返回A+multiply(A,B-1),最后当B=0时,刚好A与自己的相加次数刚好就是B的值,最后返回B的值,也就是0。

在这里插入图片描述

#include <stdio.h>
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        int i,m,b;
        int cnt=0;
        for(i=1;i<=n;i++)
        {
            m=i;
            while(m)
            {
                b=m%10;
                m=m/10;
                if(b==7||m==7||i%7==0){
                    cnt++;
                    break;
                }
            }
        }
        printf("%d\n",cnt);
    }
}

输入n的值之后,创建了三个变量i,m,b以及cnt(count),i是用来遍历1~n之间的数,而m是用来当i的替代品,用来计算,b是算m%10的约数,看其当前最后一位上是否为7,而后面的m/=10则是为了删除掉最后一位数;如果b==7(刚才的最后一位数为7),或者m= =7(此时的最后一位数为7),抑或是i%7= =0(i是7的倍数),都会证明这是符合题目条件的数,cnt++并跳出此次循环

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

No matching version found for @babel/traverse@^7.24.0.

问题&#xff1a; npm安装 依赖失败&#xff0c;找不到所需依赖。 原因&#xff1a; npm镜像源中没有该依赖。&#xff08;大概率是因为依赖最近刚更新&#xff0c;当前镜像源没有同步&#xff09; 解决&#xff1a; 查看自己的npm镜像&#xff1a;npm config get registry…

【刷题记录】详谈设计循环队列

下题目为个人的刷题记录&#xff0c;在本节博客中我将详细谈论设计循环队列的思路&#xff0c;并给出代码&#xff0c;有需要借鉴即可。 题目&#xff1a;LINK 下面是思路分析: 首先一开始收到实现普通队列的思路影响上题目中循环这俩字&#xff0c;那自然想到的是用链表来设计…

IDEA自动导入provided的依赖

最近在学习flink 流程序&#xff0c;在写demo程序的时候依赖flink依赖&#xff0c;依赖的包在flink集群里面是自己已经提供了的&#xff0c;在导入的时候配置为provided&#xff0c;像下面这样&#xff0c;以使打包的时候不用打到最终的程序包里面。 <dependency><gro…

带你从Spark官网啃透Spark Structured Streaming

By 远方时光原创&#xff0c;可转载&#xff0c;open 合作微信公众号&#xff1a;大数据左右手 本文是基于spark官网结构化流解读 Structured Streaming Programming Guide - Spark 3.5.1 Documentation (apache.org) spark官网对结构化流解释 我浓缩了一些关键信息&#xff…

laravel8配合jwt

composer 安装包 composer require tymon/jwt-authconfig/app.php 注册服务提供者 providers > [Tymon\JWTAuth\Providers\LaravelServiceProvider::class, ]aliases > [JWTAuth > Tymon\JWTAuth\Facades\JWTAuth::class,JWTFactory > Tymon\JWTAuth\Facades\JWT…

如何把已安装的nodejs高版本降级为低版本

第一步.先清空本地安装的node.js版本 按健winR弹出窗口&#xff0c;键盘输入cmd,然后敲回车&#xff08;或者鼠标直接点击电脑桌面最左下角的win窗口图标弹出&#xff0c;输入cmd再点击回车键&#xff09; 然后进入命令控制行窗口&#xff0c;并输入where node查看之前本地安装…

[java] 23种设计模式之桥接模式

一、什么是桥接模式 桥接(Bridge)模式属于结构型设计模式。通过提供抽象化和实现化之间的桥接结构&#xff0c;来实现二者的解耦。把抽象(abstraction)与行为实现(implementation)分离开来&#xff0c;从而可以保持各部分的独立性以及应对它们的功能扩展。 二、适用场景 当一…

《互联网的世界》第四讲-拥塞控制与编码

需要澄清的一个误区是&#xff0c;拥塞绝不是发送的数据量太大导致&#xff0c;而是数据在极短的时间段内到达了同一个地方以至于超过了网络处理容量导致&#xff0c;拥塞的成因一定要考虑时间因素。换句话说&#xff0c;拥塞由大突发导致。 只要 pacing&#xff0c;再多的数据…

软考59-上午题-【数据库】-小结+杂题

一、杂题 真题1&#xff1a; 真题2&#xff1a; 真题3&#xff1a; 真题4&#xff1a; 真题5&#xff1a; 真题6&#xff1a; 真题7&#xff1a; 真题8&#xff1a; 二、数据库总结 考试题型&#xff1a; 1、选择题&#xff08;6题&#xff0c;6分&#xff09; 2、综合分析题…

python实现手机号归属地查询

手机上突然收到了某银行的短信提示&#xff0c;看了一下手机的位数&#xff0c;正好是11位。我一想&#xff0c;这不就是标准的手机号码吗&#xff1f;于是一个想法涌上心头——用python的库实现查询手机号码归属地查询自由。 那实现的效果如下&#xff1a; 注&#xff1a;电…

五、软考-系统架构设计师笔记-信息安全技术基础知识

信息安全技术基础知识 1、信息安全基础知识概述 信息安全的概念 信息安全包括 5 个基本要素&#xff1a; 机密性:确保信息不暴露给未授权的实体或进程。完整性:只有得到允许的人才能修改数据&#xff0c;并且能够判别出数据是否已被篡改。可用性:得到授权的实体在需要时可以…

“祖传代码“的是是非非

程序员眼中的“祖传代码”&#xff0c;就像一本古老而神秘的魔法书&#xff0c;藏着无穷的智慧和技巧&#xff0c;有些代码像家传宝贝&#xff0c;有些像祖传秘方。快来分享一下你遇到的“祖传代码”吧~ 祖传代码的历史与文化价值 祖传代码通常指的是经过长时间使用和传承的代…

于51单片机的智能驾驶系统设计[proteus仿真]

基于51单片机的智能驾驶系统设计[proteus仿真] 智能驾驶检测系统这个题目算是课程设计和毕业设计中常见的题目了&#xff0c;本期是一个基于51单片机的智能驾驶系统设计 需要的源文件和程序的小伙伴可以关注公众号【阿目分享嵌入式】&#xff0c;赞赏任意文章 2&#xffe5;&…

大话C++之:对象内存模型

一般继承(无虚函数覆盖) 只有一个虚指针&#xff0c;指向一个虚表&#xff0c;虚函数按顺序从祖先节点开始插入到虚表上。字段按顺序从祖先节点开始插入到对象内存上 一般继承(有虚函数覆盖) 只有一个虚指针&#xff0c;指向一个虚表&#xff0c;虚函数按顺序从祖先节点开始&a…

嵌入式中volatile关键字的使用方法

Hi,大家好&#xff01; 今天我们来学习一下volatile关键字&#xff0c;volatile关键字想必大家在平时编程中都见过或用过。可是小伙伴们有没有想过什么时候需要使用volatile关键字吗&#xff1f; 在C语言中&#xff0c;volatile是一个关键字&#xff0c;用于告诉编译器不要优化…

绘图机器 - 华为OD统一考试(C卷)

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 100分 题解&#xff1a; Java / Python / C 题目描述 绘图机器的绘图笔初始位置在原点&#xff08;0, 0&#xff09;&#xff0c;机器启动后其绘图笔按下面规则绘制直线&#xff1a; 1&#xff09;尝试沿着横向坐标轴…

【Redis】RedisTemplate和StringRedisTemplate的区别

两者的关系是 StringRedisTemplate 继承 RedisTemplate 。 两者的数据是不共通的&#xff1a;也就是说 StringRedisTemplate 只能管理 StringRedisTemplate 里面的数据&#xff0c;RedisTemplate 只能管理 RedisTemplate 中的数据。 RedisTemplate 看这个类的名字后缀是 Temp…

安康杯安全知识竞赛上的讲话稿

各位领导、同志们&#xff1a; 经过近半个月时间的准备&#xff0c;南五十家子镇平泉首届安康杯安全生产知识竞赛初赛在今天圆满落下帏幕&#xff0c;经过紧张激烈的角逐&#xff0c; 代表队、 代表队和 代表队分别获得本次竞赛的第一、二、三名让我们以热烈的掌声表示祝…

vue3+uniapp在微信小程序实现一个2048小游戏

一、效果展示 二、代码 <template><view class"page"><view class"top"><view class"score">得分:{{total}}</view><view class"time">用时:{{allTime}}s</view></view><view cl…

【代码随想录算法训练营Day34】860.柠檬水找零;406.根据身高重建队列;452.用最少数量的箭引爆气球

❇️Day 34 第八章 贪心算法 part04 ✴️今日任务 860.柠檬水找零406.根据身高重建队列452.用最少数量的箭引爆气球 ❇️860.柠檬水找零 本题看上好像挺难&#xff0c;其实挺简单的&#xff0c;大家先尝试自己做一做。题目链接&#xff1a;https://leetcode.cn/problems/lem…