c语言经典测试题9

news2024/12/26 0:14:56

1.题1

#include <stdio.h>
int main()
{
int i = 1;
sizeof(i++);
printf("%d\n", i);
return 0;
}

上述代码运行结果是什么呢?

我们来分析一下:其实这题的难点就是sizeof操作后i的结果是否会改变,首先我们创建了一个整型i,我们知道i++为后置++,先试用后加1,我们知道一般表达式的运算是在运行时执行的,而sizeof是一个编译阶段就执行的运算符,在其内的任何运算都不执行,只推测出其中表达式结果的类型求其大小,故前后i的值不变。所以i的值还是为1.

我们运行看看:

2.题2

int main()
{
char c='A';
if('0'<=c<='9') printf("YES");
else printf("NO");
return 0;
}

 上述代码的运行结果是什么呢?

我们来分析一下:上述代码中字符A的ASCLL值为65,if的判断条件为‘0’<=c<='9'大家这个时候可能以为这还不简吗?不就是判断ASCLL值的大小,那运行结果应该为NO,事实是这样吗?

我们运行看看:

这是怎么回事呢?其实这个if的判断条件的运算顺序是不同的,'0'<=c<='9'并非判断x大于等于字符0,小于等于字符9,而是先执行'0'<=c,使用这个表达式的结果再和'9'比较,'0'的ASCII码值是48,'A'的ASCII码值是'65',故'0'<c是真值1,1无疑是小于字符'9'的,最终是真。

3.题3

unsigned short x = 65530;
unsigned int y = x;

假设编译器规定 int 和 short 类型长度分别为32位和16位,若有下列C语言语句,则 y 的机器数为:

A: 0000 7FFA B: 0000 FFFA C: FFFF 7FFA D: FFFF FFFA

我们来分析一下:unsigned short类型的x变量2个字节保存了65530,十六进制形式为0xFFFA,x给y赋值时会整型提升,而无符号数在提升时高位补0,其实就相当于把x的值放在了y的低2个字节的空间中,故选B

4.题4

#include<stdio.h>
int main()
{
int n = 1001;
int ans = 0;
for(int i = 1; i <= n; ++i)
{
ans ^= i % 3;
}
printf("%d",ans);
return 0;
}

上述代码的运行结果是什么呢?

我们来分析一下:i % 3 的值按1、2、0循环,可推算出ans按1、3、3、2、0、0循环,循环进行1001次,而1001%6=5,也就是ans按规律得到的第5个数为最终结果,故ans=0

5.题5

给定一个二进制数组, 计算其中最大连续 1 的个数。示例: 输入:[1,1,0,1,1,1] 输出:3 解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3.

