C语言精选——选择题Day42

第一题

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; // 3return 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.hqwc.cn/news/263845.html

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

相关文章

7.题目:编号1531 快递分拣

题目: ### 这道题主要考察map,vector,string的综合运用单号和城市都可以用string类型存储 #include <bits/stdc.h> using namespace std;map<string,vector<string>> mp;vector<string> citys;int main(){ios::sync_with_stdio(0),cin.tie(0),cout.t…

猿人学第三题 罗生门

思路 使用开发者工具进行抓包&#xff0c;验证数据请求的方式是什么&#xff0c;这里推荐大家使用浏览器自带的工具。 我们发现每次的翻页请求都会有一个jssm请求&#xff0c;这里我们先记录一下这个情况&#xff0c;现在观察一下cookie是否有变化。 这个实际上没有发生变化。…

最长连续序列(leetcode 128)

文章目录 1.问题描述2.难度等级3.热门指数4.解题思路方法一&#xff1a;排序方法二&#xff1a;哈希表 5.实现示例参考文献 1.问题描述 给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。 请你…

见微知著-从底层代码一撇Qt的控件绘图

Qt 是目前C语言首选的框架库。之所以称为框架库而不单单是GUI库&#xff0c;是因为Qt提供了远远超过GUI的功能封装&#xff0c;即使不使用GUI的后台服务&#xff0c;也可以用Qt大大提高跨平台的能力。 仅就界面来说&#xff0c;Qt 保持各个平台绘图等效果的统一&#xff0c;并…

不想写大量 if 判断?试试用规则执行器优化,就很丝滑!

近日在公司领到一个小需求&#xff0c;需要对之前已有的试用用户申请规则进行拓展。我们的场景大概如下所示: if (是否海外用户) {return false; }if (刷单用户) {return false; }if (未付费用户 && 不再服务时段) {return false }if (转介绍用户 || 付费用户 || 内推…

Terminator的layout设置(一个新的一键启动思路)

首先你得有terminator&#xff1a; sudo apt install terminator然后就能使用了&#xff0c;我一般喜欢修改它原本的水平和垂直分割&#xff1a;用ctrlshifta和ctrlshifts 把屏幕先分成多块&#xff1a; 比如是这样的&#xff0c;接下来 右键->点击Preference 弹框中上方标…

LVGL | Demo实例使用说明

LVGL | Demo实例使用说明 时间&#xff1a;2023年12月10日21:51:17 文章目录 LVGL | Demo实例使用说明Demos for LVGLAdd the examples to your projectsDemosWidgetsMusic playerKeypad and encoderBenchmarkStress Contributing Demos for LVGL Add the examples to your p…

[山东大学操作系统课程设计]实验四+实验五

0.写在前面&#xff1a; 为什么这次把两个实验放在一起写了&#xff0c;因为实验五的要求就是在实验四的基础上完成实现的。但是我得实现说明&#xff0c;我的实验四虽然完成了要求&#xff0c;但是无法在我自己的实验四的基础上完成实验五&#xff0c;这是一个很大的问题&…

盘点251个Python源码Python爱好者不容错过

盘点251个Python源码Python爱好者不容错过 学习知识费力气&#xff0c;收集整理更不易。 知识付费甚欢喜&#xff0c;为咱码农谋福利。 项目名称 链接&#xff1a;https://pan.baidu.com/s/1PikCn61NfHXmEzQiny8kfw?pwd6666 提取码&#xff1a;6666 dailyfreshpython-Dj…

P1317 低洼地题解

题目 一组数&#xff0c;分别表示地平线的高度变化。高度值为整数&#xff0c;相邻高度用直线连接。找出并统计有多少个可能积水的低洼地&#xff1f; 如图&#xff1a;地高变化为 [0,1,0,2,1,2,0,0,2,0]。 输入输出格式 输入格式 两行&#xff0c;第一行n, 表示有n个数。第…

在Spring Cloud使用Hystrix核心组件,并注册到Eureka注册中心去

其实吧&#xff0c;写Spring Cloud系列&#xff0c;我有时候觉得也挺难受的&#xff0c;因为Spring Cloud的微服务启动都需要一个一个来&#xff0c;并且在IDea中也需要占用比较大的内存&#xff0c;并且我本来可以一篇写完5大核心组件的&#xff0c;但是我却分了三篇&#xff…

Vue 静态渲染 v-pre

v-pre 指令&#xff1a;用于阻止 Vue 解析这个标签&#xff0c;直接渲染到页面中。 语法格式&#xff1a; <div v-pre> {{ 数据 }} </div> 基础使用&#xff1a; <template><h3>静态渲染 v-pre</h3><p v-pre>静态渲染&#xff1a;{{ n…