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;
}

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

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

相关文章

【PHP】PHP入门指南:从基础到进阶

PHP&#xff08;Hypertext Preprocessor&#xff09;是一种广泛使用的服务器端脚本语言&#xff0c;尤其在Web开发领域有着重要的地位。本文旨在为初学者提供一份详尽的PHP入门指南&#xff0c;帮助您了解PHP的基础知识和语法&#xff0c;掌握基本的编程技巧&#xff0c;并熟悉…

2023年国赛数学建模思路 - 案例:退火算法

文章目录 1 退火算法原理1.1 物理背景1.2 背后的数学模型 2 退火算法实现2.1 算法流程2.2算法实现 建模资料 ## 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 退火算法原理 1.1 物理背景 在热力学上&a…

iOS 17 及 Xcode 15.0 Beta7 问题记录

1、iOS 17 真机调试问题 iOS 17之后&#xff0c;真机调试Beta版本必须使用Beta版本的Xcode来调试&#xff0c;用以前复制DeviceSupport 方式无法调试&#xff0c;新的Beta版本Xcode中&#xff0c;已经不包含 iOS 17目录。如下图&#xff1a; 解决方案&#xff1a; 1&#x…

vim+ctags使用

vimctags使用_tiefanhe的博客-CSDN博客 Ubuntu下安装Ctags 只需使用apt-get install ctags即可 熟练的使用ctags仅需记住下面七条命令&#xff1a; 1&#xff0e; $ ctags–R * ($ 为Linux系统Shell提示符) 2. $ vi –t tag(请把tag替换为您欲查找的变量或函数名) …

多数元素00

题目链接 多数元素 题目描述 注意点 给定的数组总是存在多数元素多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素 解答思路 初始想到使用map存每个元素和元素出现的次数&#xff0c;但是时间和空间都不理想因为本题给定的数组总是存在多数元素&#xff0c;使用投票算…

GitLab-CI 指南

GitLab CI 指南 前置工作 部署GitLab 部署GitLab-Runner 注册Runner到GitLab docker exec -it gitlab-runner bash # 进入容器 gitlab-runner register #调用register命令开始注册 # 在Gitlab Setting中找到Runners,如下图所示Enter the GitLab instance URL (for example, …

高品质音乐下载命令行工具Musicn

又到了小苏同学的生日&#x1f382;&#xff0c;宝贝&#xff0c;生日快乐&#xff01;祝永远健康、快乐、心想事成&#xff01; 什么是 Musicn &#xff1f; Musicn 是一个可播放及下载高品质&#x1f3b5;音乐&#x1f3b5;的命令行工具。支持咪咕、酷我、酷狗和网易云的服务…

C#设计模式之--六大原则 开闭原则

设计模式六大原则是单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则。它们不是要我们刻板的遵守&#xff0c;而是根据实际需要灵活运用。只要对它们的遵守程度在一个合理的范围内&#xff0c;努为做到一个良好的设计。本文主要介绍一下.NET(C#)…

《中国区块链发展报告(2023)》发布 和数集团推动区块链发展

北京区块链技术应用协会与社会科学文献出版社日前在京共同发布《区块链蓝皮书&#xff1a;中国区块链发展报告&#xff08;2023&#xff09;》。蓝皮书归纳梳理了2022年区块链产业发展现状及趋势&#xff0c;并结合行业热点Web3.0、AIGC&#xff0c;探讨我国区块链发展的热点话…

变动的Python爬虫实现

在电商时代&#xff0c;了解商品价格的变动对于购物者和卖家来说都非常重要。本文将分享一种基于Python的实时监控电商平台商品价格变动的爬虫实现方法。通过本文的解决方案和代码示例&#xff0c;您将能够轻松监控商品价格&#xff0c;并及时做出决策。 一、了解需求和目标 在…

GB28181/GB35114视频汇聚平台LiveGBS中如果修改默认admin用户的用户名以及其他用户的用户名

