【基础强训】day3

news2024/11/19 3:18:44

一、选择题


💦第1题:

以下程序的输出结果是()
#include <stdio.h>
main() {
char a[10] = {'1', '2', '3', '4', '5', '6', '7', '8', '9', 0}, *p;
int i;
i = 8;
p = a + i;
printf("%s\n", p - 3);
}
A 6
B 6789
C '6'
D 789

B

先定义一个长度为10的字符数组a[]和一个字符指针*p

p=a+8代表指针p向后偏移8个字节此时指针p指向'9', p-3后此时指针p指向6

%s打印时遇到\0结束,所以会打印 6 ,7,8,9


💦第2题  :

以下程序的输出结果是()
#include <iostream.h>
int main()
{
    int x=3,y=3;
    switch(x%2)
   {
      case 1:
        switch (y)
         {
            case 0:cout<<"first";
            case 1:cout<<"second";break;
            default:cout<<"hello";
          }
        case 2:cout<<"third";
    }
}

A second third
B hello
C first second
D hellothird

D

x%2==1,所以会进入case1中,然后又是switch(y=3),所以会进入default打印hello.

但是这个switch(y)分支结束没有break,他会继续执行语句case2,所以再打印third.

所以会打印hellotyhird


💦第3题   :

以下能对二维数组a进行正确初始化的语句是()
A int ta[2][]={{0,1,2},{3,4,5}};
B int ta[][3]={{0,1,2},{3,4,5}};
C int ta[2][4]={{0,1,2},{3,4},{5}};
D int ta[][3]={{0,,2},{},{3,4,5}};

对于二维数组来说ta[][]第一个括号中的数表示行数,第二个[]表示列数。行数可以省略,列数不可以省略。在对数组中的数进行初始化时必须连续初始化,中间不能有间隔。


 💦第4题   :

能把函数处理结果的二个数据返回给主调函数,在下面的方法中不正确的是()
A return这二个数
B 形参用数组
C 形参用二个指针
D 用二个全局变量

 A

A选项: return每次只能一个数据类型,只能放在一个数组或者容器里面返回出来,所以A错误

B选项 形参在使用数组的时候会传递数组的地址,然后将函数处理的结果放在数组当中,当函数调用完以后可以访问数组获取处理结果,B正确

C选项 形参用两个指针,然后两个指针在调用的时候需要传递两个地址变量,将对应的处理的结果放在对应的地址空间,然后可以根据指针访问处理结果,C正确

D选项 全局变量的作用域在整个文件中都是有效的,所以在处理完以后主调函数可以在全局域中访问到处理结果,所以D正确
 


 💦第5题   :

int *p[4] 与选择项中的() 等价
A int p[4]
B int *p
C int *(p[4])
D int (*p)[4]

A

 这题最重要的就是*和[]谁的优先级高,[]的优先级高,所以更规范的写法是int* (p[4])

C选项:这是一个指针数组,数组中存放的是int*类型的数据,数组的大小是4,正确。

D选项:是一个数组指针,指向包含4个元素的数组p[]的指针。


 💦第6题   :

设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是
A n=0;while(ch=getchar()!='\n')n++;
B n=0;while(getchar()!='\n')n++;
C for(n=0;getchar()!='\n';n++);
D n=0;for(ch=getchar();ch!='\n';n++);

 D

 键输一串字符abcdaidnacadc\n,统计一共输入多少字符。

A选项:输入的字符被ch接收然后和\n比较,不是n++,所以A正确。

B选项:这个就是青春版的A,B选项也可以。

C选项:如果A是P40的话,C就是mate40,两者型号不同,但是都可以。

D选项:初始化部分只会执行一次,所以此次循环只会获取一个字符,所以D错误。


💦第7题   :

以下代码
char *ptr;
char myString[] = "abcdefg";
ptr = myString;
ptr += 5;
代码执行之后ptr指向的内容是?
A Compiler error       B fg
C efg                  D defg

先解读一下代码,定义一个字符指针ptr,指针指向数组myString首元素a ,ptr+5代表ptr偏移5个字节指向f,所以是fg


