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

【基础训练 || Test-1】

在这里插入图片描述

总言

  主要内容:一些习题。
  
  

文章目录

  • 总言
  • 一、选择
    • 1、for循环、操作符(逗号表达式)
    • 2、格式化输出(转换说明符)
    • 3、for循环、操作符(逗号表达式、赋值和判等)
    • 4、if语句、操作符(自增自减、判等)
    • 5、表达式求值(类型转换)
    • 6、二维数组(数组初始化)
    • 7、位操作符(按位或与非)
    • 8、位移操作符、位操作符
    • 9、运算符优先级
    • 10、 指针概念理解
  • 二、编程
    • 2.1、组队竞赛
      • 2.1.1、题目
      • 2.1.2、题解:贪心
    • 2.2、删除公共字符
      • 2.2.1、题目
      • 2.2.2、题解一:直接遍历查找删除
      • 2.2.3、题解二:借助哈希
  • Fin、共勉。

  
  

一、选择

1、for循环、操作符(逗号表达式)

  以下for循环的执行次数是()

for (int x = 0, y = 0; (y = 123) && (x < 4); x++);A 是无限循环
B 循环次数不定
C 4次
D 3

  相关知识链接:操作符详解

回答:4

在这里插入图片描述

  
  
  
  

2、格式化输出(转换说明符)

  以下程序的运行结果是()

#include <stdio.h>
int main(void) {printf("%s , %5.3s\n", "computer", "computer");return 0;
}A computer ,   puter
B computer ,   com
C computer ,   computer
D computer ,   compu.ter

  

回答:computer ,   com

  相关说明:
  
在这里插入图片描述

在这里插入图片描述

  
  
  
  

3、for循环、操作符(逗号表达式、赋值和判等)

  下列main()函数执行后的结果为()

int func() {int i, j, k = 0;for (i = 0, j = -1; j = 0; i++, j++) {k++;}return k;
}
int main() {cout << (func());return 0;
}A -1
B 0
C 1
D 2

  相关链接:for循环表达式

回答:i=j=k=0;

在这里插入图片描述

  
  
  
  

4、if语句、操作符(自增自减、判等)

  下面程序输出是什么?

#include <stdio.h>
int main()
{int a = 1, b = 2, c = 3, d = 0;if (a == 1 && b++ == 2)if (b != 2 || c-- != 3)printf("%d,%d,%d\n", a, b, c);elseprintf("%d,%d,%d\n", a, b, c);elseprintf("%d,%d,%d\n", a, b, c);return 0;
}A 123
B 132
C 321
D 133

  考察:
  ①if语句中,else匹配原则:相关链接。
  ②逻辑运算符中的短路现象:相关链接。

回答:a=1 b=3 c=3(短路) d=0

在这里插入图片描述

  
  
  
  

5、表达式求值(类型转换)

  若有定义语句: int a=10 ; double b=3.14 ; 则表达式 'A'+a+b 值的类型是()

A char
B int
C double
D float

  考察了隐式类型转换(整型提升、算术转换):相关链接

回答:C以下为寻常算术转换:(自下向上转换)
long double
double
float
unsigned long int
long int
unsigned int
int

  
  
  
  

6、二维数组(数组初始化)

  下述p[1][2]的值是()

int p[][4] = {{1}, {3, 2}, {4, 5, 6}, {0}};A 1
B 0
C 6
D 2

  考察了二维数组的创建与初始化:相关链接。

回答:0。四行四列,行可以省略时花括号区分,值不够时默认为0

在这里插入图片描述

  
  
  
  

7、位操作符(按位或与非)

  选择表达式 11|10 的结果(本题数值均为十进制)()

A 11
B 10
C 8
D 2

  相关链接。

回答:11

  
  
  
  

8、位移操作符、位操作符

  fun(21)运行结果是()

int fun(int a) {a ^= (1 << 5) - 1;return a;
}A 10
B 5
C 3
D 8

  相关链接。

回答:10

  
  
  
  

9、运算符优先级

  如下述定义语句,不能使变量 year 中的值增至 1010 的语句是()

int year=1009,*p=&year;A *p+=1;
B (*p)++;
C ++(*p);
D *p++;

  主要考察前置自增、后置自增、解引用操作符优先级相关链接。

回答:D。

在这里插入图片描述

  
  
  
  

