C语言小练习(二)

news2024/11/25 20:24:26

在这里插入图片描述
🌞 “去努力吧,最坏的结果不过是大器晚成!”

Day02

  • 📝 一.选择题
  • 📝二.编程题

📝 一.选择题

1.🎈、以下程序段的输出结果是( )

#include <stdio.h>
int main()
{
	char s[] = "\\123456\123456\t";
	printf("%d\n", strlen(s));
	return 0;
}

A: 12 B: 13 C: 16 D: 以上都不对

🏆答案:A
🔭答题思路:本题主要考察了转义字符以及strlen函数。关于转义字符,详细可见博客链接: 转义字符在这里插入图片描述
这里,我们主要使用了以上三种转义字符!
📖同样,我们也需要了解strlen函数,该函数用于求字符串的长度,遇到'\0'即停止。
在上述字符串中,✅答案中的12个字符分别是'\\' '1' '2' '3' '4' '5' '6' '\123' '4' '5' '6' '\t'.
通过程序运行,我们也能得到这样的结果:
在这里插入图片描述

2.🎈若有以下程序,则运行后的输出结果是( )

#include <stdio.h>
#define N 2
#define M N+1 
#define NUM (M+1)*M/2
int main()
{
	printf("%d\n", NUM);
	return 0;
}

A: 4 B: 8C: 9 D: 6

🏆答案:B
🔭答题思路:#define是一种宏,一般会用在预处理阶段,在预处理阶段,define只会替换,不会做任何的算计逻辑等处理。那么NUM就应该等于(2+1+1)*2+1/2=8.
在这里插入图片描述

3.🎈如下函数的 f(1) 的值为( )

#include <stdio.h>
int f(int n)
{
	static int i = 1;
	if (n >= 5)
		return n;
	n = n + i;
	i++;
	return f(n);
}
int main()
{
	printf("%d\n", f(1));
	return 0;
}

A: 5 B: 6 C: 7 D: 8

🏆答案:C
🔭答题思路:本题主要的就是需要了解清楚static这个关键字的用法,关于关键字的详解可以跳转至博客链接: 关键字。
在这里插入图片描述
📖本题的解题流程如下:在这里插入图片描述

4.🎈下面3段程序代码的效果一样吗( )

int b;
const int* a = &b;
int const* a = &b;
int* const a = &b;

A: (2)=(3) B: (1)=(2) C: 都不一样 D: 都一样

🏆答案:B
🔭答题思路:const*左边,则指针指向的变量的值不可直接通过指针改变(可以通过其他途径改变); 在 *的右边,则指针的指向不可变。简记为“左定值,右定向”.题目中(1)和(2)const都在 * 左边,(3)在*的右边,所以选择B.

5.🎈5、对于下面的说法,正确的是( )
A: 对于 struct X{short s;int i;char c;},sizeof(X)等于sizeof(s) + sizeof(i) + sizeof(c)
B: 对于某个double变量 a,可以使用 a == 0.0 来判断其是否为零
C: 初始化方式 char a[14] = “Hello, world!”; 和char a[14]; a = “Hello, world!”;的效果相同
D: 以上说法都不对

🏆答案:D
🔭答题思路:A 选项,没有考虑内存对齐。 B 选项,考察 double 类型的比较,由于浮点数存在误差,不能直接判断两个数是否相等,通常采用比较两数之差的绝对值是否小于一个很小的数字(具体的可自己设定这样一个数,作为误差)来确定是否相等。C 选项, a为数组首地址是常量不能改变,所以A,B,C 都是错的,选择 D
结构体和最大的类型对齐:一个格子代表一个字节,那么sizeof(X)的值应当为12,而sizeof(s) + sizeof(i) + sizeof(c)的值为7.
在这里插入图片描述

🔭我们也可以编译运行得到该结果:

#include <stdio.h>
struct X
{
	short s; 
	int i; 
	char c;
};
int main()
{
	struct X x;
	printf("%d\n", sizeof(x));
	printf("%d", sizeof(x.s) + sizeof(x.i) + sizeof(x.c));
	return 0;
}

在这里插入图片描述

📝二.编程题

1.🎈验证尼科彻斯定理,即:任何一个整数 m 的立方都可以写成 m 个连续奇数之和。例如:
13=1
23=3+5
33=7+9+11
43=13+15+17+19
输入一个正整数 m(m≤100) ,将 m 的立方写成 m 个连续奇数之和的形式输出。 注意:本题含有多组输入数据。数据范围:1≤m≤100
OJ链接【牛客网题号: HJ76 尼科彻斯定理】【难度:简单】