GB28181/GB35114流媒体服务搭建 搭建入口&#xff0c;解压启动即用&#xff1a;https://www.liveqing.com/docs/download/LiveGBS.html 一、功能说明 提供用户管理及 Web 可视化页面管理&#xff0c;开源的前端页面源码; 提供设备状态管理&#xff0c;可实时查看设备是否掉线…

让你对es有一个初步的了解

首先es在海量数据的搜索能力非常好&#xff0c;es你可以把他看成一个搜索引擎数据库&#xff0c;他是个非关系型数据库。他的语法有很大的不同&#xff0c;好像都是json风格的。还有一点需要说的就是es 的数据是存在硬盘上的&#xff0c; 我们先来看一下mysql和es的区别吧。一…

vue中使用echarts三维的项目

需要安装 echarts 同时引入 echarts-gl 我安装的版本&#xff1a; "echarts": "^5.3.2", "echarts-gl": "^2.0.9", 效果 &#xff1a; 安装后main.js引入 import Vue from "vue"; import * as echarts from "echart…

实验八 网卡驱动移植

【实验目的】 掌握 Linux 内核配置的基本方法&#xff0c;完成对网卡驱动、NFS 等相关功能的配置 【实验环境】 ubuntu 14.04 发行版FS4412 实验平台交叉编译工具&#xff1a;arm-none-linux-gnueabi- 【注意事项】 实验步骤中以“$”开头的命令表示在 ubuntu 环境下执行&…

ChatGPT、Google Bard、Claude2、新BING哪一款人工智能聊天机器人适合自己

人工智能聊天机器人正在提高数无数专业人士的工作效率。下面我们就来看看目前最流行的几款强大的人工智能工具&#xff0c;以及它们具体如何帮助到你。 今年7月AI圈最大的动静之一便是AI初创公司Anthropic发布了其AI聊天机器人Claude最新版本——Claude2。该聊天机器人对标Open…

大数据课程K6——Spark的Shuffle详解

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解Spark的定义&&特点&&目的&&优缺点; ⚪ 掌握Spark的相关参数配置; ⚪ 掌握Hadoop的插件配置; 一、Spark Shuffle详解 1. 概述 Shuffle,就是洗牌。之所以…

力扣 337. 打家劫舍 III

题目来源&#xff1a;https://leetcode.cn/problems/house-robber-iii/description/ C题解1&#xff08;来源代码随想录&#xff09;&#xff1a;本题一定是要后序遍历&#xff0c;因为通过递归函数的返回值来做下一步计算。本题关键是要讨论当前节点抢还是不抢。如果抢了当前节…

关于数组和指针的笔试题解析(详解)

文章目录 说明&#x1f6a9;数组笔试题&#x1f4bb;一维数组&#x1f4c4;练习&#xff1a;&#x1f4a1;解析 &#x1f4bb;字符数组&#x1f4c4;练习1&#xff1a;&#x1f4a1;解析&#x1f4c4;练习2&#xff1a;&#x1f4a1;解析&#x1f4c4;练习3&#xff1a;&#x…

诚迈科技子公司智达诚远与Unity中国达成合作,打造智能座舱新时代

2023 年 8 月 23 日&#xff0c;全球领先的实时 3D 引擎 Unity 在华合资公司 Unity 中国举办发布会&#xff0c;正式对外发布 Unity 引擎中国版——团结引擎&#xff0c;并带来专为次世代汽车智能座舱打造的团结引擎车机版。发布会上&#xff0c;诚迈科技副总裁、诚迈科技子公司…

Wireshark数据抓包分析之UDP协议

一、实验目的&#xff1a; 通过使用wireshark对UDP数据包的抓取分析UDP协议的内容 二、预备知识&#xff1a; UDP协议的概念&#xff1a;UDP使用底层的互联网协议来传送报文&#xff0c;同IP一样提供不可靠的无连接传输服务。它也不提供报文到达确认、排序及流量控制等功能。 …