C语言基础练习——Day01

目录

选择题

编程题

打印从1到最大的n位数

计算日期到天数转换


选择题

1、执行下面程序,正确的输出是

int x=5,y=7;
void swap(int x, int y)
{int z;z=x;x=y;y=z;
}
int main()
{  int x=3,y=8;  swap(int x, int y);printf("%d,%d\n",x, y);return 0;
}
  • A 5, 7
  • B 7, 5
  • C 3, 8
  • D 8, 3
答案:C
💡

解析:

本题涉及到传值调用和传址调用的问题,在本题中,swap函数的形参只是接收到了xy空间的值,而不是xy所在空间的地址,所以在swap函数中交换xy的数据不影响main函数中的xy,最后输出依旧是38

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
💡

解析:

在八进制表示中,最大的数值为7,没有8的存在,故'\8'不存在,注意D是正确答案

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_PTRint*,在代码预处理阶段会被替换为int*,每一个*只对紧随着的变量有效,即int* a, b,但是用typedef更名int*int_ptr时并不存在这个问题 ,tydedef本质是将每一个变量都初始化为更名的类型的变量,即int_ptr cint_ptr d,要使b都成为指针类型,则写成int *a, *b;

4、 若给定条件表达式(M)?(a++):(a--),则其中表达式 M

  • A 和(M==0)等价
  • B 和(M==1)等价
  • 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++

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[0],和c的地址值是一样的,而%s占位符期望一个指向字符数组的指针作为参数,以便将输入的字符串存储到该数组中,程序的效果相同,也没错,但同时也必须把变量b的地址给scanf

编程题

打印从1到最大的n位数

题目链接:打印从1到最大的n位数_牛客题霸_牛客网 (nowcoder.com)

描述
输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。
1. 用返回一个整数列表来代替打印
2. n 为正整数,0 < n <= 5

思路解析:

本题的关键就是解决位权,当输入3时最大打印999,故可以知道3可以用于作为以10为底数的位权,那么此时最大数即为小于103的数值,依次生成数值存入数组中返回即可

参考代码

/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param n int整型 最大位数* @return int整型一维数组* @return int* returnSize 返回数组行数*/
int* printNumbers(int n, int* returnSize ) {int num = (int)pow(10, n);int* p = (int*)malloc(num * sizeof(int));for (int i = 1; i < num; i++) {p[i - 1] = i;}*returnSize = num - 1;return p;
}

计算日期到天数转换

题目链接:计算日期到天数转换_牛客题霸_牛客网 (nowcoder.com)

描述
根据输入的日期,计算是这一年的第几天。
保证年份为4位数且日期合法。
输入描述:
输入一行,每行空格分割,分别是年,月,日
输出描述:
输出是这一年的第几天

思路解析:

本题需要处理好闰年和非闰年的天数,注意是否要包括某个月整月的天数,其余直接加和即可

参考代码

#include <stdio.h>
int main() {int days[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};int day = 0;int month = 0;int year = 0;int sum = 0;scanf("%d%d%d", &year, &month, &day);//判断是否是闰年if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0) {//是闰年,一年共366天,二月29天for (int i = 1; i <= month; i++) {sum += days[i - 1];}sum += day;//当输入的月份大于2月份时,需要算二月份的总数if (month > 2) {sum++;}} else {//不是闰年,一年共365天,二月28天for (int i = 1; i <= month; i++) {//month = 4sum += days[i - 1];}sum += day;}printf("%d", sum);return 0;
}

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

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

相关文章

vue3怎么设置路由 Vue Route

1. 安装Vue Router npm install vue-router 2. 创建Home.vue组件 在 src/views 目录下创建一个名为 Home.vue 的文件&#xff1a; <!-- <template> 标签是Vue组件的模板部分&#xff0c;其中包含了组件的HTML结构。 --> <template><div><h1>…

2024年最新阿里云服务器地域选择方法,以及可用区说明

阿里云服务器地域和可用区怎么选择&#xff1f;地域是指云服务器所在物理数据中心的位置&#xff0c;地域选择就近选择&#xff0c;访客距离地域所在城市越近网络延迟越低&#xff0c;速度就越快&#xff1b;可用区是指同一个地域下&#xff0c;网络和电力相互独立的区域&#…

iostat命令详解

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 iostat是一个使用频率较高的命令&#xff0c;主要用来统计和输出CPU和磁盘IO信息。它的安装很简单&#xff1a; # yum -y insta…

【PyQt】16-剪切板的使用

文章目录 前言一、代码疑惑快捷键 二、现象2.1 复制粘贴文本复制粘贴 2.2 复制粘贴图片复制粘贴 2.3 复制粘贴网页 总结 前言 1、剪切板的使用 2、pycharm的编译快捷键 3、类的属性和普通变量的关系 4、pyqt应该养成的编程习惯-体现在代码里了&#xff0c;自己看看。 一、代码…

PyTorch搭建LeNet测试集实现

搭建神经网络请看PyTorch搭建LeNet神经网络-CSDN博客 实现训练集请看PyTorch搭建LeNet训练集详细实现-CSDN博客 测试集比较简单&#xff0c;直接上代码。 代码实现 # 导包 不必多说 import torch import torchvision.transforms as transforms from PIL import Image from …

Spring三种依赖注入的方式

一.Spring三种依赖注入的方式 Setter注入 注解方式 Controller public class TestController {private TestService testService;Autowiredpublic void setTestService(TestService testService) {this.testService testService;} }XML方式 <bean id"testController&q…

