c语言每日一练(11)
前言:
每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情况更新。
五道选择题:
1.执行完下面一段程序后输出的值是()
#include<stdio.h>
int main()
{
int a = 1,b = 3,c = 5,d = 4;
int x = 0;
if (a < b)//1
if (c < d) x = 1;//2
else//3
if (a < c)//4
if (b < d) x = 2;//5
else x = 3;//6
else x = 6;//7
else x = 7;//8
printf("%d", x);
}
A、1 B、2 C、3 D、6
解析:易错题, 观察代码发现在代码1之前所做的操作只是简单地对变量初始化,到了代码1之后则是一大堆的if,else,这个地方其实考察的便是if,else的匹配问题,if,else的匹配在没有外界因素的影响之下秉承着就近原则,也就是if和else的相对距离小的会互相匹配上,根据这个我们可以得出,2和3匹配,5和6匹配,4和7匹配,1和8匹配
明白了匹配关系之后我们顺着代码走就行了,首先a<b成立,走到2,c<d不成立,走到3再走到4,a<c成立,走到5,b<d成立,令x=2,剩下的else就不用走了,因为之前已经匹配过了。故最后打印出来的是2,选B
拓展:当a=4,b=3,c=5,d=4时会打印出来什么(其他不变),
拓展解析:根据if,else的匹配问题,在a<b不成立时,就已经走到了代码8,令x=7,故最后会打印出7
2、以下程序的运行结果是()
#include<stdio.h>
int main()
{int m = 6;if (m++ > 6)printf("%d\n", m);else printf("%d\n", --m);
}
A、4 B、5 C、 7 D、 6
解析:前面有好好做题的小伙伴看到这道题估计是直呼简单。首先定义并初始化m=6,接着走if,后置++,先使用后++,因此6>6不成立,走到else,此时m=7,最后前置--,先--后使用,所以m-1=6,并打印,故最后输出6,选D
3、以下程序运行的结果是()
#include<stdio.h>
int main()
{int k;int a[3][3] = { 1,2,3,4,5,6,7,8,9 };for (k = 0; k < 3; k++) printf("%d ", a[2 - k][k]);
}
A、3 6 9 B、7 5 3 C、9 6 3 D、3 5 7
解析:观察代码发现,主要部分就是一个循环打印。首先定义了一个二维数组,并在里面存放1,2,3,4,5,6,7,8,9接着在循环中打印二维数组中的对应内容。
循环次数少,不需要找规律直接代入,当k=0时,打印a[2][0],当k=1时,打印a[1][1],当k=2时,打印a[0][2]。a[2][0]根据数组的下标就是打印出第三行第一个元素,也就是7,a[1][1]打印出第二行第二个元素,5,a[0][2]打印出第一行第三个元素,3。综上所述,选A
4、有两个字符数组a和b,则以下正确的语句是_________()【多选】
A、printf("%s %s",a,b); B、scanf(“%s %s”,a,b);
C、scanf("%s %s",&a+1,&b+1);D、printf("%s %s",&a,&b);
解析:易错题,考察的是你对于指针,scanf和printf的综合理解。首先我们要明白的一点就是,数组的名字往往代表着它们的首地址,本题没有特殊情况,下一题我给大家讲一种特殊情况。
选项A,以字符串的形式打印a和b,没取地址,但数组名本身此时是地址,故可以,A正确。选项B,使用scanf对a,b字符串修改,此时数组名依然是地址,没毛病,B正确。
选项C,首先对数组名取地址得到的地址确实就是数组的首地址,但是,它的权重是整个数组,什么意思,就是a+1是跳过一个元素,&a+1则是跳过整个数组,C越界,故错误。选项D,对数组名取地址,得到数组首地址并进行打印,没问题,D正确
5、在32位平台下程序运行的结果是()
#include<stdio.h>
int main()
{int a = 0;char b[9] = "abc";int arr[3] = { 0 };printf("%d ", sizeof(&a));//1printf("%d ", sizeof(a));//2printf("%d ", sizeof(&b));//3printf("%d ", sizeof(b));//4printf("%d ", sizeof(&arr));//5printf("%d ", sizeof(arr));//6
}
A、4 4 4 4 4 4 B、4 4 4 9 4 3 C、4 4 4 9 4 12 D、4 4 4 9 4 4
解析:在32位平台下地址的字节数为4,因此一遇到地址就直接判定为4。代码1,地址,打印4。代码2,整型变量的字节大小为4,打印4。代码3,地址,打印4。代码4,数组名,地址,打印4,代码5,地址,打印4,代码6,地址,打印4,所以答案为4 4 4 4 4 4,选A,好像很合理,实则大错特错。在使用sizeof的时候数组名所代表的并不是数组首元素的地址而是整个数组 也就是说,sizeof(数组)计算的是整个数组所占的字节数,所以代码4和代码6应该打印出9和12,故答案为,4,4,4,9,4,12选C
编程题1:
力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