10、 指针概念理解

  下面关于"指针"的描述不正确的是()

A 当使用free释放掉一个指针内容后,指针变量的值被置为NULL
B 32位系统下任何类型指针的长度都是4个字节
C 指针的数据类型声明的是指针实际指向内容的数据类型
D 野指针是指向未分配或者已经释放的内存地址
A

  解释:实际上,使用 free() 函数释放一个指针所指向的内存时,指针本身的值并不会被自动置为 NULL。free() 只负责释放内存,而不会修改指针的值。 因此,指针仍然会指向之前分配的内存地址,但这个地址现在可能已经被操作系统用于其他目的,所以访问这个地址可能会导致未定义行为,比如程序崩溃。为了避免这种情况,一种常见的做法是在调用 free() 之后手动将指针设置为 NULL。
  
  
  
  
  

二、编程

2.1、组队竞赛

2.1.1、题目

  题源:链接
  牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i。现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人。牛牛发现队伍的水平值等于该队伍队员中第二高水平值。
  例如:
  一个队伍三个队员的水平值分别是3,3,3。那么队伍的水平值是3。
  一个队伍三个队员的水平值分别是3,2,3。那么队伍的水平值是3。
  一个队伍三个队员的水平值分别是1,5,2。那么队伍的水平值是2。

  为了让比赛更有看点,牛牛想安排队伍使所有队伍的水平值总和最大。如样例所示:

  如果牛牛把6个队员划分到两个队伍
  如果方案为:team1:{1,2,5}team2:{5,5,8},这时候水平值总和为7
  而如果方案为:team1:{2,5,8}, team2:{1,5,5}, 这时候水平值总和为10
  没有比总和为10更大的方案,所以输出10。

在这里插入图片描述  
  
  
  

2.1.2、题解:贪心

  说明: ①既然涉及到取较大值,先将输入的数据排序处理;②其次,让每次选值尽量取当前最大两值(由于最大的数不可能是中位数,所以退而求其次,取每组中第二大的);③这样,最终获取到的所有组中的水平值总和最大。

举例:
1 2 3 4 5 6 7 8 911 8 9 -->8;22 6 7 -->6;33 4 5 -->4;
中位数和:864.(当前最大)下标关系:arr[arr.length-2*(i+1)]
arr.length=9;
i=0时,arr[7]=8;
i=1时,arr[5]=6;
i=2时,arr[3]=4;
i根据n值而定。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;int main() {//1、输入数据long long n;//n个队伍while (cin >> n) //OJ题,可能存在多组测试用例{ vector<int> arr(3 * n);//3*n个选手for (int i = 0; i < 3 * n; ++i){cin >> arr[i];}//2、排序std::sort(arr.begin(), arr.end());//3、找每组水平值long long sum = 0;//用于统计最后水平值总和。for (int i = 0; i < n; ++i) {sum += arr[arr.size() - (2 * (i + 1))];}cout << sum << endl;}return 0;
}

  
  
  
  
  

2.2、删除公共字符

2.2.1、题目

  题源:链接
在这里插入图片描述
  
  
  
  

2.2.2、题解一:直接遍历查找删除

  说明: 如下,根据s2中给定查找的字符串,遍历一遍s1,将满足s2中的字符删除。时间复杂度为 O ( M ∗ N 2 ) O(M*N^2) O(MN2) [ 遍历s1(n),erase挪位删除(n),遍历s2(m)。]
  其它: 熟悉string类接口的使用。

#include <iostream>
#include <string>
using namespace std;int main()
{string s1, s2;getline(cin, s1);getline(cin, s2);int pos = 0;for (size_t i = 0; i < s2.size(); ++i){while ((pos = s1.find(s2[i])) != string::npos){s1.erase(pos, 1);}}cout << s1 << endl;return 0;
}

  
  
  

2.2.3、题解二:借助哈希

  说明:字符串一共256个,可以建立一个char类型的长度固定的数组来做哈希映射,该数组用来统计s2字符串中出现的字母的个数。遍历s1与该哈希数组比较,该数组中存在的值说明在s2中出现过。

