C语言—每日选择题—Day59

news2024/11/24 15:09:03

指针相关博客

打响指针的第一枪:指针家族-CSDN博客

深入理解:指针变量的解引用 与 加法运算-CSDN博客

第一题

1. 以下关于 typedef 正确的描述是()【多选】

A:用typedef可以定义各种类型别名,但不能定义变量

B:用typedef只是将已存在的类型用一个新的名称代替

C:用typedef可以增加新类型

D:使用typedef便于程序的通用

答案及解析 ABD

typedef只是给已经存在的类型起别名,可以将复杂的类型简单化;并不是新增类型;

第二题

2. 对于以下递归函数f,调用f(4),其返回值为()

int f(int n) 
{   
    if(n)    
        return f(n - 1) + n;
    else 
        return n;
}

A:10

B:4

C:0

D:以上均不是

答案及解析  

本题考查的是递归,遇到递归计算,按步展开:

f(4)  = f(3) + 4

        = f(2) + 3 + 4

        = f(1) + 2 + 3 + 4

        = f(0) + 1 + 2 + 3 + 4

        = 0 + 1 + 2 + 3 + 4

        = 10

第三题

3. 下面程序的输出为()

#include <stdio.h>
int main() 
{
    char *ptr;   
    char arr[] = "12345678";
    ptr = arr;
    ptr += 5;
    printf("%s", ptr);
    return 0;
}

A:5678

B:678

C:编译错误

D:其它选项都不对

答案及解析 B

        ptr指针最开始指向数组arr的首元素地址,ptr += 5,是对指针的加法运算,需要根据自身数据类型char*,所以往后移动的是5个字节,就到6的地址,对ptr打印直接输出678,因为printf函数会去寻找字符串的\0,遇到\0结束打印。

第四题

4. int类型的二维数组X按行顺序存储

 X[4][4] 的存储地址为 0xf8b82140 

 X[9][9] 的存储地址为 Oxf8b8221c

 则X[7][7]的存储地址为 ( )

A:0xf8b821c4

B:0xf8b821a6

C:0xf8b82198

D:0xf8b821c0

答案及解析 A

        首先我们是不知道这个二维数组一行有几个元素的,所以必须要求出来一行有多少元素:而我们只知道地址,两个地址之间的差就是这两个地址之间的元素个数,这里是前闭后开的关系,也就是计算两个元素的地址差,求出来的元素个数是小地址到大地址之间的元素个数,包括小地址,不包括大地址;

假设每行有n个元素:

&X[9][9] - &X[4][4] = (21c-140) / 4       //除4是因为是int类型

&X[9][9] - &X[4][4] = 4n + (n - 4) + 9  = 5n + 7

4n :5、6、7、8行的元素个数

n - 4 :表示第5行中,第五个元素之后还有多少个元素,包括第五个元素

9 : 在第十行中,第十个元素之前的元素个数,不包括第十个元素

5n + 5 = (21c -140) / 4

5n + 5 = (540 - 320) / 4

5n + 5 = 220 / 4

5n + 5 = 55

n = 10

所以最后每行一共有10个元素;

那x[7][7]的地址 = &X[4][4] + (2n + 7 + (n - 4))*4  = 140 + 84 = 1c4

第五题

5. 以下代码在64位的机子上输出是()

#include <stdio.h>
int getSize(int data[])
{
    return sizeof(data);
}
 
int main()
{
    int data1[] = {1,2,3,4,5};
    int size1 = sizeof(data1);
     
    int* data2 = data1;
    int size2 = sizeof(data2);
     
    int size3 = getSize(data1);
     
    printf("%d, %d, %d", size1, size2, size3);
    return 0;
}

A:20, 8, 8

B:4, 4, 4

C:20, 4, 20

D:20, 20, 20

答案及解析 A

这个题就是根据昨天的题来的哦,别忘了数组传参会降为指针类型;

data1 :sizeof数组名,求的就是整个数组的大小,为20;

data2 :data2是一个int*类型,64位机器,是8字节大小;

第三个就是涉及数组传参,降为指针类型,是int*,也是8字节

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

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