💦第8题   :

下面3段程序代码的效果一样吗()
 int b;
(1)const int *a = &b;
(2)int const *a = &b;
(3)int *const a = &b;
A (2)=(3)      B (1)=(3)
C (1)=(2)      D 都不一样

 C

 const* :常量指针,指针所指空间的值不能发生改变,不能通过指针解引用修改指针所指空间的值,但是指针的指向可以发生改变。

*const:指针常量,指针本身是一个常量,指针的指向不能发生改变,但是指针所指空间的值可以发生改变,可以通过指针解引用改变指针所指空间的值。

所以(1)(2)是常量指针,(3)是指针常量。选项C正确。


💦第9题   :

32位系统中,定义**a[3][4],则变量占用内存空间为()。
A 4
B 48
C 192
D 12

这个我们可以理解为是一个三行四列的数组,数组中存放的是指针类型。

1个指针类型是4个字节,3*4*4=48 。


💦第10题   : 

假设在一个 32 位 little endian 的机器上运行下面的程序,结果是多少?
#include <stdio.h>
int main(){
long long a = 1, b = 2, c = 3;
printf("%d %d %d\n", a, b, c);
return 0;
}
A 1,2,3
B 1,0,2
C 1,3,2
D 3,2,1

B

此题是在32位小端的机器上运行。 所以我们要先了解小端是啥意思。

大端:低位存高地址

小端:高位存低地址,一般来说左边低右边高。

longlong类型占8个字节,用小端存储

a:01 00 00 00 00 00 00 00
b:02 00 00 00 00 00 00 00
c:03 00 00 00 00 00 00 00

 printf在打印的时候会创建函数栈帧,是从高地址向低地址增长的,从高地址开辟空间往低地址延伸,并且函数在调用的时候是从右往左入栈的,依次是c b a,三个变量入栈以后再进行打印,%d每次获取四个字节,栈是后进先出的,所以先打印a


 二、编程题

🌈第一题:字符串中找出连续最长的数字串  

思路详解:

这个的大致思路是用判断字符是不是数字函数进行判定,如果是就++计数器count,同时将数字拼接到字符串Num上面,当循环到非数字字符上面时,更新最大数字长度计数器Max,一直保持Max记录的是最长数字字符串的长度,然后count在重新从0开始计数,知道一直循环到字符串遍历结束为止。

#include <iostream>
#include <string>
using namespace std;

string My_LongNum(const string& str)
{
   
    int Max = 0;     //记录最大数字串长度
    int i = 0;
    string tmp;

    while (i<str.size())
    {
         int count = 0;  // 记录当前数字串长度
        string Num;  //用来拼接数字串
        while (isdigit(str[i]))
        {
            count++;
            Num += str[i];
            i++;
        }
        if (Max < count)
        {
            Max = count;
            tmp = Num;
        }
        i++;
    }
    return tmp;
}
int main()
{
    string str;
    getline(cin, str);
    cout << My_LongNum(str) << endl;
    return 0;


}



🌈第二题:数组中出现次数超过一半的数字

 

 

 思路详解:

其实这题的思路挺简单的,先整体进行排序,假设存在一个超过整体一半的数,我们把这个数命名为众数,那最中间的数一定是众数,所以我们取数组最中间的那个数,如果我们拿这个众数去一个一个抵消非众数,那最后剩下的一定是众数(因为众数超过一半)。所以我们就看消完后的那个数是不是中位数即可。

class Solution {
public:
    int MoreThanHalfNum_Solution(vector<int> numbers) {
       if(numbers.empty())
        return 0;
        sort(numbers.begin(), numbers.end());  //先整体进行排序
        int midNum=numbers[numbers.size()/2];  //取排序好后的中位数为众数
        int count=0;
        for(int i=0;i<numbers.size();i++)
        {
            if(midNum==numbers[i])
            {
                 count++;
            }
           
        }
        if(count>numbers.size()/2)
        {
            return midNum;
        }
        else
             return 0;
    }
    
};

 

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

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

