【寒假打卡】Day01

文章目录

  • 选择
  • 编程
    • HJ99 自守数
    • OR86 返回小于 N 的质数个数

选择

如下代码输出的是什么( )

char a=101;
int sum=200;
a+=27;sum+=a;
printf("%d\n",sum);

A: 32 B: 99 C: 328 D: 72

答案: C

解析: 首先,char a = 101; 定义了一个字符变量 a,并将其赋值为 101。由于 ASCII 编码中 101 对应的字符是 'e',所以 a 的值为 'e'

然后,a += 27; 将 a 的值增加 27。由于 a 的类型是 char,其取值范围为 -128 到 127,所以这里的加法会发生溢出。27 加上 101 的结果是 128,超过了 char 的取值范围。根据 C++ 的规定,溢出时 char 类型会进行模运算,即 128 模 256 等于 128。因此,a 的新值为 128。

接下来,sum += a; 将 sum 的值增加 a。sum 的初始值是 200,a 的新值是 128,所以 sum 的新值为 328。

最后,printf("%d\n", sum); 使用 printf 函数以十进制格式输出 sum 的值。因此,程序输出的结果是 328。


对于下面代码执行后输出的是什么( )

int value = 1024;
char condition = *((char*)(&value));
if(condition) value += 1; condition = *((char*)(&value));
if(condition) value += 1; condition = *((char*)(&value));
printf("%d %d", value, condition);
void func(char para[100])
{
void *p = malloc(100);
printf("%d, %d\n", sizeof(para), sizeof(p));
}

A: 1026 1 B: 1025 0 C: 1025 1 D: 1024 0

答案: C

解析:
先将一个整型值 1024 转换为了字符指针类型,并通过指针对内存进行访问。然后我们判断这个字符的值,如果不为0(即非零),则将整型值加上1。接着我们再次将整型值转换为字符指针类型,并通过指针对内存进行访问,判断第二个字符的值。最后输出整型值和最后一个字符的值(即条件变量的值)。由于整型值 1024 的二进制表示为 0000 0100 0000 0000,其中最低有效字节为 0,所以第一个条件不满足,整型值不变。而第二个条件满足,整型值加上了 1,并且最后一个字符的值为 1。


假设在32位机器上,读代码选结果( )

void func(char para[100])
{
void *p = malloc(100);
printf("%d, %d\n", sizeof(para), sizeof(p));
}

A: 4,4 B: 100,4 C: 4,100 D: 100,100

答案: B

解析:
在32位机器上,指针的大小通常为4字节。因此,在这种情况下,函数func的输出结果将是100, 4

虽然在函数参数中声明了char para[100],但实际上这里的数组参数会被调整为char* para,因此sizeof(para)返回的是指针的大小而不是数组的大小。数组作为函数参数传递时会退化为指针。

sizeof运算符在编译时求值,返回的是类型的大小,而不是运行时变量的大小。所以无论传递给func的数组实际存储了多少数据,sizeof(para)都会返回100。


以下程序执行后的输出结果为( )

#include <stdio.h>
void func(char *p) { p = p + 1; }
int main()
{
char s[] = {'1', '2', '3', '4'};
func(s);
printf("%c", *s);
return 0;
}

A: 2 B: 编译错误 C: 1 D: 无法确定

答案: C

解析:
在函数func中,参数p是一个指向字符类型的指针。在函数体内,我们将指针p的值加上1,但这个操作只是修改了指针本身的值,并不影响指针所指向的内存地址及其内容。

在主函数中,定义了一个字符数组s,并将其初始化为{'1', '2', '3', '4'}。调用函数func(s)时,将s数组的首地址传递给了函数func。函数func中对指针进行了修改,但并未修改s数组中的数据。因此,在printf语句中输出s数组的第一个元素,即输出字符1


已知数组D的定义是 int D[4][8]; 现在需要把这个数组作为实参传递给一个函数进行处理。下列可以作为对应的形参变量说明的是【多选】( )
A: int D[4][] B: int *s[8] C: int(*s)[8] D: int D[][8]

答案: CD


编程

HJ99 自守数

HJ99 自守数
描述
自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376。请求出n(包括n)以内的自守数的个数

数据范围:
1≤n≤10000

输入描述:
int型整数

输出描述:
n以内自守数的数量。

示例1
输入:
6
复制
输出:
4
复制
说明:有0,1,5,6这四个自守数
示例2
输入:
1
复制
输出:
2
复制
说明:有0, 1这两个自守数

代码:
规律:个位数为 0、1、5、6 的数才可能是自守数,故采用筛选法,只判断符合该条件的数