相关文章

CSS:元素显示模式与背景

CSS&#xff1a;元素显示模式与背景 元素显示模式什么是元素显示模式块级元素 block行内元素 inline行内块元素 inline-block元素显示模式对比元素显示模式转换 display 背景背景颜色 background-color背景图片 background-image背景平铺 background-repeat背景图片位置 backgr…

使用Swift Package Manager (SPM)实现xcframework分发

Swift Package Manager (SPM) 是苹果官方提供的用于管理 Swift 项目的依赖关系和构建过程的工具。它是一个集成在 Swift 编程语言中的包管理器&#xff0c;用于解决在开发过程中管理和构建包依赖项的需求。 Package结构 一个 Package&#xff08;包&#xff09;由 Swift 源码…

CSS 网页制作-学成在线

1、 准备工作 1.1 项目目录 网站根目录是指存放网站的第一层文件夹&#xff0c;内部包含当前网站的所有素材&#xff0c;包含HTML、CSS、图片、JavaScript等等。 1.2 版心效果 可以发现都是呈现版心居中的效果&#xff0c;但是每次都写一次太麻烦了&#xff0c;可以把版心居中…

Android应用-flutter使用Positioned将控件定位到底部中间

文章目录 场景描述示例解释 场景描述 要将Positioned定位到屏幕底部中间的位置&#xff0c;你可以使用MediaQuery来获取屏幕的高度&#xff0c;然后设置Positioned的bottom属性和left或right属性&#xff0c;一般我们left和right都会设置一个值让控制置于合适的位置&#xff0…

鸿蒙应用开发初体验 HelloWorld

9 月 25 日&#xff0c;华为常务董事、终端 BG CEO、智能汽车解决方案 BU 董事长余承东华为秋季全场景新品发布会上介绍了鸿蒙系统的最新进展&#xff1a;HarmonyOS 4 发布后&#xff0c;短短一个多月升级用户已经超过 6000 万&#xff0c;成为史上升级速度最快的 HarmonyOS 版…

Python数据科学视频讲解:包裹法—递归特征消除

4.4 包裹法—递归特征消除 视频为《Python数据科学应用从入门到精通》张甜 杨维忠 清华大学出版社一书的随书赠送视频讲解4.4节内容。本书已正式出版上市&#xff0c;当当、京东、淘宝等平台热销中&#xff0c;搜索书名即可。内容涵盖数据科学应用的全流程&#xff0c;包括数据…

【已解决】vs2015下c++对sqlite的操作

本博文源于笔者操作sqlite3&#xff0c;借鉴了很多文章的思路&#xff0c;这里并整理了c常用的对数据库的操作供大家点赞收藏以后备用。包含了&#xff1a;c对sqlite3的创建数据库、创建数据表、写入数据表、读取数据表、删除数据表。也包括了最基础的让c运行sqlite3.内容供读者…

gem5 RubyPort: mem_request_port作用与连接 simple-MI_example.py

简介 回答这个问题&#xff1a;RubyPort的口下&#xff0c;一共定义了六个口&#xff0c;分别是mem_request_port&#xff0c;mem_response_port&#xff0c;pio_request_port&#xff0c;pio_response_port&#xff0c;in_ports, interrupt_out_ports&#xff0c;他们分别有什…

长三角安防行业盛会“2024杭州安博会”4月份在杭州博览中心召开

作为中国安防行业的盛会&#xff0c;2024杭州安博会将于4月份在杭州国际博览中心隆重召开。本届安博会将汇聚全球最先进的安防技术和产品&#xff0c;为来自世界各地的安防从业者、爱好者以及投资者提供一个交流、展示和合作的平台。 据了解&#xff0c;2024杭州安博会将会展示…

one wire(单总线)FPGA代码篇

一.引言 单总线&#xff08;OneWire&#xff09;是一种串行通信协议&#xff0c;它允许多个设备通过一个单一的数据线进行通信。这个协议通常用于低速、短距离的数字通信&#xff0c;特别适用于嵌入式系统和传感器网络。 二.one wire通信优点缺点 优点&#xff1a; 单一数据线…

