C语言—每日选择题—Day42

news2024/9/20 12:41:04

第一题

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

#include <stdio.h>
int main () 
{
    int x;
    x = printf("I See, Sea in C");
    printf("x=%d" , x); 
}

A:2

B:随机值

C:都不是

D:15

答案及解析 D

printf函数的返回值是int类型,返回的是打印出的字符的个数,并且printf遇到\0结束打印,所以题中共有15个字符,x就为15;

详情可以看这里:printf返回值的定义与举例-CSDN博客

第二题

2. 求函数返回值,输入x=9999

int func(int x)
{
    int count = 0;
    while (x)
    {
        count++;
        x = x&(x - 1);
    }
    return count;
}

A:8

B:9

C:10

D:12

答案及解析 A

本题有一个位运算的公式,x & (x - 1)可以消除最右侧的1,使其变为0;所以这个while循环的作用就是看x有多少个1的;

9999的二进制位:10011100001111

一共有8个1,所以返回的就是8

第三题

3. 下面程序的1,2,3处表达式的值为()

int main()
{
    int n = 1;
    ++n;
    n++; // 1
    --n; // 2
    ++n; // 3
    return 0;
}

A:2 2 3

B:2 2 2

C:2 3 2

D:2 1 1

答案及解析 A

本题考查的是前置++和后置++ 的区别;

前置++,返回的是++之后的值,后置++返回的是++之前的值;--也是;

别忘了1处上面有个++n;

所以1处:表达式的值为2,但是n = 3;

2处:表达式的值为2,n = 2;

3处:表达式的值为3,n = 3;

在C++中的运算符重载就很好地可以看出,前置++和后置++的区别;前置++返回的就是++之后的值,而后置++,是将这个数拷贝了一份返回去,但是这个数自身已经增加1了;

    A& operator++()
    {
        *this += 1;
        return *this;
    }
    A operator++(int)
    {
        A copy = *this;
        *this += 1;
        return copy;
    }

第四题

4. 有如下代码段:

char x[ ]="abcdefg";
char y[ ]={'a','b','c','d','e','f','g'};

则正确的叙述为()

A:数组 x 和数组 y 等价

B:strlen(x) > strlen(y)

C:strlen(y) >= strlen(x)

D:sizeof(y) > sizeof(x)

答案及解析 C

A:错误,x是一个字符串,而y是一个字符数组,字符串和字符数组的区别就是末尾有没有隐藏的\0,字符串末尾一定是有一个隐藏的\0,但是字符数组的\0的具体位置是随机的;

B错C对:因为strlen函数是求字符串长度的,其中只有遇到\0才会停止计算,然后返回\0之前的字符个数,上面也说了,y这个字符数组的\0的位置是不确定的,所以可能在末尾,也可能在更之后,所以strlen(y) >= strlen(x)的;

D:错误,x的大,这个是计算占用多少内存的,x有个隐藏的\0也是申请空间了的;

第五题

5. 有以下定义和语句,则 *( p[0] + 1) 所代表的数组元素是()

int a[3][2] = {1, 2, 3, 4, 5, 6}, *p[3];
p[0] = a[1];

A:a[ 0 ][ 1 ]

B:a[ 1 ][ 0 ]

C:a[ 1 ][ 1 ]

D:a[ 1 ][ 2 ]

答案及解析

首先,int *p[ 3 ]是一个指针数组,因为[ ]的优先级高,所以会先形成数组,然后每个元素的类型是int*;其次p [ 0 ]存的是a[ 1 ]的地址,a[ 1 ]代表的是这个二维数组第二行的首元素地址;因为a[ 1 ][ 2 ]相当于的就是第二行这个一维数组,a[ 1 ]就是这个一维数组的数组名,数组名代表首元素地址,也就是a[ 1 ][ 0 ]的地址;

p[ 0 ] <==> a[ 1 ] <==> &a[ 1 ][ 0 ]

