C语言练习题Day1

在这里插入图片描述
从今天开始分享C语言的练习题,每天都分享,差不多持续16天,看完对C语言的理解可能更进一步,让我们开始今天的分享吧!

  • 题目一

执行下面的代码,输出结果是()

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

分析:首先我们可以看到x,y是全局变量,然后看主函数中,我们定义x和y,遇到一个swap的函数,看到函数里他是想交换我们的x 和y,但是我们知道,形参是实参的一份临时拷贝,改变形参并不会改变实参,所以我们在这里并不能起到交换的作用,但我们的输出是全局变量的答案呢,还是局部变量的x y,答案是局部变量的答案,在main函数这个栈帧中,我们创建局部变量,那在这个栈帧中用的就是局部变量,因为swap函数并没有起到真正的交换,所以答案就是3 和8

  • 题目二

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选项是个字符数组,那里面的内容应该就是字符,它放的是16进制的数是几个意思

  • 题目三

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
这里我们从上往下看就行了,首先我们#define就是定义的意思,后面的INT_PTR 都是int*的意思,代表它就是一个指针,所以a和b就是指针,指向的是int类型的数据。然后来到我们的typedef其实后面的代码的意思就是int int d 所以答案就是ABC

  • 题目四

4、 若给定条件表达式 (M)?(a++):(a–) ,则其中表达式 M ( )
A: 和(M0)等价 B: 和(M1)等价 C: 和(M!=0)等价 D: 和(M!=1)等价

这考的就是一个三目操作符,我们只要理解M为真就执行(a++),否则就是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
解析:我们的b是一个int类型的变量,那取出它的地址就需要加&操作符

数组名就是首元素的地址,所以我们也不需要取地址,如果加上就是整个数组的地址。

编程题
输入数字 n ,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3 ,则打印出 1、2、3 一直到最大的 3 位
数 999 。
用返回一个整数列表来代替打印
n 为正整数
OJ题【牛客网题号: JZ17 打印从1到最大的n位数】

static int a[100010];
int* printNumbers(int n, int* returnSize )
{int k=(int)pow(10,n);int i=0;for(i=1;i<k;i++){a[i-1]=i;}*returnSize=--i;return a;
}

2、根据输入的日期,计算是这一年的第几天。输入保证年份为4位数且日期合法。
输入描述:输入一行,每行空格分割,分别是年,月,日。
输出描述:输出是这一年的第几天
OJ链接添加链接描述【牛客网题号: HJ73 计算日期到天数转换】【难度:简单】
int b;
char c[10];
示例:
输入:1
返回值:[1,2,3,4,5,6,7,8,9]
int* printNumbers(int n, int* returnSize ) {
}
示例:
输入:2012 12 31 输入:1982 3 4
输出:366 输出:63

#include<stdio.h>
int main()
{int year = 0;int month = 0;int day = 0;int i = 0;scanf("%d %d %d", &year, &month, &day);if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){switch(month){case 12:i += 31;case 11:i += 30;case 10:i += 31;case 9:i += 30;case 8:i += 31;case 7:i += 31;case 6:i += 30;case 5:i += 31;case 4:i += 30;case 3:i += 31;case 2:i += 29;case 1:i += 31;if (month == 8 || month == 1 || month == 3 || month == 5 || month == 7 || month == 10 || month == 12){i = i - 31 + day;}else if (month == 2){i = i - 29 + day;}else{i = i - 30 + day;}break;}}else{switch (month){case 12:i += 31;case 11:i += 30;case 10:i += 31;case 9:i += 30;case 8:i += 31;case 7:i += 31;case 6:i += 30;case 5:i += 31;case 4:i += 30;case 3:i += 31;case 2:i += 28;case 1:i += 31;if (month == 8 || month == 1 || month == 3 || month == 5 || month == 7 || month == 10 || month == 12){i = i - 31 + day;}else if (month == 2){i = i - 28 + day;}else{i = i - 30 + day;}break;}}printf("%d",i);return 0;
}

其实还有一种简单的办法,可以创建一个数组来控制,我这里就直接用switch控制,其实我们也不用写两个switch只要加个判断是不是闰年就行。

