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

C语言--每日选择题--Day27

第一题

1. 对于代码段,问下面不可以表示a[1]地址的是()

int a[10];

A:&a[0] + 1

B:a + sizeof(int)

C:(int*)&a + 1

D:(int*)((char*)&a + sizeof(int))

答案及解析 A

A:取到的是a[0]的地址,我们对地址的加整数,加的是这个指针指向的内容类型的字节数;

比如&a[0]+1,a[0]为int类型,那&a[0]+1,就是往后走4个字节,也就是达到下一个元素的位置;如果是(char*)&a[0] + 1;就是往后走一个字节,这样说有点抽象,用图表示为:

我们要把数字换成二进制表示出来才更直观:

比如我们设定一个数组int arr[2];

B:a代表的是首元素地址,sizeof(int)为4个字节,也就是要让a从首元素的地址往后移动4*4个字节,就到a[16]的地址,明显的越界;

C:&a是取到整个数组的地址,类型为int (*)[],但是表示出来依旧首元素地址,强转为int*类型,+1,就是往后走4个字节,到arr[1]的地址;

D:(char*)&a,把a强转为char*类型,sizeof(int)为4,往后移动4字节位置,到达的是arr[1]的地址,想要取到整个整型的地址,要再强转回int*;

第二题

2. 下列for语句的循环次数是()

int sum = 0;
for (int i=1;i<=5;sum++)sum+=i;

A:无限

B:0

C:1

D:有语法错误,不能执行

答案及解析 A

因为for循环里是sum的增加,并不是i,而判断语句中是i <= 5;所以i无变化,一直满足这个循环条件,是死循环,所以选A

第三题

3. 设有语句  char a = '\72';,则关于变量a的说法正确的是()

A:包含2个字符

B:说明不合法

C:包含1个字符

D:包含3个字符

答案及解析 C

\ddd(可以是1~3个d)表示的是一个字符,为八进制数字;

第四题

4. 已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是 ()

(长度使用sizeof比较)

A:数组a和b的长度相同

B:a数组长度小于b数组长度

C:a数组长度大于b数组长度

D:上述说法都不对

答案及解析 C

a这个字符串,有隐藏的\0,所以计算的是4个字符的大小,sizeof(a) = 4;

而sizeof(b) = 3;

若想查看sizeof和strlen的区别,点击此博客:全网最详细的sizeof运算和strlen函数讲解(通过多种数据类型举例)_如何用sizeof算出数据字节数_小程序面包园的博客-CSDN博客

第五题

5. 若有以下说明和定义语句:考虑内存对齐,则变量aa所占内存的字节数是(        )

union uti 
{int n;double g;char ch[9];
};
struct srt 
{float xy;union uti uv;
} aa;

A:9

B:8

C:24

D:13

答案及解析 C

union的最大对齐数为8,然而联合体的大小至少为最大成员的大小,所以为9个字节,但是大小都要是最大对齐数的整数倍,所以联合体最后的字节数为16,最大对齐数为8;

在结构体中嵌套联合体,结构体等,这样的自定义类型的对齐数就是自己内部的最大对齐数,所以为8,但是要占自身字节的大小;之后最后的字节数必须是最大对齐数的整数倍;

相关博客:C/C++内存对齐规则(结构体、联合体、类)-CSDN博客

相关文章:

C语言--每日选择题--Day27

第一题 1. 对于代码段&#xff0c;问下面不可以表示a[1]地址的是&#xff08;&#xff09; int a[10]; A&#xff1a;&a[0] 1 B&#xff1a;a sizeof(int) C&#xff1a;(int*)&a 1 D&#xff1a;(int*)((char*)&a sizeof(int)) 答案及解析 A A&#xff1a;取到…...

黑马程序员索引学习笔记

文章目录 索引的分类从索引字段特性从物理存储从数据结构组成索引的字段个数 InnoDB主键索的Btree高度为多高呢?explain执行计划最左匹配原则索引失效情况SQL提示覆盖索引、回表查询前缀索引索引设计原则 索引的分类 从索引字段特性 主键索引、唯一索引、常规索引、全文索引…...

新手如何对一个web网页进行一次渗透测试

新手如何对一个web网页进行一次渗透测试 文章目录 新手如何对一个web网页进行一次渗透测试什么是渗透测试?渗透测试和红蓝对抗的区别那么拿到一个网站后如何进行一次优雅的渗透测试呢 什么是渗透测试? 在获得web服务运营的公司书面授权的情况下&#xff0c;模拟攻击者的行为…...

vs2019 - MFC对话框程序的工程名称不支持下划线命名法