相关文章

阳了之后,python实用工具之:疫情信息快速查看

嗨害大家好鸭&#xff01;我是小熊猫&#xff01;&#xff08;阳了个阳版&#xff09; &#xff08;先给大家消消毒&#xff09; 不好意思&#xff0c;很久没给大家更新了… 主要是小熊猫我不小心阳了… 大家要多注意自己的身体健康 多喝点热水 这个真的是个好东西 在家里稍…

深度学习—00入门 神经网络 pytorch

1、深度学习简介 深度学习是机器学习的一个分支&#xff0c;简单来说就是通过人工神经网络&#xff0c;强行在业务的 输入 和 输出 之间&#xff0c;暴力耦合一个出一个数学模型。 1.1 深度学习特点 1、由于是暴力耦合出来的模型&#xff0c;自然模型可解释性很差&#xff0c…

STM32 cubeMX配置OLED

文章目录前言一、OLED的接线二、cubeMX的配置三、OLED的驱动代码四、OLED的使用总结前言 本篇文章主要介绍OLED的操作和使用。 一、OLED的接线 OLED一共有四根线这里我使用的是IIC的OLED显示屏。 VCC----3.3V或者5V GND-----GND SDA-----PB7 SCL-----PB6 二、cubeMX的配置 …

TFT-LCD屏幕触摸校准

TFT-LCD屏幕触摸校准 触摸屏幕分类 1.电阻屏 电阻屏的主要部分是一块与显示器表面配合非常好的电阻薄膜屏&#xff0c;这是一种多层的复合薄膜&#xff0c;由一层玻璃或有机玻璃作为基层&#xff0c;表面涂有一层秀明的导电层&#xff0c;上面再盖有一层外表硬化处理、光滑防…

通达信量化接口需要被程序化执行吗?

其实通达信量化接口其实是量化交易模型的需要被执行的一种方式&#xff0c;但如果你交易者的策略模型采用比较中低频的交易执行方式&#xff0c;比如每天只交易一次&#xff0c;甚至每周或每月才轮动一次。那么小编认为通达信量化接口建议是否程序化执行也是一个非常重要的指标…

UI自动化测试-selenium元素定位

在使用Selenium和WebDriver进行UI自动化测试时&#xff0c;我们首先需要对元素定位&#xff0c;那么如何来定位元素呢&#xff1f; HTML 在进行元素定位之前&#xff0c;我们要对html代码有所了解。 <div classs_form><div classs_form_wrapper><div idlg>…

菜鸟程序员,被无良HR欺骗,因祸得福,竟“意外”拿下美团offer

前因后果 先讲述一下自己这次被无良HR欺骗坑惨的经历吧&#xff0c;面试的是一家上海某电商公司&#xff0c;给的薪资是不错。面试的时候&#xff0c;找我要了工资流水&#xff0c;然后给了我口头offer&#xff0c;就让我回去等了邮件了。回去之后就觉得offer没啥问题&#xff…

tomcat工作任务训练

文章目录1.安装jdk1.8 tomcat9.0 发布java项目部署java环境部署tomcat启动tomcat&#xff0c;测试访问上传项目安装数据库&#xff0c;建库建户web页面配置jpress测试写文章&#xff0c;上传附件2.tomcat多实例安装 比如 8080 8081 8082 发布3个论坛项目 war包也给你了tomcat多…

(memcpy memmove memcmp memset)内存操作函数详解

目录 &#x1f355;注意&#xff1a;内存操作函数隶属于头文件&#xff0c;因此在使用任何内存操作函数之前都必须引用 &#x1f95e;memcpy函数 &#x1f35e;memcpy函数的初步认识及使用 &#x1f373;样例示范&#xff1a; &#x1f9c8;代码呈现&#xff1a; &#x1f9c…

浏览器原理二三事

目录 1. 如何理解 JavaScript 是单线程的 2. 进程与线程 2.1 在浏览器中&#xff0c;如何理解进程和线程的关系&#xff1f; 2.2 浏览器的五种进程 2.2.1 浏览器主进程&#xff08;Browser 进程&#xff09; 2.2.2 浏览器渲染进程&#xff08;Renderer 进程&#xff09; …

