C语言笔试训练【第二天】

文章目录

第一题

第二题

第三题

第四题 

第五题

第六题

第七题


  大家好,我是纪宁。

  今天是C语言笔试训练的第二天,一起加油!

第一题

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

  所以说我们要用 vs 呢,给大家看一下这段代码在 vs 中的效果

  哈哈,有几个字符是不是编译器已经分的清清楚楚了。但是,还是要解释一下。

\\:表示字符‘\’,防止被转义。

\t:表示水平制表符,也就是电脑上的 Tab 键,总之它也表示一个字符。

\ddd:\加1~3个数字,这几个数字必须是8进制的,转义为ASCII相等的一个字符。

所以\\算1个字符,123456算6个数字字符,\123算1个字符,456算3个数字字符,\t算1个字符,一共 12 个字符,所以选 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定义宏,define定义的标识符只是进行替换,如果没有加括号的话,确实可能引起一些副作用。

  将N,M的值替换进宏如下

得到的值为 8,所以选 B。 

此题考察的知识点:C环境及预处理

第三题

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 修饰时,它在出作用域后不会被销毁,意思就是i 的值第一次进入函数为1,第二次进入函数 i 的值为2,不是每次 i 的值都是1。

n=1 进入函数,开始递归

i=1,n=n+i=2

i=2,n=n+i=4

i=3,n=n+i=7

n=7>5  返回n

所以此题选 C

函数递归知识点: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 : 都一样 

此题考察 const 修饰指针变量

const 修饰指针

当const 在 * 左边的时候,指针指向的内容不能改变。

当const 在 * 右边的时候,指针变量不能改变指向。

此题中,(1)和(2)const 都是在 * 的左边,属于一个类型,都是限定 指针a指向的内容不能改变;而(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: 以上说法都不对

  这道题考察的知识点多一点。

  选项A考察结构体内存对齐内容。大家不懂的可以去看 C语言自定义类型 中的结构体内存对齐内容,写的很详细。

  选项B考察浮点数相关内容。在计算机的存储中,浮点数是不能精确存储的,判断浮点数是否相等,一般是判断这两个数作差是否小于某个极小值。

  选项C考察 字符指针 数组 相关概念。它的第一种定义方式是将 Hello,world的每个字符存入数组a中;而第二种则是将字符‘H’的地址赋值给指针 a,但Hello,world 实际上是存储在代码区中。

  A、B、C说法都不对,因此选D

第六题

6、尼科彻斯定理

验证尼科彻斯定理,即:任何一个整数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个连续奇数之和的形式输出。

进阶:时间复杂度: O(m) ,空间复杂度: O(1) 

输入描述: 输入一个int整数

输出描述: 输出分解后的string

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

  这道题看起来比较难,实际上就是找规律的题

假设将m的立方写成m个连续奇数之和的形式输出,则输出的第一个数为:

只需要再输出 m-1 个每次加2的数相加即可

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

这道题的难点反而是正确控制输出的格式。

第七题

7、等差数列

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

输入描述:输入一个正整数n。

输出描述:输出一个相加后的整数。

示例1 

输入:2  输出:7

示例2

输入:275  输出:113575

此题比较简单,直接把代码给大家吧。

#include <stdio.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",sum);
}

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

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

相关文章

26 MFC序列号函数

文章目录 Serialize对于存储文件的序列化 Serialize Serialize 是一个在 MFC (Microsoft Foundation Classes) 中常用的函数或概念。它用于将对象的数据进行序列化和反序列化&#xff0c;便于在不同的场景中保存、传输和恢复对象的状态。 在 MFC 中&#xff0c;Serialize 函数…

连锁商店数据库课程设计

连锁商店数据库课程设计 1 需求分析 1.1 需求分析 伴随着连锁超市的不断增加&#xff0c;自动化管理水平不断提高&#xff0c;连锁超市管理系统的重要性也日益体现。为了准确掌握仓库信息&#xff0c;职工信息&#xff0c;销售信息&#xff0c;商品信息&#xff0c;保证商店工作…

上半年NOA计算方案份额首发,英伟达与地平线占比超八成

进入2023年&#xff0c;一边是少数头部车企开始发力城区NOA&#xff08;领航辅助驾驶&#xff09;&#xff0c;另一边则是更多车企进入普及高速NOA的新周期。 这也意味着&#xff0c;过去集中于30万元以上车型市场的高阶智能驾驶功能&#xff08;以NOA为代表&#xff09;&#…

认识Webpack插件Plugin;CleanWebpackPlugin插件;HtmlWebpackPlugin;DefinePlugin;Mode模式

目录 1_认识插件Plugin2_CleanWebpackPlugin3_HtmlWebpackPlugin4_DefinePlugin4.1_介绍4.2_DefinePlugin的使用 5_Mode模式 1_认识插件Plugin Webpack的另一个核心是Plugin&#xff0c;官方有这样一段对Plugin的描述&#xff1a; While loaders are used to transform certai…

摄像机sd卡格式化怎么恢复数据?简单五步轻松解决

在使用摄像机时&#xff0c;有时不慎将SD卡格式化&#xff0c;导致重要的照片或视频文件丢失。然而&#xff0c;不必惊慌&#xff0c;本文将详细解释如何恢复被格式化的摄像机SD卡上的数据&#xff0c;可通过下面提供的五步&#xff0c;轻松解决数据丢失问题&#xff0c;以确保…

如何开启一个java微服务工程

