C语言—每日选择题—Day56

 指针相关博客

打响指针的第一枪:指针家族-CSDN博客

深入理解:指针变量的解引用 与 加法运算-CSDN博客

第一题

1. 以下叙述中正确的是()

A:'\0' 表示字符 0

B:"a" 表示一个字符常量

C:表达式:'a' > 'b' 的结果是 假;

D:'\"' 是非法的

答案及解析 C

本题考查的是基础

A:字符' \0 '的ASCII是0,而字符 ' 0 '的ASCII值为48,所以他们不一样;

B:"a"这是一个字符串,后面有个隐藏的\0,要注意是双引号!

C:正确,看ASCII值就知道了

D:' \" ',这个是一个转义字符,\把后面的"原本表达的意思改变了,所以\"是一个新字符,正确用法。

第二题

2. 已知 int a[] = { 0,2,4,6,8,10 }, *p = a+1;其值等于0的表达式是( )

A:* (p++)

B:*(++p)

C:*(p--)

D:*(--p)

答案及解析 D

做了这么久的朋友,这个题应该没什么问题吧!

首先p指向的是a数组第二个元素的地址,而要值等于0,就要通过p拿到数组首元素的地址。

所以必须让p缩小,排除AB;

C D的区别就是前置--和后置--,前置--的表达式的值为--之后的值;后置--为--之前的值;

所以D:--p,就是数组首元素地址;*(--p) = *a = 0;

第三题

3. 在c语言中,下面能正确进行字符串赋值操作的是()

A:char s[5]={"ABCDE"};

B:char s[5]={‘A’,‘B’,’C’,’D’,’E’};

C:char *s; s="ABCDE";

D:char *s; scanf("%s",s);

答案及解析 C

C语言中,字符串必须是以’\0'结尾,所以给字符串赋值必须赋值\0;

A:s定义为5个元素的字符型数组,即最多能存放5个字符,字符串结尾符’\0’无法存放;

B:对数组赋值没错,但同A一样,没有字符串结尾符’\0’;

D:“野指针”赋值,是错误的:

C:先定义字符指针s,而后将字符串"ABCDE”的首地址赋值给指针变量s,s指向这个字符串

第四题

4. 下面C程序的输出结果是()

#include <stdio.h>
int main() 
{
    int a[5] = {1, 2, 3, 4, 5};
    int *ptr=(int *)(&a + 1);
    printf("%d, %d",*(a + 1), *(ptr - 1 ));
    return 0;
}

A:2, 5

B:1, 3

C:1, 5

D:2, 43586

答案及解析 A

这个题我记得是出现了3次,非常经典!

我建议大家可以看一下我的这个博客,没做对的自己再去做一遍,还是不行评论区发出来

深入理解:指针变量的解引用 与 加法运算-CSDN博客

第五题

5. 下面程序的输出结果是()

#include <stdio.h> 
int main() 
{
    char str1[] = "hello world";  
    char str2[] = "hello world";  
 
    const char str3[] = "hello world";  
    const char str4[] = "hello world";  
 
    const char* pstring1 = "hello world";  
    const char* pstring2 = "hello world";  
 
    if(str1 == str2) 
        printf("true,");
    else
        printf("false,");

    if(str3 == str4) 
        printf("true,");
    else
        printf("false,");

    if(pstring1 == pstring2) 
        printf("true\n");
    else
        printf("false\n");
        
    return 0;
}

A:false,false,true

B:false,false,false

C:true,true,true

D:false,true,true

答案及解析 A

本题考查的是比较变量是否相等

第一组

        这一组比较的是数组名,数组名是首元素的地址,也就是比较两个地址是否相同,一定是不相同的,因为这是两个不同的变量,这两个变量都会在栈上开辟空间,然后分别存放字符串;

第二组和第一组一个道理

第三组

这个是在栈区上定义两个指针变量,指向的一个字符串,而这两个指针变量都是存的这个字符串的首元素地址。所以比较的就是这个字符串的首元素地址;但是这个字符串是在常量区定义的,所以上下两个字符串是一样的,因为我们系统很聪明,在常量区的字符串是只读的,不可以修改。所以没必要给你弄两个字符串。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++内存布局(一)

温故而知新&#xff0c;本文浅聊和回顾下C内存布局的知识。 一、c内存布局 C的内存布局主要包括以下几个部分&#xff1a; 代码段&#xff1a;存储程序的机器代码。.数据段&#xff1a;存储全局变量和静态变量。数据段又分为初始化数据段&#xff08;存储初始化的全局变量和…

JVM基础原理篇-透彻理解类加载子系统(学习笔记)

一、从Hello World轻松理解类加载的基本过程 1.类加载子系统整体工作过程 大白话&#xff1a; 符号引用 - 相当于建房子的图纸&#xff0c;在字节码文件中 直接引用 - 建房子&#xff0c;在Java的内存模型中 这里需要注意下面的代码 这里为什么先在静态代码块给a赋值20&#xf…

(四)pytorch图像识别实战之用resnet18实现花朵分类(代码+详细注解)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、关于这个实战的一些知识点Q1&#xff1a;图像识别实战常用模块解读Q2:数据增强Q3:迁移学习Q4&#xff1a;平均全局池化Q5&#xff1a;设置哪些层需要训练时…

MongoDB的原子操作findAndReplace、findOneAndDelete和deleteMany

本文主要介绍MongoDB的原子操作findAndReplace、findOneAndDelete和deleteMany。 目录 MongoDB的原子操作一、findAndReplace二、findOneAndDelete三、deleteMany MongoDB的原子操作 MongoDB的原子操作指的是在单个操作中对数据库的数据进行读取和修改&#xff0c;并确保操作是…

JaCoCo 统计度量