p[ 0 ] + 1 <==> &a [ 1 ][ 0 ] + 1 <==> &a[ 1 ][ 1 ]

*(p[ 0 ] + 1)  <== > a[ 1 ][ 1 ]

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

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

相关文章

SpringBoot运维中的高级配置

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开心好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;…

Excel高效办公:文秘与行政办公的智能化革新

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f91f; 代理 IP 推荐&#xff1a;&#x1f449;品易 HTTP 代理 IP &#x1f485; 想寻找共同学习交流的小伙伴&#xff0c…

数据库常用分库分表方案

为什么需要分库分表 分库分表是因应数据库处理大规模数据时所面临的挑战而出现的解决方案. // 提高性能 单个数据库在数据量增加时容易出现性能瓶颈。分库分表可以减轻单个数据库的负担&#xff0c;提高系统的读写性能和响应速度. // 提高并发能力 大量用户同时访问数据库可能…

电信网关配置管理系统后台 upload.php 文件上传漏洞复现

0x01 产品简介 中国电信集团有限公司(英文名称“China Telecom”、简称“中国电信”)成立于2000年9月,是中国特大型国有通信企业、上海世博会全球合作伙伴。 0x02 漏洞概述 电信网关配置管理系统后台 /manager/teletext/material/upload.php 接口存在文件上传漏洞,攻击者…

Python实现图形的几何变换

一、能够提供对话框窗口&#xff0c;输入三角形的顶点坐标&#xff1b;或者&#xff0c;采用鼠标左键单击方式输入三角形的顶点坐标。 二、对输入的三角形顶点坐标进行五种基本几何变换&#xff1a; 对于平移变换&#xff0c;能够提供对话框窗口&#xff0c;输入平移向量&…

Openlayers 加载 Geoserver 图层以及切换图层样式

Openlayers 加载 Geoserver 图层以及切换图层样式 图层样式核心代码完整代码&#xff1a;在线示例 Openlayers 加载 Geoserver 图层&#xff0c;切换样式也是在项目中遇到的需求&#xff0c;现在介绍一下比较简单但是实用性一般的方法。 后期出一篇自由设置属性字段样式的博客…

Qt 自定义类时,手动添加 Q_OBJECT 出现错误

如图所示&#xff1a; 原因&#xff1a;没有自动生成 moc_ 文件。 可以去看一看自己项目文件里&#xff0c;我看了确实没有。 起因&#xff1a;创建类时 没有选择父类 或者 手动创建的 .h 和 .cpp 文件 解决办法&#xff1a; 1.最直接的&#xff1a;重新创建类&#xff0c;…

scrapy post请求——百度翻译(十四)

scrapy处理 post 请求 爬取百度翻译界面 目录 1.创建项目及爬虫文件 2.发送post请求 1.创建项目及爬虫文件 scrapy startproject scrapy_104 scrapy genspider translate fanyi.baidu.com 2.发送请求 post请求需要传递参数&#xff0c;所以就不能用start_urls和parse函数了&…

NSSCTF第16页(1)

[湖湘杯 2021 final]vote 是有附件&#xff0c;下载下来解压 在/vote-1637654763\www\routes下找到了源码 这道题的考点是 AST配合Pug模板引擎实现注入 有现成的payload p6.is 主要代码&#xff0c;需要满足if语句,从而可以执行compile语句 { "__proto__.hero":…

re:Invent 产品体验与感受分享:Amazon ElastiCache Serverless 缓存的即时扩展

授权说明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在亚马逊云科技开发者社区、 知乎、自媒体平台、第三方开发者媒体等亚马逊云科技官方渠道&#xff09;。 文章目录 前言产品介绍产品使用步骤1.创建缓存服务2.安全组开放访问权限…

壹[1],函数:ReadImage

