c语言每日一练(8)
前言:
每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情况更新。
五道选择题:
1、请阅读以下程序,其运行结果是( )
#include<stdio.h>
int main()
{
char c='A';
if('0'<=c<='9') printf("YES");//1
else printf("NO");
return 0;
}
A、YES B、NO C、YES D、语句错误
解析:易错题,很多人看到代码1的时候就会下意识的认为,它的判定条件是变量c大于等于字符0且小于等于字符9才打印YES,实际上要实现这样的功能代码得是'0'<=c&&c<='9'
代码1的执行是先进行'0'<=c这个运算,再把运算所得到的值与'9'进行比较,c存放的是字符变量'A',ASCII码值为65,'0'的ASCII码值为48。所以'0'<=c得到的值是1,再与'9'进行比较,显然1<='9',最终表达式为真,执行YES的打印。故选C

2 、下列程序的输出结果是什么( )
#include<stdio.h>
int main()
{
int n = 1001;
int ans = 0;
for(int i = 1; i <= n; ++i)
{
ans ^= i % 3;//1
}
printf("%d",ans);
return 0;
}
A、-2 B、0 C 、1 D、2
解析:^(异或)运算符的计算规则是将两个数相同的位变为0,不同的位变为1,那么两个相同的数^等于0,^运算符还满足交换律,因此在进行^的时候可以任意地交换数字之间的位置。
观察代码发现,目标是打印出ans的值,ans在最开始的时侯被赋值为0,然后进入for循环,走向代码1,不停地^i%3的值。i%3可以看出,会在0,1,2三个数中循环,而循环的开始i是为1,所以循环是1,2,0,那么ans就在不停地^1,2,0。观察可知循环的次数为1001,1001/3=333余2。而第332次1,2,0的时候是偶数,意味着第332次时,1,2,0都是一对一对的,那么全部都会被^为0,故最后的结果为(0^1^2)^1^2,等于0,所以选B

3、下面有关空指针和未初始化指针,说法错误的是( )
A、对0x0这个地址取值是非法的
B、空指针可以确保不指向任何对象或函数; 而未初始化指针则可能指向任何地方
C、空指针与任何对象或函数的指针值都不相等 D、malloc在其内存分配失败时返回的是一个未初始化的指针
解析:不能对空指针进行解引用操作,A正确。空指针是没有指先任何空间的指针,未初始化的指针是野指针,是不安全的可能指向任何地方,B正确。空指针没指向任何空间,没有值,故C正确。malloc创建失败的话会返回空指针,故D错误。选D
4、有以下函数,该函数的功能是( )
int fun(char *s)
{
char *t = s;
while(*t++);//1
return(t-s);//2
}
A、比较两个字符的大小 B、计算s所指字符串占用内存字节的个数
C、计算s所指字符串的长度 D、将s所指字符串复制到字符串t中
解析:易错题,遇到这种题最好的方法就是传一个东西进去试一下,我们传字符串"abc"进去,可以看出,函数fun先使用字符指针t存放s的指针,所以此时t可以等效为"abc"的首地址,走到代码1,是一个循环,循环会令t不停地走直到走到'\0',因为'\0'的ASCII码值为0。而字符串"abc"走三次才会走到'\0'。但是要注意,*t++,也就是会走到'\0'之后的一个位置。最后走到代码2,首地址和后面的一个地址一减,就会得到字符串"abc"的长度再+1=4。综上所述,答案选B,计算的是字符串占用内存字节的个数,包含'\0'

5、若有float a[3]={1.5,2.5,3.5},*pa=a;*(pa++)*=3; 则 *pa 的值是()
A、1.5 B、2.5 C、3.5 D、4.5
解析:从左往右一步步看,首先定义了一个浮点型数组a,存放了1.5,2.5,3.5。接着,使用浮点型指针将浮点型数组a的首地址赋给pa,那么pa现在存放的值为1.5,最后*(pa++)*=3,先使用后++,根据优先级,解引用得到1.5*=3,那么数组a首地址所指向的值被修改为4.5。然后pa++,来到2.5所在的地址,*pa解引用,故最后得到的值为2.5,选B

