牛客网-《刷C语言百题》第五期

news2025/4/18 16:05:03

✅作者简介:嵌入式入坑者,与大家一起加油,希望文章能够帮助各位!!!!
📃个人主页:@rivencode的个人主页
🔥系列专栏:《C语言入门必刷百题》
💬推荐一款模拟面试、刷题神器,从基础到大厂面试题👉点击跳转开启刷题模式
在这里插入图片描述

目录

  • 一.选择题
  • 二.编程题
    • 1.BC30时间转换
    • 2.BC33统计成绩
    • 3.BC34计算三角形的周长和面积
    • 4.BC36温度转换
  • 三.如何高效刷题

一.选择题

点击跳转至选择题刷题通道

试题1:
在这里插入图片描述

答案:C
解析:这道题主要考察了求结构体与联合体的大小。
首先我们要明白什么是联合体:联合体也是一种自定义数据类型,和结构体类型一样,它也是由各种不同类型的数据组成,这些数据叫作联合体的成员变量。不一样的是成员共用一块空间

联合体的所有成员在内存中具有相同的首地址,共占同一段内存空间,这些成员可以相互覆盖,所以在某一个时刻只能使用一个成员变量,联合体的目的就是为了节省空间。
联合体的大小:至少是最大成员的大小(因为联合至少得有能力保存最大的那个成员)

在这里插入图片描述
所以由上图得知:联合体变量uv大小为16
在这里插入图片描述
知识点扩展:
联合体大小的计算:
1. 联合的大小至少是最大成员的大小。
2. 当最大成员大小不是最大对齐数(是各个成员对齐数中最大的对齐数)的整数倍的时候,就要对齐到最大对齐数的整数倍

例:*
在这里插入图片描述

知识点详情参考:自定义类型-结构体详解

试题2:
在这里插入图片描述

答案:D
解析:
int *p =x,则p 为数组首元素的地址,然后 解引用操作符 * 的优先级比后置++ 操作符优先级高。
在这里插入图片描述

在这里插入图片描述

试题3:
在这里插入图片描述

答案:C
解析:这题就有的讲了,首先题目中定义了两个x 变量,不过一个是全局变量,一个是局部的静态变量,其实不管是全局变量还是局部的静态的变量他们的生命周期都是直到整个程序结束才结束,不过当全局与局部变量命名冲突时则局部变量会优先使用,所以这题中这个全局的x 变量只是一个烟雾弹其实就是用于main 函数中的for循环,因为main函数中并没有局部变量x 。
在这里插入图片描述

在这里插入图片描述

知识点详情参考:static,const,volatile,extern,register关键字深入解析

试题4:
在这里插入图片描述

答案:C
解析: a代表数组名一般情况表示数组首元素的地址。接[]表示基址寻址。加*表示对数组起始位置按照数组元素数据类型寻址取值第一个元素 a[0] 与 *a是等价了,但是a数组名类似于指针常量不能被赋值只能是参与运算。
在这里插入图片描述

试题5:
在这里插入图片描述

答案:C
解析:
A: 函数可以写在mainn函数之前这样还能省去声明,错误
B: 分号作为一句话的结尾,所以可以写多条语句,错误
C: C语言本身并不提供输入输出语句,输入和输出操作是由函数来实现的。在C标准函数库中提供了一些输入输出函数,例如,printf函数和scanf函数。printf和scanf不是C语言的关键字,而只是函数的名字。C提供的函数以库的形式存放在系统中,它们不是C语言文本中的组成部分。
D: 注释句是不参与程序运行的,在程序编译阶段注释就会被删除所以注释只是给我们程序员看的而是计算机,错误

试题6:
在这里插入图片描述

答案:D
解析:
printf函数返回字符数,不包括后面的‘\0’
在这里插入图片描述

试题7:
在这里插入图片描述

答案:C
解析:这题主要考察的是操作符的优先级,两个相邻的操作符先执行哪个?就取决于他们的优先级,在题目中++,–的优先级都比* 高。在这里插入图片描述
在这里插入图片描述

试题8:
在这里插入图片描述