[CVPR-23] Instant Volumetric Head Avatars

[paper | code | proj] 本文提出INSTA。INSTA是一种backward mapping方法。该方法基于NeRF建立标准空间&#xff0c;形变空间&#xff08;任意表情&#xff09;通过映射回标准空间&#xff0c;实现渲染。为实现形变空间中任意点向标准空间的映射&#xff0c;对形变空间中的任意…

PySpark中DataFrame的join操作

内容导航 类别内容导航机器学习机器学习算法应用场景与评价指标机器学习算法—分类机器学习算法—回归机器学习算法—聚类机器学习算法—异常检测机器学习算法—时间序列数据可视化数据可视化—折线图数据可视化—箱线图数据可视化—柱状图数据可视化—饼图、环形图、雷达图统…

Vue 保留富文本中包含指定字符串所在的行

需求描述 如下图所示&#xff0c;想保留所有包含『张三』所在的行 最终实现效果 先看一下富文本的源码 <p>任务1 张三</p> <p>任务2 张三</p> <p>任务3 李四</p> <p>任务4 李四</p> &l…

「微服务模式」七种微服务反模式

什么是微服务 流行语经常为进化的概念提供背景&#xff0c;并且需要一个良好的“标签”来促进对话。微服务是一个新的“标签”&#xff0c;它定义了我个人一直在发现和使用的领域。文章和会议描述了一些事情&#xff0c;我慢慢意识到&#xff0c;过去几年我一直在发展自己的个人…

JMeter常见配置及常见问题修改

一、设置JMeter默认打开字体 1、进入安装目录&#xff1a;apache-jmeter-x.x.x\bin\ 2、找到 jmeter.properties&#xff0c;打开。 3、搜索“ languageen ”&#xff0c;前面带有“#”号.。 4、去除“#”号&#xff0c;并修改为&#xff1a;languagezh_CN 或 直接新增一行&…

Envoy

一. Envoy ). Envoy Envoy 于 2017 年 9 月作为孵化项目加入 CNCF。从孵化到毕业&#xff0c;Envoy 都是 CNCF 增长最快的项目之一 Envoy 在吞吐量和延迟方面都表现良好。这在大型云原生部署中至关重要 Envoy 是专为大型现代 SOA&#xff08;面向服务架构&#xff09;架构设计…

Java|IDEA 中添加编译参数 --add-exports

方法1 File > Settings > Build, Execution, Deployment > Compiler > Java Compiler > Javac Options > Override compiler parameters per-module 点击&#xff1a; 点击OK 双击Compliation options&#xff0c;输入后回车&#xff1a; 方法2 找到出错…

【S32DS RTD实战】-1.4-基于S32K3创建配置FreeRTOS工程-控制GPIO点亮LED

目录(附DEMO&#xff0c;可下载&#xff0c;讲解过程超详细) 1 下载FREERTOS RTD 1.1 安装FREERTOS RTD 2 确认S32DS已安装的AUTOSAR RTD 3 基于S32K3创建&配置FREERTOS工程 3.1 选择SDKs 3.2 增加FreeRTOS模块 3.3 修改MCU芯片封装 3.4 配置GPIO 3.5 修改HSE CLK…

python如何更改代码背景图片,背景主题(黑色护眼)和各类文本颜色(python进阶必看,爱了爱了)

一、在 PyCharm 中设置图片背景的方法如下&#xff1a; 打开 PyCharm 的设置窗口&#xff0c;在设置窗口中找到 "Appearance & Behavior" -> "Appearance" 选项卡。在 "Appearance" 选项卡中&#xff0c;找到 "Background Image&qu…

HarmonyOs4.0基础

目录 一、HarmonyOs系统定义 1.1系统的技术特性(三大特征) 1.1.1、硬件互助、资源共享 1.1.2、一次开发、多端部署(面向开发者) 1.1.3、统一OS&#xff0c;弹性部署(支持多种API&#xff1a;ArkTs、JS、C/C、Java) 1.2、系统的技术架构 二、Harmony OS项目搭建 2.1、(D…