安装idea IDEA常用配置和插件&#xff08;包括导入导出&#xff09; https://blog.csdn.net/qq_38586496/article/details/109382560安装配置maven 导入source创建项目 修改项目编码utf-8 File->Settings->Editor->File Encodings 修改项目的jdk maven import引入…

@ControllerAdvice注解使用及原理探究 | 京东物流技术团队

最近在新项目的开发过程中&#xff0c;遇到了个问题&#xff0c;需要将一些异常的业务流程返回给前端&#xff0c;需要提供给前端不同的响应码&#xff0c;前端再在次基础上做提示语言的国际化适配。这些异常流程涉及业务层和控制层的各个地方&#xff0c;如果每个地方都写一些…

APP开发中的性能优化:提升用户满意度的关键

APP开发中的性能优化是需要持续进行的&#xff0c;它不仅能够让用户体验到 APP的使用感受&#xff0c;还能在一定程度上提升用户的满意度&#xff0c;从而提升 APP的粘性和转化率。不过在实际开发中&#xff0c;很多 APP开发公司会存在性能优化上的问题&#xff0c;这就需要了解…

k8s的架构

简介 一个 K8s 系统&#xff0c;通常称为一个 K8s 集群&#xff0c;集群主要包括两个部分 一个 Master 节点&#xff08;主节点&#xff09; 一群 Node 节点&#xff08;计算节点&#xff09; Master节点 Master 节点包括 API Server、Scheduler、Controller manager、etcd A…

【EI/SCOPUS会议征稿】第三届物联网与机器学习国际学术会议(IoTML 2023)

第三届物联网与机器学习国际学术会议&#xff08;IoTML 2023&#xff09; 2023 3rd International Conference on Internet of Things and Machine Learning 2023年物联网与机器学习国际学术会议&#xff08;IoTML 2023&#xff09;将于2023年9月15-17日在新加坡召开。会议…

Boost开发指南-4.2ignore_unused

ignore_unused 编写代码的过程中有时会出现一些暂时用不到但又必须保留的变量&#xff0c;GCC等编译器会对此发出警告&#xff0c;使用-Wunused可以关闭这些警告消息&#xff0c;不过这也有可能导致潜在的隐患。古老的办法是使用(void)var的形式来“使用”一下变量&#xff0c…

java后端富文本转word,再传递到浏览器下载。

思路参考&#xff0c;以及所有的工具类都使用了》牧羊人大佬的代码《 有帮助的话不用给到我点赞&#xff0c;给大佬点赞即可 这是前端代码&#xff0c;必须使用get。 post后端返回的流浏览器接收不到&#xff08;具体原因不详&#xff09;。get无法传递requestBody&#xff0c;…

医学影像PACS系统源码:多功能服务器和阅片系统

PACS系统是以最新的IT技术为基础&#xff0c;遵循医疗卫生行业IHE/DICOM3.0和HL7标准&#xff0c;开发的多功能服务器和阅片系统。通过简单高性能的阅片功能&#xff0c;支持繁忙时的影像诊断业务&#xff0c;拥有保存影像的院内Web传输及离线影像等功能&#xff0c;同时具有备…

?.的写法 后缀修饰符

概览&#xff1a;处理后端返回的数据data&#xff0c;写法&#xff1a;data?.name。解决vue框架编译出现的报错Cannot read property name of undefined。出现问题的原因&#xff1a;这是因为我们试图访问对象中不在的 key 为 name 的属性&#xff0c;那么怎么解决呢&#xff…

cpolar内网穿透外网远程访问本地网站

cpolar内网穿透外网远程访问本地网站 文章目录 cpolar内网穿透外网远程访问本地网站 在现代人的生活中&#xff0c;电脑是离不开的重要设备&#xff0c;大家看到用到的各种物品都离不开电脑的支持。尽管移动电子设备发展十分迅速&#xff0c;由于其自身存在的短板&#xff0c;使…

SpringBoot2.5.6整合Elasticsearch7.12.1

SpringBoot2.5.6整合Elasticsearch7.12.1 下面将通过SpringBoot整合Elasticseach&#xff0c;SpringBoot的版本是2.5.6&#xff0c;Elasticsearch的版本是7.12.1。 SpringBoot整合Elasticsearch主要有三种方式&#xff0c;一种是通过elasticsearch-rest-high-level-client&am…

科技的成就(四十九)

381、机器人 Unimate 诞生 "1961 年&#xff0c;第一款工业机器人 Unimate 诞生。工程师恩格尔伯格受阿西莫夫小说《我&#xff0c;机器人》影响&#xff0c;与发明家德沃尔成立了 Unimation。1961 年&#xff0c;公司的第一台机器 人 Unimate 开始在通用电气新泽西工厂试…

Kotlin~Facade

概念 又称门面模式&#xff0c;为复杂系统提供简单交互接口。 角色介绍 Facade&#xff1a;外观类&#xff0c;供客户端调用&#xff0c;将请求委派给响应的子系统。SubSystem&#xff1a;子系统&#xff0c;独立的子设备或子类 UML 代码实现 class Light(val name: Strin…

STM32基础回顾

文章目录 单片机编程的原理GPIO中断EXTI外部中断定时器中断、串口中断 定时器定时器中断配置过程通用定时器输出比较功能&#xff1a;PWM波的生成定时器的输入捕获功能主从触发模式PWMI模式 定时器的编码器接口 DMA简介通信接口USART软件配置流程&#xff1a;1、仅发数据的配置…