C语言暑假刷题冲刺篇——day3
目录
一、选择题
二、编程题
- 🎈个人主页:库库的里昂
- 🎐CSDN新晋作者
- 🎉欢迎 👍点赞✍评论⭐收藏
- ✨收录专栏:C语言每日一练
- ✨其他专栏:代码小游戏C语言初阶
- 🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗
【前言】
在大家学完初阶C语言后,有很多知识点是比较模糊的,我们应该多刷题,这样才能巩固我们所学知识。所以我开了一个新专栏C语言每日一刷,每一篇都包含5道选择题,2道编程题,每一道题后面都会有详细的解析。这个系列每日一更,大家来看看吧!
一、选择题
1、已知函数的原型是: int fun(char b[10], int *a);,设定义: char c[10];int d; ,正确的调用语句是( )
A: fun(c,&d); B: fun(c,d); C: fun(&c,&d); D: fun(&c,d);
【答案】A
【解析】
- 函数的原型是: int fun(char b[10], int&a);
- 变量c,d的定义是: char c[1];int d;
D函数第一个形参 char b[10],需要传入的是数组的首地址。数组char c[10] 的数组名 c 是数组的首元素地址,可以传入 C。
@函数第二个形参int &a为引用类型作为形参,d 是 整型变量,可以直接传入,因此传给 fun 函数的实参是 d。最终,fun 函数调用的形式是 f(c,d)。因此选A。
补充:
如果函数原型为int fun(char b[10],int*a
即此时第二个形参为指针类型,则需传入变量d的地址,此处就应该选B
2、请问下列表达式哪些会被编译器禁止【多选】( )
int a = 248, b = 4;
int const *c = 21;
const int *d = &a;
int *const e = &b;
int const * const f = &a;
A: *c = 32; B: *d = 43 C: e=&a D: f=0x321f
【答案】ABCD
【解析】
这里的考点为对const掌握的是否清楚
1.const如果在指针变量的“ * ”的左边(即 const int * a 和 int const * a的意义是相同的,作用是等价的)
表达的意思是:对指针变量a 解引用的值是保持不变的
只有a里面存放的地址改变了,解引用出来的值才会变化
2. const如果在指针变量的“ * ”的右边【即 int * const a】 表达的意思是: a里面存放的地址是保持不变
只有主动对 *a 赋值才能改变这个值,但a里面的地址是一直保持不
对于A和B:const在“ * ”的左面,则 const 就是用来修饰指针所指向的变量,即指针指向为常量,则此时的*c和*d不变
对于C和D:如果 const 位于“ * ”的右侧,则 const 就是修饰指针本身,即指针本身是常量
则e和f的地址不能被改变
3、以下程序的输出结果为( )
#include <stdio.h>
int i;
void prt()
{for (i = 5; i < 8; i++)printf("%c", '*');printf("\t");
}
int main()
{for (i = 5; i <= 8; i++)prt(); return 0;
}
A: *** B: *** *** *** *** C: *** *** D: * * *
【答案】A
【解析】
注意:这里出现转义字符 \t ,而 \t 代表为水平制表符,简单来说就是在键盘上按了TAB
的效果,也可以理解为缩进符
全局变量
创建在静态区中,作用域为整个程序且生命周期与主函数相同,只有程序结束,它才会销毁
全局变量 i ,在 main() 中修改为 5 ,第一次在 prt() 中执行循环输出三次 '*' , i 被修改为 8 ,回到 main() 中第二次调用 prt() 时,i<8 为假,循环结束没输出,执行一次 print("\t") ,再次回到主函数后 i++ 变为 9 , i<=8 为假,循环结束 ;
4、下面代码段的输出是( )
int main()
{int a=3;printf("%d\n",(a+=a-=a*a));return 0;
}
A:
-6
B:12
C:0
D:-12
【答案】D
【解析】
本题可以写成:表达式a+a-=a*a中*的优先级最高,其次是-=,+的优先级最低,因此先求a*a,所以原表达式可写成a+a-=9,再算a-=9,原表达式可写为a=a-9=-6,最后算a+a,因为此时a=-6,所以a+a=-6+(-6)=-12,故选择D选项。
拓展:操作符优先级图表
5.下列不能实现死循环的是( )
A.while(1){} B.for(;1;){} C.do{}while(1); D.for(;0;){}
【答案】D
【解析】
只有条件为真时才进行循环, ABC 中 1 为真, D 中 0 为假,故选D。
二、编程题
1.OJ链接 【牛客网题号: HJ97 记负均正】【难度:简单】
首先输入要输入的整数个数 n ,然后输入 n 个整数。输出为 n 个整数中负数的个数,和所有正整数的平均值,
结果保留一位小数。
注意: 0 即不是正整数,也不是负数,不计入计算; 本题有多组输入用例。
输入描述:首先输入一个正整数 n ,然后输入 n 个整数。
输出描述:输出负数的个数,和所有正整数的平均值。
#include<stdio.h>
int main() {int n = 0;while (~scanf("%d ", &n)){int arr[2001] = { 0 };int count1 = 0;int count2 = 0;int sum = 0;float ave = 0;int i = 0;for (i = 0; i < n; i++){scanf("%d ", &arr[i]);if (arr[i] < 0){count1++;}else if (arr[i] > 0){count2++;sum += arr[i];}}printf("%d ", count1);if (count2){ave = sum / count2;printf("%.1lf\n", ave);}else{printf("0.0\n");}}return 0;
}
2.OJ链接 【牛客网题号:JZ11 旋转数组的最小数字】【难度:简单】
有一个长度为 n 的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了[3,4,5,1,2],或者[4,5,1,2,3]这样的。请问,给定这样一个旋转数组,求数组中的最小值。
数据范围:1≤ n ≤ 10000,数组中任意元素的值: 0 ≤ val ≤ 10000
示例:
输入:[3,4,5,1,2]
返回值:1
int minNumberInRotateArray(int* nums, int numsLen) {int left = 0;int right = numsLen - 1;while (left < right){int mid = (left + right) / 2;if (nums[mid] < nums[right])right = mid;else if (nums[mid] > nums[right])left = mid + 1;elseright--;}return nums[right];
}
好了,今天的每日一刷就到这里结束了,感谢大家的观看!
相关文章:

C语言暑假刷题冲刺篇——day3
目录 一、选择题 二、编程题 🎈个人主页:库库的里昂 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏✨收录专栏:C语言每日一练✨其他专栏:代码小游戏C语言初阶🤝希望作者的文章能对你有…...
Taro+vue3小程序开启分享他人和分享到朋友圈
import Taro, { useShareAppMessage, useShareTimeline } from tarojs/taro;onMounted(() > {Taro.showShareMenu({withShareTicket: true,menus: [shareAppMessage, shareTimeline]}); }); useShareAppMessage((res) > {console.log(页面转发的回调)return {title: 开票…...

JAVA-Spring中IOC容器是什么?
目录 JAVA-Spring中IOC容器是什么?什么是IOC?什么是IOC容器?IOC和IOC容器的对比Spring框架中的IOC容器是如何工作的?使用XML配置的ApplicationContext使用注解的AnnotationConfigApplicationContext总结 JAVA-Spring中IOC容器是什…...

QT多屏显示程序
多屏显示的原理其实很好理解,就拿横向扩展来说: 计算机把桌面的 宽度扩展成了 w1(屏幕1的宽度) w2(屏幕2的宽度) 。 当一个窗口的起始横坐标 > w1,则 他就被显示在第二个屏幕上了。 多屏虚拟成一个桌面࿰…...

python使用xlwt时,报ValueError: More than 4094 XFs (styles)
在写表格时,遇到如下报错 一、报错原因 xlwt最多只能有4094个样式,超出这个样式数量就报错了。 二、解决办法 (1)去掉样式的要求...
GitHub 打不开解决方案
GitHub 这几年国内普通用户越来越难以访问,github 作为全球最大的开源平台,里面有用的内容很多,不管是对专业用户还是普通用户,无法访问都是很严重的问题。 1.GitHub 加速镜像 kgithub 是一个公益加速项目,仅需在 gi…...

Java网络编程(一)网络基础
概述 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递 网络分类 局域网(LAN) 局域网是一种在小区域内使用的,由多台计算机组成的网络,覆盖范围…...

matlab使用教程(17)—多项式的定义和运算
1.创建并计算多项式 此示例说明如何在 MATLAB 中将多项式表示为向量以及根据相关点计算多项式。 1.1 表示多项式 MATLAB 将多项式表示为行向量,其中包含按降幂排序的系数。例如,三元素向量 p [p2 p1 p0]; 表示多项式 创建一个向量以表示二次多项式…...

华为认证 | 这门HCIA认证正式发布!
华为认证云服务工程师HCIA-Cloud Service V3.5(中文版)自2023年8月11日起,正式在中国区发布。 01 发布概述 基于“平台生态”战略,围绕“云-管-端”协同的新ICT技术架构,华为公司打造了覆盖ICT领域的认证体系…...

【Docker】Docker安装 MySQL 8.0,简洁版-快速安装使用
今天,使用docker安装mysql数据库进行一个测试,结果网上找了一篇文章,然后。。。。坑死我… 特总结本篇安装教程,主打一个废话不多说! 坑:安装成功,客户端工具连接不上数据库》。。。 正文&…...

CSS自己实现一个步骤条
前言 步骤条是一种用于引导用户按照特定流程完成任务的导航条,在各种分步表单交互场景中广泛应用。例如:在HIS系统-门诊医生站中的接诊场景中,我们就可以使用步骤条来实现。她的执行步骤分别是:门诊病历>遗嘱录入>完成接诊…...

Visual Studio 2019 解决scanf函数报错问题
前言 Visual Studio 2019 解决scanf函数报错问题 博主博客链接:https://blog.csdn.net/m0_74014525 关注博主,后期持续更新系列文章 *****感谢观看,希望对你有所帮助***** 系列文章 第一篇:Visual Studio 2019 详细安装教程&…...

亚马逊无限买家号如何注册?
如果想要拥有大批量的亚马逊买家号,可以使用亚马逊鲲鹏系统进行自动注册操作。在注册之前我们需要先准备好账号所需要的资料; 1、Ip:软件系统支持11个亚马逊站点使用,因此注册哪一个国家的买家号时就需要购买相应国家的ip&#x…...
前端框架学习-ES6新特性(尚硅谷web笔记)
ECMASript是由 Ecma 国际通过 ECMA-262 标准化的脚本程序设计语言。javaScript也是该规范的一种实现。 新特性目录 笔记出处:b站ES6let 关键字const关键字变量的解构赋值模板字符串简化对象写法箭头函数rest参数spread扩展运算符Promise模块化 ES8async 和 await E…...

普陀发布新规服务元宇宙企业 和数软件发展元宇宙场景落地
近日,数智中国AIGC科技周2023全球元宇宙大会上海站活动现场“半马苏河”元宇宙企业科创政策包正式发布。政策包在普陀原有科创政策基础上进行了叠加升级,一共涵盖了十条专项服务元宇宙企业的专项政策,简称普陀“元十条”。 普陀“元十条”从…...
Kotlin差异化分析,let,run,with,apply及also
作用域函数是Kotlin比较重要的一个特性,共分为以下5种:let、run、with、apply 以及 also,这五个函数的工作方式可以说非常相似,但是我们需要了解的是这5种函数的差异,以便在不同的场景更好的利用它。 读完这篇文章您将…...

(stm32)低功耗模式
低功耗模式 执行哪个低功耗模式的程序判断流程 标志位设置操作一定要在WFI/WFE之前,调用此指令后立即进入睡眠判断流程 模式对比 睡眠模式 停止模式 待机模式...

【C++学习手札】一文带你认识C++虚函数(内层剖析)
食用指南:本文在有C基础的情况下食用更佳 🍀本文前置知识: C初识继承 ♈️今日夜电波:No title —REOL 1:02 ━━━━━━️💟──────── 4:03 …...

Python“牵手”1688商品评论数据采集方法,1688API申请指南
1688平台API接口是为开发电商类应用程序而设计的一套完整的、跨浏览器、跨平台的接口规范,1688API接口是指通过编程的方式,让开发者能够通过HTTP协议直接访问1688平台的数据,包括商品信息、店铺信息、物流信息等,从而实现1688平台…...
“深入解析JVM内部机制:探秘Java虚拟机的奥秘“
标题:深入解析JVM内部机制:探秘Java虚拟机的奥秘 摘要:本文将深入解析JVM(Java虚拟机)的内部机制,从字节码执行到垃圾回收,逐步揭示Java程序运行的奥秘。通过理论分析和示例代码,读…...

龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...

python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...

el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...
适应性Java用于现代 API:REST、GraphQL 和事件驱动
在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...