文章目录 vs2019 - MFC对话框程序的工程名称不支持下划线命名法概述笔记备注END vs2019 - MFC对话框程序的工程名称不支持下划线命名法 概述 正在写账单分析程序, 用MFC 对话框. 因为比较习惯下划线命名法, 就在向导中给工程名称起了一个my_test这样的名称(下划线命名法, 小…...

java JDBCUtils 使用静态代码块连接数据库 全程值保持一次连接

\src\com\data\entity\JDBCUtils.java 使用静态代码块连接数据库 全程值保持一次连接 package com.data.entity;import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasource.DriverManagerDataSource;import javax.sql.DataSource;pub…...

剑指 Offer(第2版)题解(C++ Version)

剑指 Offer&#xff08;第2版&#xff09;题解&#xff08;C Version&#xff09; 剑指 Offer&#xff08;第2版&#xff09;题解&#xff08;C Version&#xff09;面试题 3&#xff1a;数组中重复的数字面试题 4&#xff1a;二维数组中的查找面试题 5&#xff1a;替换空格面试…...

6.15合并二叉树(LC617-E)

算法&#xff1a; 前序、中序、后序都可以&#xff0c;这道题正常逻辑一般都是用前序 正确代码&#xff1a; 这里就是在root1这颗树上改的&#xff0c;也可以新建一个树。 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode …...

百度智能小程序系统源码+关键词排名优化 附带完整的搭建教程

百度智能小程序系统的开发背景是基于百度强大的技术实力和对用户需求的深入理解。在移动互联网时代&#xff0c;用户对便捷、高效、智能的服务需求越来越高。而小程序作为一种轻量级的应用程序&#xff0c;恰好能够满足用户的这些需求。然而&#xff0c;开发一个小程序需要掌握…...

2019年11月7日 Go生态洞察:Go Modules v2及更高版本

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…...

vue3通过provide和inject实现多层级组件通信

父组件 <template><div><h1>我是父组件 {{num}}</h1><hr><child></child></div> </template><script setup> import child from ./child.vue; import { ref,provide } from vue; let num ref(520) provide(pare…...

【Java学习笔记】72 - 满汉楼 - 餐饮管理系统

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter26 一、需求说明 满汉楼项目功能多&#xff0c;界面复杂&#xff0c;涉及到复杂的awt和swing技术和事件编程&#xff0c;做如下调整: 1.去掉界面和事件处理(工作中使用很少)&#xff0c;使…...

【我的创作纪念日】

机缘 大家好&#xff0c;我是圥忈ゼ&#xff0c; 2023 年 07 月 20 日&#xff0c;我撰写了第 1 篇技术博客&#xff1a;《我的编程未来规划》&#xff0c;也是由于我高考后的专业选择&#xff0c;和就业方向的选择&#xff0c;加上想立志成为一名专业 IT 作者&#xff0c;我结…...

车载通信架构 —— 传统车内通信网络MOST总线(光纤传输、专精多媒体)

车载通信架构 —— 传统车内通信网络MOST总线(光纤传输、专精多媒体) 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都…...

使用Pytorch从零开始构建Energy-based Model

知识回顾: [1] 生成式建模概述 [2] Transformer I&#xff0c;Transformer II [3] 变分自编码器 [4] 生成对抗网络&#xff0c;高级生成对抗网络 I&#xff0c;高级生成对抗网络 II [5] 自回归模型 [6] 归一化流模型 [7] 基于能量的模型 [8] 扩散模型 I, 扩散模型 II 在本教程中…...

基于C#实现梳排序

为什么取名为梳&#xff0c;可能每个梳都有自己的 gap 吧&#xff0c;大梳子 gap 大一点&#xff0c;小梳子 gap 小一点。上一篇我们看到鸡尾酒排序是在冒泡排序上做了一些优化&#xff0c;将单向的比较变成了双向&#xff0c;同样这里的梳排序也是在冒泡排序上做了一些优化。 …...

盘点72个Android系统源码安卓爱好者不容错过

盘点72个Android系统源码安卓爱好者不容错过 学习知识费力气&#xff0c;收集整理更不易。 知识付费甚欢喜&#xff0c;为咱码农谋福利。 链接&#xff1a;https://pan.baidu.com/s/1qiWeLjF2i4dlgmTYgPPSvw?pwd8888 提取码&#xff1a;8888 项目名称 A keyboardlisten…...

nodejs+vue+elementui足球篮球联赛系统

系统主要是以后台管理员管理为主。管理员需要先登录系统然后才可以使用本系统&#xff0c;管理员可以对个人中心、用户管理、赛事信息管理、球队信息管理、球员信息管理、比赛分值板管理、系统管理等进行添加、查询、修改、删除&#xff0c;以保障足球联赛管理系统的正常运行。…...

18.Oracle的过程和函数

oracle11g的过程和函数 一、过程&#xff08;Procedure&#xff09;1、子程序2、过程的相关语法 二、函数&#xff08;Function&#xff09;1、函数的概念2、函数的创建3、 案例 在Oracle数据库中&#xff0c;过程和函数都是用来封装一系列SQL语句和逻辑操作的数据库对象&#…...

A JSONObject text must begin with ‘{‘ at 1 [character 2 line 1]

今天调用一个接口&#xff0c;返回的是json数据&#xff0c;但是拿到数据进行转换的报错&#xff0c; JSONObject resultJson new JSONObject(resuStr);报错信息是&#xff1a; Exception in thread "main" org.json.JSONException: A JSONObject text must begin …...

C#中openFileDialog控件的使用方法

目录 一、OpenFileDialog基本属性 二、使用 OpenFile 从筛选的选择中打开文件 1.示例源码 2.生成效果 3. 其它示例 三、使用 StreamReader 以流的形式读取文件 1.示例源码 2.生成效果 四、一种新颖的Windows窗体应用文件设计方法 在C#中&#xff0c;OpenFileDialog控件…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统

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

用鸿蒙HarmonyOS5实现中国象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...

js 设置3秒后执行

如何在JavaScript中延迟3秒执行操作 在JavaScript中&#xff0c;要设置一个操作在指定延迟后&#xff08;例如3秒&#xff09;执行&#xff0c;可以使用 setTimeout 函数。setTimeout 是JavaScript的核心计时器方法&#xff0c;它接受两个参数&#xff1a; 要执行的函数&…...