编程题1:
统计每个月兔子的总数_牛客题霸_牛客网
统计每个月兔子的总数_牛客题霸_牛客网
思路:通过一些计算你可以发现,第n个月的兔子总数就是第n个斐波那契数,接下来就很简单了。
#include <stdio.h>
int main()
{int a=1;int b=1;int month=0;scanf("%d",&month);if(month<3)//当要计算的斐波那契数<3直接打印1{printf("%d",a);return 0;}while(month-2){int tmp=a;a=b;b=tmp+b;month--;}printf("%d",b);
}
编程题2:
最大公约数__牛客网 (nowcoder.com)
思路:使用辗转相除法解决问题,具体做法是:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。
#include <stdio.h>
int main() {long long int a = 0; long long int b = 0;//使用long long,防止数据过大scanf("%lld %lld", &a, &b);while (b){long long int tmp = b;//储存中间变量b = a % b;a = tmp;}printf("%lld", a);return 0;
}
好了,今天的练习到这里就结束了,感谢各位友友的来访,祝各位友友前程似锦O(∩_∩)O
相关文章:
c语言每日一练(8)
前言:每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情…...
周期 角频率 频率 振幅 初相角
周期 角频率 频率 振幅 初相角 当我们谈论傅里叶级数或波形分析时,以下术语经常出现: 周期 T T T: 函数在其图形上重复的时间或空间的长度。周期的倒数是频率。 频率 f f f: 周期的倒数,即一秒内波形重复的次数。单位通常为赫兹ÿ…...
根据一棵树的两种遍历构造二叉树
题目 给定两个整数数组 preorder 和 inorder ,其中 preorder 是二叉树的先序遍历, inorder 是同一棵树的中序遍历,请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,7], inorder [9,3,15,20,7] 输出: [3,9,20,null,null,…...
stack 、 queue的语法使用及底层实现以及deque的介绍【C++】
文章目录 stack的使用queue的使用适配器queue的模拟实现stack的模拟实现deque stack的使用 stack是一种容器适配器,具有后进先出,只能从容器的一端进行元素的插入与提取操作 #include <iostream> #include <vector> #include <stack&g…...
没学C++,如何从C语言丝滑过度到python【python基础万字详解】
大家好,我是纪宁。 文章将从C语言出发,深入介绍python的基础知识,也包括很多python的新增知识点详解。 文章目录 1.python的输入输出,重新认识 hello world,重回那个激情燃烧的岁月1.1 输出函数print的规则1.2 输入函…...
haproxy负载均衡
1、配置环境 作用环境windows测试 192.168.33.158 172.25.0.11 haproxy负载均衡haproxy:2.8.1,centos7172.25.0.31web服务器1--rs1Apache:2.4,redhat9172.25.0.32web服务器2--rs2Apache:2.4 , redhat9 2、…...
【数据结构】顺序队列模拟实现
💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …...
TiDB数据库从入门到精通系列之六:使用 TiCDC 将 TiDB 的数据同步到 Apache Kafka
TiDB数据库从入门到精通系列之六:使用 TiCDC 将 TiDB 的数据同步到 Apache Kafka 一、技术流程二、搭建环境三、创建Kafka changefeed四、写入数据以产生变更日志五、配置 Flink 消费 Kafka 数据 一、技术流程 快速搭建 TiCDC 集群、Kafka 集群和 Flink 集群创建 c…...
Spring对象装配
在spring中,Bean的执行流程为启动spring容器,实例化bean,将bean注册到spring容器中,将bean装配到需要的类中。 既然我们需要将bea装配到需要的类中,那么如何实现呢?这篇文章,将来阐述一下如何实…...
bigemap如何添加mapbox地图?
第一步 打开浏览器,找到你要访问的地图的URL地址,并且确认可以正常在浏览器中访问;浏览器中不能访问,同样也不能在软件中访问。 以下为常用地图源地址: 天地图: http://map.tianditu.gov.cn 包含&…...
python爬虫6:lxml库
python爬虫6:lxml库 前言 python实现网络爬虫非常简单,只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点,方便以后复习。 申明 本系列所涉及的代码仅用于个人研究与讨论,并不会对网站产生不好…...
Linux查找命令
find find /dir -name filename 按名字查找 find . -name “*.c” 将当前目录及其子目录下所有文件后缀为 .c 的文件列出来 find . -type f 将当前目录及其子目录中的所有文件列出 find . -ctime 20 将当前目录及其子目录下所有最近 20 天内更新过的文件列出 find / -type f -…...
在 IntelliJ IDEA 中使用 Docker 开发指南
目录 一、IDEA安装Docker插件 二、IDEA连接Docker 1、Docker for Windows 连接 2、SSH 连接 3、Connection successful 连接成功 三、查看Docker面板 四、使用插件生成镜像 一、IDEA安装Docker插件 打开 IntelliJ IDEA,点击菜单栏中的 "File" -&g…...
【并发编程】自研数据同步工具的优化:创建线程池多线程异步去分页调用其他服务接口获取海量数据
文章目录 场景:解决方案 场景: 前段时间在做一个数据同步工具,其中一个服务的任务是调用A服务的接口,将数据库中指定数据请求过来,交给kafka去判断哪些数据是需要新增,哪些数据是需要修改的。 刚开始的设…...
python函数、运算符等简单介绍3(无顺序)
set(集合) 集合(set) -> 负责存储【不重复的数据】,并且是【无序存储】 的容器,主要用来去重和逻辑比较 set1 {1,2,3,4,58,7,4,1,2,3,5} print(set1) print(type(set1)) # 输出结果: {1, 2, 3, 4, 5, 7, 58} <…...
TCP服务器(套接字通信)
服务器 客户端 结果...
【智慧工地源码】:人工智能、BIM技术、机器学习在智慧工地的应用
智慧工地云平台是专为建筑施工领域所打造的一体化信息管理平台。通过大数据、云计算、人工智能、BIM、物联网和移动互联网等高科技技术手段,将施工区域各系统数据汇总,建立可视化数字工地。同时,围绕人、机、料、法、环等各方面关键因素&…...
使用python读Excel文件并写入另一个xls模版
效果如下: 原文件内容 转化后的内容 大致代码如下: 1. load_it.py #!/usr/bin/env python import re from datetime import datetime from io import BytesIO from pathlib import Path from typing import List, Unionfrom fastapi import HTTPExcep…...
债务人去世,债权人要求其妻女承担还款责任,法院支持吗
债务人去世,债权人要求其妻女承担还款责任,法院支持吗 2019年9月20日,老张以公司资金周转为由向好友任某先后借款合计40万。2022年8月27日老张出具还款承诺书,承诺2022年11月30日前归还本息(本息90万元)到…...
arcgis pro3.0-3.0.1-3.0.2安装教程大全及安装包下载
一. 产品介绍: ArcGIS Pro 这一功能强大的单桌面 GIS 应用程序是一款功能丰富的软件,采用 ArcGIS Pro 用户社区提供的增强功能和创意进行开发。 ArcGIS Pro 支持 2D、3D 和 4D 模式下的数据可视化、高级分析和权威数据维护。 支持通过 Web GIS 在一系列 …...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
AI语音助手的Python实现
引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...
nnUNet V2修改网络——暴力替换网络为UNet++
更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...
