【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.hqwc.cn/news/108841.html

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

相关文章

Marin说PCB之封装设计系列---(02)--异形焊盘的封装设计总结

每天下班回家看电视本来是一件很美好的事情&#xff0c;可是正当我磕着瓜子看着异人之下的时候&#xff0c;手机突然响起来了&#xff0c;我以为是我们组哪个同事找我呢。一接电话居然是我的老朋友陈世美陈总&#xff0c;江湖人称少妇杀手。给我打电话主要是说他最近遇到一个异…

栈和队列讲解

栈和队列 栈和队列3.1 栈和队列的定义和特点3.2 案例引用3.3 栈的顺序表示和实现3.4 栈的链式表示和实现3.5 队列的顺序表示和实现3.6 队列的链式表示和实现 3.1 栈和队列的定义和特点 栈 (stack) 是限定仅在表尾进行插入或删除操作的线性表。 因此&#xff0c; 对栈来说&…

【GO语言基础】控制流

系列文章目录 【Go语言学习】ide安装与配置 【GO语言基础】前言 【GO语言基础】变量常量 【GO语言基础】数据类型 【GO语言基础】控制流 文章目录 系列文章目录条件语句if-else 结构判断一个字符串是否为空&#xff1a;switch结构 循环结构for 循环&#xff08;C风格&#xff…

微服务高可用容灾架构设计

导语 相对于过去单体或 SOA 架构&#xff0c;建设微服务架构所依赖的组件发生了改变&#xff0c;因此分析与设计高可用容灾架构方案的思路也随之改变&#xff0c;本文对微服务架构落地过程中的几种常见容灾高可用方案展开分析。 作者介绍 刘冠军 腾讯云中间件中心架构组负责…

【17 > 分布式接口幂等性】2. Update的幂等性原理解析

一、 根据 唯一业务号去更新 数据的情况 1.1 原理 1.2 操作 1.3 实战 Stage 1&#xff1a;表添加 version 字段 Stage 2&#xff1a;前端 > 版本号放入隐藏域 Stage 3&#xff1a;后台 > 使用版本号作为更新条件 二、更新操作没有唯一业务号&#xff0c;可使用Tok…

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

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

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

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

模方新建工程时,显示空三与模型坐标系不一致怎么解决

答:检查空三xml与模型的metadata.xml的坐标系是否一致&#xff0c;metadata文件是否有在data目录外面。 模方是一款针对实景三维模型的冗余碎片、水面残缺、道路不平、标牌破损、纹理拉伸模糊等共性问题研发的实景三维模型修复编辑软件。模方4.0新增单体化建模模块&#xff0c;…

安装 Gin 框架

首先需要在目录下初始化一下 go 项目 go init可以看到生成了一个go.mod文件&#xff0c;然后使用以下命令安装 gin 框架 go get -u github.com/gin-gonic/gin养成一个好习惯&#xff0c;在写项目之前先初始化项目 go mod init go mod tidy如果不初始化项目的话没有第三方库补…

递归算法学习——图像渲染,岛屿的数量,最大的岛屿

目录 ​编辑 一&#xff0c;图像渲染 1.题意 2.解释 3.题目接口 4.解题思路及代码 二&#xff0c;岛屿的数量 1.题意 2.解释 3.题目接口 4.解题思路及代码 三&#xff0c;最大的岛屿 1.题意 2.解释 3.题目接口 4.解题代码即思路 一&#xff0c;图像渲染 1.题意…

【面试题】前端开发中如何高效渲染大数据量?

前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 【国庆头像】- 国庆爱国 程序员头像&#xff01;总有一款适合你&#xff01; 在日常工作中&#xff0c;较少的能遇到一次性往页面中插入大量数据的场景…

通过Git Bash将本地文件上传到本地github

1. 新建一个仓库&#xff08; Repository&#xff09; 1.1登录Github&#xff0c;点击个人头像&#xff0c;点击Your repositories&#xff0c;点击New。 1.2 填写信息 Repository name: 仓库名称 Description(可选): 仓库描述介绍,不是必填项目。~~建议填写上哦&#xff01;…