当前位置: 首页 > news >正文

C语言暑假刷题冲刺篇——day2

目录

一、选择题

二、编程题


  • 🎈个人主页:库库的里昂
  •  🎐CSDN新晋作者
  •  🎉欢迎 👍点赞✍评论⭐收藏
  • ✨收录专栏:C语言每日一练
  •   ✨其他专栏:代码小游戏C语言初阶
  • 🤝希望作者的文章能对你有所帮助,有不足的地方请在评论区留言指正,大家一起学习交流!🤗

【前言】

在大家学完初阶C语言后,有很多知识点是比较模糊的,我们应该多刷题,这样才能巩固我们所学知识。所以我开了一个新专栏C语言每日一刷,每一篇都包含5道选择题,2道编程题,每一道题后面都会有详细的解析。这个系列每日一更,大家来看看吧! 

一、选择题

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() 函数用于获取字符串的长度(即字符中字符的个数,不包括\0)。\\、\123、\t是转义字符,所以长度是12。
\\表示单个字符
\123 表示八进制的ASCII码值为123对应的字符
It 表示制表符

很多小伙伴会忘记转义字符的具体内容,这里有常用转义字符。

 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

【答案】B

【解析】

因为#define是宏定义,仅仅是直接替换,这里2替换N,N+1替换M,所以NUM为(N+1+1)*N+1/2=4*2+0=8,选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

【答案】C

【解析】

静态变量static只会被初始化一次,所以

第一次调用f(1):n=2;i=2;调用f(2)

第二次调用f(1):n=4;i=3;调用f(4)

第三次调用f(1):n=7;i=2;调用f(7)

第四次调用f(1):返回7

所以最终函数返回结果为7,选C。

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

int b;
(1)const int *a = &b;
(2)int const *a = &b;
(3)int *const a = &b;

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

【答案】B

【解析】

const修饰指针变量的效果,是根据const和*之间的相对位置来决定的    const放在*的左边意味着对应的指针不能被修改,放在*的右边意味着指针所指向的内容不能被修改。那么观察题目我们只需要找相对位置一样的即可,不难发现,(1)和(2)const和*的相对位置都是const在*的右边,故效果一样,而(3)的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.以上说法均不对

【答案】D

【解析】

A结构体要按高位对齐,int占四个字节,short占两个,char占一个字节,所以4+4+4=12;

B要判断一个双精度浮点数:if(abs(f) <= 1e-15)

C数组初始化两种方式:一种逐个赋值char a[14]={'H','e','I','I','o'};另一种char a[14]="Hello,world!"

所以选D。

二、编程题

1.OJ链接【牛客网题号: HJ76 尼科彻斯定理】【难度:简单】

验证尼科彻斯定理,即:任何一个整数 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 个连续奇数之和的形式输出。
注意:本题含有多组输入数据。
输入描述:输入一个int整数
输出描述:输出分解后的string

示例:
输入:6
输出:31+33+35+37+39+41

#include<stdio.h>
int main()
{int m = 0;while (scanf("%d", &m)){int i = 0;int ret = m * (m - 1) + 1;for (i = 1; i <= m; i++){printf("%d", ret);ret += 2;if (m != i)printf("+");}printf("\n");}return 0;
}

2.OJ链接【牛客网题号: HJ100 等差数列】【难度:简单】

等差数列 2,5,8,11,14, ... 。(从 2 开始的 3 为公差的等差数列),求等差数列前 n 项和。
注意:本题有多组输入
输入描述:输入一个正整数 n 。
输出描述:输出一个相加后的整数。

示例:
输入:2 输入:275
输出:7 输出:113575
说明:2+5=7 说明:2+5+...+821+824=113575

#include<stdio.h>
int main()
{int n = 0;while (scanf("%d", &n)){printf("%d\n", (3 * n + 1) * n / 2);}return 0;
}

好了,今天的每日一刷就到这里结束了,感谢大家的观看!

http://www.lryc.cn/news/126926.html

相关文章:

  • springcloud3 hystrix实现服务降级的案例配置2
  • 第 3 章 稀疏数组和队列(1)
  • 7-10 奇偶分家
  • 使用词向量以数学方式查找具有相似含义的单词
  • opencv实现以图搜图
  • 爬虫工作中代理失效了怎么处理?
  • 使用虚拟环境conda安装不同版本的cuda,cudnn,pytorch
  • 【24择校指南】华东师范大学计算机考研考情分析
  • 什么是LAXCUS分布式操作系统?
  • Redis数据结构——链表list
  • [自学记录06|*百人计划]Gamma矫正与线性工作流
  • 【数据结构】二叉树链式结构的实现及其常见操作
  • 从零实战SLAM-第九课(后端优化)
  • Python Opencv实践 - 图像金字塔
  • Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的固定帧率(C++)
  • 计算机竞赛 python+大数据校园卡数据分析
  • DNNGP模型解读-early stopping 和 batch normalization的使用
  • 【目标检测】目标检测 相关学习笔记
  • 面试攻略,Java 基础面试 100 问(十六)
  • 章节5:脚本注入网页-XSS
  • ATF(TF-A)安全通告 TFV-5 (CVE-2017-15031)
  • 迅捷视频工具箱:多功能音视频处理软件
  • linux--fork()详解
  • go_并发编程(1)
  • 第一百一十五回 权限管理包permission_handler
  • 【机器学习】sklearn数据集的使用,数据集的获取和划分
  • Mysql之 optimizer_trace 相关总结
  • 【Linux命令详解 | wget命令】 wget命令用于从网络下载文件,支持HTTP、HTTPS和FTP协议
  • DockePod信号处理机制与僵尸进程优化
  • NetApp StorageGRID 对象存储,使您能够跨公有、私有云和混合多云环境管理非结构化数据