int diagonalSum(int** mat, int matSize, int* matColSize){
int sum=0;
int i=0;
for(i=0;i<matSize;i++)
{sum+=mat[i][matSize-i-1]+mat[i][i];//将对角线上的加起来
}
if(matSize%2!=0)
//为奇数有重复,要减去
{i=matSize/2;sum-=mat[i][i];
}
return sum;
}
编程题2:
力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

提示:注意细节,避免越界,避免忽略特殊情况,其次还需要注意的一点则是已经有花的地方不能再种了
bool canPlaceFlowers(int* flowerbed, int flowerbedSize, int n) {int i = 0;int count = 0;if (n == 0)//特殊情况单独处理return true;if (flowerbedSize == 1)//特殊情况单独处理{if (flowerbed[0] == 0)return true;elsereturn false;}for (i = 0; i < flowerbedSize; i++){if (flowerbed[i] == 1)//有花了就直接跳过{continue;}if (i == 0)//第一个元素和最后一个元素正常处理会越界,单独考虑{if (flowerbed[1] == 0){flowerbed[0] = 1;count++;//种上了计数器+1并修改对应位置的值continue;//种上了就直接返回}elsecontinue;//没种上意味着不能种也返回}if (i == flowerbedSize - 1){if (flowerbed[flowerbedSize - 2] == 0){flowerbed[flowerbedSize - 2] = 1;count++;//种上了计数器+1并修改对应位置的值continue;//种上了就直接返回}elsecontinue;//没种上意味着不能种也返回}if (flowerbed[i - 1] == 0 && flowerbed[i + 1] == 0)//通常情况分析{flowerbed[i] = 1;count++;//种上了计数器+1并修改对应位置的值continue;}}if (n <= count){return true;}elsereturn false;
}
好了,今天的练习到这里就结束了,感谢各位友友的来访,祝各位友友前程似锦O(∩_∩)O
相关文章:
c语言每日一练(11)
前言:每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情…...
SLAM十四讲学习笔记 第二期:部分课后实践代码
持续更新.... 前期准备第二讲实验一:简单输出 第五讲任务一:imageBasics(Ubuntu配置opencv)任务二:双目匹配点云(Ubuntu配置pangolin)检验部分我认为可以加深对CMake的理解 任务三:r…...
Android kotlin 跳转手机热点开关页面和判断热点是否打开
Android kotlin 跳转手机热点开关页面和判断热点是否打开 判断热点是否打开跳转手机热点开关页面顺带介绍一些其他常用的设置页面跳转 其他热点的一些相关知识Local-only hotspot 参考 判断热点是否打开 网上方法比较多,我这边使用了通过WifiManager 拿反射的getWi…...
Redis 执行 RDB 快照期间,主进程可以正常处理命令吗?
执行了 save 命令,会在主进程生成 RDB 文件,由于和执行操作命令在同一个线程,所以如果写入 RDB 文件的时间太长,会阻塞主进程。 执行 bgsave 过程中,由于是交给子进程来构建 RDB 文件,主进程还是可以继续工…...
Python加入Excel--生产力大提高|微软的全方面办公
Python作为一种功能强大的编程语言,已经逐渐成为了数据分析、机器学习、Web开发等领域的主流语言之一。而将Python集成到Excel中,则可以为Excel用户提供更加强大的数据处理和分析能力,同时也可以为Python开发者提供更加便捷的数据处理和可视化…...
Excel 分组排名
分组排名 公式:SUMPRODUCT((A:AA2)*(C:C>C2)) 1 降序:> 改为 < ⚠️注意1:此处空值参与排名;不参与排名则公式改为:IF(C2“”,“”,SUMPRODUCT((A:AA2)*(C:C>C2)) 1) ⚠️注意2:相同值的项…...
Redis初始以及安装
"梦却了无影踪,梦仍不曾改动" 初始Redis (1) Redis是什么? 要认识、学习一个软件,最重要的途径无一是去该软件的官方文档里瞅瞅、转悠转悠。 从官方文档的介绍中得知,Redis是一种工作于内存,…...
react导出、导入文件
导出文件: if (res) {let binaryData [];binaryData.push(res);let blobUrl ;blobUrl res;// let blobUrl window.URL.createObjectURL(new Blob(binaryData, { type: application / zip }));console.log(blobUrl);const eleLink document.createElement(a);el…...
(一)Redis——String
以下是在Ubuntu上安装Redis的步骤: 打开终端并输入以下命令以更新软件包列表:sudo apt update输入以下命令以安装Redis:sudo apt install redis-server SET key value GET key key & value 区分大小写 127.0.0.1:6379> set name no…...
Spring Boot多环境指定yml或者properties
Spring Boot多环境指定yml或者properties 文章目录 Spring Boot多环境指定yml或者properties加载顺序配置指定某个yml 加载顺序 ● application-local.properties ● application.properties ● application-local.yml ● application.yml application.propertes server.port…...
MinDoc:针对IT团队的文档、笔记系统
作为一名IT从业者,无论是在公司团队中,还是在平时自己写一些笔记、博客等文档,我都习惯使用markdown来进行书写。在使用过许多支持markdown语法的系统或软件(如Typora、未知、我来、思源、觅道等)后,我总觉…...
【分享】华为设备登录安全配置案例
微思网络www.xmws.cn,2002年成立,专业IT认证培训21年,面向全国招生! 微 信 号 咨 询: xmws-IT 华为HCIA试听课程:超级实用,华为VRP系统文件详解【视频教学】华为VRP系统文件详解 华为HCIA试听课…...
Starrocks与MySQL函数的区别
Starrocks与MySQL函数的区别 Starrocks是一款分布式OLAP数据库,而MySQL则是一种关系型数据库。由于其不同的架构和用途,它们在支持的函数方面存在一些差异。下面将详细介绍Starrocks和MySQL之间常见函数的区别。 1. 聚合函数(Aggregate Fun…...
【HTML】学习笔记(自用持续更新)
HTML基本框架 只定义信息,通过标签组成整个页面框架,再通过CSS渲染使得前端页面做的好看 <!DOCTYPE HTML> \\html类型 <html><body><h1>这是一个标题</h1><p>这是一段文字</p></body> </html> …...
代码随想录训练营第四十二天|0-1背包理论基础(一)、0-1背包理论基础(二)、416分割等和子集
0-1背包理论基础(一) 文章讲解/视频链接:代码随想录 小节:本节课讲得是0-1背包的二维数组解法,dp[i][j]的含义是从物品0-i中不重复的拿出可以装进容量为j的背包的最大价值的物品,状态转移公式为,dp[i][j] max(dp[i - …...
linux 免交互
Linux 免交互 1、免交互概念2、基本免交互的例子2.1命令行免交互统计2.2使用脚本免交互统计2.3使用免交互命令打印2.4免交互修改密码2.5重定向查看2.6重定向到指定文件2.7重定向直接指定文件2.8使用脚本完成重定向输入2.9免交互脚本完成赋值变量2.10关闭变量替换功能࿰…...
自然语言处理从入门到应用——LangChain:索引(Indexes)-[文档加载器(Document Loaders)]
分类目录:《自然语言处理从入门到应用》总目录 合并语言模型和我们自己的文本数据是区分它们的一种强大方式,这样做的第一步是将数据加载到“文档”中,文档加载器的作用就是使这个过程变得简单。 LangChain提供了三种文档加载器:…...
7.接着跑一下triton官方教程
5.Model Ensemble 在此示例中,我们将探索使用模型集成来仅通过单个网络调用在服务器端执行多个模型。这样做的好处是减少了在客户端和服务器之间复制数据的次数,并消除了网络调用固有的一些延迟。 为了说明创建模型集成的过程,我们将重用第…...
波奇学C++:stl的list模拟实现
list是双向带头链表。所以迭代器end()相当于哨兵卫的头。 list不支持和[]重载,原因在于list空间不是连续的,和[]的代价比较大。 访问第n个节点,只能用for循环,来实现 list<int> l; l.push_back(0); l.push_back(1); l.pu…...
Flask 项目结构
前面我们了解了 Flask 框架的特性和一些用法,比如创建一个简单应用、做些页面,以及增加鉴权模块等,如果要将 Flask 用于实际项目开发,还需要了解一下 Flask 项目结构。 Flask 是一个轻量级的 Web 框架,扩展性强&#…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...
Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...
离线语音识别方案分析
随着人工智能技术的不断发展,语音识别技术也得到了广泛的应用,从智能家居到车载系统,语音识别正在改变我们与设备的交互方式。尤其是离线语音识别,由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力,广…...
rknn toolkit2搭建和推理
安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 ,不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源(最常用) conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...
