C语言暑假刷题冲刺篇——day6

目录

一、选择题

二、编程题


 

  • 🎈个人主页:库库的里昂
  • 🎐CSDN新晋作者
  • 🎉欢迎 👍点赞✍评论⭐收藏
  • ✨收录专栏:C语言每日一练
  • ✨相关专栏:代码小游戏、C语言初阶、C语言进阶
  • 🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗

【前言】

在大家学完初阶C语言后,有很多知识点是比较模糊的,我们应该多刷题,这样才能巩固我们所学知识。所以我开了一个新专栏C语言每日一刷,每一篇都包含5道选择题,2道编程题,每一道题后面都会有详细的解析。这个系列每日一更,大家来看看吧! 

一、选择题

1.以下叙述中正确的是( )

A: 只能在循环体内和switch语句体内使用break语句
B: 当break出现在循环体中的switch语句体内时,其作用是跳出该switch语句体,并中止循环体的执行
C: continue语句的作用是:在执行完本次循环体中剩余语句后,中止循环
D: 在while语句和do-while语句中无法使用continue语句

【答案】A

【解析】

对于break语句:

  1. break语句通常用在循环语句和switch语句中,当break用于switch语句中时,可使程序跳出switch而执行switch以后的语句
  2. 当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,即满足条件时便跳出循环

对于continue语句:

  • continue语句的作用是跳过循环体中剩余的语句而强行执行下一次循环

2.下列for循环的次数为( )

for(int i = 0 ; i || i++ < 5;)

A: 0    B: 5    C: 1    D: 无限

【答案】D

显而易见:这是逻辑或运算

逻辑或运算最重要的一个知识点:前表达式为真,后表达式不计算

对于第一次循环时i为0时,即i为假,进而执行i++表达式,此时i=1(为真),进入循环体中,执行一次循环

第二次循环时i为1(非0),是个真值,不再执行i++,也就死循环了

3.

以下描述中正确的是( )

A: 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B: do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C: 在do-while循环体中,不一定要有能使while后面表达式的值变为零("假")的操作
D: do-while循环中,根据情况可以省略while

【答案】C

【解析】

do-while循环的语法:(循环至少执行一次)

do
{循环语句;
}while(表达式);

do-while循环中的循环体通常都是复合语句代码块,A错误,while(表达式)后面要写分号,B错误,while不能省,D错误

4.设函数 fun 和实参数组的说明是如下形式,则对函数的调用语句中,正确的是( )

void fun(char ch,float x[]);
float a[10];

 A: fun("asd" , a[]);    B: fun('x' , A);

C: fun('68' , 2.8);     D: fun(32 , a); 

【答案】D

【解析】

分析此函数:

函数的第一个参数为:字符类型

函数的第二个参数为:float x[ ]来接收参数,可以转换为float *(x),所以这里需要我们传浮点型数组或者float *指针(地址)即可

A选项数组传参只需要写数组名就行,a[]时错误的

B选项第二个参数写成了大写,错了。

C选项第二个参数是浮点数,但是fun函数的第二参数是数组不匹配,fun函数参数x需要传一个数组或者float *指针只有D选项的形式是正确的。

5.在c语言中,一个函数不写返回值类型,默认的返回类型是 ( )

A、int     B、char   C、void    D、都不是

【答案】A

【解析】

一个函数不写返回值类型,默认的返回类型是int,但不提倡这么做,故选A。

二、编程题

1.OJ链接 【leetcode 题号:747. 至少是其他数字两倍的最大数】【难度:简单】

给你一个整数数组 nums ,其中总是存在 唯一的 一个最大整数 。请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 。如果是,则返回 最大元素的下标 ,否则返回 -1 。

示例:
输入:nums = [3,6,1,0]
输出:1
解释:6 是最大的整数,对于数组中的其他整数,6 大于数组中其他元素的两倍。6 的下标是 1 ,所以返回 1 。
输入:nums = [1,2,3,4]
输出:-1
解释:4 没有超过 3 的两倍大,所以返回 -1 。
输入:nums = [1]
输出:0
解释:因为不存在其他数字,所以认为现有数字 1 至少是其他数字的两倍。

提示:

1 <= nums.length <= 50

0 <= nums[i] <= 100

nums 中的最大元素是唯一的

思路与算法:

遍历数组分别找到数组的最大值 m1和次大值m2。如果m1≥m2×2 成立,则最大值至少是数组其余数字的两倍,此时返回最大值的下标,否则返回 -1。为了返回最大值的下标,我们需要在计算最大值的同时记录最大值的下标。

int dominantIndex(int* nums, int numsSize)
{if (numsSize == 1) return 0;int max = 0, secmax = 0, maxindex = 0;int i;for (i = 0; i < numsSize; i++){if (nums[i] > max){secmax = max;maxindex = i;max = nums[i];}else if (nums[i] > secmax){secmax = nums[i];}}if (max < 2 * secmax)return -1;return maxindex;
}

