【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day7

🔥个人主页:@草莓熊Lotso

🎬作者简介:C++研发方向学习者

📖个人专栏: 《C语言》 《数据结构与算法》《C语言刷题集》《Leetcode刷题指南》

⭐️人生格言:生活是默默的坚持,毅力是永久的享受。

前言:我们距离学习完C语言已经很久了,在数据结构学完后,博主准备通过这16天的强化训练和大家一起回顾C语言的知识,今天依旧是五道选择和两道编程题,希望大家能有所收获。


目录

选择题:

编程题:

1.图片整理

2.寻找数组的中心下标


选择题:

1、以下对C语言函数的有关描述中,正确的有【多选】( )

A: 在C语言中,一个函数一般由两个部分组成,它们是函数首部和函数体

B: 函数的实参和形参可以是相同的名字

C: 在main()中定义的变量都可以在其它被调函数中直接使用

D: 在C程序中,函数调用不能出现在表达式语句中

答案解析:

正确答案:AB

主函数中定义的局部变量只在主函数中有效,因为主函数也是一个函数,它与其他函数是平行关系,C错误;当函数有返回值时,可以出现在表达式中,D错误

2、在C语言中,以下正确的说法是( )

A: 实参和与其对应的形参各占用独立的存储单元

B: 实参和与其对应的形参共占用一个存储单元

C: 只有当实参和与其对应的形参同名时才共占用存储单元

D: 形参是虚拟的,不占用存储单元

答案解析:

正确答案:A

在调用函数的时候,真实传递给函数的是实参,函数定义部分函数名后的参数是形参。形参和实参的名字是可以相同的,在函数调用的时候,形参是实参的一份临时拷贝,分别占用不同的内存空间,所以A正确,B错误,及时形参和实参的名字相同,也是占用不同的内存空间,所以B错误;函数如果不被调用时,函数的形参是形式上存在的,但是函数在被调用的时候,形参是要分配内存空间的,所以D错误。

3、在上下文及头文件均正常的情况下,下列代码的输出是( )(注: print 已经声明过)
A: suiene B: neius C: run-time error D: suieneG

int main()
{char str[] = "Geneius";print(str);return 0;
}
print(char* s)
{if (*s){print(++s);printf("%c", *s);}
}

答案解析:

正确答案:A

代码实现了递归倒序打印字符串的功能,但是++s使得s的值发生了变化,回不到'G'的位置上,故而没有打印'G

4、对于函数 void f(int x); ,下面调用正确的是( )

A: int y=f(9); B: f(9); C: f(f(9)); D: x=f();

答案解析:
正确答案:B
函数f是没有返回值的,不能给int类型变量赋值,故A错误,同时需要一个整型参数,C中f(9)不能作为f的参数,也是错的,D 选项没有传参,也不能接收返回值也是错误的。

5、给定 fun 函数如下,那么 fun(10) 的输出结果是( )
A: 0 B: 10 C: 55 D: 3628800

int fun(int x)
{return (x==1) ? 1 : (x + fun(x-1));
}

答案解析:

正确答案:C

代码是一个递归函数,计算x+(x-1)+(x-2)+...+2+1即等差数列的和


编程题:

1.图片整理

题目链接:图片整理_牛客题霸_牛客网

题目描述:

题目示例:

代码演示:

#include <stdio.h>
#include<stdlib.h>
#include<string.h>int cmp(const void*p1,const void*p2)
{return *(char*)p1-*(char*)p2;
}
int main() {char s[1001];scanf("%s",s);qsort(s,strlen(s),sizeof(char),cmp);printf("%s",s);return 0;
}

题目解析:

  • 这道题考察的其实就是字符排序,每个 ascii 字符在内存都有一个对应的 ascii 值,通过内存中数据的存储进行排序就行,这里直接用的qsort。

2.寻找数组的中心下标

题目链接:724. 寻找数组的中心下标 - 力扣(LeetCode)

题目描述:

题目示例:

代码演示:

int pivotIndex(int* nums, int numsSize) {int total = 0;for (int i = 0; i < numsSize; ++i) {total += nums[i];}int sum = 0;for (int i = 0; i < numsSize; ++i) {if (2 * sum + nums[i] == total) {return i;}sum += nums[i];}return -1;
}

