2023C语言暑假作业day1

1 选择题

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
答案解析:
正确答案:C
swap函数调用时用的是全局变量,主函数中定义的变量只在主函数中有效,因为主函数也是一个函数,它与其他函数是平行关系;输出语句这里,考虑局部优先的原则,故选C

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

答案解析:
正确答案:B
本题B选项考查转义字符,有如下格式,但八进制数字是0-7,没有8,故B选项中’\8’是错误的
\ddd ddd表示1到3个八进制数 如:\130 转义为 字符X
\xhh hh表示1到2位十六进制数 如:\x30 转义为 字符0

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
答案解析:
正确答案:ACD
因为#define是宏定义,仅仅是直接替换,INT_PTR a, b; 进行宏替换后代码是这样的:int *a, b;这里的int *是a的类型,b的类型是int,故此次b只是int类型。而typedef是把该类型定义一个别名,别名是一个独立的类型了,使用这个类型创建的变量都是这个类型的
所以 a,c,d才是指针类型

4

若给定条件表达式 (M)?(a++):(a–) ,则其中表达式M
A: 和(M0)等价 B: 和(M1)等价 C: 和(M!=0)等价 D: 和(M!=1)等价
答案解析:
正确答案: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

有如下定义语句,则正确的输入语句是【多选】

int b;
char c[10];

A: scanf(“%d%s”,&b,&c); B: scanf(“%d%s”,&b,c);C: scanf(“%d%s”,b,c); D: scanf(“%d%s”,b,&c);
答案解析:
正确答案:AB
&c和c两个地址值是一样的,程序的效果相同,也没错,但同时也必须把变量b的地址给scanf,故CD错误,AB正确

2 编程题

输入数字 n ,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3 ,则打印出 1、2、3 一直到最大的 3 位数 999 用返回一个整数列表来代替打印
n 为正整数
OJ链接【牛客网题号: JZ17 打印从1到最大的n位数】【难度:入门】
示例:
输入:1
返回值:[1,2,3,4,5,6,7,8,9]
【答案解析】:
这里首先要清楚n位数中最大的数字,实际上就是 10^n - 1 比如:
1位数: 10^1 - 1
2位数: 10^2 - 1
3位数: 10^3 - 1

这个清楚后动态申请空间,将数值填入就可以了,需要注意的是数组下标从0开始,而数值从1开始

int* printNumbers(int n, int* returnSize ) 
{
*returnSize = pow(10, n) - 1; //确定最大的数字
int *arr = (int *)malloc(sizeof(int)*(*returnSize));//申请足够大小的空间
for (int i = 0; i < *returnSize; i++) {
arr[i] = i+1;//下标从0开始,而数值从1开始
} 
return arr;
}

2

根据输入的日期,计算是这一年的第几天。输入保证年份为4位数且日期合法
输入描述:输入一行,每行空格分割,分别是年,月,日
输出描述:输出是这一年的第几天
OJ链接【牛客网题号: HJ73 计算日期到天数转换】【难度:简单】

例:
输入:2012 12 31
输出:366
输入:1982 3 4
输出:63
这道题简单解法其实将每个月的天数枚举出来,然后根据当前月份向前累加满月的天数,然后再加上当前月所在的
天数。最终考虑平闰年的 2 月份区别是否增加一天
其中需要注意的是平年和闰年的判断,而且是闰年的月份大于 2 的时候,也就是 2 月走完,总天数才能加 1 (比
如 2000年2月18日 ,虽然是闰年,但是 2月 都没走完那是不能加上闰年多出的一天的)

#include <stdio.h>
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月,则在平年基础上+1
total_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/6296.shtml

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

相关文章

Linux的tcpdump命令详解

tcpdump 一款sniffer工具&#xff0c;是Linux上的抓包工具&#xff0c;嗅探器 补充说明 tcpdump命令 是一款抓包&#xff0c;嗅探器工具&#xff0c;它可以打印所有经过网络接口的数据包的头信息&#xff0c;也可以使用-w选项将数据包保存到文件中&#xff0c;方便以后分析。…