2.OJ链接【 leetcode 题号:349. 两个数组的交集】【难度:简单】

给定两个数组,编写一个函数来计算它们的交集。

示例:
输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]
输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]
输出:[9,4]

思路:

暴力破解即可,将 nums1 数组中的每一个数字,判断是否存在于 nums2 数组中,通过这种方式找出交集数据,找出之后判断这个数组是否已经在返回数组中存在,不存在则添加到返回数组中即可。

int* intersection(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize)
{static int arr[1000];*returnSize = 0;int i, j;for (i = 0; i < nums1Size; i++) {for (j = 0; j < nums2Size; j++) {if (nums2[j] == nums1[i]) //判断nums1[i] 是否在nums2数组中break;} if (j == nums2Size) // nums1中i位置的数据在nums2数组中不存在,则非交集数据{continue; }//只有在另一个数组中存在的数据才能走下来,判断是否已经被添加到返回数组中for (j = 0; j < *returnSize; j++) {if (nums1[i] == arr[j]) //判断nums1[i] 是否在 arr 这个返回数组中break;}if (j == *returnSize) //不在返回数组中,则添加到返回数组中{arr[*returnSize] = nums1[i];*returnSize += 1;}}return arr;
}

好了,今天的每日一刷就到这里结束了,感谢大家的观看!

 

 

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

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

相关文章

Kotlin inline、noinline、crossinline 深入解析

主要内容&#xff1a; inline 高价函数的原理分析Non-local returns noinlinecrossinline inline 如果有C语言基础的&#xff0c;inline 修饰一个函数表示该函数是一个内联函数。编译时&#xff0c;编译器会将内联函数的函数体拷贝到调用的地方。我们先看下在一个普通的 kot…

shell脚本学习-1

文章目录 一、定义变量二、使用变量三、将命令的结果赋值给变量四、变量操作 在 Bash shell 中&#xff0c;每一个变量的值都是字符串&#xff0c;无论你给变量赋值时有没有使用引号&#xff0c;值都会以字符串的形式存储。 这意味着&#xff0c;Bash shell 在默认情况下不会区…

mac idea启动没反应 无法启动

遇到的问题如下&#xff1a; 启动idea&#xff0c;没反应 无法启动&#xff0c;不论破解还是别的原因&#xff0c;总之无法启动了 应用程序–找到idea–右击显示包内容–Contents–MacOS–打开idea 弹出框提示如下&#xff1a; 双击这个idea可执行文件 1&#xff09;先查看日志…

Mac安装brew、mysql、redis

mac安装brew mac安装brewmac安装mysql并配置开机启动mac安装redis并配置开机启动 mac安装brew 第一步&#xff1a;执行. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"第二步&#xff1a;输入开机密码 第三…

ElementUI浅尝辄止14:Carousel 走马灯

在有限空间内&#xff0c;循环播放同一类型的图片、文字等内容 1.如何使用&#xff1f; 结合使用el-carousel和el-carousel-item标签就得到了一个走马灯。幻灯片的内容是任意的&#xff0c;需要放在el-carousel-item标签中。默认情况下&#xff0c;在鼠标 hover 时底部的指示器…

正规黄金代理的三大要素

对于现货黄金投资来说&#xff0c;寻找一个正规的黄金代理是十分重要的问题。在目前的现货黄金投资市场中&#xff0c;现货黄金代理的数量很多&#xff0c;他们都致力于耕耘现货黄金投资市场。当越来越多的专业人士加入到现货黄金投资的市场中当中时&#xff0c;这个市场将会越…

mybatis源码学习-2-项目结构

写在前面,这里会有很多借鉴的内容,有以下三个原因 本博客只是作为本人学习记录并用以分享,并不是专业的技术型博客笔者是位刚刚开始尝试阅读源码的人,对源码的阅读流程乃至整体架构并不熟悉,观看他人博客可以帮助我快速入门如果只是笔者自己观看,难免会有很多弄不懂乃至理解错误…

ZMTP协议

ZoreMQ Transport Protocol是一个传输层协议&#xff0c;用于ZMQ的连接的信息交互&#xff0c;本文档描述的是3.0协议&#xff0c;主要分析基于NULL Security Mechanism 协议语法 ZMTP由三部分组成&#xff0c;分别是 greeting、handshake、traffic 部分描述构成greeting描述…

从零开始,探索C语言中的字符串

字符串 1. 前言2. 预备知识2.1 字符2.2 字符数组 3. 什么是字符串4. \04.1 \0是什么4.2 \0的作用4.2.1 打印字符串4.2.2 求字符串长度 1. 前言 大家好&#xff0c;我是努力学习游泳的鱼。你已经学会了如何使用变量和常量&#xff0c;也知道了字符的概念。但是你可能还不了解由…

BuhoCleaner for mac:让你的Mac重获新生

你是否曾经因为电脑运行缓慢而感到困扰&#xff1f;是否曾经因为大量的垃圾文件和无效的临时文件而感到头疼&#xff1f;如果你有这样的烦恼&#xff0c;那么BuhoCleaner for mac就是你的救星&#xff01; BuhoCleaner for mac是一款专门为Mac用户设计的系统清理工具&#xff…

Linux中Tomcat发布war包后无法正常访问非静态资源

事故现象 在CentOS8中安装完WEB环境&#xff0c;首次部署WEB项目DEMO案例&#xff0c;发现可以静态的网页内容&#xff0c; 但是无法向后台发送异步请求&#xff0c;全部出现404问题&#xff0c;导致数据库数据无法渲染到界面上。 原因分析 CentOS请求中提示用来获取资源的连…

跨模态可信感知

文章目录 跨模态可信感知综述摘要引言跨协议通信模式PCP网络架构 跨模态可信感知跨模态可信感知的概念跨模态可信感知的热点研究场景目前存在的挑战可能改进的方案 参考文献 跨模态可信感知综述 摘要 随着人工智能相关理论和技术的崛起&#xff0c;通信和感知领域的研究引入了…

URL重定向漏洞

URL重定向漏洞 1. URL重定向1.1. 漏洞位置 2. URL重定向基础演示2.1. 查找漏洞2.1.1. 测试漏洞2.1.2. 加载完情况2.1.3. 验证漏洞2.1.4. 成功验证 2.2. 代码修改2.2.1. 用户端代码修改2.2.2. 攻击端代码修改 2.3. 利用思路2.3.1. 用户端2.3.1.1. 验证跳转 2.3.2. 攻击端2.3.2.1…

睿趣科技:开抖音小店挣钱吗到底

在当今数字化时代&#xff0c;社交媒体平台成为了创业者们寻找商机和赚钱的新途径。而抖音作为一款风靡全球的短视频分享平台&#xff0c;自然也成为了许多人开设小店、进行创业的选择之一。那么&#xff0c;开抖音小店能否真正实现盈利&#xff0c;成为了一个备受关注的话题。…

如何去阅读开源的第三方库的源码

2023年9月2日&#xff0c;周六晚上 今天探索了一天如何去阅读第三方库的源码&#xff0c;终有所获。 再结合以前看cereal项目的源码的经验&#xff0c;于是就有了这篇博客。 我个人认为&#xff1a; 在阅读一个开源的第三方库之前&#xff0c;要先学会这个第三方库的一些简单…

记录我的tensorrt 部署yolov8

系统 &#xff1a;ubuntu 18.04 代码 &#xff1a;GitHub - noahmr/yolov5-tensorrt: Real-time object detection with YOLOv5 and TensorRT conda 环境 &#xff1a; GitHub - noahmr/yolov5-tensorrt: Real-time object detection with YOLOv5 and TensorRT cuda : 11.8 …

【UE5】用法简介-使用MAWI高精度树林资产的地形材质与添加风雪效果

首先我们新建一个basic工程 然后点击floor按del键&#xff0c;把floor给删除。 只留下空白场景 点击“地形” 在这个范例里&#xff0c;我只创建一个500X500大小的地形&#xff0c;只为了告诉大家用法&#xff0c;点击创建 创建好之后有一大片空白的地形出现 让我们点左上角…

uniapp实现移动端的视频图片轮播组件

1、视频轮播组件app体验地址 https://tt.appc02.com/nesxr6 2、支持小程序、H5、APP&#xff0c;在小程序上运行的效果图 3、使用方法 第一步&#xff0c;按照截图步骤配置好 第二步&#xff1a;参考以下代码&#xff0c;使用视频图片轮播组件 <template><view>…

【博客702】shell flock实现单例模式执行任务

shell flock实现单例模式执行任务 场景 我们需要定时执行一个任务&#xff0c;并且保证每次执行时都需要上一次已经执行完了&#xff0c;即保证同一时间只有一个在运行 示例 假设需要执行的脚本是&#xff1a;ping_and_mtr.sh 创建一个新的脚本来运行你的逻辑脚本&#xff1…

JavaScript -【第一周】

文章来源于网上收集和自己原创&#xff0c;若侵害到您的权利&#xff0c;请您及时联系并删除~~~ JavaScript 介绍 变量、常量、数据类型、运算符等基础概念 能够实现数据类型的转换&#xff0c;结合四则运算体会如何编程。 体会现实世界中的事物与计算机的关系理解什么是数据并…