【C语言】练习题专栏(9)

news2025/1/18 6:20:43

前言

今天是五道基础的选择题,包含一些简单的小知识,希望对大能有帮助。

1.

题干

在这里插入图片描述

答案

A\C\D

知识点

本题考察的知识点有两个:宏定义和typedef重定义。

宏仅仅是将INT_PTR替换成int *

int *a,b其中,a的类型是int *而b为Int,因为其中的*会与a先结合
然而int_ptr不是去简单的替换,它类似于int *a,*b

这就是typedef与宏定义的区别,
(宏定义感觉很容易出错,之后会介绍一道类似的题)

2.

题干

在这里插入图片描述

答案

A\B

知识点

这题还挺有意思的,考察的是对于scanf参数以及数组名的理解。

我们都知道scanf函数传进去的参数应该是地址,也就是指针类型的变量 ,&b不用说,肯定是对的。
而数组名除了两种特殊的情况以外(一个是取地址、一个是在sizeof中单独出现的时候,此处不再作过多的说明)都指的是首元素的地址,在此处,我们可以看到,占位符是%s:打印字符串,所以无论是传进去首元素的地址还是数组的地址,都可以完成输入。

3.

题干

在这里插入图片描述

答案

B

知识点

这道题考察的就是对于宏定义的变量的理解
(宏定义在有些时候真的挺坑的)
宏只是单纯的替换
先把用到的所有地方对宏进行替换,先不考虑运算规则,
替换的过程:N 先替换 M 中的 N 得到 2 + 1
再用 M 替换 NUM 中的 M
小提示:使用宏定义的变量的话,建议使用()帮助自己理解

4.

题干

在这里插入图片描述

答案

C

知识点

很简单的一道题,放在这里就是复习一下static的使用,此处做一个static这个知识点的拓展

static:静态的

用法一:

static修饰局部变量
本质:使变量的存储位置发生了变化
注意:变量的作用域没变,无法出作用域使用 // 延长的是生命周期

局部变量:每次进入函数会重新创建,出了函数就会销毁(将空间还给操作系统)
存储在栈区,进入作用域自动创建,出作用域自动销毁

修饰之后:
局部变量出了作用域不会回收,延长局部变量的生命周期,如果反复调用函数,会出现累积的效果
存储在静态区,直到程序结束,变量才会被回收 // static所在代码在编译期间已分配地址,其代码行在运行时不再执行,即其地址不再变化

用法二:

static修饰全局变量
修饰后:
全局变量无法在其他源文件中被引用
使其只能在其所在的源文件内部使用
即使其外部链接属性变为内部链接属性(理解即可,不用深究)

用法三:

static修饰函数
函数不存在生命周期

修饰前:函数具有外部链接属性
修饰后:外部链接属性变为内部链接属性
函数只能在其所在的源文件内部使用,其他源文件无法使用

这样就能设多个函数,并且名字一样也不会冲突

这是我另一篇文章中的原话,在此引用一下

5.

题干

在这里插入图片描述

答案

D

知识点

A

考察结构体知识中的内存对齐,在此处我只能简单的说明(因为作者还没学会):结构体的大小,是大于等于其各个成员大小之和的,之后我会出一篇文章关于结构体的详细解释。

B

考察的是两个浮点型的数据如何比较

先解释为什么不能直接用a == 0.0来判断,
首先,我们都知道数据在内存中是以二进制的形式来存储的,由于浮点数十进制转化成二进制的机制,会造成精度损失,因此在浮点数的比较中,无法直接令两个浮点数是否相等来判断两个浮点数。

那么,如何比较呢,此处提供两个方法:
在介绍之前附上我另一篇文章的链接:
浮点数在内存中的存储
可能会对大家理解下面的方法有一些帮助

方法1

#include<stdio.h>
#include<math.h>
#define EPS 0.0000000001
int main()
{
	double x = 1.0;
	double y = 0.1;
	if(fabs((x - 0.9) - y < EPS))
	printf("Yes");
	else
	printf("No");
}

当两个浮点数相减比一个很小的数还要小时,可认为两个浮点数相等
换句话说就是:在一定范围内,就认为两数相等

fabs函数

对于浮点型数据取绝对值,返回值类型是double
需要包含头文件<math.h>

方法2