题目解析:

  • 先算数组总和 total,再遍历数组,用 sum 累加左侧元素,当 2 * sum + nums[i] == total 时,i 就是中心下标,否则返回 -1 ,通过一次遍历找中心下标,时间复杂度 O(n) ,空间复杂度 O(1) 

往期回顾:

【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day4

【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day5

【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day6

结语:本篇博客就到此结束了,C 语言的精髓在于对细节的掌控和对底层的理解,这需要持续实践。愿你带着这份训练中获得的思维与习惯,在编程路上走得更稳、更远。如果文章对你有帮助的话,欢迎评论,点赞,收藏加关注,感谢大家的支持。

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

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

相关文章

污水处理行业的 “智能革命”:边缘计算网关如何重塑传统运维模式?

污水处理行业的 “智能革命”&#xff1a;边缘计算网关如何重塑传统运维模式&#xff1f;在污水处理这一关乎生态环境与可持续发展的关键领域&#xff0c;蓝蜂网关正凭借其先进技术与强大功能&#xff0c;发挥着无可替代的重要作用。作为工业级物联网解决方案的核心组件&#x…

ASP.NET Core 中的多租户 SaaS 应用程序

介绍随着软件即服务 (SaaS) 持续主导技术领域&#xff0c;构建能够高效地从单一代码库服务于多位客户&#xff08;租户&#xff09;的应用程序变得至关重要。ASP.NET Core 凭借其模块化和可扩展的架构&#xff0c;是实现多租户 SaaS 应用程序的强大框架。本文将指导您了解构建多…

JUC之CompletableFuture【中】

文章目录四、CompletableFuture基本使用4.1 默认线程池、无返回值4.2 默认线程池、有返回值4.3 自定义线程池、有返回值4.4 CompletableFuture 获取结果五、对结果进行处理5.1 方法说明5.2 示例5.3 thenApply vs thenApplyAsync5.3.1 核心区别: 执行线程不同5.3.2 thenApply: 同…

环境变量不生效?

目录 添加环境变量 解决不生效 不生效场景 解决办法 大家都知道Windows系统对于开发者来说并不友好&#xff0c;尤其是新手&#xff0c;当然这是相比于linux和MacOS相比&#xff0c;因为开发工具、项目脚本等环境配置要为复杂&#xff0c;注意事项也更多一些。而这篇文章将…

小迪安全v2023学习笔记(六十六讲)—— Java安全SQL注入SSTISPELXXE

文章目录前记WEB攻防——第六十六天Java安全&SPEL表达式&SSTI模板注入&XXE&JDBC&MyBatis注入环境搭建Hello-Java-SecJavaSecJava安全 - SQL注入-JDBC&MyBatisJDBC注入原理语句拼接预编译的错误使用JdbcTemplate正则过滤MyBatis注入原理Like注入Order B…

把 AI 变成「图书馆管理员」——基于检索增强的离线图书语音导航小盒子

标签&#xff1a;检索增强、语音导航、离线 LLM、RAG、ESP32-S3、低功耗、TTS、BLE ---- 1. 背景&#xff1a;读者找不到书的痛苦 高校图书馆每天 5000 人次&#xff0c;高频问题&#xff1a; • “《深度学习》在哪个书架&#xff1f;” • “有没有类似《三体》的科幻&…

架构思维:在AI时代为产品“减负”的终极武器——用结构化智慧破解数字化复杂困局

摘要 数字化产品的复杂度飙升已成为企业发展的核心瓶颈。本文基于架构思维的本质&#xff08;元素、连接、演进&#xff09;&#xff0c;结合5A架构体系&#xff08;业务/信息/应用/技术/治理架构&#xff09;&#xff0c;系统阐述如何通过分而治之、共性沉淀、AI赋能三大策略降…

黎阳之光:以数字之力,筑牢流域防洪“智慧防线”

当洪水来袭&#xff0c;每一分精准的预报、每一次及时的预警、每一轮科学的预演、每一套完善的预案&#xff0c;都可能关系到江河安澜与万家平安。在水利现代化建设的浪潮中&#xff0c;黎阳之光凭借数字孪生、视频孪生等核心技术&#xff0c;打造流域防洪“四预”管理平台&…

transformer模型初理解

模型介绍 在 Transformer 之前&#xff0c;主流的序列模型是 **RNN&#xff08;循环神经网络&#xff09;** 工作方式类似「逐字阅读」&#xff1a;处理序列时&#xff0c;必须从第一个词开始&#xff0c;一个接一个往后算&#xff08;比如翻译时&#xff0c;先看 “我”&#…