答案:C
解析:这题主要参考了switch case 语句的用法,分支语句后面都没有添加break,进入第一个case后不会跳出,后面的分支都会执行,case 语句后面添加break 就会跳出switch 语句,当然break 语句不是一定要加的是要看你的需求而定。
在这里插入图片描述在这里插入图片描述

试题9:
在这里插入图片描述
答案:C
解析:是不是有很多人选B,这里其实是一个坑,C 语言中用 “%%” 打印输出字符 “%”, 所以 %%d, 输出为 %d 两个普通字符 , 而不是格式控制符 “%d” 的含义 , 所以打印结果为 C
在这里插入图片描述

试题10:
在这里插入图片描述

答案:A
解析:这题还是比较有意思的,前面我们已经说了当全局与局部变量命名冲突的时候优先使用局部变量,但是这里调用swap()函数时并没有传参,所以交换的是全局变量的x,y,但你们想一下如果我们传参了呢会交换成功嘛? 答案还是不会。
看下图解释:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
知识点详情参考:函数栈帧的形成与释放

二.编程题

点击题目即可跳转刷题

1.BC30时间转换

1.题目描述
在这里插入图片描述
2.代码实现

int main() 
{
    int a, h,f,m;
    scanf("%d",&a);
    h= a/3600;//小时
    f= a%3600/60;//分钟 a%3600是除去小时  
    m= a%60;//秒
    printf("%d %d %d",b,c,d);
    return 0;
}

2.BC33统计成绩

1.题目描述
在这里插入图片描述
2.解题思路
同时计算最高分,最低分,及其总分,最后打印的时候总分/n就得出平均分。
3.代码实现

int main()
{
	float a, M = 0, m = 100, s = 0;
	int n = 0;
	scanf("%d", &n);
	for (int i = n; i>0; i--)
	{
		scanf("%f", &a);
		m = (m>a ? a : m);//要注意的一点m(最小值)的初始值要>=最大分值
		M = (M>a ? M : a);
		s += a;
	}
	printf("%.2f %.2f %.2f", M, m, s / n);
	return 0;
}

3.BC34计算三角形的周长和面积

1.题目描述
在这里插入图片描述

2.解题思路
主要考察的是数学,然后C语言中有一个开平方的函数sqrt
在这里插入图片描述
在这里插入图片描述

3.代码实现

#include<stdio.h>
#include<math.h>
int main(){
     float a,b,c;
    scanf("%f %f %f",&a,&b,&c);
    float p;
    p=(a+b+c)/2;              //计算半周长
    float area;
    area=sqrt(p*(p-a)*(p-b)*(p-c));     //计算面积
    printf("circumference=%.2f area=%.2f",p*2,area);
    return 0;
}

4.BC36温度转换

1.题目描述
在这里插入图片描述
2.解题思路
这题的考点在于隐式类型转化中的算术转化:请看下图
在这里插入图片描述
如果我们只根据公式 5/9 两个整数相除必然得到的是整数,而c语言中的取整方式是向零取整,也就是说直接去掉小数部分则 5/9 直接等于0 ,我们要得到小数必须要有一个是小数(double型)则得出的结果才会是小数。
3.代码实现

int main()
{
    double f;
    scanf("%lf",&f);
    printf("%.3f",5.0/9*(f-32));
}

在这里插入图片描述
5.BC39牛牛的水杯
1.题目描述
在这里插入图片描述
2.解题思路
这题的考点在于,水杯的体积是小数,而牛牛要喝的10升水是整数,当10000ml/水杯的体积 一定会是个小数,比如说得出的结果是5.1 杯水,则至少要和6杯水才行,所以我们必须将让结果向正无穷取整。
在这里插入图片描述

3.代码实现

int main() 
{
    int h,r;
    double v;
    scanf("%d %d",&h,&r);
    v=3.14*h*r*r;
    printf("%d\n",(int)ceil(10000/v));//最后以int类型打印必须强制类型转化
    return 0;
}

关于取整方式(向零取整,向负无穷取整,向正无穷取整),以及C语言中取模的方式请参考:C语言操作符详解

三.如何高效刷题