🔭答题思路:在这里插入图片描述
我们可以发现,第一个奇数即为n2-(n-1),那么当我们知道了第一个奇数,后面的奇数我们可以采用for循环来表示出来!对于n2我们可以用库函数pow来实现。

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <math.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	int first = pow(n, 2) - (n - 1);
	int i = 0;
	for (i = 0; i < n; i++)
	{
		printf("%d",first);
		first += 2;
		if (i < n - 1)
		{
			printf("+");
		}
	}
	return 0;
}

✅自测运行:
在这里插入图片描述
在这里插入图片描述
🎈2、等差数列 2,5,8,11,14, … 。(从 2 开始的 3 为公差的等差数列),求等差数列前 n 项和。
注意:本题有多组输入
输入描述:输入一个正整数 n 。
输出描述:输出一个相加后的整数。
数据范围: 1≤n≤1000
OJ链接【牛客网题号: HJ100 等差数列】【难度:简单】

🔭答题思路:定义一个变量,通过for循环来表示以2为首项,3为公差的每一项。同时,还需要定义一个变量通过for循环来计算前n项的和。

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <math.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	int i = 0;
	int ret = 2;
	int sum = 0;
	for (i = 0; i < n; i++)
	{
		sum += ret;
		ret += 3;
	}
	printf("%d\n", sum);
	return 0;
}

🔭样例输出:
在这里插入图片描述

好啦,第二天的练习到这里就结束啦!后期会继续更新C语言的小练笔,欢迎大家持续关注、点赞和评论!❤️❤️❤️

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

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

相关文章

蚂蚁区块链投票案例(一)---蚂蚁链简介

文章目录 摘要背景蚂蚁链简介联盟链&#xff08;合约体验链&#xff09;开放联盟链开发者测试链 总结遗留问题测试环境和生产环境的问题&#xff1f; 摘要 计划用三篇文章&#xff0c;一个月左右的时间来实现一个蚂蚁开放联盟链上的区块链投票案例&#xff0c;本文是系列第一篇…

设计模式(8)外观模式

一、 1、使用背景&#xff1a;降低访问复杂系统的内部子系统时的复杂度&#xff0c;简化客户端之间的接口。 2、定义&#xff1a; 为子系统中的一组接口定义一个一致的界面&#xff0c;此模式定义了一个高层接口&#xff0c;这个接口使得这一子系统更加容易使用。完美地体现…

恒运资本:科创板与创业板的区别?

近年来&#xff0c;跟着技能的飞速发展和立异认识的提高&#xff0c;科技立异成为了各国和企业竞相争夺的方向。在中国&#xff0c;“科创板”和“创业板”成为了人们重视的焦点。它们都是现代股票交易商场上的板块&#xff0c;但两者之间有何差异呢&#xff1f;下面从多个视点…

【allegro 17.4软件操作保姆级教程十一】表贴器件封装制作

&#x1f449;个人主页&#xff1a; highman110 &#x1f449;作者简介&#xff1a;一名硬件工程师&#xff0c;持续学习&#xff0c;不断记录&#xff0c;保持思考&#xff0c;输出干货内容 目录 封装组成元素 焊盘类型 表贴器件封装制作 环境设置 计算坐标 放置pin脚 …

pytorch基础实践-数据与预处理

文章目录 数据集Fashion-MNIST 数据集 数据预处理包的导入在Pytorch中进行 ETL利用torchvison包获取和处理数据集&#xff08;ET&#xff09; 访问数据集访问和查看 train_set 中的单个数据利用 DataLoader 成批访问数据 数据集 Fashion-MNIST 数据集 MNIST MNIST&#xff0c;…

day1 链表专题 牛客TOP100 BM 1-10

文章目录 链表BM1 反转链表BM2 链表内指定区间反转BM3 链表中的节点每k个一组翻转BM4 合并两个排序的链表BM5 合并k个已排序的链表BM6 判断链表中是否有环BM7 链表中环的入口结点BM8 链表中倒数最后k个结点BM9 删除链表的倒数第n个节点BM10 两个链表的第一个公共结点 链表 BM1…

ssm+vue绿色农产品推广应用网站源码和论文PPT

ssmvue绿色农产品推广应用网站041 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm 摘 要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高…

浅谈限流式保护器在电气线路火灾中的应用