#include <iostream>
using namespace std;int main() {int n;while (cin >> n) {int cnt = 1;int base = 10;for (int i = 1; i <= n; i++) {if (i % 10 == 0 || i % 10 == 1 || i % 10 == 5 || i % 10 == 6) {int x = i * i;if (i == base)base *= 10;if (x % base == i)cnt++;}}cout << cnt << endl;}return 0;
}

OR86 返回小于 N 的质数个数

OR86 返回小于 N 的质数个数

在这里插入图片描述
代码:

#include <iostream>
using namespace std;bool isPrime(int n)
{for(int i=2;i*i<=n;i++){if(n%i==0)return false;}return true;}int main() {int n;int cnt=0;cin>>n;for(int i=2;i<=n;i++){if(isPrime(i))cnt++;}cout<<cnt<<endl;return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VIM工程的编译 / VI的快捷键记录

文章目录 VIM工程的编译 / VI的快捷键记录概述笔记工程的编译工程的编译 - 命令行vim工程的编译 - GUI版vim备注VIM的帮助文件位置VIM官方教程vim 常用快捷键启动vi时, 指定要编辑哪个文件正常模式光标的移动退出不保存 退出保存只保存不退出另存到指定文件移动到行首移动到行尾…

Spring RabbitMQ那些事(3-消息可靠传输和订阅)

目录 一、序言二、生产者确保消息发送成功1、为什么需要Publisher Confirms2、哪些消息会被确认处理成功 三、消费者保证消息被处理四、Spring RabbitMQ支持代码示例1、 application.yml2、RabbigtMQ配置3、可靠生产者配置4、可靠消费者配置5、测试用例 一、序言 在有些业务场…

告别无法访问的Github

告别无法访问的Github 最近在使用github的时候又登不上去了&#xff0c;挂着VPN都没用 但是自己很多项目都存在github&#xff0c;登不上去那不得损失很大 所以一行必须整点儿特殊手段来访问&#xff0c;顺便分享一下 1.加速器 网上很多解决方案都是在分享各种加速器来登陆…

大型语言模型 (LLM)全解读

一、大型语言模型&#xff08;Large Language Model&#xff09;定义 大型语言模型 是一种深度学习算法&#xff0c;可以执行各种自然语言处理 (NLP) 任务。 大型语言模型底层使用多个转换器模型&#xff0c; 底层转换器是一组神经网络。 大型语言模型是使用海量数据集进行训练…

【Linux】Linux中的日志查询方法

文章目录 linux日志与日志的查询方法更多journalctl用法journalctl用法案例部分日志路径说明推荐阅读 linux日志与日志的查询方法 在Linux系统中&#xff0c;日志文件用于记录系统的各种运行信息和错误消息。常见的日志文件包括但不限于/var/log/下的各种日志&#xff0c;如me…

Armv8-M的TrustZone技术之SAU寄存器总结

每个SAU寄存器是32位宽。下表显示了SAU寄存器概要。 5.1 SAU_CTRL register SAU_CTRL寄存器的特征如下图和表所示&#xff1a; 5.2 SAU_TYPE register 5.3 SAU_RNR register 5.4 SAU_RBAR register 5.5 SAU_RLAR register 5.6 SAU区域配置 当SAU启用时&#xff0c;未由已启用…

亚信安慧AntDB:AntDB-M元数据锁之对象锁(四)

l 对象锁 (per-object locks) 除了IX锁&#xff0c;其他类型都可以用于其他命名空间&#xff0c;这部分是最常用的锁类型。主要用于对数据库的某个具体元数据的并发控制。这类锁对象会比较多&#xff0c;对其有独特的管理&#xff0c;本文不再展开说明。 5.3 两种锁类型 根据…

桌面型物联网智能机器人设计(预告)

相关资料 桌面级群控机器人CoCube探索-2022--CSDN博客 视频&#xff1a; 能&#xff01;有&#xff01;多&#xff01;酷&#xff01;CoCube桌面级群控机器人 让我看看谁在SJTU里划水… 简要介绍 设计一个桌面型物联网智能机器人&#xff0c;以ESP32芯片为核心&#xff0c;配…

网络安全的使命:守护数字世界的稳定和信任

在数字化时代&#xff0c;网络安全的角色不仅仅是技术系统的守护者&#xff0c;更是数字社会的信任保卫者。网络安全的使命是保护、维护和巩固数字世界的稳定性、可靠性以及人们对互联网的信任。本文将深入探讨网络安全是如何履行这一使命的。 第一部分&#xff1a;信息资产的…

【Linux】常见指令(一)

前言: Linux有许多的指令&#xff0c;通过学习这些指令&#xff0c;可以对目录及文件进行操作。 文章目录 一、基础指令1. ls—列出目录内容2. pwd—显示当前目录3. cd—切换目录重新认识指令4. touch—创建文件等5. mkdir—创建目录6. rmdir指令 && rm 指令7. man—显…

学会使用ubuntu——ubuntu22.04使用WebCatlog

Ubuntu22.04使用WebCatlog WebCatlog是适用于Gnu / Linux&#xff0c;Windows或Mac OS X系统的桌面程序。 引擎基于铬&#xff0c;它用于在我们的桌面上处理Web服务。简单点就是把网页单独一个窗口出来显示&#xff0c;当一个app用。本文就是利用WebCatlog安装后的notion编写的…

5G-A:“繁花”盛开在2024

2019年&#xff0c;我国正式发牌5G&#xff0c;开启5G商用新时代。通信技术十年一代&#xff0c;五年过去了&#xff0c;5G是否要进入“半代更迭”阶段&#xff1f; 2024年被视为5G-A商用元年&#xff0c;是5G走向6G的关键一跃。5G-A以R18为演进起点&#xff0c;在连接速率、网…

macOS跨进程通信: Unix Domain Socket 创建实例

macOS跨进程通信: Unix Domain Socket 创建实例 一&#xff1a; 简介 Socket 是 网络传输的抽象概念。 一般我们常用的有Tcp Socket和 UDP Scoket&#xff0c; 和类Unix 系统&#xff08;包括Mac&#xff09;独有的 Unix Domain Socket&#xff08;UDX&#xff09;。 Tcp So…

数据的存储

目录 1 -> 数据类型的介绍 1.1 -> 类型的基本归类 2 -> 整型在内存中的存储 2.1 -> 原码、反码、补码 2.2 -> 大小端介绍 3 -> 浮点型在内存中的存储 3.1 -> 浮点数存储规则 1 -> 数据类型的介绍 基本内置类型有&#xff1a; char /…

小程序技术实践:快速开发适配鸿蒙的App

今年&#xff0c;在中国&#xff0c;被各大媒体和开发者称为“鸿蒙元年”。 在2023年底就有业内人士透露&#xff0c;华为明年将推出不兼容安卓的鸿蒙版本&#xff0c;未来IOS、鸿蒙、安卓将成为三个各自独立的系统。 果不其然&#xff0c;执行力超强的华为&#xff0c;与202…

黑马程序员JavaWeb开发|Maven高级

一、分模块设计与开发 分模块设计&#xff1a; 将项目按照功能拆分成若干个子模块&#xff0c;方便项目的管理维护、扩展&#xff0c;也方便模块间的相互调用&#xff0c;资源共享。 注意&#xff1a;分模块开发需要先对模块功能进行设计&#xff0c;再进行编码。不会先将工…

C++设计模式之迭代器模式

【声明】本题目来源于卡码网&#xff08;https://kamacoder.com/&#xff09; 【提示&#xff1a;如果不想看文字介绍&#xff0c;可以直接跳转到C编码部分】 【设计模式大纲】 【简介】 --什么是迭代器模式&#xff08;第19种设计模式&#xff09; 迭代器模式是⼀种行为设计模…

消息中间件之Kafka(二)

1.Kafka线上常见问题 1.1 为什么要对topic下数据进行分区存储? 1.commit log文件会受到所在机器的文件系统大小的限制&#xff0c;分区之后可以将不同的分区放在不同的机器上&#xff0c; 相当于对数据做了分布式存储&#xff0c;理论上一个topic可以处理任意数量的数据2.提…

Hbas简介:数据模型和概念、物理视图

文章目录 说明零 BigTable一 Hbase简介二 HBase 访问接口简介三 行式&列式存储四 HBase 数据模型4.1 HBase 列族数据模型4.2 数据模型的相关概念4.3 数据坐标 五 概念&物理视图 说明 本文参考自林子雨老师的大数据技术原理与应用(第三版)教材内容&#xff0c;仅供学习…

MySQL---多表分组查询综合练习

创建dept表 CREATE TABLE dept ( deptno INT(2) NOT NULL COMMENT 部门编号, dname VARCHAR (15) COMMENT 部门名称, loc VARCHAR (20) COMMENT 地理位置 ); 添加dept表主键 mysql> alter table dept add primary key(deptno); Query OK, 0 rows affected (0.02 s…