C语言—每日选择题—Day68

第一题

1、运行以下C语言代码,输出的结果是()

#include <stdio.h>
int main()
{
    char *str[3] ={"stra", "strb", "strc"};
    char *p =str[0];
    int i = 0;
    while(i < 3)
    {
        printf("%s ",p++);
        i++;
    } 
    return 0;
}

A: stra strb strc

B: s t r

C: stra tra ra

D: s s s

答案及解析 C

这里需要注意的是printf函数,会自动识别字符串,到\0位置结束打印

而p为char*类型,p++,只会移动一个字节,p++后置++,返回++之前的值

所以第一次打印:stra,但p在t位置

第二次:tra,但p在r位置

第三次为:ra,但p在a位置

第二题

2、下列代码输出的结果是什么()

#include <stdio.h>
int main() 
{
    int m[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
    int(*p)[4] = (int(*)[4])m;
    printf("%d", p[1][2]);
    return 0;
}

A: 7

B: 3

C: 8

D: 4

答案及解析 A

这里p是一个数组指针,类型为int(*)[4]

p[1] [2] 相当于:*(*(p + 1) + 2),p的类型为int (*) [4],所以p + 1,是往后4个元素大小

相当于取到了5,6,7,8的整个地址

而数组指针,这样理解更容易:int arr[4];

&arr :表示整个数组的地址,是数组指针,对数组指针解引用:*&arr = arr;

所以对数组指针解引用得到的是数组指针开头的元素地址;

那*(p + 1) 就是5的地址,类型int*

所以*(*(p + 1) + 2),就是往后移动两个元素,到7的地址,再解引用拿出7;

第三题

3、下列程序的输出结果是( )

int main()
{
    char p1[15]="abcd", *p2="ABCD", str[50]="xyz";
    strcpy(str + 2, strcat(p1+2, p2+1));
    printf("%s", str);
    return 0;
}

A: xyabcAB

B: abcABz

C: ABabcz

D: xycdBCD

答案及解析 D

首先要记住strcpy,是覆盖到str + 2,所指向的地址,所以应该在z往后覆盖;

而strcat,是链接字符串,从p1 + 2 为起始位置,p2 + 1为起始位置,p2 + 1链接到p1 + 2末尾:cdBCD

strcpy中:就是z变成cdBCD

所以str就是xycdBCD

第四题

4、以下叙述中正确的是( )

A: 两个字符串可以用关系运算符进行大小比较
B: 函数调用strlen(s);会返回字符串s实际占用内存的大小(以字节为单位)
C: C语言本身没有提供对字符串进行整体操作的运算符
D: 当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间的和

答案及解析 C

A:错误,字符串比较需要使用strcmp函数,因为要比较相同位置的字符的ASCII值

B:错误:strlen函数返回的是到 ‘ \0 ’之前的长度,而 ' \0 '也占用了内存,并没返回实际占用内存大小;

C:正确

D:错误:在拼接的时候,是舍去了一个字符串的 '\0',结果字符串占用内存的空间应该是原字符串空间和 - 1;

第五题

5、程序的结果是什么( )

#include<stdio.h>
char* f(char* str, char ch)
{
    char* it1 = str;
    char* it2 = str;
    while(*it2 != '\0')
    {
        while (*it2 == ch)
        {
            it2++;
        } 
        *it1++ = *it2++;
    } 
    return str;
} 
int main() 
{
    char a[10];
    strcpy(a, "abcdcccd");
    printf("%s", f(a, 'c'));
    return 0;
}

A: abdcccd

B: abdd

C: abcc

D: abddcccd

答案及解析 D

这个自己按着程序思路遍历一遍就行

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

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

相关文章

代码随想录算法训练营Day50|LC123 买卖股票的最佳时机IIILC188 买卖股票的最佳时机IV

一句话总结&#xff1a;虽然是困难题&#xff0c;其实都只需要对122 买卖股票的最佳时机II稍作变形即可。 原题链接&#xff1a;123 买卖股票的最佳时机III 相较于买卖股票的最佳时机和股票II来说&#xff0c;本题加了最多操作两次的限制。那么这里实际上就可以直接用滚动数组…

JVM垃圾收集——垃圾收集器

文章目录 1、垃圾收集器的发展和分类1.1、评估垃圾收集器的性能指标1.1.1、吞吐量1.1.2、停顿时间1.1.3、吞吐量和停顿时间的比较 1.2、垃圾收集器的发展史1.3、垃圾收集器的分类1.4、查看默认的垃圾收集器 2、Serial收集器&#xff1a;串行回收3、ParNew收集器&#xff1a;并行…

基于Springboot中小企业设备管理系统设计与实现(论文+源码)_kaic

摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&a…

运筹说 第110期|生灭过程和Poisson过程

上一期我们一起学习了排队论的基本概念&#xff0c;本期小编将带大家学习生灭过程和Poisson过程。 下面&#xff0c;让我们一起来学习生灭过程和Poisson过程吧&#xff01; 一、生灭过程简介 01引言 在排队论中&#xff0c;如果N(t)表示时刻t系统中的顾客数&#xff0c;则{N…

【电控笔记5】电流环pi参数整定

旋转坐标系下的电压方程&#xff0c;由id和iq计算出ud和uq 把常数项&#xff08;上面两个红框&#xff09;拿出来解耦合&#xff0c;作为前馈&#xff0c;如下 电流环传递函数 电流带宽 响应时间 另一种方法&#xff1a;内膜控制器

pygame旋转角度发射射线

self.x self.x math.cos(math.radians(self.xuanzhuanjiao)) * 70 self.y self.y - math.sin(math.radians(self.xuanzhuanjiao)) * 70 旋转角度&#xff0c;70是间隔 间隔太小会卡 import pygame from pygame.locals import * import sys import mathpygame.init()width, …

鸿蒙HarmonyOS开发实例:【分布式关系型数据库】

介绍 本示例使用[ohos.data.relationalStore]接口和[ohos.distributedDeviceManager] 接口展示了在eTS中分布式关系型数据库的使用&#xff0c;在增、删、改、查的基本操作外&#xff0c;还包括分布式数据库的数据同步同能。 效果预览 使用说明: 启动应用后点击“ ”按钮可…

使用Ollama在本地运行AI大模型gemma

1.下载&#xff1a; https://github.com/ollama/ollama/releases 2.配置环境变量 我的电脑-右键-属性-系统-高级系统设置-环境变量-【系统环境变量】新建 变量名&#xff1a;OLLAMA_MODELS &#xff08;固定变量名&#xff09; 变量值&#xff1a;E:\Ollama\Lib &#xff0…

HNHN 笔记

1 Title HNHN: Hypergraph Networks with Hyperedge Neurons(Yihe Dong、Will Sawin、Yoshua Bengio、Mila)[ICML 2020] 2 Conclusion This study proposes a novel framework, HNHN, for hypergraph representation learning. HNHN is a hypergraph convolution network wit…

开启未来之门:Victoria VR 与 OpenAI 整合,引领 Web3 AI+AR 风潮

加密市场一直是科技创新的前沿阵地。虚拟现实&#xff08;VR&#xff09;技术和人工智能&#xff08;AI&#xff09;被认为是引领未来的重要技术之一&#xff0c;Web3 自然不会缺席这场足以改变人们生活方式的变革&#xff01; 2月份&#xff0c;Apple Vision Pro 的发售迅速引…

【linux】基础IO(四)

在上一篇基础IO中我们主要讲述了文件再磁盘中的存储&#xff0c;当然我们说的也都只是预备知识&#xff0c;为这一篇的文件系统进行铺垫。 目录 搭文件系统的架子&#xff1a;填补细节&#xff1a;inode&#xff1a;datablock[]: 更上层的理解&#xff1a; 搭文件系统的架子&a…

【日期】获取当天以及未来三天的日期和周几

// 获取当天以及未来三天的日期和周几getDates() {const today new Date();const dayOfWeek ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];const todayDate today.toDa…

Redis(持久化 -- RDB AOF)

持久化 通常我们认为持久化为: 重启进程/重启主机之后, 数据仍然存在不丢失 把数据存储在硬盘上 – 持久 把数据存储在内存中 – 不持久 Redis 持久化 redis 是一个内存数据库, 也就是说本身是不持久的(但是快[效率高]), 于是 Redis 提供了持久化机制 — RDB 和 AOF 二者都是对…

探索艺术的新领域——3D线上艺术馆如何改变艺术作品的传播方式

在数字化时代的浪潮下&#xff0c;3D线上艺术馆成为艺术家们展示和传播自己作品的新平台。不仅突破了地域和物理空间的限制&#xff0c;还提供了全新的互动体验。 一、无界限的展示空间&#xff1a;艺术家的新展示平台 3D线上艺术馆通过数字化技术&#xff0c;为艺术家提供了一…

Linux函数学习 fork

1、Linux fork 函数 pid_t fork(void); pid_t &#xff1a; 对于子进程&#xff0c;返回0 pid_t &#xff1a; 对于父进程进程&#xff0c;返回子进程进程号 int pipe(int pipefd[2]); pipefd[0] 为读取管道 pipefd[1] 为写入管道 返回值&#xff1a;-1失败 0 成功 2、函…

TMS320F280049 EPWM模块--DB子模块(4)

下图是DB子模块与其他模块的关系图&#xff0c;可以看到DB主要接收AQ的输入&#xff0c;然后输出给PC。 DB内部信号如下图所示&#xff0c;主要由IN_MODE/POLSEL/OUT_MODE来控制。RED/FED/DBCTL可以由影子加载到活动寄存器。 POLSEL可以控制4种pwm输出极性--AHC/ALC/AH/AL&…

LeetCode31. 下一个排列(Java)

题目&#xff1a; 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如&#xff0c;arr [1,2,3] &#xff0c;以下这些都可以视作 arr 的排列&#xff1a;[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。 整数数组的 下一个排列 是指其整数的下一个字典序更大的排列…

HEC-HMS水文模型

HEC-HMS是美国陆军工程兵团水文工程中心开发的一款水文模型。HMS能够模拟各种类型的降雨事件对流域水文&#xff0c;河道水动力以及水利设施的影响&#xff0c;在世界范围内得到了广泛的应用。它有着完善的前后处理软件&#xff0c;能有效减轻建模的负担&#xff1b;能够与HEC开…

2023NJU-ICS PA1.2表达式求值 思路详解 心得体会

前言 PA1.2的细节非常非常多&#xff0c;导致这几天花了大量的时间去调试bug&#xff0c;4.3晚上终于过了最后一关“如何测试你的代码”&#xff08;花了两整天时间才调成功&#xff09;。虽然耗时巨大&#xff0c;但确实学到了不少东西、训练了能力&#xff0c;于是抽几天时间…

07 Php学习:运算符

PHP 算术运算符 在 PHP 中&#xff0c;算术运算符用于执行基本的数学运算&#xff0c;包括加法、减法、乘法、除法、取余数&#xff0c;负数运算、取反和并置运算。以下是这些运算符的详细解释和示例&#xff1a; 加法运算符 &#xff1a;用于将两个数值相加。 $a 5; $b 3;…