驱动开发系列66 - glCompileShader实现 - GLSL中添加内置函数

一&#xff1a;概述 本文介绍如何为 GLSL 语言中增加一个内置函数&#xff0c;以https://registry.khronos.org/OpenGL/extensions/ARB/ARB_shader_texture_image_samples.txt扩展为例&#xff0c;介绍下添加textureSamples内置函数的过程。

指针的应用学习日记

Git常见的命令&#xff1a;%h 简化哈希 %an 作者名字 %ar 修订日期(距今) %ad修订日期 %s提交说明指针简介指针(Pointer)是C语言的一个重要知识点&#xff0c;其使用灵活、功能强大&#xff0c;是C语言的灵魂。 指针与底层硬件联系紧密&#xff0c;使用指针可操作数据的地址&am…

KMM跨平台叛逃实录:SwiftUI与Compose Multiplatform共享ViewModel的混合开发框架(代码复用率85%)

KMM跨平台叛逃实录&#xff1a;SwiftUI与Compose Multiplatform共享ViewModel的混合开发框架&#xff08;代码复用率85%&#xff09;一、架构革命&#xff1a;跨平台统一状态管理1.1 核心架构设计1.2 技术矩阵对比二、KMM共享ViewModel实现2.1 基础状态管理2.2 ViewModel核心架…

关于Android webview协议混淆

背景&#xff1a;android中引入的html页面是http请求(web服务仅开放了80端口)&#xff0c;但html页面引用的后端接口是https请求&#xff0c;则发生android中html页面请求接口异常<请求无法发送到后端服务(status0)>。浏览器出于安全考虑&#xff0c;要求&#xff1a; 同…

Android Jetpack | Lifecycle

一.前言 本篇主线包含三点&#xff0c;Lifecycle的作用、简单使用、核心原理&#xff08;包含核心类与源码主线分析&#xff09;&#xff1b; 二.作用 官方文档生命周期感知型组件可执行操作来响应另一个组件&#xff08;如 Activity 和 Fragment&#xff09;的生命周期状态…

单片机编程架构

没有最好的程序架构。 只要在项目中实现产品功能并稳定工作&#xff0c;且能在团队内统一应用管理就是最优的程序架构。 一、单片机运行模型&#xff1a; 1.能分配时间的裸机代码 2.FreeRTOS操作系统 代码分层框架&#xff1a; 1.与板关联的底层 2.《驱动底层的驱动层》《中间层…

114. 二叉树展开为链表

题目&#xff1a;给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。…

【Langchain系列三】GraphGPT——LangChain+NebulaGraph+llm构建智能图数据库问答系统

Langchain二次开发专栏 【Langchain系列一】常用大模型的key获取与连接方式 【Langchain系列二】LangChain+Prompt +LLM智能问答入门 【Langchain系列三】GraphGPT——LangChain+NebulaGraph+llm构建智能图数据库问答系统 【Langchain系列四】RAG——基于非结构化数据库的智能问…

【GNSS定位原理及算法杂记6】​​​​​​PPP(精密单点定位)原理,RTK/PPK/PPP区别讨论

PPP 技术详解&#xff1a;原理、流程与 RTK/PPK 对比 在高精度 GNSS 定位技术体系中&#xff0c;除了 RTK 和 PPK 以外&#xff0c;还有一类无需基站即可实现分米到厘米级定位的方法 —— PPP&#xff08;Precise Point Positioning&#xff0c;精密单点定位&#xff09;。它以…

LeetCode 837.新 21 点:动态规划+滑动窗口

【LetMeFly】837.新 21 点&#xff1a;动态规划滑动窗口 力扣题目链接&#xff1a;https://leetcode.cn/problems/new-21-game/ 爱丽丝参与一个大致基于纸牌游戏 “21点” 规则的游戏&#xff0c;描述如下&#xff1a; 爱丽丝以 0 分开始&#xff0c;并在她的得分少于 k 分时…

Codeforces 盒装苹果

题目来源&#xff1a;问题 - 2107B - Codeforces 这道题其实只需要判断两个要点&#xff0c;首先判断一下最大值-1后与最小值的差值是否>k&#xff0c;这里有个小细节&#xff0c;当有多个最大值时&#xff0c;可以先将一个最大值-1后再排序&#xff0c;判断新数组最大值与最…