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

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

第一题

1. i = 5,j = 7,i | j 等于多少?

A:1

B:3

C:5

D:7

答案及解析 D

|这个是按位或运算符,两个数的二进制位,有1为1,同0为0;

i的二进制:0101

j的二进制:0111

结果:        0111 = 7

第二题

2. 编译和执行如下c语言代码,系统将会输出什么?

#include <stdio.h>
int main() 
{char c = '0';printf("%d %d", sizeof(c), sizeof(char));return 0;
}

A:1 4

B:2 2

C:1 1

D:2 1

答案及解析 C

sizeof是计算数据类型的空间;

这就表明了,sizeof括号里的变量是什么数据类型,计算出的结果就是该数据类型对应的字节,如果sizeof括号里面是个表达式,需要计算的,记住,sizeof只是算数据类型的空间,并不会计算表达式,只会推测这个表达式的数据类型;

第三题

3. 下面代码段输出的结果是()

int **pp, *p, a=10, b=20;
pp = &p;
p = &a;
p = &b;
printf("%d,%d", *p, **pp);

A:10 10

B:10 20

C:20 10

D:20 20

答案及解析 

这里是涉及一级指针和二级指针的知识,先给大家画个图:

首先pp是一个二级指针,存的是一级指针的地址,存的是p指针的地址;

其次p指针,先后存放的是a的地址,b 的地址

最后p是存b的地址;

一级指针存的是对应变量的地址,一级指针解引用是取到的这个变量;

二级指针存的是一级指针的地址,二级指针解引用一次,取到这个一级指针,再解引用是取到这个一级指针指向的变量;

第四题

4. 在64位系统以及64位编译器下,以下描述正确的是()

struct T 
{char a;int *d;int b;int c:16;double e;
};
T *p;

A:sizeof(p) == 24

B:sizeof(*p) == 24

C:sizeof(p->a) == 1

D:sizeof(p->e) == 4

答案及解析 

本题考查的是对指针类型的理解和结构体的内存对齐;

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

64位系统的指针类型占8字节,32位系统的指针类型占4字节;

结构体类型指针,访问内部数据要用 ' -> ',结构体变量访问内部数据用 ' . '

A:错误:p是一个结构体指针类型,只要是指针就是4/8个字节,而系统为64位,结果为8

C:正确:p->a 的数据类型是char类型,字节为1,结果正确

D:错误:p->e 的数据类型是double,字节为8,错误

B:错误,需要计算结构体的内存,直接上图,知识点在上面博客:

这里有一个特殊的成员int c : 16;这个叫位段,简单理解就是你给c赋值,会发生截断(二进制),保留的位数就是冒号后面的值,这里也就是保留16个比特位;

比如你p->c = 10;

二进制:0000 0000 0000 1010

截断:0000 0000 0000 1010

结果:10

比如你的二进制位:1111 1010 0001 0101 0011

截断:1111 / 1010 0001 0101 0011

结果:1010 0001 0101 0011

第五题

5. 下列程序的运行结果是 3, 5,请为横线处选择合适的程序( )

#include <stdio.h>struct S
{int n;char c[10];
} *p;int main()
{struct S a[3] = {{3, "abc"}, {5, "def"}, {7, "ghi"}};p = a;printf("%d,", (*p).n);printf("%d\n", ______);return 0;
}

A:(++p) -> n

B:(a+1) -> n

C:p++ -> n

D:(p+1) -> n

答案及解析 ABD

首先这是一个结构体的数组,很容易理解;数组每一个元素都是结构体;

所以我们一步一步来;

要想找到5,就需要找到这个结构体数组的第二个元素

方式:a + 1,p + 1;

之后再取到对应的结构体内部成员

方式:(a + 1)->n,(p + 1)->n

A:正确,++p是前置++,返回的是++之后的值,相当于p+1

B:正确

C:错误,p++是后置++,返回的是++之前的值,相当于p,取到的是3

D:正确

相关文章:

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

第一题 1. i 5&#xff0c;j 7&#xff0c;i | j 等于多少&#xff1f; A&#xff1a;1 B&#xff1a;3 C&#xff1a;5 D&#xff1a;7 答案及解析 D &#xff5c;这个是按位或运算符&#xff0c;两个数的二进制位&#xff0c;有1为1&#xff0c;同0为0&#xff1b; i的二进…...