如何刷题:
1.如果你是基础不太好,可以先按照题解,跟着手打代码,重点理解题目思路,将题目所用到的知识点,解题技巧提炼出来(锻炼代码能力,解题思路)。在这里插入图片描述
2.当有一定的代码能力之后,但是看题还是没有思路,可以先看解题思路理解它,然后尝试用代码去实现它。(主要锻炼代码能力,进一步锻炼解题思维)

3.拿到一个题目自己先尝试解题,最好是能将解题思路用画图的方式体现出来,这样更能加深印象,然后用代码实现,实现之后再看看题解,或者别人的解题方法,进行对比,找到最优解题思路
在这里插入图片描述
最后:在解题过程中,碰到问题如下图(题目提交后通不过,报错(代码可能有bug),尽量独立思考,可以先尝试用它的测试用例,一步一步走读代码,看看问题出现在那个地方,如果实在是没有看出来,可以将该函数拷贝到VS中进行调试代码,一定能找出来。(锻炼自己的代码调试能力)

在这里插入图片描述

最后的最后为了前途也为了钱途刷起来:

点击跳转开启刷题模式

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

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

相关文章

计算机毕业设计ssm+vue+elementUI高校志愿者服务招募网站

项目介绍 随着我国教育制度的改革和社会的进步&#xff0c;越来越多的人希望加入志愿者这个行列从而贡献自己的一份爱。加入志愿者不仅能够更好的锻炼自己&#xff0c;也可以帮助那些需要帮助的人&#xff0c;从而让社会变的更加温暖和美好&#xff0c;尤其是对比较发达的地区…

基于matlab创建基于物理统计的雷达模型(附源码)

目录 一、前言 二、、定义场景 三、定义用于检测生成的雷达 四、生成统计雷达检测 五、定义用于 IQ 信号生成和处理的雷达 六、IQ 信号和处理仿真 七、总结 八、程序 一、前言 此示例演示如何以编程方式从统计雷达模型创建基于物理的雷达模型。 雷达是一种感知系统&…

Zookeeper的功能简介

1.ZooKeeper是什么&#xff1f; ZooKeeper是一个分布式的&#xff0c;开放源码的分布式应用程序协调服务&#xff0c;是Google的Chubby一个开源的实现&#xff0c;它是集群的管理者&#xff0c;监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终&#xff…

超神之路 数据结构 2 —— Queue队列实现和循环队列和普通队列的性能比较

接上一篇继续往下挖&#xff0c;在上一篇&#xff0c;我们实现了一个属于自己的动态数组。利用这个动态数组&#xff0c;我们来实现一个基于动态数组&#xff0c;一个属于自己的普通队列Queue。 Queue 是一种它许我们从表的一段进行删除&#xff0c;表的另一端进行插入的线性表…

Docker—苹果Mac安装Docker的两种方式

文章目录Docker简介方式一&#xff1a;官网dmg安装方式二&#xff1a;homebrew安装前置条件brew安装docker关注微信公众号&#xff1a;CodingTechWork&#xff0c;一起学习进步。Docker简介 &emsp docker就是集镜像、容器和仓库三个概念于一身的集装箱&#xff0c;应用于…

GPO:组策略与系统配置

1、所有的服务器不需要按ctrl+alt+del交互式登录; 2、关闭所有机器的睡眠功能 3、所有计算机都不允许登录Microsoft账户; 4、允许IT组进行系统时间修改 5、设定所有职务为managers的用户为本地管理员,除了域控制器 GPO:组策略与系统配置 所有的服务器不需要按ctrl+alt+del;…

基于ELK搭建的本地社工库

简介 ELK原本是一个开源实时日志分析平台。 ELK是三个开源软件的缩写&#xff0c;分别为&#xff1a;Elasticsearch 、 Logstash以及Kibana 。目前又新增了一个Beats&#xff0c;是一个轻量级的日志收集处理工具&#xff0c;Beats占用资源少&#xff0c;适合于在各个服务器上…

Greenplum GPKafka【实践 01】使用GPKafka实现Kafka数据导入Greenplum数据库踩坑问题记录(不断更新ing)

1.说明 Kafka 是分布式消息订阅系统&#xff0c;有非常好的横向扩展性&#xff0c;可实时存储海量数据&#xff0c;是很常用的流数据处理中间件。物联网设备采集的数据很多时候就是通过 Kafka 进行处理的。当 Kafka 数据要入库分布式数据库 Greenplum 时&#xff0c;我们就需要…

二、IAR新建一个工程

之前录制了无线传感网综合项目实战课程&#xff0c;这个课程非常适合应届毕业生和想转行Linux的朋友&#xff0c;用来增加项目经验。 其中一部分内容是关于CC2530zigbee的知识&#xff0c;后面会更新几篇关于cc2530的文章&#xff0c;敬请关注&#xff01; 下面是该系列文章链…

gcc 好玩的 builtin 函数

gcc 好玩的 builtin 函数 前言 在本篇文章当中主要想给大家介绍一些在 gcc 编译器当中给我们提供的一些好玩的内嵌函数 (builtin function)&#x1f923;&#x1f923;&#x1f923; 。 __builtin_frame_address 使用内嵌函数实现 __builtin_frame_address(x) // 其中 x 一…

【GPU】Nvidia CUDA 编程高级教程——利用蒙特卡罗法求解近似值(MPI方法)

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G算力网络技术标准研究。 博客…

无线蓝牙运动耳机推荐,目前实用性不错的运动耳机推荐

对于运动人士来说&#xff0c;运动耳机是日常出门标配&#xff0c;一款实用性好的运动耳机能给我们带来很大的动力&#xff0c;在运动时戴着听音乐&#xff0c;能够释放压力的同时让运动过程变得更加心情愉快。但是运动耳机实在是太多了&#xff0c;琳琅满目&#xff0c;各种各…

c++11特性(3)

1.lambda表达式 a.出现由来&#xff1a; 以sort为例&#xff0c;我们可以传入一个仿函数对自定义类型进行排序。但是&#xff0c;对每一种比较方式我们都要显示传一个仿函数太麻烦。要是乱命名更加要命&#xff0c;那就除了写这段代码的人没人看得懂了&#xff01; b.lambda…

基于象虫损害优化算法的投资组合问题(Matlab代码实现)

&#x1f4dd;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;…

我的写作心得

前言 首先&#xff0c;博主是一个在校高中生&#xff0c;平常可以说几乎没有时间来创作文章&#xff0c;所以说断更也是很正常的 时隔半年&#xff0c;我也在csdn累计了400多个粉丝&#xff08;截止我创作这篇文章的时候&#xff09;&#xff0c;从之前的一无所有&#xff0c…

PCL交互选择ROI区域

PCL的配置和如何配准点云可见博主之前的博客 win10环境下PCL安装和配置回顾&#xff08;一&#xff09;_竹叶青lvye的博客-CSDN博客_pcl win10 win10环境下PCL安装和配置回顾&#xff08;二&#xff09;_竹叶青lvye的博客-CSDN博客_win10 安装pcl PCL - 3D点云配准(registra…

状态保持-JWT

“ Web的状态保持技术 -JWT&#xff08;Json Web Token&#xff09;” 在分布式微服务技术流行的今天&#xff0c;大型网站对JWT的使用愈加频繁&#xff0c;相比较于传统的session cookie。 HTTP 是一个无状态的协议&#xff0c;何为无状态呢&#xff1f;就是说这本次请求和上次…

【毕业设计】67-基于单片机的三相电压型SPWM逆变器控制设计及应用(仿真、原理图、源代码、低重复参考文档、答辩PPT、英文文献)

【毕业设计】67-基于单片机的三相电压型SPWM逆变器控制设计及应用&#xff08;仿真、原理图、源代码、低重复参考文档、答辩PPT、英文文献&#xff09; 文章目录【毕业设计】67-基于单片机的三相电压型SPWM逆变器控制设计及应用&#xff08;仿真、原理图、源代码、低重复参考文…

网站文章采集器-万能文章采集器

随着时代的发展。互联网无时不刻地出现在我们的生活中&#xff0c;大家也越来越注重效率&#xff0c;今天小编就给大家来分享一款网站文章采集器。只需要点几下鼠标就能轻松获取数据&#xff0c;不管是导出本地还是发布到网上。网站人员可以实现自动采集&#xff0c;定时发布&a…

[计算机毕业设计]食品安全数据的关联分析模型的应用

前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着准备考研,考公,考教资或者实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过…