int findMaxConsecutiveOnes(int* nums, int numsSize){
int max_count = 0, cur_size = 0;;
for (int i = 0; i < numsSize; i++) {
if (nums[i] == 1) {
cur_size++;
}else {
max_count = max_count > cur_size ? max_count : cur_size;
cur_size = 0;
}
}
max_count = max_count > cur_size ? max_count : cur_size;
return max_count;

这题的思路较为简单,统计连续1的个数,遇到0时表示连续中断,判断如果当前的统计数大于之前最大的则替换,然后继续下一个位置开始的统计即可。

谢谢

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

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

相关文章

WPF真入门教程31--WPF版房屋租售系统

1、教程回顾 到现在为止&#xff0c;“蒸”入门系列教程已完成了30刺由浅入深地讲解&#xff0c;当然不可能讲到了WPF的所有技能点&#xff0c;但读者看到了wpf的内部各种功能及之间的联系&#xff0c;在此基础上&#xff0c;再提供一个完整有效的综合项目&#xff0c;本项目采…

Blazor系统教程(.net8)

Blazor系统教程 1.认识 Blazor 简单来讲&#xff0c;Blazor旨在使用C#来替代JavaScript的Web应用程序的UI框架。其主要优势有&#xff1a; 使用C#编写代码&#xff0c;这可提高应用开发和维护的效率利用现有的NET库生态系统受益于NET的性能、可靠性和安全性与新式托管平台(如…

企业指标体系建设与管理:运用MECE原则与战略地图,打造完美闭环

在数字化时代&#xff0c;数据已经成为企业的核心资产。为了更好地利用这些数据&#xff0c;企业需要建立一套科学、完整、高效的指标体系。而在这个过程中&#xff0c;MECE原则&#xff08;Mutually Exclusive, Collectively Exhaustive&#xff0c;即“相互独立&#xff0c;完…

JVM 第二部分-2(堆,方法区)

4.堆 堆 一个Java程序&#xff08;main方法&#xff09;对应一个jvm实例&#xff0c;一个jvm实例只有一个堆空间堆是jvm启动的时候就被创建&#xff0c;大小也确定了。大小可以用参数设置。堆是jvm管理的一块最大的内存空间 核心区域&#xff0c;是垃圾回收的重点区域堆可以位…

WSL2安装Ubuntu18.04到指定路径(非C盘)

1 系统设置开启WSL 1.1 在搜索框搜索“启动或关闭Windows功能”或在“控制面板”->“程序”->“启用或关闭 windows 功能” 开启 Windows 虚拟化和 Linux 子系统&#xff08;WSL2)以及Hyper-V 按照提示重启计算机&#xff0c;开启WSL。 2 将WSL2 设置为默认版本 wsl --se…

云原生架构技术揭秘:DevOps 技术打破开发运维壁垒,实现持续交付的变革之道

DevOps 是一套将软件开发&#xff08;Development&#xff0c;Dev&#xff09;和系统运维&#xff08;Operations&#xff0c;Ops&#xff09;相结合的实践&#xff0c;旨在缩短应用系统开发生命周期&#xff0c;提供高质量的持续交付。 —— 维基百科 DevOps 0、讲在前面 生…

【Educoder数据挖掘实训】异常值检测-箱线图

【Educoder数据挖掘实训】异常值检测-箱线图 开挖&#xff01; 关于箱线图&#xff0c;核心理念就是找出上四分位数和下四分位数&#xff0c;定义二者的差为 I Q R IQR IQR。上下四分位数分别向上下扩展 1.5 I Q R 1.5IQR 1.5IQR定义为上界和下界&#xff0c;在此之外的数据被…

前端【技术类】资源学习网站整理(那些年的小网站)

学习网站整理 值得分享的视频博主&#xff1a;学习网站链接 百度首页的资源收藏里的截图&#xff08;排列顺序没有任何意义&#xff0c;随性而已~&#xff09;&#xff0c;可根据我标注的关键词百度搜索到这些网站呀&#xff0c;本篇末尾会一一列出来&#xff0c;供大家学习呀 …

【图说】电脑发展史

免责声明:文中有一些图片来源自网络,如有版权请通知我删除,谢谢! “结绳记事”是计算的开端 如果说“结绳记事”仅是计数,那么“算筹”就是真正的计算工具 算盘也是我们老祖宗的杰出发明,最擅长“加减乘除”,包括但不限于乘方、开方、对数等。还能进行开发智力的“珠心算…

css实现背景渐变叠加

线性渐变效果图: .box{width: 100vw;height: 100vh;background:linear-gradient(to bottom,transparent,#fff 30%),linear-gradient(to right,pink,skyblue);}径像渐变效果图&#xff1a; .box{width: 100vw;height: 100vh;background:linear-gradient(to bottom,transparent,#…

SpringBoot+aop实现主从数据库的读写分离

读写分离的作用是为了缓解写库&#xff0c;也就是主库的压力&#xff0c;但一定要基于数据一致性的原则&#xff0c;就是保证主从库之间的数据一定要一致。如果一个方法涉及到写的逻辑&#xff0c;那么该方法里所有的数据库操作都要走主库。 一、环境部署 数据库&#xff1a;…

【AI+应用】aliyun的EMO图生视频模型引起的思考如何做AI数字人

昨天2 月 29 日消息&#xff0c;2 月 28 日&#xff0c;阿里巴巴集团智能计算研究院日前上线了一款新的 AI 图片 - 音频 - 视频模型技术 EMO&#xff0c;官方称其为 " 一种富有表现力的音频驱动的肖像视频生成框架 "。据悉&#xff0c;用户只需要提供一张照片和一段任…

WSL2更换国内源

1 备份初始源配置 sudo cp /etc/apt/sources.list /etc/apt/sources.list_bak 2 删除并替换/etc/apt/sources.list内容 sudo vim /etc/apt/sources.list 这里更改为阿里云源 Ubuntu 18.04下源参考 阿里云源&#xff1a; ​ deb ubuntu安装包下载_开源镜像站-阿里云 bionic main…

matplotlib——折线图(python)

前言 在学习数据分析前&#xff0c;一定要有python基础&#xff0c;不一定要非常熟练的掌握这门语言&#xff0c;但一定要对python有个大概的了解&#xff08;就像我一样&#xff0c;大一学过python&#xff0c;但是现在忘的差不多了&#xff0c;但是没关系&#xff0c;有个大…

01、MongoDB -- 下载、安装、配置文件等配置 及 副本集配置

目录 MongoDB -- 下载、安装、配置 及 副本集配置启动命令启动 mongodb 的服务器&#xff08;单机和副本集&#xff09;启动单机模式的 mongodb 服务器启动副本集的 3 个副本节点&#xff08;mongodb 服务器&#xff09; 启动 mongodb 的客户端 MongoDB 下载MongoDB 安装1、解压…

Java 封装阿里云 oss 上传图片时抽取配置到 application 使用 @Value 获取值

Java 封装阿里云 oss 上传图片时抽取配置到 application 使用 Value 获取值 application .yml 配置 alioss: # 阿里云配置endpoint: "https://oss-cn-beijing.aliyuncs.com" # Endpoint以华东1&#xff08;杭州&#xff09;为例&#xff0c;其它Region请按实际…

ES系列之Logstash实战入门

概述 作为ELK技术栈一员&#xff0c;Logstash用于将数据采集到ES&#xff0c;通过简单配置就能把各种外部数据采集到索引中进行保存&#xff0c;可提高数据采集的效率。 原理 数据源提供的数据进入Logstash的管道后需要经过3个阶段&#xff1a; input&#xff1a;负责抽取数…

AI新工具(20240301) Ideogram; Image to Music Generator等

1: Ideogram 全新的多模态生图AI工具&#xff0c;以其优秀的文字渲染能力和生图能力受到业界瞩目 Ideogram是一个创新的AI工具&#xff0c;它通过在生成的图片中自然地整合文字&#xff0c;解决了生图AI领域长期存在的一个难题。这个工具特别擅长将文本以极其自然和协调的方式…

gRPC知识归档

文章目录 gRPC知识归档gRPC原理什么是gRPCgRPC的特性gRPC支持语言gRPC使用场景gRPC设计的动机和原则 数据封装和数据传输问题网络传输中的内容封装和数据体积问题JSONProtobuf&#xff08;微服务之间的服务器调用&#xff0c;一般采用二进制序列化&#xff0c;比如protobuf&…

ChatGPT与GEE+ENVI+python高光谱,多光谱等成像遥感数据处理技术

原文链接&#xff1a;ChatGPT与GEEENVIpython高光谱&#xff0c;多光谱等成像遥感技术 第一遥感科学与AI基础 一&#xff1a;遥感科学的基本原理和历史 从摄影侦察到卫星图像 遥感的基本原理 遥感的典型应用 最新进展和未来趋势 二&#xff1a;ChatGPT 什么是ChatGPT&a…