今天的分享就到这里,我们下次再见

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

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

相关文章

【网络安全】理解报文加密、数字签名能解决的实际问题

文章目录 前言1. 防止报文泄露 —— 加密体系的出现1.1 理解非对称加密体系的实施难点1.2 加密体系的实际应用 2. 防止报文被篡改 —— 数字签名的出现2.1 数字签名的原理2.2 数字签名的实施难点2.2 数字签名的实际应用 —— 引入摘要算法 3. 实体鉴别 —— CA证书 后记 前言 …

本地镜像管理

查看 用户可以通过docker images命令查看本地所有镜像&#xff0c;如下&#xff1a; 这里一共有五个参数&#xff0c;含义分别如下&#xff1a; REPOSITORY 仓库名称&#xff0c;仓库一般用来存放同一类型的镜像。仓库的名称由其创建者指定。如果没有指定则为<none>。…

【3D激光SLAM】LOAM源代码解析--laserMapping.cpp

系列文章目录 【3D激光SLAM】LOAM源代码解析–scanRegistration.cpp 【3D激光SLAM】LOAM源代码解析–laserOdometry.cpp 【3D激光SLAM】LOAM源代码解析–laserMapping.cpp 【3D激光SLAM】LOAM源代码解析–transformMaintenance.cpp 写在前面 本系列文章将对LOAM源代码进行讲解…

C++构造函数初始化列表

构造函数的一项重要功能是对成员变量进行初始化&#xff0c;为了达到这个目的&#xff0c;可以在构造函数的函数体中对成员变量一一赋值&#xff0c;还可以采用初始化列表。 C构造函数的初始化列表使得代码更加简洁&#xff0c;请看下面的例子&#xff1a; #include <iostre…

pandas-03-组合连接数据

采集的数据存储后通常会分为多个文件或数据库&#xff0c;如何将这些文件按需拼接&#xff0c;或按键进行连接十分重要。这节将介绍数据索引的复杂操作如分层索引&#xff0c;stack,unstack,seet_index,reset_index等帮助重构数据&#xff0c;数据的拼接如merge,join,concat,co…

chatGPT-对话柏拉图

引言&#xff1a; 古希腊哲学家柏拉图&#xff0c;在他的众多著作中&#xff0c;尤以《理想国》为人所熟知。在这部杰作中&#xff0c;他勾勒了一个理想的政治制度&#xff0c;提出了各种政体&#xff0c;并阐述了他对于公正、智慧以及政治稳定的哲学观点。然而&#xff0c;其…

C++ 网络编程项目fastDFS分布式文件系统(八)--

目录 1 程序中的相关协议 1 程序中的相关协议 1. 注册 客户端 // url http: //127.0.0.1:80/reg // post 数据格式 { userName:xxxx, nickName:xxx, firstPwd:xxx, phone:xxx, email:xxx } 服务器 成功 {"code":"002"} 该用户已存在 {&q…

solidity0.8.0的应用案例13:数字签名及应用:NFT白名单

以太坊中的数字签名ECDSA,以及如何利用它发放NFT白名单 代码中的ECDSA库由OpenZeppelin的同名库简化而成。 数字签名 如果你用过opensea交易NFT,对签名就不会陌生。下图是小狐狸(metamask)钱包进行签名时弹出的窗口,它可以证明你拥有私钥的同时不需要对外公布私钥。 …

Shell基础_Shell概述及脚本执行方式

文章目录 1. Shell概述1.1 Shell是什么1.2 Shell的分类1.3 Linux支持的Shell1.4 总结 2. Shell脚本的执行方式2.1 echo输出命令2.2 第一个脚本2.3 脚本执行 1. Shell概述 1.1 Shell是什么 Shell是一个命令行解释器&#xff0c;它为用户提供了一个向Linux内核发送请求以便运行…

【Java 动态数据统计图】前后端对接数据格式(Map返回数组格式数据)六(120)

说明&#xff1a; 前端使用&#xff1a;vue3.0 前后端对接数据格式&#xff1a;无非就是前端把后端返回的数据处理为自己想要的格式&#xff0c;或者&#xff0c;后端给前端处理好想要的格式&#xff1b; 针对前后端的柱状图&#xff0c;趋势图等数据对接&#xff0c;前端一般需…

