C语言小练习(三)

🌞 “也许你感觉自己与周遭格格不入,但正是那些你一人度过的时光,让你变得越来越有意思,等有天别人终于注意到你的时候,他们就会发现一个比他们想象中更酷的人。”-《生活大爆炸》
Day03
- 📝 一.选择题
- 📝二.编程题
📝 一.选择题
🎈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
🔭答题思路:函数第一个形参 char b[10] ,需要传入的是数组的首地址。数组char c[10] 的数组名 c 是数组的首元素地址,可以传入 c。参数a是指针,需要接受它的地址。
🎈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放在*的左边,表示指针指向的值不可修改,但是指针指向可以修改。const放在*的右边,表示指针指向的值可修改,但是指针指向不可以修改。那么,放在中间,指针指向以及指针指向的值都不能改。本题中,*c和*d指向的值不能变,e的指向不能变,f都不能变,因此全错。
🎈3.以下程序的输出结果为( )
#define _CRT_SECURE_NO_WARNINGS 1
#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
🔭答题思路:本题主要需要弄清楚for循环的一个执行流程:
关于for循环的详细知识点可以见博客链接: for循环
那么,本题的解题流程如下:
🎈4.下面代码段的输出是( )
#include <stdio.h>
int main()
{int a = 3;printf("%d\n", (a += a -= a * a));return 0;
}
A: -6 B: 12 C: 0 D: -12
🏆答案:D
🔭答题思路:本题考察的主要是运算符的优先级以及结合性。关于具体的操作符的知识可跳转至链接: 操作符
🔎操作符的优先级:
| 操作符 | 描述 | 结合性 | 是否控制求值顺序 |
|---|---|---|---|
| () | 聚组 | / | 否 |
| () | 函数调用 | 左结合性 | 否 |
| [ ] | 下标引用 | 左结合性 | 否 |
| . | 访问结构成员 | 左结合性 | 否 |
| -> | 访问结构指针成员 | 左结合性 | 否 |
| ++ | 后缀自增 | 左结合性 | 否 |
| - - | 后缀自减 | 左结合性 | 否 |
| ! | 逻辑反 | 右结合性 | 否 |
| ~ | 按位取反 | 右结合性 | 否 |
| + | 单目,表示正值 | 左结合性 | 否 |
| - | 单目,表示负值 | 右结合性 | 否 |
| ++ | 前缀自增 | 右结合性 | 否 |
| - - | 前缀自减 | 右结合性 | 否 |
| * | 间接访问 | 右结合性 | 否 |
| & | 取地址 | 右结合性 | 否 |
| sizeof | 取其长度,以字节表示 | 右结合性 | 否 |
| (类型) | 类型转换 | 右结合性 | 否 |
| * | 乘法 | 左结合性 | 否 |
| / | 除法 | 左结合性 | 否 |
| % | 整数取模 | 左结合性 | 否 |
| + | 加法 | 左结合性 | 否 |
| - | 减法 | 左结合性 | 否 |
| << | 左移位 | 左结合性 | 否 |
| >> | 右移位 | 左结合性 | 否 |
| > | 大于 | 左结合性 | 否 |
| >= | 大于等于 | 左结合性 | 否 |
| < | 小于 | 左结合性 | 否 |
| <= | 小于等于 | 左结合性 | 否 |
| == | 等于 | 左结合性 | 否 |
| != | 不等于 | 左结合性 | 否 |
| & | 位与 | 左结合性 | 否 |
| ^ | 位异或 | 左结合性 | 否 |
| I | 位或 | 左结合性 | |
| && | 逻辑与 | 左结合性 | 是 |
| II | 逻辑或 | 左结合性 | 是 |
| ?: | 条件操作符 | 右结合性 | 是 |
| = | 赋值 | 左结合性 | 否 |
| += | 以…加 | 右结合性 | 否 |
| -= | 以…减 | 右结合性 | 否 |
| *= | 以…乘 | 右结合性 | 否 |
| /= | 以…除 | 右结合性 | 否 |
| %= | 以…取模 | 右结合性 | 否 |
| <<= | 以…左移 | 右结合性 | 否 |
| >>= | 以…右移 | 右结合性 | 否 |
| &= | 以…与 | 右结合性 | 否 |
| ^= | 以…异或 | 右结合性 | 否 |
| I= | 以…或 | 右结合性 | 否 |
| , | 逗号 | 左结合性 | 是 |
📖我们可以发现在该表达式中
a += a -= a * a,*的优先级大于-=和+=,*是左结合,和+=和-=是右结合。
本题的解题流程如下:
运行结果如下:
🎈5.下列不能实现死循环的是( )
A: while(1){} B: for(;1;){} C: do{}while(1); D: for(;0;){}
🏆答案:D
🔭答题思路:只有想循环条件为真时,循环才会继续。在C语言中,0表示假,1为真,因此选D
📝二.编程题
1.🎈首先输入要输入的整数个数 n ,然后输入 n 个整数。输出为 n 个整数中负数的个数,和所有正整数的平均值,结果保留一位小数。
注意: 0 即不是正整数,也不是负数,不计入计算; 本题有多组输入用例。
输入描述:首先输入一个正整数 n ,然后输入 n 个整数。
输出描述:输出负数的个数,和所有正整数的平均值。
数据范围: 1≤n ≤2000 ,输入的整数都满足 ∣val∣≤1000
OJ链接【牛客网题号: HJ97 记负均正】【难度:简单】
🔭答题思路:从题目中的输入
n个整数,我们会想到要利用数组来储存数据。然后利用for循环来找出数组中负数的个数(count)和正数的个数(count2),并且把所有正整数加起来,然后算出平均值。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{int arr[1000];int n = 0;while (scanf("%d", &n) != EOF){int count = 0;//记录负数的个数int count2 = 0;//记录正数的个数float sum = 0;int i = 0;for (i = 0; i < n; i++){scanf("%d", &arr[i]);if (arr[i] < 0){count++;}if (arr[i] > 0){count2++;sum += arr[i];}}printf("%d ", count);if (count2)printf("%.1f", sum / count2);elseprintf("0.0");}return 0;
}
🔭样例输出:

2.🎈有一个长度为 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
OJ链接【牛客网题号: JZ11 旋转数组的最小数字】【难度:简单】
🔭答题思路:本题我采用的是遍历的方法,把每个数都比较一遍。但是这种方法只限于数据少的情况,数据大的话就会算很久,效率低。
int minNumberInRotateArray(int* rotateArray, int rotateArrayLen ) {int min = *rotateArray;//初始存放第一个数for (int i = 1; i < rotateArrayLen; ++i){if(*(rotateArray+i) < min){min = *(rotateArray+i);}}return min;
}
好啦,第三天的练习到这里就结束啦!后期会继续更新C语言的小练笔,欢迎大家持续关注、点赞和评论!❤️❤️❤️
相关文章:
C语言小练习(三)
🌞 “也许你感觉自己与周遭格格不入,但正是那些你一人度过的时光,让你变得越来越有意思,等有天别人终于注意到你的时候,他们就会发现一个比他们想象中更酷的人。”-《生活大爆炸》 Day03 📝 一.选择题&…...
2023 js逆向爬虫 有道翻译 代码
前置条件:nodejs环境、安装 crypto 和 python3环境 js.js文件: const crypto require("crypto")function decode(resp_data) {g_o ydsecret://query/key/B*RGygVywfNBwpmBaZg*WT7SIOUP2T0C9WHMZN39j^DAdaZhAnxvGcCY6VYFwnHlg_n ydsecre…...
【物联网无线通信技术】NFC从理论到实践(FM17XX)
NFC,全称是Near Field Communication,即“近场通信”,也叫“近距离无线通信”。NFC诞生于2004年,是基于RFID非接触式射频识别技术演变而来,由当时的龙头企业NXP(原飞利浦半导体)、诺基亚以及索尼联合发起。NFC采用13.5…...
Python爬虫猿人学逆向系列——第六题
题目:采集全部5页的彩票数据,计算全部中奖的总金额(包含一、二、三等奖) 地址:https://match.yuanrenxue.cn/match/6 本题比较简单,只是容易踩坑。话不多说请看分析。 两个参数,一个m一个f&…...
idea使用tomcat
1. 建立javaweb项目 2. /WEB-INF/web.xml项目配置文件 如果javaweb项目 先建立项目,然后在项目上添加框架支持,选择javaee 3. 项目结构 4.执行测试:...
搭建Tomcat HTTP服务:在Windows上实现外网远程访问的详细配置与设置教程
文章目录 前言1.本地Tomcat网页搭建1.1 Tomcat安装1.2 配置环境变量1.3 环境配置1.4 Tomcat运行测试1.5 Cpolar安装和注册 2.本地网页发布2.1.Cpolar云端设置2.2 Cpolar本地设置 3.公网访问测试4.结语 前言 Tomcat作为一个轻量级的服务器,不仅名字很有趣࿰…...
Java学习笔记——继承(包括this,super的使用总结)
继承: 使用情景:当类与类之间,存在相同(共性)的内容,并满足子类是父类的一种,就可以考虑使用继承,来优化代码 Java中提供一个关键字extends,用这个关键字,我…...
Android 获取应用sha1和sha256
在 Android 应用开发中,SHA-1(Secure Hash Algorithm 1)值是一种哈希算法,常用于生成应用的数字签名。这个数字签名用于验证应用的身份,并确保应用在发布到设备上时没有被篡改。 以下是生成 Android 应用的 SHA-1 值的…...
c# 方法参数修饰符(out、ref、in)的区别
在C#中,ref、out和in是三种方法参数修饰符,它们在传递参数的方式和作用上有所不同。 ref修饰符: 传递方式:使用ref修饰符的参数可以是输入输出参数,即在方法调用前后都可以对其进行修改。 作用:通过ref修…...
shell 编写一个带有进度条的程序安装脚本
需求 使用 shell 写一个 软件安装脚本,带有进度条 示例 #!/bin/bash# 模拟软件安装的步骤列表 steps("解压文件" "安装依赖" "配置设置" "复制文件" "")# 计算总步骤数 total_steps${#steps[]}# 安装进度的初…...
服务器数据恢复-AIX PV完整镜像方法以及误删LV的数据恢复方案
AIX中的PV相当于物理磁盘(针对于存储来说,PV相当于存储映射过来的卷;针对操作系统来说,PV相当于物理硬盘),若干个PV组成一个VG,AIX可以将容量不同的存储空间组合起来统一分配。AIX把同一个VG的所…...
首席执行官Adam Selipsky解读“亚马逊云科技的技术产品差异化”
迄今为止,亚马逊云科技已经参与了21世纪几乎所有的大型计算变革,亚马逊云科技是一个很传奇的故事,它始于大约20年前的一项实验,当时亚马逊试图出售其过剩的服务器。人们确实对此表示怀疑。为什么在线书店试图销售云服务࿱…...
C++ Day3
目录 一、类 【1】类 【2】应用实例 练习: 【3】封装 二、this指针 【1】this指针的格式 【2】必须使用this指针的场合 三、类中的特殊成员函数 【1】构造函数 i)功能 ii)格式 iii)构造函数的调用时机 iv)…...
OpenEuler 安装mysql
下载安装包 建议直接使用在openEuler官方编译移植过的mysql-5.7.21系列软件包 参考:操作系统迁移实战之在openEuler上部署MySQL数据库 | 数据库迁移方案 | openEuler社区官网 MySQL 5.7.21 移植指南(openEuler 20.03 LTS SP1) | 数据库移植…...
[Docker] Windows 下基于WSL2 安装
Docker 必须部署在 Linux 内核的系统上。如果其他系统想部署 Docker 就必须安装一个虚拟 Linux 环境。 1. 开启虚拟化 进入系统BIOS(AMD 为 SVM;Intel 为 Intel-vt)改为启用(enable) 2. 开启WSL 系统设置->应用->程序和功能->…...
(未完成)【Spring专题】SringAOP底层原理解析——阶段三(AOP)
目录 前言前置知识代理范式SpringAOP的理解Spring动态代理的实现 课程内容一、动态代理的实现1.1 Cglib动态代理1.2 JDK动态代理1.3 ProxyFactory:Spring对两种代理的封装 二、AOP基础知识AOP基础概念回顾通知Advice的分类Advisor的理解 三、创建代理对象的方式3.1 …...
使用Nodejs创建简单的HTTP服务器,借助内网穿透工具实现公网访问的方法分享
文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation࿰…...
使用 OpenTelemetry 构建可观测性 03 - 导出
上一个博文中,我提到如何使用 OpenTelemery 的特定语言 API 来收集遥测数据,包含手动和自动的埋点技术,这很重要!但是,收集遥测数据只是解决方案的第一步。 你需要把遥测数据路由转发到其他地方,同时添加额…...
Pyqt5打开电脑摄像头进行拍照
目录 1、设计UI界面 2、设计逻辑代码,建立连接显示窗口 3、结果 1、设计UI界面 将ui界面转为py文件后获得的逻辑代码为:(文件名为 Camera.py) # -*- coding: utf-8 -*-# Form implementation generated from reading ui file …...
Flowable 7.0.0.M2 版本功能
CMMN 支持批量迁移重复支持案例重新激活支持停止内务处理批处理Http 任务支持 HTTP HEAD and OPTIONS for the Http Tasks移除了 Spring Boot 启动器 flowable-spring-boot-starter-basic - 切换为 flowable-spring-boot-starter-process flowable-spring-boot-starter-rest-ap…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
LangFlow技术架构分析
🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...
渗透实战PortSwigger靶场:lab13存储型DOM XSS详解
进来是需要留言的,先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码,输入的<>当成字符串处理回显到页面中,看来只是把用户输…...