ContentType类型总结

ContentType类型总结 Content-Type是一个HTTP头部字段&#xff0c;用于指示资源的媒体类型&#xff08;MIME类型&#xff09;&#xff0c;以及可选的字符集和编码方式。它告诉浏览器或其他客户端如何解释接收到的数据。以下是一些常见的Content-Type类型及其用途&#xff1a; t…

并发支持库(1)-线程

线程允许多个程序任务在统一时间执行&#xff0c;不同的线程可以共享内存空间&#xff0c;每个线程也有自己的栈空间。 线程类 thread 类thread表示单个执行线程。线程在thread构造对象时开始执行。每个thread对象表示唯一的一个线程&#xff0c;thread不支持复制构造和复制…

Python函数嵌套与参数你学会了吗

如何在函数中调用其他函数&#xff0c;以及如何定义和使用函数参数。函数嵌套可以调用其他函数&#xff0c;参数列表用于封装函数中的未知数据&#xff0c;参数在函数调用时被替换。形参和实参数量需一致&#xff0c;但名字可以相同。 1.函数嵌套 一个函数中可以调用别的函数 …

Spring JdbcTemplate JpaRepository 数据库配置多个数据源连接、查询

所谓多数据源&#xff0c;就是一个项目中采用了不同数据库实例中的多个库&#xff0c;或者同一个数据库实例中多个不同的库。比如实现数据库读写分离、分库分表、备份等操作。   JdbcTemplate多数据源的配置是比较简单的&#xff0c;因为一个JdbcTemplate对应一个DataSource&…

分布式搜索引擎-elasticsearch基础

分布式搜索引擎-elasticsearch基础 1、什么是elasticsearch&#xff1f; elasticsearch是一款非常强大的开源搜索引擎&#xff0c;可以帮助我们从海量数据中快速找到需要的内容。 elasticsearch结合kibana、Logstash、Beats&#xff0c;也就是elastic stack&#xff08;ELK&a…

个人博客系列-后端项目-用户验证(5)

介绍 创建系统管理app&#xff0c;用于管理系统的用户&#xff0c;角色&#xff0c;权限&#xff0c;登录等功能&#xff0c;项目中将使用django-rest_framework进行用户认证和权限解析。这里将完成用户认证 用户验证 rest_framework.authentication模块中的认证类&#xff…

【C++】priority_queue和仿函数

priority_queue翻译过来就是优先队列&#xff0c;其实就是我们数据结构中的堆。堆这个东西之前也说过&#xff0c;它分为大根堆和小根堆&#xff0c;它的底层是一个类似数组的连续的空间&#xff0c;逻辑结构是一个完全二叉树&#xff0c;这个完全二叉树如果是小根堆的话父亲小…

Vue-03

Vue指令 v-bind 作用&#xff1a;动态设置html的标签属性&#xff08;src url title…&#xff09; 语法&#xff1a;v-bind:属性名"表达式" 举例代码如下&#xff1a; 实现效果如下&#xff1a; 案例&#xff1a;图片切换 实现代码如下&#xff1a; 实现的效果…

Redis面试问题纯享版

基础内容 1、简单介绍以下你了解的Redis 2、对比一下Redis和Memcache的异同&#xff1f; 3、为什么MySQL选用Redis作为缓存&#xff1f; 4、详细聊聊你对Redis各种数据类型的了解&#xff1f; 5、Redis中五种基本数据类型的底层数据结构是什么样的&#xff1f; Redis线程模型…

好物周刊#43:设计素材下载

https://yuque.com/cunyu1943 村雨遥的好物周刊&#xff0c;记录每周看到的有价值的信息&#xff0c;主要针对计算机领域&#xff0c;每周五发布。 一、项目 1. frp 一个专注于内网穿透的高性能的反向代理应用&#xff0c;支持 TCP、UDP、HTTP、HTTPS 等多种协议&#xff0c…

大华IPC网络摄像机如何保存视频

一、背景 通常网络相机&#xff08;IPC&#xff09;不会自带存储功能&#xff0c;需要接入录像机&#xff08;NVR&#xff09;进行保存。 其中NVR也分软件存储及硬件存储&#xff0c;这里不提&#xff0c;这边单独说FTP存储 二、配置前提 要配置FTP存储需要&#xff1a;①网络…

centos7迁移龙蜥anolis8.8-内网

一、离线仓库搭建 在内网搭建龙蜥镜像站 CentOS7下同步阿里云CentOS7镜像建本地yum仓库基本步骤 1、更新本地yum-关闭防火墙 # 将vim设置为黏贴模式&#xff0c;防止复制时自动缩进 echo "set paste" >> /root/.vimrc#设置防火墙为 Iptables 并设置空规则 s…

初识openGauss

一、openGauss 的介绍 openGauss 是一款全面友好开放&#xff0c;携手伙伴共同打造的企业级开源关系型数据库。openGauss 提供面向多核架构的极致性能、全链路的业务、数据安全、基于 AI 的调优和高效运维的能力。openGaus 深度融合华为在数据库领域多年的研发经验&#xff0c…

【python进阶篇】面向对象编程(1)

面向对象编程——Object Oriented Programming&#xff0c;简称OOP&#xff0c;是一种程序设计思想。OOP把对象作为程序的基本单元&#xff0c;一个对象包含了数据和操作数据的函数。 在Python中&#xff0c;所有数据类型都可以视为对象&#xff0c;当然也可以自定义对象。自定…