ModaHub魔搭社区:WinPin经营大脑助手

产品介绍 智慧经营助手:企业专属的“数据工程师”“BI分析师” WinPlan决策系统 算力 阿里云 腾讯云 AWS亚马逊 框架 业务数据基座 WinPlan垂直大模型 模型 分析模型 预测模型 决策模型 应用 精准预测

springboot整合第三方技术邮件系统

springboot整合第三方技术邮件系统&#xff0c;发邮件是java程序的基本操作&#xff0c;springboot整合javamail其实就是简化开发。不熟悉邮件的小伙伴可以先学习完javamail的基础操作&#xff0c;再来看这一部分内容才能感触到springboot整合javamail究竟简化了哪些操作。简化…

“R语言+遥感“水环境综合评价方法

详情点击链接&#xff1a;"R语言遥感"水环境综合评价方法 一&#xff1a;R语言 1.1 R语言特点&#xff08;R语言&#xff09; 1.2 安装R&#xff08;R语言&#xff09; 1.3 安装RStudio&#xff08;R语言&#xff09; &#xff08;1&#xff09;下载地址 &…

研磨设计模式day11代理模式

目录 场景 代码实现 ​编辑 解析 定义 代理模式调用示意图 代理模式的特点 本质 ​编辑何时选用 场景 我有一个订单类&#xff0c;包含订单数、用户名和商品名&#xff0c;有一个订单接口包含了对订单类的getter和setter 现在有一个需求&#xff0c;a创建的订单只…

Leetcode每日一题:1448. 统计二叉树中好节点的数目(2023.8.25 C++)

目录 1448. 统计二叉树中好节点的数目 题目描述&#xff1a; 实现代码与解析&#xff1a; dfs 原理思路&#xff1a; 1448. 统计二叉树中好节点的数目 题目描述&#xff1a; 给你一棵根为 root 的二叉树&#xff0c;请你返回二叉树中好节点的数目。 「好节点」X 定义为&…

机器学习实战之用 Scikit-Learn 正则化方法解决过拟合详解

你是不是在模型训练中遇到过这样的问题&#xff1a;在训练集上表现得极好&#xff0c;但在测试集上效果不佳&#xff1f;这就是过拟合的问题。 过拟合是模型在训练过程中学到了数据的“噪声”而非规律&#xff0c;导致在未知数据上表现不佳。那么怎么解决这个问题呢&#xff1…

计算机丢失msvcp110.dll是什么意思?有哪些方法可以修复

今天&#xff0c;我将和大家一起探讨一个关于计算机的问题——“计算机丢失msvcp110.dll是什么意思&#xff1f;有哪些方法可以修复&#xff1f;”这个问题在我们的日常生活中非常常见&#xff0c;尤其是在使用Windows系统的过程中&#xff0c;可能会遇到这样的问题。那么&…

ctfshow web入门 php特性 web108-web112

1.web108 strrev() 反转字符串 <?php echo strrev("Hello world!"); // 输出 "!dlrow olleH" ?> ereg 存在空字符截断(只会匹配%00前面的字符)&#xff0c;这个函数匹配到为true&#xff0c;没有匹配到为false,877为0x36d的十进制数值 payload: …

后端开发有哪几种语言? - 易智编译EaseEditing

后端开发是构建应用程序的一部分&#xff0c;负责处理服务器端的逻辑、数据库交互和数据处理。有许多编程语言可用于后端开发&#xff0c;以下是一些常见的后端开发语言&#xff1a; Java&#xff1a; Java是一种广泛使用的面向对象编程语言&#xff0c;具有强大的跨平台能力。…

哪款运动耳机好用、舒服的运动耳机推荐

如今&#xff0c;运动耳机已成为备受热捧的运动潮流单品&#xff0c;消费者对耳机的需求非常多元化。一款出色的运动耳机不仅要满足基本的运动需求&#xff0c;还需要具备丰富的功能&#xff0c;这直接决定了耳机的附加价值。接下来&#xff0c;我将向大家推荐5款佩戴舒适、牢固…