基于Matlab自抗扰控制器及其PID控制(附上完整源码+数据)

文章目录 说明完整源码数据下载 说明 自抗扰控制器&#xff08;Active Disturbance Rejection Control, ADRC&#xff09;是一种新型的控制策略&#xff0c;它具有强大的抗干扰能力和良好的控制性能。与传统的PID控制器相比&#xff0c;ADRC能够更好地抑制系统的干扰&#xff…

ffplay播放器剖析(5)----视频输出剖析

文章目录 1.视频输出模块1.1 视频输出初始化1.1.1 视频输出初始化主要流程1.1.2 calculate_display_rect初始化显示窗口大小 1.2 视频输出逻辑1.2.1 event_loop开始处理SDL事件1.2.2 video_refresh1.2.2.1 计算上一帧显示时长,判断是否还要继续上一帧1.2.2.2 估算当前帧显示时长…

笔记本电脑的电池健康:确保长时间使用和优异性能的关键

笔记本电脑已经成为我们日常生活中不可或缺的工具&#xff0c;无论是办公、学习还是娱乐&#xff0c;我们都依赖着它的便携性和高效性能。而在所有的硬件组件中&#xff0c;电池健康被认为是确保长时间使用和良好性能的关键因素之一。一块健康的电池不仅能提供持久的续航时间&a…

CHI协议保序之Compack保序

一致性系统中&#xff0c;使用三种保序方式&#xff1b; Completion ack response ⭕Completion acknowledgment&#xff1a; □ 该域段主要是用来&#xff0c; □ 决定 RN 发送的 trans&#xff0c;与其他 RN 发送的命令产生的 SNP 之间的顺序&#xff1b; …

MySQL存储过程——系统变量

1.存储过程中的变量 1.1 查看系统变量 查看所有的系统变量 show variables;查看会话级别的系统变量 show session variables&#xff1b;查看会话和auto相关的变量 show session variables like auto%;查看全局的和auto相关变量 show global variables like auto%;查看某一…

R语言贝叶斯METROPOLIS-HASTINGS GIBBS 吉布斯采样器估计变点指数分布分析泊松过程车站等待时间...

原文链接&#xff1a;http://tecdat.cn/?p26578 指数分布是泊松过程中事件之间时间的概率分布&#xff0c;因此它用于预测到下一个事件的等待时间&#xff0c;例如&#xff0c;您需要在公共汽车站等待的时间&#xff0c;直到下一班车到了&#xff08;点击文末“阅读原文”获取…

CPU,GPU,MCU,SOC,NPU,DPU,内核,架构简略区分

1.架构 架构由不同的指令集构成&#xff0c;不同的侧重方向的指令集构成不同的软件架构&#xff0c;如ARM架构和X86架构等。 2.内核 内核可以看做是不同的软件架构&#xff0c;铺设上一些外设之后构成&#xff0c;相当于软件架构的载体实现&#xff0c;架构是一堆软件代码&a…

ext4 - delay allocation数据结构

概述 延迟分配delay allocation是ext4非常重要的特性&#xff0c;启用该特性write系统将用户空间buffer写入内存page cache中即返回&#xff0c;此时也不会真正进行磁盘block分配&#xff0c;而是延迟到磁盘回写时&#xff08;比如dirty ratio达到一定值&#xff0c;定时刷新&…

LeetCode笔记:Biweekly Contest 109

LeetCode笔记&#xff1a;Biweekly Contest 109 1. 题目一 1. 解题思路2. 代码实现 2. 题目二 1. 解题思路2. 代码实现 3. 题目三 1. 解题思路2. 代码实现 4. 题目四 1. 解题思路2. 代码实现 比赛链接&#xff1a;https://leetcode.com/contest/biweekly-contest-109/ 1. 题…

【华为c# OD机考参考答案】01---IPv4地址转换成整数