C形式 LIntExport void ReadImage( HObject* Image, const HTuple& FileName); //参数1&#xff1a;读取的Image //参数2&#xff1a;图片地址//备注说明&#xff1a; //头文件&#xff1a;halconcpp/HOperatorSet.h //命名空间&#xff1a;namespace HalconCpp C#形式 …

用Python画圣诞树!(附代码)

本文我们将用 Python 来画一棵圣诞树&#xff0c;效果如下图所示&#xff0c;先睹为快。 下面展开来看一下主要代码实现。 1.turtle库 turtle库是Python语言中一个很流行的绘制图像的函数库&#xff0c;想象一个小乌龟&#xff0c;在一个横轴为x、纵轴为y的坐标系原点&#x…

如何使用Docker进行容器的备份和恢复

一 简介&#xff1a; 在使用Docker进行应用程序的容器化部署时&#xff0c;我们经常需要对容器进行备份和恢复操作。备份容器可以保证数据的安全性&#xff0c;而恢复操作可以帮助我们快速恢复出现问题的容器。本文将介绍如何使用Docker进行容器的备份和恢复&#xff0c;同时提…

C#科学绘图之scottPlot绘制多个图像

文章目录 示例移除图像图例信号图 scott系列&#xff1a;绘图初步 示例 从名字就能看出&#xff0c;ScottPlot的绘图函数AddScatter的作用是为图窗添加数据点&#xff0c;换言之&#xff0c;每调用一次AddScatter&#xff0c;就可以在图窗中添加一组图像。下面添加两个按钮&a…

动手学深度学习-自然语言处理-预训练

词嵌入模型 将单词映射到实向量的技术称为词嵌入。 为什么独热向量不能表达词之间的相似性&#xff1f; 自监督的word2vec。 word2vec将每个词映射到一个固定长度的向量&#xff0c;这些向量能更好的表达不同词之间的相似性和类比关系。 word2vec分为两类&#xff0c;两类…

UE4 UMG 颜色字体和PS对应关系

与PS中对应的是Hex sRGB色号 但是PS中采用的16进制色号为6位 UE4中的为8位 UMG制作时默认dpi为96像素/英寸&#xff0c;psd默认dpi是72像素/英寸。 在GUI设计时将dpi设为96&#xff0c;或者将72dpi下字体的字号乘以0.75&#xff0c;都能还原效果图中的效果。

【NTN 卫星通信】Starlink,卫星互联网的技术革命(一)

1. 什么是Starlink Starlink是由Elon Musk创立的私人太空探索公司SpaceX提供的卫星互联网服务。它旨在为世界上传统互联网服务速度慢或不可用的偏远地区提供价格合理的高速互联网。 为什么Starlink很重要&#xff1f;   Starlink之所以重要&#xff0c;是因为它有可能为数百万…

typescript 实现Optional

我们先看下面的这段代码,一个学生接口,里面有成员id,name,age,gender等等成员, 有一个方法graduate,里面要接受一个Student类型的实参 interface Student {id: numbername: stringage: numbergender: string}function graduate(Student: Student) {//...}现在有一个问题,就是学…

多地新能源公交换回燃油车,彻底撕下了新能源车低成本的遮羞布

随着近期多个城市的公交车从新能源客车换回燃油车&#xff0c;新能源汽车是否省钱的问题再次受到关注&#xff0c;而这些企业披露的数据显示出新能源客车并非如预期版那么低成本&#xff0c;并且在使用中遇到了许多麻烦的问题。 一、新能源公交确实有优势 首先是成本方面。确实…

探秘AI赋能的未来世界:CyberAI深度学习技术助力变革

CyberAI平台概述 随着AI技术的极速发展&#xff0c;AI能力正在助力产业加速场景化落地。CyberAI是数新网络面向开发者和企业的一站式AI数据科学平台&#xff0c;提供交互式和可视化建模服务&#xff0c;算法模型全生命周期管理。平台可帮助开发者快速开发AI应用&#xff0c;解…