【C语言】每日一题(半月斩)——day2

 

目录

一.选择题

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

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

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

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

5、对于下面的说法,正确的是( ) 

二,编程题

1.尼科彻斯定理

2.等差数列


 

 

一.选择题

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

int main()
{char s[] = "\\123456\123456\t";printf("%d\n", strlen(s));return 0;
}

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

解析

考察的是转义字符

\\ 表示字符'\',\123表示字符'{',\t表示制表符;

转义字符通常考察两种:

①\ddd ddd表示1~3个八进制

②\xhh hh表示1~2个十六进制

正确答案:A

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: 8         C: 9         D: 6 

解析

考察的是define宏定义

宏只是替换,替换后NUM的样子是(2+1+1)*2+1/2,计算得8 ;

#define是宏定义,只进行替换

正确答案:B

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

int f(int n)
{static int i = 1;if (n >= 5)return n;n = n + i;i++;return f(n);
}

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

解析:
考察的是函数递归

static修饰的局部变量——称为静态局部变量

 static实际修改了局部变量的存储类型,将原本应该存储在栈区的局部变量存储在静态区。静态区上数据存储的特点是,程序结束变量才被释放。我们常见的全局变量就是存储在静态区上。现在我们分析static修饰后作用域和生命周期的变化:

【作用域】:作用域不变,只是出作用域不被销毁
【生命周期】:生命周期变长,程序结束生命周期才结束

正确答案:C

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

int b;
①const int* a = &b;
②int const* a = &b;
③int* const a = &b;

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

解析:

考察的是const; 

将变量转成常量

但并不是真正的变成常量,只是语法形式变成常量;本质上还是变量,

counst 修饰的变量不能再被改变;

修饰指针有两种方法

counst int* p ;

int * counst p;

  • const 放在的左边

限制的指针指向的内容,也就是说: 不能通过指针来修改指针指向的内容

但是指针变量是可以修改的,也就是指针指向其他变量的

  • const 放在的右边

限制的是指针变量本身,指针变量不能再指向其他对象

但是可以通过指针变量来修改指向的内容

正确答案:B

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: 以上说法都不对 

 解析:

考察的是结构体和sizeof;

A.没有考虑内存对齐

B.考察浮点型的比较,由于浮点型存在误差,不能直接判断两个数是否相等,通常采用比较两个数差的绝对值是否小于一个很小的数,作为误差

C.第二种的a代表首元素的地址,地址是常量不可以改变

正确答案:D

二,编程题

1.尼科彻斯定理

验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。

例如:

1^3=1

2^3=3+5

3^3=7+9+11

4^3=13+15+17+19

输入一个正整数m(m≤100),将m的立方写成m个连续奇数之和的形式输出。

数据范围:1≤m≤100 

尼科彻斯定理——牛客网 

#include<math.h>
int main()
{int m = 0;scanf("%d", &m);//获得m的三次幂的数int ret = pow(m, 3);printf("m的立方数:%d\n", ret);//如果m是1if (m == 1){printf("%d", m);}//找到首个元素int num = m * m - m + 1;//进行循环找到后面m个数字for (int i = 0; i < m; i++){//打印首个数字if (i == 0){printf("%d ", num);}//打印后面的else {printf("+ %d ", num);}num += 2;}return 0;
}

 通过示例发现,我们只要找到相加数字串的首个数字就可以通过+2的方式找到后面m-1个;

4^3=13+15+17+19;

首数字13是4*4-4+1得到的数字,然后就是通过循环找到后面几个数字;

2.等差数列

等差数列 2,5,8,11,14。。。。
(从 2 开始的 3 为公差的等差数列)
输出求等差数列前n项和

数据范围:1≤n≤1000
输入描述:
输入一个正整数n。
 
输出描述:
输出一个相加后的整数。

等差数列———牛客网

int main()
{int n = 0;int arr[1000];scanf("%d", &n);//将等差数列存入数组for (int i = 0; i < 1000; i++){arr[i] = 3 * (i + 1) - 1;}//将等差数累加int sum = 0;for (int j = 0; j < n; j++){sum = sum + arr[j];	}printf("%d", sum);return 0;
}

 

 

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

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

相关文章

Kotlin

函数命名 针对您目前为止学到的 Kotlin 知识&#xff0c;下面给出了一些相关样式指南&#xff1a; 函数名称应采用驼峰式大小写形式&#xff0c;并且应该是动词或动词短语。每个语句都应单独占一行。左花括号应出现在函数开始行的末尾。左花括号前应有一个空格。 变量声明 变…

千兆以太网硬件设计及链路层 MAC 协议格式

以太网系列文章&#xff1a; &#xff08;1&#xff09;千兆以太网硬件设计及链路层 MAC 协议格式 &#xff08;2&#xff09;千兆以太网网络层 ARP 协议的原理与 FPGA 实现 &#xff08;3&#xff09;CRC校验代码原理 文章目录 前言一、以太网 MAC 层接口介绍1.MII 接口2.GMII…

重建大师提交空三后引擎状态是等待,怎么开启?

答&#xff1a;图片中这是在自由网空三阶段&#xff0c;整个AT都是等待中&#xff0c;可以修改任务目录和监控目录看一下&#xff0c;先设置引擎&#xff0c;再提交空三。

可变参数JAVA

public class Main {public static void main(String[] args) {//方法形参的个数是可以变化的//格式&#xff1a;属性类型...名字System.out.println(getSum(1,2,3,4,5,6,7,8));}//通过键值对对象来遍历&#xff1b;public static int getSum(int a,int...args){//可变参数;int…

IDEA2023.2.1取消空包隐藏,切换包结构(Compact Middle Packages)

解决2023版idea的包结构 取消勾选即可。 取消勾选Compact Middle Packages选项后&#xff0c;再创建包时&#xff0c;即可自动创建树形结构。 仅供学习使用&#xff01;

IP地址,子网掩码,默认网关,DNS讲解

IP地址&#xff1a;用来标识网络中一个个主机&#xff0c;IP有唯一性&#xff0c;即每台机器的IP在全世界是唯一的。 子网掩码&#xff1a;用来判断任意两台计算机的ip地址是否属于同一子网络的根据。最为简单的理解就是两台计算机各自的ip地址与子网掩码进行and运算后&#x…

黑马头条 热点文章实时计算、kafkaStream

热点文章-实时计算 1 今日内容 1.1 定时计算与实时计算 1.2 今日内容 kafkaStream 什么是流式计算kafkaStream概述kafkaStream入门案例Springboot集成kafkaStream 实时计算 用户行为发送消息kafkaStream聚合处理消息更新文章行为数量替换热点文章数据 2 实时流式计算 2…

医学访问学者申请四点规划建议

医学领域一直以来都是人类社会的重要组成部分&#xff0c;而作为一名有志于成为一名医学领域的访问学者&#xff0c;您需要明确自己的目标并做好充分准备。知识人网小编将为您提供四点规划建议&#xff0c;以帮助您成功申请医学访问学者的机会。 第一点&#xff1a;明确研究方向…

OOM分析实战

OOM分析&实战 OOM分析&实战引言&#xff1a;一、JVM内存结构二、JVM OOM错误情况三、实践案例一案例二案例三 四、总结五、分析工具推荐六、参考文献 OOM分析&实战 引言&#xff1a; 在Java开发中&#xff0c;随着应用程序变得越来越复杂&#xff0c;内存管理问题…

Debian11之稳定版本Jenkins安装

系统要求 机器要求 256 MB 内存&#xff0c;建议大于 512 MB 10 GB 的硬盘空间&#xff08;用于 Jenkins 和 Docker 镜像&#xff09;软件要求 Java 8 ( JRE 或者 JDK 都可以) Docker &#xff08;导航到网站顶部的Get Docker链接以访问适合您平台的Docker下载 Maven 用于构…

【循环冗余码检错示例】

接收方怎么看有错没有 余数为0就是无错&#xff01;

低代码框架开发平台厂家:做好产品,实现流程化办公!

在新的发展时代&#xff0c;低代码技术平台拥有诸多优势特点&#xff0c;成为广大企业实现降本、增效办公效率的得力助手。什么样的低代码框架开发平台厂家值得信任与青睐&#xff1f;都有哪些主要产品&#xff1f;为了帮助大家了解这一讯息&#xff0c;一起来了解流辰信息低代…

记录一次使用网云穿实现内网穿透操作

记录一次使用网云穿实现内网穿透操作 摘要 这段时间也很少写博客了,一方面工作表较忙,一方面觉得有些东西在百度上都能找到,甚至比我自己记录的详细,有些笔记也就没打, 这次记录笔记主要是觉得这个 网云穿 很好用,分享给大家. 1 什么是内网穿透? 内网穿透也叫内网映射&#xf…

JetBrains设置inline hint的背景色、前景色

如题。修改IDE的hint前景色和背景色。 修改后结果&#xff1a;

2023/9/14 -- C++/QT

作业&#xff1a; 仿照Vector实现MyVector&#xff0c;最主要实现二倍扩容 #include <iostream>using namespace std;template <typename T> class MyVector { private:T *data;size_t size;size_t V_capacity; public://无参构造MyVector():data(nullptr),size(…

数据可视化大屏模板 | 保姆级使用教程

近来很多朋友私信咨询怎么下载使用数据可视化大屏模板&#xff0c;在这里就给大家做一个相对简单的教程总结。有需要的朋友记得先收藏保存&#xff0c;以便不时之需。 数据可视化大屏制作软件&#xff1a;奥威BI系统 数据可视化报表模板板块&#xff1a;模板秀 主要操作&…

Redis常用应用场景

Redis是一款开源的基于内存的键值存储系统&#xff0c;它提供了多种数据结构和丰富的功能&#xff0c;适用于各种不同的应用场景。以下是Redis常用的应用场景&#xff1a; 1.缓存&#xff1a;Redis最常见的用途就是作为缓存。由于Redis存储在内存中&#xff0c;读取速度非常快…

使用navicat for mongodb连接mongodb

使用navicat for mongodb连接mongodb 安装navicat for mongodb连接mongodb 安装navicat for mongodb 上文mongodb7.0安装全过程详解我们说过&#xff0c;在安装的时候并没有勾选install mongodb compass 我们使用navicat去进行可视化的数据库管理 navicat for mongodb下载地址…

Python —— 捕获异常

1、Python中常见的异常 & 捕获异常 1、常见异常 1、NameError: name a is not defined 2、IndexError: list index out of range 3、KeyError: nam 4、ValueError: invalid literal for int() with base 10: b 5、ZeroDivisionError: div…

Windows10环境下安装VMware虚拟机来安装 CentOs7

软硬件准备 软件&#xff1a;VMware(16 pro)&#xff1a;阿里云盘分享. 硬件&#xff1a;因为是在宿主机上运行虚拟化软件VMware安装centos&#xff0c;所以对宿主机的配置有一定的要求。最起码i5CPU双核、硬盘500G、内存4G以上。 镜像&#xff1a;CentOS7 ,下载地址 http://is…