#include<stdio.h>
#include<math.h>
#include<float.h>
int main()
{
	double x = 1.0;
	double y = 0.1;
	if(fabs((x - 0.9) - y < DBL_EPSILON))
	printf("Yes");
	else
	printf("No");
}
DBL_EPSILON

精度:分为自定义精度和系统精度
方法1使用的EPS就是自定义精度。
DBL_EPSILON就是系统精度,需要包含头文件
是最小的一个数

#include<float.h>

下图是DBL_EPSILON的定义
在这里插入图片描述

C

C选项就很简单了,a是数组名,存储的是首元素地址,还是char*类型的,只能存储一个字节大小的变量,hello world十四个字节只能存进去h,这个字符。

结语

这次整理的五道题就到这里了,个人感觉整理下来还是收获了很多呢,希望看完这篇文章的你也有所收获,我们下篇文章见~

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

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

相关文章

如雷贯耳的话,不战而屈人之兵

如雷贯耳的话&#xff1a;不战而屈人之兵 【安志强趣讲《孙子兵法》第10讲】 【原文】 第三篇篇名&#xff1a;谋攻篇 【趣讲大白话】 胜负计算确定&#xff0c;物资钱粮准备好了&#xff0c;就开始制定战争谋略了。 【原文】 孙子曰&#xff1a;夫用兵之法&#xff0c;全国为上…

【Linux操作系统】举例解释Linux系统编程中文件io常用的函数

在Linux系统编程中&#xff0c;文件IO操作是非常常见和重要的操作之一。通过文件IO操作&#xff0c;我们可以打开、读取、写入和关闭文件&#xff0c;对文件进行定位、复制、删除和重命名等操作。本篇博客将介绍一些常用的文件IO操作函数。 文章目录 1. open()1.1 原型、参数及…

C语言实例_奇偶校验算法

一、奇偶校验算法 奇偶校验算法&#xff08;Parity Check Algorithm&#xff09;是一种简单的错误检测方法&#xff0c;用于验证数据传输中是否发生了位错误。通过在数据中添加一个附加的奇偶位&#xff08;即校验位&#xff09;&#xff0c;来实现错误的检测和纠正。 在奇偶…

BGP知识点整理

BGP相关知识点 定义 又名&#xff1a;边界网关路由协议 属于无类别路径矢量协议 EGP—外部网关路由协议-包含BGP IGP内部网关路由协议-包含RIP OSPF EIGRP IGP协议追求&#xff1a;1、无环&#xff08;选路佳&#xff09; 2、收敛快 3、占用资源少 EGP协议的追求&#xff1a; 1…

照耀国产的星火,再度上新!

国产之光&#xff0c;星火闪耀 ⭐ 新时代的星火⭐ 多模态能力⭐ 图像生成与虚拟人视频生成⭐ 音频生成与OCR笔记收藏⭐ 助手模式更新⭐ 插件能力⭐ 代码能力⭐ 写在最后 ⭐ 新时代的星火 在这个快速变革的时代&#xff0c;人工智能正迅猛地催生着前所未有的革命。从医疗到金融…

当众讲话培训的需求分析

标题&#xff1a;当众讲话培训的需求分析 摘要&#xff1a;当众讲话是现代社会中一项重要的技能&#xff0c;对于个人和职业发展都具有重要意义。然而&#xff0c;许多人面临着当众讲话的困难和挑战。本论文旨在分析当众讲话培训的需求&#xff0c;探讨为什么人们需要这种培训…

【Java基础】Java对象的生命周期

【Java基础】Java对象的生命周期 一、概述 一个类通过编译器将一个Java文件编译为Class字节码文件&#xff0c;然后通过JVM中的解释器编译成不同操作系统的机器码。虽然操作系统不同&#xff0c;但是基于解释器的虚拟机是相同的。java类的生命周期就是指一个class文件加载到类…

C#__使用委托升级冒泡排序

// 员工类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace Delegate委托 {class Employee // 员工类{public string Name { get; set; }public double Salary { get; set; }public Employee…

二叉树的存储结构(链式存储)—— 数据结构与算法