论文投稿指南——中文核心期刊推荐(航空、航天2)

【前言】 &#x1f680; 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊 &#x1f384; 在期刊论文的分布中&#xff0c;存在一种普遍现象&#xff1a;即对于某一特定的学科或专业来说&#xff0c;少数期刊所含…

Linux——【磁盘管理和LVM卷组管理】

前言&#xff1a; Linux 磁盘管理好坏直接关系到整个系统的性能问题&#xff0c;目前市场上的磁盘分类有&#xff1a;IDE磁盘&#xff08;多用于PC机&#xff09;、SATA磁盘、SAS磁盘、SSD磁盘等这么几种分类&#xff0c;企业中服务器大多为后面的两种&#xff0c;SATA磁盘多用…

二叉树11:完全二叉树的节点个数

主要是我自己刷题的一些记录过程。如果有错可以指出哦&#xff0c;大家一起进步。 转载代码随想录 原文链接&#xff1a; 代码随想录 leetcode链接&#xff1a;222. 完全二叉树的节点个数 题目&#xff1a; 给你一棵 完全二叉树 的根节点 root &#xff0c;求出该树的节点个数…

24行代码简单实现qq空间自动点赞

什么是Auto.js&#xff1f; Auto.js是基于JavaScript语言运行在Android平台上的工具。它依赖于无障碍服务。 它可以做什么&#xff1f; 解放双手&#xff0c;让手机自动打游戏、自动签到、自动领红包等等等等 它有什么优点&#xff1f; 不需要root权限&#xff08;Android…

Python pandas有几千个库函数,你用过几个?(3)

上一篇链接&#xff1a; Python pandas有好几百个库函数&#xff0c;你都用过吗&#xff08;2&#xff09;_Hann Yang的博客-CSDN博客 R(read_)&#xff1a; Function26~45 Types[Function][25:45] [read_clipboard, read_csv, read_excel, read_feather, read_fwf, read_gb…

目标检测算法——mmdetection下面的deformable-detr运行

1、环境 包版本mmcv-full1.4.2mmdet2.19.1torch1.10.0cu113torchvision0.11.1cu1132、文档 mmet官方文档 mmcv官方文档 源码下载 3、数据集 自定义数据集 4、修改代码 4.1、生成文件 打开mmdetection-master/tools下面执行train.py文件 其中配置文件--config在 mmdetec…

STM32中断使用NVIC

抢占优先级和响应优先级 值越小优先级越高&#xff0c;抢占优先级高就可以的打断抢占优先级低的&#xff1b;但同一个抢占优先级&#xff0c;高响应优先级并不能打断低响应优先级&#xff1b;当然中断同时发生的响应优先级高的先执行。简单理解为&#xff1a;抢占优先级能控制…

RV1126笔记十七:吸烟行为检测及部署<五>

若该文为原创文章,转载请注明原文出处。 ubuntu16.04上搭建转化成RKNN环境并把onnx转成RKNN模型(ubuntu16.04) onnx模型转rknn模型需要用到py3.8,所以搭建环境在转换,下面全部操作都是虚拟机下进行。 注意:转模型用py3.6, 训练用py3.8 一、miniconda安装 1、下载地址…

论文投稿指南——中文核心期刊推荐(自然科学总论)

【前言】 &#x1f680; 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊 &#x1f384; 在期刊论文的分布中&#xff0c;存在一种普遍现象&#xff1a;即对于某一特定的学科或专业来说&#xff0c;少数期刊所含…

基于python的AD-census立体匹配算法实现

文章目录前言一、AD-census是什么&#xff1f;1.代价计算2.代价聚合3.视差优化4.视差后处理二、基于python的AD-census立体匹配算法实现前言 AD-Census算法来自于中国学者Xing Mei等在ICCV2011发表的论文《On Building an Accurate Stereo Matching System on Graphics Hardwar…