#include <iostream>
#include <string>
using namespace std;int main()
{string s1,s2;getline(cin,s1);getline(cin,s2);string ret;int hash[256] = {0};//使用哈希映射思想先统计s2中各字符出现的次数for(size_t i = 0; i < s2.size(); ++i){hash[s2[i]]++;}for(size_t i = 0; i < s1.size(); ++i){if(hash[s1[i]] == 0)ret += s1[i];}cout << ret << endl;return 0;
}

  
  
  
  
  
  
  

Fin、共勉。

在这里插入图片描述

相关文章:

【基础训练 || Test-1】

总言 主要内容&#xff1a;一些习题。       文章目录 总言一、选择1、for循环、操作符&#xff08;逗号表达式&#xff09;2、格式化输出&#xff08;转换说明符&#xff09;3、for循环、操作符&#xff08;逗号表达式、赋值和判等&#xff09;4、if语句、操作符&#xff…...

Python读取hbase数据库

1. hbase连接 首先用hbase shell 命令来进入到hbase数据库&#xff0c;然后用list命令来查看hbase下所有表&#xff0c;以其中表“DB_level0”为例&#xff0c;可以看到库名“baotouyiqi”是拼接的&#xff0c;python代码访问时先连接&#xff1a; def hbase_connection(hbase…...

LeetCode41题:缺失的第一个正数(python3)

这道题写的时候完全没有思路&#xff0c;看了很久的题解&#xff0c;才总结出来。 class Solution:def firstMissingPositive(self, nums: List[int]) -> int:nums_set set(nums)n len(nums)for i in range(1, n 1):if i not in nums_set:return ireturn n 1...

C# DataTable 对象操作

实现DataTable按字段进行分类、按列数据汇总、序列化对象数组、所有字段转小写、动态对象数组、数据分页 分类DataTableClassfiy实体&#xff1a; /// <summary>/// 单个分类表/// </summary>public class DataTableClassfiy{/// <summary>/// 分类名称/// &…...

web运行时安全

1.输入验证 对传递的数据的格式、长度、类型&#xff08;前端和后端都要&#xff09;进行校验。 对黑白名单校验&#xff1a;比如前端传递了一个用户名&#xff0c;可以搜索该用户是否在白名单或者黑名单列表。 针对黑名单校验&#xff0c;比如&#xff1a; // 手机号验证…...

FPGA 与 数字电路的关系 - 这篇文章 将 持续 更新 :)

先说几个逻辑&#xff1a;&#xff08;强调一下在这篇文章 输入路数 只有 1个或2个&#xff0c;输出只有1个&#xff0c;N个输入M个输出以后再说&#xff09; 看下面的几个图&#xff1a; 图一&#xff08; 忘了 这是 啥门&#xff0c;不是门吧 &#xff1a;&#xff09;也就…...

18 SpringMVC实战

18 SpringMVC实战 1. 课程介绍2. Spring Task定时任务1. 课程介绍 2. Spring Task定时任务 package com.imooc.reader.task...

Rocky Linux 运维工具 dnf

一、dnf的简介 dnf​是用于在基于RPM包管理系统的包管理工具。用户可以通过 ​yum​来搜索、安装、更新和删除软件包&#xff0c;自动处理依赖关系&#xff0c;它是yum的继任者&#xff0c;旨在提供更快速、更现代化的软件包管理体验。。 二、dnf 的参数说明 序号参数描述1in…...

浅谈 Linux fork 函数

文章目录 前言fork 基本概念代码演示示例1&#xff1a;体会 fork 函数返回值的作用示例2&#xff1a;创建多进程&#xff0c;加深对 fork 函数的理解 前言 本篇介绍 fork 函数。 fork 基本概念 pid_t fork(void) fork 的英文含义是"分叉"&#xff0c;在这里就是 …...

golang 装饰器模式详解

前言 我一直以来对golang的装饰器模式情有独衷&#xff0c;不是因为它酷&#xff0c;而是它带给我了太多的好处。首先我不想说太多的概念&#xff0c;熟记这些概念对我的编程来说一点用处没有。我只知道它给我带来了好处&#xff0c;下面谈谈我的理解。 这种模式可以很轻松地…...

刷题笔记day27-回溯算法2

216. 组合总和 III 这个思路还是&#xff0c;三部曲&#xff1a; 终止条件处理单层节点回溯节点 题中说的是&#xff0c;1到9的数&#xff0c;不能有重复。 k个数&#xff0c;和为n。 那么只要 len(path) k 的时候&#xff0c;判断 n 为0&#xff0c;就可以入切片了。 fun…...