&#x1f636;‍&#x1f32b;️Take your time ! &#x1f636;‍&#x1f32b;️ &#x1f4a5;个人主页&#xff1a;&#x1f525;&#x1f525;&#x1f525;大魔王&#x1f525;&#x1f525;&#x1f525; &#x1f4a5;代码仓库&#xff1a;&#x1f525;&#x1f525;魔…

进行 200 瓦太阳能 (PV) 模块设计以测量太阳能光伏阵列的电压、电流和功率、综合负荷频率和电压控制系统的方法研究(Simulink实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

pycharm调整最大堆发挥最大

python程序运行时&#xff0c;怎么提高效率&#xff0c;设置pycharm最大堆过程如下&#xff1b; 一、进入设置pycharm最大堆&#xff1b; 二、进入设置pycharm最大堆&#xff1b; 如果8g设置为6g左右&#xff0c;占75%左右最佳

问题记录和细节补充

【问题记录】ORA-01400: 无法将 NULL 插入 Ajax 调用为Execute Server-Side Code返回了服务器错误ORA-01400: 无法将 NULL 插入 ("YWJA"."DEPT_TEST_WXX2"."DEPT_ID")。 原因&#xff1a;主键非自增&#xff0c;输入时并未有主键值传递&#x…

串是什么,串存储结构的3种实现方法

目录 串是什么&#xff0c;串存储结构的3种实现方法 串存储结构的具体实现 串的堆分配存储结构 串的块链存储结构 串是什么&#xff0c;串存储结构的3种实现方法 数据结构中&#xff0c;字符串要单独用一种存储结构来存储&#xff0c;称为串存储结构。这里的串指的就是字符…

判断Series序列是否含有空值NaN的Series.hasnans方法

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 判断Series序列是否含有空值NaN Series.hasnans [太阳]选择题 关于以下代码的说法中正确的是? import pandas as pd import numpy as np a pd.Series([1,np.nan],index["a","…

“想都是问题,干才是答案”是错误的,雷军说也不行

前几天&#xff0c;在为什么过去十年AI创业失败了一文中提了一个观点&#xff1a; “干就完了”式思维&#xff0c;是新式的刻舟求剑&#xff0c;剧毒&#xff0c;谁吃谁死。 没想到没过几天雷老板一个演讲又把这点炒到各个媒体的头条上&#xff0c;比如&#xff1a;“雷军20…

关于月球深层内部的谜团依然存在

地球物理数据表明&#xff0c;月球地幔的底部部分熔融或含有钛铁矿&#xff0c;但改进的流变学模型使这一层的存在受到质疑。 月球的内部结构只能使用远程地球物理数据来约束。一项新的分析表明&#xff0c;月球地幔深处的一个独特层&#xff0c;靠近深层月震发生的地方&#x…

大数据:Numpy基础应用详解

Numpy基础应用 Numpy 是一个开源的 Python 科学计算库&#xff0c;用于快速处理任意维度的数组。Numpy 支持常见的数组和矩阵操作&#xff0c;对于同样的数值计算任务&#xff0c;使用 NumPy 不仅代码要简洁的多&#xff0c;而且 NumPy 的性能远远优于原生 Python&#xff0c;…

小米平板6 Max 14评测:4窗口显示就是爽 多任务体验可媲美PC

一、前言&#xff1a;小米发布新款14英寸超大屏平板 专注生产力体验 加上网课、居家办公的普及&#xff0c;再加上各大手机厂商都开始搭建起自家的生态&#xff0c;尤其平板这个以往不被重视的品类&#xff0c;也开始找到了它自身的定位。 尤其在2023年上半年发布的小米平板6 P…

深入理解Vue 3.0x中的Suspense和异步组件

深入理解Vue 3.0x中的Suspense和异步组件 Vue 3.0x作为Vue.js框架的最新版本&#xff0c;引入了许多创新特性&#xff0c;其中Suspense和异步组件是重要的改进之一。在本文中&#xff0c;我们将深入探讨这两个特性&#xff0c;了解它们如何为现代Web应用带来更好的性能和用户体…

【C++11保姆级教程】final和override

文章目录 前言一、final关键字的使用1.1final关键字修饰类1.2final关键字修饰成员函数 1.3final的优势1.4final的劣势二、override关键字的使用2.1使用override关键字重写虚函数2.3override的优势 总结 前言 在C编程中&#xff0c;我们常常需要使用继承和多态来构建复杂的程序…