安科瑞 华楠 电气线路起火的主要原因 1.线路短路 所谓短路就是交流电路的两根导线互相触碰&#xff0c;电流不经过线路中的用电设备&#xff0c;而直接形成回路。由于电线本身的电阻比较小&#xff0c;若仅是通过电线这个回路&#xff0c;电流就会急剧变大&#xff0c;比正常情…

HAProxy的配置与搭建

Haproxy概念 HAProxy是可提供高可用性、负载均衡以及基于TCP和HTTP应用的代理&#xff0c;是免费、快速并且可靠的一种解决方案。HAProxy非常适用于并发大&#xff08;并发量达1w以上&#xff09;web站点&#xff0c;这些站点通常又需要会话保持或七层处理。HAProxy的运行模式…

MySQL创建表报错

CREATE TABLE IF NOT EXISTS nhooo_b1 (nhooo_id INT UNSIGNED AUTO_INCREMENT,nhooo_title VARCHAR(100) NOT NULL,nhooo_author VARCHAR(40) NOT NULL,submission_date DATE,PRIMARY KEY (nhooo_id) ) ENGINEINNODB DEFAULT CHARSETutf8;创建表始终报以下错误&#xff1a; 这…

Linux操作系统调度基本准则和实现

今天分享一篇处理器调度相关的理论介绍文章。 1&#xff0c;基本概念 在多道程序系统中&#xff0c;进程的数量往往多于处理机的个数&#xff0c;进程争用处理机的情况就在所难免。处理机调度是对处理机进行分配&#xff0c;就是从就绪队列中&#xff0c;按照一定的算法&…

k8s-ingress-context deadline exceeded

报错&#xff1a; rancher-rke-01:~/rke # helm install rancher rancher-latest/rancher --namespace cattle-system --set hostnamewww.rancher.local Error: INSTALLATION FAILED: Internal error occurred: failed calling webhook "validate.nginx.ingress.kube…

【使用Node.js搭建自己的HTTP服务器】

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff0…

二叉搜索树的(查找、插入、删除)

一、二叉搜索树的概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树: 1、若它的左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值&#xff1b; 2、若它的右子树不为空&#xff0c;则右子树上所有节点的值都…

使用rook搭建Ceph集群

宿主机&#xff1a; MacBook Pro&#xff08;Apple M2 Max&#xff09; VMware Fusion Player 版本 13.0.2 VM软硬件&#xff1a; ubuntu 22.04.2 4核 CPU&#xff0c;5G 内存&#xff0c;40G硬盘 *每台机器分配硬件资源很重要&#xff0c;可以适当超过宿主机的资源量&am…

张驰咨询:有效导入精益生产咨询,企业提升竞争力的关键

精益生产是一种源于日本的先进生产管理理念&#xff0c;旨在通过消除生产过程中的浪费&#xff0c;提高生产效率和质量&#xff0c;降低成本&#xff0c;从而提升企业的竞争力。在我国&#xff0c;越来越多的企业开始尝试导入精益生产咨询&#xff0c;但效果并不尽如人意。为了…

关于slot-scope已经废弃的问题

说起来啊&#xff0c;这个问题啊&#xff0c;我之前一直没关注&#xff0c;还是webstorm给我的警告。 因为使用了element-ui的组件库&#xff0c;所以在使用组件的时候往往就cv大法了&#xff0c;直到今天用webstorm写代码是&#xff0c;提示了如下的错误 我这一看&#xff0c…

伦敦金短线好还是长线好

在伦敦金投之中&#xff0c;长期有一个争论很久的问题&#xff0c;那就是伦敦金投资究竟是长线好还是短线好&#xff1f;不同的投资者对这个问题有不同的看法&#xff0c;一般认为&#xff0c;伦敦金投资比较适合短线交易。笔者也将讨论这个问题&#xff0c;看看伦敦金投资是不…

《网络是怎样连接的》(四)

本文主要取材于 《网络是怎样连接的》 第四章。 目录 4.1 互联网的基本结构 4.2光纤接入网&#xff08;FTTH&#xff09; 4.3 接入网中使用的PPP和隧道 4.4 网络运营商的内部 4.5 跨越运营商的网络包 简述&#xff1a;本文主要内容是解释 网络包是如何通过互联网接入路由…

svg mask和stroke冲突问题

目录 先说结论各种样例首先是水平、垂直的线然后是斜线如果是图形加stroke呢用《g》标签包起来呢 总结 先说结论 实际上svg里&#xff0c;mask对svg内元素起作用的并非元素本身&#xff0c;而是元素几何形状的外包矩形&#xff0c;特别是和stroke有冲突&#xff0c;会产生奇怪…