题目 1、题目 01---IPv4地址转换成整数2、解图思路 1、IP地址转为二进制 2、二进制转十进制 3、注意事项 1、IP地址的范围判断 2、空字符串判断 3、非法字符判断 4、考点 1、string的split 、convert等相关用法 2、正则表达式 3、进制转换 4、理解32位整数的意思 5、代码 判…

【NOSQL】MongoDB

MongoDB MongoDB简介体系结构Linux系统中的安装启动和连接&#xff08;1&#xff09;先到官网下载压缩包——>解压——>重命名新建几个目录&#xff0c;分别用来存储数据和日志&#xff1a;新建并修改配置文件官网下载MongoDB Compass MongoDB简介 MongoDB是一个开源、高…

MySQL 权限问题:当 USAGE 碰到 GRANT OPTION

本文分享的是 MySQL 中权限搭配使用不当时可能引发的问题。 作者&#xff1a;佟宇航 爱可生南区交付服务部 DBA 团队成员&#xff0c;主要负责 MySQL 故障处理以及平台技术支持。 本文来源&#xff1a;原创投稿 爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&am…

【八股】【计算机网络】

这里写目录标题 OSI 的七层模型TCP/IP模型HTTP 是什么&#xff1f;HTTP状态码HTTP 常见字段GET 和 POST 有什么区别&#xff1f;GET 和 POST 方法都是安全和幂等的吗&#xff1f;HTTP 缓存HTTP 优缺点HTTP 性能HTTP 与 HTTPSHTTPSHTTPS连接过程与一定可靠吗HTTP演进版本HTTP/1.…

湖大CG满分教程:作业训练三编程题15. 公交系统

【问题描述】 城市公交系统有一个记录仪&#xff0c;用于记录每个站点的乘客人数的变化情况&#xff0c;例如&#xff1a;x表示到站前公交车上的乘客人数&#xff0c;y表示离站时公交车上的乘客人数&#xff0c;则该记录仪记录的该站的数字为y-x。 对于一辆公交车和n个车站&…

解决R语言读取数据自动置换符号问题,例如把TCGA样本中的-读取为·

解决方案 在使用R语言read.csv()函数读取csv文件时&#xff0c;会自动把TCGA样本中的-替换为.&#xff0c;为后续数据处理带来不便。 解决方法&#xff1a;在函数中添加check.namesFALSE data <- read.csv("file.csv",check.namesFALSE)具体解释 check.names是…

C# List 详解二

目录 5.Clear() 6.Contains(T) 7.ConvertAll(Converter) ,toutput> 8.CopyTo(Int32, T[], Int32, Int32) 9.CopyTo(T[]) 10.CopyTo(T[], Int32) C# List 详解一 1.Add(T)&#xff0c;2.AddRange(IEnumerable)&#xff0c;3.AsReadOnly()&…

pytorch创建和操作tensor

import torch import numpy as np### 1. 由函数创建 x torch.zeros(5, 3, dtypetorch.int64) # 指定数据类型 print(x.dtype) x torch.zeros(5, 3) # 默认数据类型为torch.float32 print(x.dtype)x torch.rand(5, 3)x torch.torch.ones(10,2,3) x torch.empty(5, 3)# Re…

Matlab的GUI设计

文章目录 AppDesigner各个版本的特点mlapp文件基本格式AppDesigner的回调函数常见控件的属性MVC模式MVC模式设计GUIMVC简单使用 其他让app designer置顶将Guide的GUI导出为m文件将app编译为exe将app中的多个控件组合在一起 AppDesigner 20200328 各个版本的特点 在2017b版本中…

【JavaEE】Spring中注解的方式去获取Bean对象

【JavaEE】Spring的开发要点总结&#xff08;3&#xff09; 文章目录 【JavaEE】Spring的开发要点总结&#xff08;3&#xff09;1. 属性注入1.1 Autowired注解1.2 依赖查找 VS 依赖注入1.3 配合Qualifier 筛选Bean对象1.4 属性注入的优缺点 2. Setter注入2.1 Autowired注解2.2…