C语言日常刷题 1
文章目录
- 题目
- 答案与解析
- 1
- 2
- 3
- 4.
- 5.
- 6.
题目
1、执行下面程序,正确的输出是( )
int x=5,y=7;
void swap()
{
int z;
z=x;
x=y;
y=z;
}
int main()
{
int x=3,y=8;
swap();
printf(“%d,%d\n”,x, y);
return 0;
}
A: 5,7 B: 7,5 C: 3,8 D: 8,3
2、以下不正确的定义语句是( )
A: double x[5] = {2.0, 4.0, 6.0, 8.0, 10.0};
B: char c2[] = {‘\x10’, ‘\xa’, ‘\8’};
C: char c1[] = {‘1’,‘2’,‘3’,‘4’,‘5’};
D: int y[5+3]={0, 1, 3, 5, 7, 9};
3、test.c 文件中包括如下语句,文件中定义的四个变量中,是指针类型的变量为【多选】( )
#define INT_PTR int*
typedef int* int_ptr;
INT_PTR a, b;
int_ptr c, d;
A: a B: b C: c D: d
4、若给定条件表达式 (M)?(a++):(a–) ,则其中表达式 M ( )
A: 和(M= =0)等价 B: 和(M==1)等价 C: 和(M!=0)等价 D: 和(M!=1)等价
5、有如下定义语句,则正确的输入语句是【多选】( )
A: scanf(“%d%s”,&b,&c); B: scanf(“%d%s”,&b,c);
C: scanf(“%d%s”,b,c); D: scanf(“%d%s”,b,&c);
6.根据输入的日期,计算是这一年的第几天。输入保证年份为4位数且日期合法。
输入描述:输入一行,每行空格分割,分别是年,月,日。
输出描述:输出是这一年的第几天
示例:
输入:2012 12 31 输入:1982 3 4
输出:366 输出:63
7.输入数字 n ,按顺序打印出从 1 到最大的 n 位十进制数。
比如输入 3 ,则打印出 1、2、3 一直到最大的 3 位数 999 。
用返回一个整数列表来代替打印
n 为正整数
答案与解析
1
正确答案:C
swap函数调用时用的是全局变量,主函数中定义的变量只在主函数中有效,因为主函数也是一个函数,它与其他函数是平行关系;输出语句这里,考虑局部优先的原则,故选C
int x = 5, y = 7;
//x,y为全局变量,在整个代码进程中都可使用void swap()//未传输参数,所以下面的x,y是使用全局变量的x,y
{int z;z = x;x = y;y = z;
}
int main()
{int x = 3, y = 8;//main 函数中的局部变量 swap();//调用swap函数,但无参数传输printf("%d,%d\n",x, y);//根据局部优先的原则,会先使用局部变量return 0;
}
2
正确答案:B
本题B选项考查转义字符,有如下格式,但八进制数字是0-7,没有8,故B选项中’\8’是错误的
\ddd ddd表示1到3个八进制数 如:\130 转义为 字符X
\xhh hh表示1到2位十六进制数 如:\x30 转义为 字符0
3
正确答案:ACD
因为#define是宏定义,仅仅是直接替换,INT_PTR a, b; 进行宏替换后代码是这样的:int *a, b;这里的int *是a的类型,b的类型是int,故此次b只是int类型。
而typedef是把该类型定义一个别名,别名是一个独立的类型了,使用这个类型创建的变量都是这个类型的。
4.
正确答案:C
给定条件表达式(M)?(a++):(a–)。 (表达式1)? (表达式2): (表达式3)为三目运算符。
计算规则为:先判断表达式1是否为真,若为真,则计算表达式2,并将表达式2的结果作为整个表达式最终的结果,表达式3不计算;否则,表达式3的结果为最终结果,表达式2不计算。
在此表达式中,若M=0,为假,计算a–; 若M≠0,为真,计算a++; 若要求与M等价,则要满足M取0时为假,取非0数值时为真。
c选项中:假定M取0,则M表示假,当M是0时,表达式M!=0不成立,为假,计算a–; 当M取非0数值时,M为真,表达式M!=0成立,为真,计算a++; 符合题意,选C
5.
正确答案:AB
&c和c两个地址值是一样的,程序的效果相同,也没错,但同时也必须把变量b的地址给scanf,故CD错误,AB正确
6.
这道题的解法其实将每个月的天数列举出来,然后根据当前月份向前累加满月的天数,然后再加上当前月所在的天数。最终考虑平闰年的 2 月份区别是否增加一天。
其中需要注意的是平年和闰年的判断,而且是闰年的月份大于 2 的时候,也就是 2 月走完,总天数才能加 1 (比如 2000年2月18日 ,虽然是闰年,但是 2月 都没走完那是不能加上闰年多出的一天的).
解法1:
int main() {int a, b, c;scanf("%d %d %d", &a, &b, &c);int count = 0;int i = 0;for (i = 1; i < b; i++)//每走过一个月就把这个月的天数加上//i<b 是因为只有这个月走完了才能将这个月的天数加起来//比如1月1日,那么就不能把1月的天数加上,1<1 ,不满足,则不会进入{if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12)count += 31;if (i == 4 || i == 6 || i == 9 || i == 11)count += 30;if (i == 2)count += 28;}count += c;//将剩余的天数加起来if (b > 2)//在为闰年,且月数超过二(2月走完)单位时候才会加一天{if ((a % 4 == 0 && a % 100 != 0) || a % 400 == 0)//闰年判定条件count++;}printf("%d\n", count);return 0;
}
解法2:
int is_leap_year(int year) //闰年判定
{if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {return 1;}return 0;
}
int main()
{int month_day[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };//将每个月的天数列举出来,然后根据当前月份向前累加满月的天数int year, month, day;while (~scanf("%d %d %d", &year, &month, &day)) {int total_day = day;//先把当前月份天数加上if (is_leap_year(year) && month > 2) { //若闰年,且月份大于2月,则在平年基础上+1total_day += 1;}for (int i = month - 1; i > 0; i--) {total_day += month_day[i];//向前累加每月的天数即可}printf("%d\n", total_day);}return 0;
}
相关文章:
C语言日常刷题 1
文章目录 题目答案与解析1234.5.6. 题目 1、执行下面程序,正确的输出是( ) int x5,y7; void swap() { int z; zx; xy; yz; } int main() { int x3,y8; swap(); printf(“%d,%d\n”,x, y); return 0; } A: 5,7 B: 7,5 C: 3,8 D: 8…...
es和数据库同步方案
5.5 课程信息索引同步 5.5.1 技术方案 通过向索引中添加课程信息最终实现了课程的搜索,我们发现课程信息是先保存在关系数据库中,而后再写入索引,这个过程是将关系数据中的数据同步到elasticsearch索引中的过程,可以简单成为索引…...
手机NFC功能是什么?
手机NFC功能是什么? 随着智能手机的不断发展和普及,NFC(近场通讯)功能已经成为了我们生活中不可或缺的一部分。NFC是一种无线通信技术,可以让手机和其他设备之间进行快速的数据交换和支付操作。那么,手机NFC功能是什么࿱…...
零拷贝技术详解
当涉及到网络编程和IO操作时,数据拷贝是一个常见的性能瓶颈。传统的数据拷贝过程中,数据需要从内核缓冲区复制到用户空间缓冲区,然后再从用户空间缓冲区复制到内核缓冲区,这个过程会耗费大量的CPU时间和内存带宽,降低系…...
【VS Code插件开发】消息通信(四)
🐱 个人主页:不叫猫先生,公众号:前端舵手 🙋♂️ 作者简介:前端领域优质作者、阿里云专家博主,共同学习共同进步,一起加油呀! 📢 资料领取:前端…...
开源硬件:下一个技术革命?
🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...
开发一个npm组件包
vue项目初始化 vue create mytest 启动项目以后 组件开发 开发的组件写在 package中 如下如例 开发一个 listpage的组件 里面放了一个a链接注册组件配置打包 "package": "vue-cli-service build --target lib ./src/package/index.js --name managerpage -…...
有限与无限游戏 | 真北荐书
2023佛山敏捷之旅暨DevOps Meetup志愿者为进行大会的组织与准备,每周三晚有一个例会。 例会前等人的时间,涌现出一个小的分享环节。今天分享这本书:《有限与无限游戏》。 大家选择成为志愿者,是一个无限游戏。而组织活动和完成各种…...
网络安全(黑客)自学剖析
想自学网络安全(黑客技术)首先你得了解什么是网络安全!什么是黑客! 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全…...
Leetcode每日一题:1267. 统计参与通信的服务器
原题 这里有一幅服务器分布图,服务器的位置标识在 m * n 的整数矩阵网格 grid 中,1 表示单元格上有服务器,0 表示没有。 如果两台服务器位于同一行或者同一列,我们就认为它们之间可以进行通信。 请你统计并返回能够与至少一台其…...
HarmonyOS开发:超详细了解项目的工程结构
前言 系列文章目录: HarmonyOS开发第一步,熟知开发工具DevEco Studio 当我们熟练的掌握了DevEco Studio之后,就可以创建项目进行练习了,和市场上大多数IDE一样,DevEco Studio也给我们提供了很多的实例模板,…...
HTML基础知识点
目录 编辑一、使用 vscode 二、研究代码的特点 三、HTML 常见标签 注释标签 标题标签 段落标签 换行标签 格式化标签 图片标签 超链接标签 表格标签 列表标签 表单标签: form 标签 input标签: select textarea标签: 无语…...
基于CBAM-CNN卷积神经网络预测研究(Python代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
iOS开发Swift-基本运算符
1.一元、二元、三元运算符 一元单一操作对象-a !b c!二元两个操作对象2 3三元三目运算符a ? b : c 2.赋值运算符() let a 10 var b 5 b a let (x, y) (1, 2)赋值运算符不返回任何值,所以 if x y { ... } 无效。 3.算术运算符 - * / 默认不允许数…...
Flink java 工具类
flink 环境构建工具类 public class ExecutionEnvUtil {/*** 从配置文件中读取配置(生效优先级:配置文件<命令行参数<系统参数)** param args* return org.apache.flink.api.java.utils.ParameterTool* date 2023/8/4 - 10:05 AM*/public static …...
2023年你需要知道的最佳预算Wi-Fi路由器清单
买新路由器?让我们帮助你挑选一些既有很多功能和性能,又经济实惠的产品。 购买Wi-Fi路由器并不一定要倾家荡产,尤其是如果你不需要一个提供数百Mbps速度的路由器。廉价路由器是一个很好的选择,它包含了许多功能,不会对钱包造成影响。 一、2023年在廉价Wi-Fi路由器中寻找…...
Go语言基础之流程控制
流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”。 Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码、降低重复代码而生的结构,属于扩展类的流程控制。 if else(分支结构…...
Git 安装、配置并把项目托管到码云 Gitee
错误聚集篇: 由于我 git 碰见大量错误,所以集合了一下: git 把项目托管到 码云出现的错误集合_打不着的大喇叭的博客-CSDN博客https://blog.csdn.net/weixin_49931650/article/details/132460492 1、安装 git 1.1 安装步骤 1.1.1 下载对应…...
C++信息学奥赛1147:最高分数的学生姓名
#include <iostream> #include <string> using namespace std; int main() {int n;// 输入一个整数ncin>>n;cin.ignore();string arr;string str;int max0;int fen;// 循环读取n个评分和对应的字符串for(int i0;i<n;i){cin>>fen>>arr;if(fen&…...
STM32使用PID调速
STM32使用PID调速 PID原理 PID算法是一种闭环控制系统中常用的算法,它结合了比例(P)、积分(I)和微分(D)三个环节,以实现对系统的控制。它的目的是使 控制系统的输出值尽可能接近预…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