1、JaCoCo: 一个判断算2个Branch&#xff0c;最后一个括号算一行 2、IDEA&#xff1a;一个判断算一个Branch&#xff0c;最后一个括号不算一行

代码随想录算法训练营Day5 | 454.四数相加||、383.赎金信、35.三个之和、18.四数之和

LeetCode 454 四数相加 || 本题思路&#xff1a; 如果使用暴力的话就是 4 层 for 循环&#xff0c;这个时间复杂度就是 O(n^4) 了。 所以我们可以使用 map &#xff0c;来解决这道题&#xff0c;和之前的两数之和一样&#xff0c;之前是 遍历一个&#xff0c;存进去一个。 如果…

一个真正的软件测试从业人员必备技能有哪些?

协同开发能力&#xff1a; 1. 项目管理&#xff08;SVN、Git&#xff09; 2. 数据分析能力&#xff08;Fiddler、Charles、浏览器F12&#xff09;。 接口测试&#xff1a; 1. 概念及接口测试原理概念&#xff08;概念、接口测试原理&#xff09; 2. 接口测试工具&#xff…

AWS向量数据库Amazon OpenSearch Service使用测评

前言 在大模型盛行的当今&#xff0c;选择适宜的数据库显得尤为重要。因为你需要面对海量训练数据&#xff0c;快速的检索至关紧要&#xff0c;以及对于存储的要求也是至关重要的。对于海量的数据查询和存储是需要巨大的算力支持。向量数据库常用在一些图像文本或者视频的生成…

硬件基础集线器、交换机、路由器原理

OSI七层模型 OSI介绍 OSI &#xff08;Open System Interconnect&#xff09;模型全称为开放式通信系统互连参考模型&#xff0c;是国际标准化组织 ( ISO ) 提出的一个试图使各种计算机在世界范围内互连为网络的标准框架 OSI将计算机网络体系结构划分为七层&#xff0c;每一…

【SQL】根据年份,查询每个月的数据量

根据年份&#xff0c;查询每个月的数据量 一种 WITH Months AS (SELECT 1 AS Month UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10 UNION…

Dokit 开源库:简化 Android 应用开发的利器

Dokit 开源库&#xff1a;简化 Android 应用开发的利器 一、Dokit 简介二、Dokit 功能三、Dokit 使用3.1 DoKit Android 最新版本3.2 DoKit Android 接入步骤 四、总结 在 Android 应用开发过程中&#xff0c;我们经常需要处理调试、性能优化和用户体验等方面的问题。然而&…

Java精品项目源码新基于协同过滤算法的旅游推荐系统(编号V69)

Java精品项目源码新基于协同过滤算法的旅游推荐系统(编号V69) 大家好&#xff0c;小辰今天给大家介绍一个基于协同过滤算法的旅游推荐系统

linux ARM64 处理器内存屏障

一、内存类型&#xff1a; ARMv8架构将系统中所有的内存&#xff0c;按照它们的特性&#xff0c;划分成两种&#xff0c;即普通内存和设备内存。并且它们是互斥的&#xff0c;也就是说系统中的某段内存要么是普通内存&#xff0c;要么是设备内存&#xff0c;不能都是。 1&…

动力电池系统介绍(十四)——热管理系统

动力电池系统介绍&#xff08;十四&#xff09; 一、梗概二、座舱热管理&#xff08;汽车空调&#xff09;2.1 空调制冷2.2 空调制热2.2.1 传统燃油汽车空调制热2.2.2 新能源汽车空调制热 三、动力系统热管理3.1 燃油车发动机热管理3.1.1 冷却系统3.1.2 润滑系统3.1.3 进排气系…

C++ Lambda表达式基础用法

语法 C11标准lambda表达式的语法非常简单&#xff0c;定义如下&#xff0c;并且语法规定lambda表达式如果存在说明符&#xff0c;那么形参列表不能省略。标准还规定能捕获的变量必须是一个自动存储类型。简单来说就是非静态的局部变量、非全局变量。 定义&#xff1a;[ captu…

纳米流体传热与计算机模拟

纳米流体传热与计算机模拟 一、引言 纳米流体传热是一个研究领域&#xff0c;主要关注纳米尺度下流体的传热特性和机制。由于纳米流体的尺寸较小&#xff0c;其传热行为与传统尺度下的流体有很大不同。近年来&#xff0c;随着计算机技术的飞速发展&#xff0c;计算机模拟成为…

TensorFlow(2):Windows安装TensorFlow

1 安装python环境 这一步请自行安装&#xff0c;这边不做介绍。 2 安装anaconda 下载路径&#xff1a;Index of /&#xff0c;用户自行选择自己的需要的版本。 3 环境配置 3.1 anaconda环境配置 找到设置&#xff0c;点击系统->系统信息->高级系统设置->环境变量…

Github 2023-12-19开源项目日报 Top10

根据Github Trendings的统计&#xff0c;今日(2023-12-19统计)共有10个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Python项目4Rust项目2非开发语言项目2C#项目1TypeScript项目1 Avalonia: 跨平台UI框架和Avalonia XPF 创建周…

高高。。。。

重点&#xff1a;存储系统/分布式系统 得到数据&#xff1a; 数据模型计算&#xff08;简单系统&#xff09;实现一个操作系统CPU&#xff08;成本高&#xff09;仿真实验 文章类型&#xff1a; 国际会议 10-15slices期刊论文 做OS研究为其他方面提供支持 一 Advanced OS …

鸿蒙开发运用ArkUI基础-实操显式动画

利用ArkUI组件不仅可以实现属性变化引起的属性动画&#xff0c;也可以实现父组件状态变化引起子组件产生动画效果&#xff0c;这种动画为显式动画。效果如图所示&#xff1a; 代码结构解读 ├──entry/src/main/ets // 代码区 │ ├──common │ │ └──…