前端架构: 脚手架命令行交互核心实现之inquirer和readline的应用教程

命令行交互核心实现 核心目标&#xff1a;实现命令行行交互&#xff0c;如List命令行的交互呢比命令行的渲难度要更大&#xff0c;因为它涉及的技术点会会更多它涉及以下技术点 键盘输入的一个监听 (这里通过 readline来实现)计算命令行窗口的尺寸清屏光标的移动输出流的静默 …...

【C++初阶】内存管理

目录 一.C语言中的动态内存管理方式 二.C中的内存管理方式 1.new/delete操作内置类型 2.new和delete操作自定义类型 3.浅识抛异常 &#xff08;内存申请失败&#xff09; 4.new和delete操作自定义类型 三.new和delete的实现原理 1.内置类型 2.自定义类型 一.C语…...

《PyTorch深度学习实践》第十二讲循环神经网络基础

一、RNN简介 1、RNN网络最大的特点就是可以处理序列特征&#xff0c;就是我们的一组动态特征。比如&#xff0c;我们可以通过将前三天每天的特征&#xff08;是否下雨&#xff0c;是否有太阳等&#xff09;输入到网络&#xff0c;从而来预测第四天的天气。 我们可以看RN…...

蓝桥杯算法题汇总

一.线性表&#xff1a;链式 例题&#xff1a;旋转链表 二.栈&#xff1a; 例题&#xff1a;行星碰撞问题 三.队列 三.数组和矩阵 例题&#xff1a; 四.哈希表 五.二叉树 主要方法是递归 主要考察点是遍历&#xff1a;前序&#xff0c;中序&#xff0c;后序遍历&#xff0c;层…...

【MySQL】学习多表查询和笛卡尔积 - 副本

](https://img-blog.csdnimg.cn/21dd41dce63a4f2da07b9d879ad0120b.png#pic_center) ??个人主页: ??热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ??个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-N8PeTKG6uLu4bJuM {font-family:“trebuchet ms”,…...

C++设计模式_创建型模式_工厂方法模式

目录 C设计模式_创建型模式_工厂方法模式 一、简单工厂模式 1.1 简单工厂模式引入 1.2 简单工厂模式 1.3 简单工厂模式利弊分析 1.4 简单工厂模式的UML图 二、工厂方法模式 2.1 工厂模式和简单工厂模式比较 2.2 工厂模式代码实现 2.3 工厂模式UML 三、抽象工厂模式 3.1 战斗场景…...

matlab批量替换txt文本文件的特定行的内容

1.下图所示&#xff0c;我想要替换第14行。 2.运行代码后&#xff0c;第14行已经更改为需要的内容。 clc,clear; %%----------------------需要更改的地方------------------------------------ % 设置要操作的文本文件路径&#xff0c;替换为你自己的文件路径 path D:\paper_…...

Qt Creator配置MSVC编译环境、调试环境

在windows上开发&#xff0c;一般使用Qt Creator自带mingw编译器&#xff0c;编译和调试都很方便&#xff0c;安装Qt时勾选后&#xff0c;自动配置完毕。 但是有时候我们需要使用MSVC的编译器&#xff0c;这个时候我们没法直接使用&#xff0c;需要配置环境才能使用&#xff0…...

Linux系统运维命令:终止监听在 TCP端口80上的所有进程(使用lsof,grep,awk组合命令, 终止监听在 TCP某个端口上的所有进程)

目 录 一、需求 二、解决方法 1、解决思路 2、命令 三、实例演示和命令解释 1、实例演示 &#xff08;1&#xff09;查看目前有哪些在TCP端口80监听的进程 &#xff08;2&#xff09;、使用命令 &#xff08;3&#xff09;、查看效果 2、命令解…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...

C++ 设计模式 《小明的奶茶加料风波》

&#x1f468;‍&#x1f393; 模式名称&#xff1a;装饰器模式&#xff08;Decorator Pattern&#xff09; &#x1f466; 小明最近上线了校园奶茶配送功能&#xff0c;业务火爆&#xff0c;大家都在加料&#xff1a; 有的同学要加波霸 &#x1f7e4;&#xff0c;有的要加椰果…...

android RelativeLayout布局

<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...