LeetCode 274. H指数——排序

274. H 指数 给你一个整数数组 citations &#xff0c;其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义&#xff1a;h 代表“高引用次数” &#xff0c;一名科研人员的 h 指数 是指他&#xff08;她&…...

【洛谷 B2038】奇偶 ASCII 值判断 题解(顺序结构+取余)

奇偶 ASCII 值判断 题目描述 任意输入一个字符&#xff0c;判断其 ASCII 是否是奇数&#xff0c;若是&#xff0c;输出 YES&#xff0c;否则&#xff0c;输出 NO 。 例如&#xff0c;字符 A 的 ASCII 值是 65&#xff0c;则输出 YES&#xff0c;若输入字符 B(ASCII 值是 66…...

Ubuntu 20.4 源代码方式安装 cdo(笔记)

目录 动机安装过程python 调用cdo 动机 我找到的处理 era5-land 代码在需要用到 cdo&#xff0c;但是 sudo apt-get install cdo 总是出现 abort (core dump) 等问题&#xff0c;所以放弃这种安装方式&#xff0c;不走捷径&#xff0c;安装源代码&#xff0c;也就是 cdo-x.x.x…...

电子学会C/C++编程等级考试2022年12月(三级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:鸡兔同笼 一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。 时间限制:1000 内存限制:65536输入 一行,一个正整数a (a < 327…...

二叉树的最近公共祖先(C++实现)

二叉树的最近公共祖先 题目思路代码&#xff08;详细注释&#xff09; 题目 二叉树的最近公共祖先 思路 我们可以通过两个栈来实现 实现一个FindPath函数&#xff0c;用来查找从根节点到目标节点的路径&#xff08;路径可以用栈来保存&#xff09; 路径保存好后&#xff0c;…...

【conda】容易遗忘的命令使用总结

1. 在空conda虚拟环境中安装python 退出到base环境 conda activate base 执行命令 conda install -n 空环境名 python版本名 例如&#xff1a; conda install -n test python3.10 2. 无需确认直接创建环境 在末尾加上-y&#xff0c;例如&#xff1a; conda create -n tes…...

蓝桥杯第一天-----时间显示

文章目录 前言一、题目描述二、测试用例三、题目分析四、具体代码实现总结 前言 本章中将相信介绍蓝桥杯中关于时间显示的题目。 链接&#xff1a;https://www.lanqiao.cn/problems/1452/learning/ 一、题目描述 二、测试用例 三、题目分析 1.输入的时间为毫秒&#xff0c;毫…...

多文件夹图片预处理:清除空值、重置大小、分割训练集

→ 清理空值 防止出现cannot identify image file 参考Python数据清洗----删除读取失败图片__简单版_python用pil读取图片出错删除掉-CSDN博客 import os import shutil import warnings import cv2 import iofrom PIL import Image warnings.filterwarnings("error&qu…...

【Java】集合 之 使用 Map

为什么使用Map 我们知道&#xff0c;List是一种顺序列表&#xff0c;如果有一个存储学生Student实例的List&#xff0c;要在List中根据name查找某个指定的Student的分数&#xff0c;应该怎么办&#xff1f; 最简单的方法是遍历List并判断name是否相等&#xff0c;然后返回指定…...

第二证券:股票几点到几点开盘?

作为股民或许投资者&#xff0c;我们都知道股票是每天都有开盘和收盘时间的。但是&#xff0c;关于股票的开盘时间&#xff0c;很多人并不是很清楚&#xff0c;特别是初学者。在本文中&#xff0c;我们将从多个视点分析股票开盘时间&#xff0c;并为大家供给一些有用的信息。 …...

goweb入门教程

本文是作者自己学习goweb时写的笔记&#xff0c;分享给大家&#xff0c;希望能有些帮助 前言&#xff1a; 关于web&#xff1a;本质 ​ ​ web中最重要的就是浏览器和服务器的request(请求)和response(响应)&#xff1b; ​ 一个请求对应一个响应。 一个请求对应一个响应&…...

量子计算:探索未来的计算技术

量子计算:探索未来的计算技术 引言 在过去的几十年里,我们见证了计算机技术从简单的计算和存储发展到复杂的数据处理和人工智能的飞速进步。然而,随着我们进一步探索科技的前沿,传统的计算方法开始显示出其局限性。在这种情况下,量子计算——一种基于量子力学原理的新型计…...

HarmonyOS应用开发者基础认证考试题目及答案

一、判断题 Ability是系统调度应用的最小单元&#xff0c;是能够完成一个独立功能的组件。一个应用可以包含一个或多个Ability。 正确(True) 所有使用Component修饰的自定义组件都支持onPageShow&#xff0c;onBackPress和onPageHide生命周期函数。 错误(False) 每调用一次ro…...

c# 文件读取和写入

文件写入 using System.Collections.Generic; namespace demo1;/// <summary> /// System.IO下的所有的Stream类是所有数据流的基类 /// 流是用于传输数据的对象&#xff0c;流就是用来传输数据的 /// 数据传输的两种方式&#xff1a;1、数据从外部源传输到程序中&#…...

【MySQL库的操作】

目录&#xff1a; 前言库的操作创建数据库字符集和校验规则校验规则对数据库的影响 选择和查看数据库修改数据库删除数据库备份注意事项查看连接情况 总结 前言 剑指offer&#xff1a;一年又二天 库的操作 创建、选择、查看、修改、删除与备份。 创建数据库 CREATE DATABASE…...

rocketmq 集群环境部署及与spring cloud 集成

1 下载zip 安装包 rocketmq-all-5.1.4-bin-release.zip 2 修改启动配置&#xff0c;防止默认内存配置过高 runserver.sh/runbroker.sh/tools.sh 3 启动namesrv nohup sh bin/mqnamesrv >>namesrv.log & 4 启动brokerproxy 单点模式&#xff1a; nohup sh bin…...

SpringBoot——配置及原理

优质博文&#xff1a;IT-BLOG-CN 一、Spring Boot全局配置文件 application.properties与application.yml配置文件的作用&#xff1a;可以覆盖SpringBoot配置的默认值。 ◀ YML&#xff08;is not a Markup Language&#xff1a;不仅仅是一个标记语言&#xff09;&#xff1…...

fiddler抓包安卓

一、打断点 1、安卓手机和电脑在同一局域网下&#xff0c;手机连接的网络开启手动代理&#xff0c;ip填写电脑ip&#xff0c;端口填写fiddler中配置的端口。 ip查看&#xff1a; 端口配置&#xff1a;tools-options-connections 2、安装证书&#xff0c;手机浏览器输入电脑ip…...

Maven 进阶学习指南---setting详解

前言 当我们在开发项目时&#xff0c;有时需要用到外部依赖组件&#xff0c;例如当我们需要 Json 序列化的时候需要用到 FastJson 组件&#xff0c;我们可以通过下载对应 jar 包加载到项目中。但当一个大的项目同时需要依赖各种各样的外部服务&#xff0c;就存在着配置繁琐、依…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天&#xff0c;再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至&#xff0c;这不仅是开发者的盛宴&#xff0c;更是全球数亿苹果用户翘首以盼的科技春晚。今年&#xff0c;苹果依旧为我们带来了全家桶式的系统更新&#xff0c;包括 iOS 26、iPadOS 26…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...

上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式

简介 在我的 QT/C 开发工作中&#xff0c;合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式&#xff1a;工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...

ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]

报错信息&#xff1a;libc.so.6: cannot open shared object file: No such file or directory&#xff1a; #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...

软件工程 期末复习

瀑布模型&#xff1a;计划 螺旋模型&#xff1a;风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合&#xff1a;模块内部功能紧密 模块之间依赖程度小 高内聚&#xff1a;指的是一个模块内部的功能应该紧密相关。换句话说&#xff0c;一个模块应当只实现单一的功能…...

医疗AI模型可解释性编程研究:基于SHAP、LIME与Anchor

1 医疗树模型与可解释人工智能基础 医疗领域的人工智能应用正迅速从理论研究转向临床实践,在这一过程中,模型可解释性已成为确保AI系统被医疗专业人员接受和信任的关键因素。基于树模型的集成算法(如RandomForest、XGBoost、LightGBM)因其卓越的预测性能和相对良好的解释性…...