首页 > 其他分享 >数据结构经典测试题5

数据结构经典测试题5

时间:2024-08-01 22:52:49浏览次数:16  
标签:me 10 arr 测试题 int 经典 字符串 数据结构 d2

1.

int main()
{
char arr[2][4];
strcpy (arr[0],"you");
strcpy (arr[1],"me");
arr[0][3]='&';
printf("%s \n",arr);
return 0;
}

上述代码输出结果是什么呢?

A: you&me B: you C: me D: err

答案为A

因为arr是一个2行4列的二维数组,每一行可以存放最多三个字符的字符串。执行strcpy(art[0],"you”);后则将字符串"you”放 置在数组arr的第一行上,即a[0][0]=’y’,a[0][1]=’o’,a[0][2]=’u',a[0][3]=’\0’(字符串结尾符),执行strcpy(arr[1],”me”);后则将 字符串”me”放置在数组arr的第二行上,即a[1][0]=’m',a[1][1]=’e’,a[1][2]=’\0’(字符串结尾符),由于二维数组在内存中是以 行序存放的,执行arr[0][3]=’&’;语句后,第一行与第二行将被视为一个字符串"you&me”,而数组名则是该字符串的首地 址。

2.

struct st
{
int *p;
int i;
char a;
};
int sz = sizeof(struct st);

上述C程序,在64位处理器上运行后 sz 的值是什么( )

A: 12 B: 16 C: 24 D: 13

答案为B

要注意的是64位的情况下指针是占8个字节的,剩余详细了解结构体内存对齐的规则.

3.

enum weekday
{
sun,
mon = 3,
tue,
wed
};
enum weekday workday;
workday = wed;
printf("%d\n",workday)

上述代码输出结果是什么呢?

A: 3 B: 4 C: 5 D: 编译错误

答案为C

因为mon给了初始值3,之后的成员会在此基础上递增。

4.

union D
{
int d1;
float d2;
}d;

设有以下定义,则下面叙述中正确的是【多选】( )

A: 变量d与各成员的地址相同

B: d.d1和d.d2具有相同的地址

C: 若给d.d2赋10后,d.d1中的值是10

D: 若给d.d1赋10后,d.d2中的值是10

答案为AB

虽然d1,d2地址相同,但存储的是二进制,浮点型的10和整型的10,二进制是不同的,所以读取出来的结果也是不同的,故 CD错误。

5.

假设C语言程序里使用 malloc 申请了内存,但是没有 free 掉,那么当该进程被kill之后,操作系统会( )

A: 内存泄露 B: segmentation fault C: core dump D: 以上都不对

答案为D

不管用户程序怎么用malloc,在进程结束的时候,用户程序开辟的内存空间都将会被回收。

6.

配对交换。编写程序,交换某个整数的奇数位和偶数位,尽量使用较少的指令(也就是说,位0与位1交换,位 2与位3交换,以此类推)。

示例: 输入:num = 2(或者0b10) 输出 1 (或者 0b01) 输入:num = 3 输出:3

int exchangeBits(int num){
int odd = 0b10101010101010101010101010101010;//保存偶数位
int even = 0b01010101010101010101010101010101;//保留奇数位
odd &= num;
even &= num;
//偶数位右移一位变成奇数位,奇数位左移一位变成偶数位,然后相加即可
return (even<<1) + (odd>>1);
}

注意:这道题是二进制的奇数位和偶数位的交换,只需要把偶数位左移一位,把奇数位右移一位即可

谢谢

标签:me,10,arr,测试题,int,经典,字符串,数据结构,d2
From: https://blog.csdn.net/c23856/article/details/140830501

相关文章

  • 4.Redis数据结构&通用命令
    Redis数据结构Redis是一个键值对的数据库。key:大多都是Stringvalue:类型多种多样 Redis通用命令keys:查看所有的key不建议在生产环境上使用keys命令,因为redis是单线程的,keys命令会搜索很长一段时间,搜索的期间redis无法执行其他的命令,等于服务被阻塞了,影响redis的性......
  • 【每日一题 | 数据结构】时间复杂度计算
    题目解题方法对于二重循环求时间复杂度:写出外层i的变化值写出内层循环语句执行次数(看j)对次数求和找到频度和n的关系笔记视频跳转:【每日一题|数据结构】时间复杂度计算......
  • 数据结构----树,二叉树,哈夫曼树相关概念及其实现
    树形结构概述1分层逻辑结构所谓的分层逻辑结构,也称为树形逻辑结构关系,是数据结构中的一种逻辑关系结构,在该逻辑结构关系中的数据元素之间满足一对多的逻辑结构关系:起始数据节点有且仅有一个,没有直接前驱,可以有多个直接后继;末尾数据节点可以多个,有且仅有一个直接前驱,......
  • 数据结构与算法 - 递归
    一、递归1. 概述定义:在计算机科学中,递归是一种解决计算问题的方法,其中解决方案取决于同一类问题的更小子集。比如单链表递归遍历的例子:voidf(Nodenode){if(node==null){return;}println("before:"+node.value)f(node.next);pr......
  • 数据结构与算法 - 链表
    一、链表1.概述定义:在计算机科学中,链表是数据元素的线性集合,其每个元素都指向下一个元素,元素存储上并不连续。可以分类为:单向链表,每个元素只知道其下一个元素是谁双向链表,每个元素直到其上一个元素和下一个元素循环链表,通常的链表尾节点tail指向的都是null,而循环链表......
  • 经典面试题:如何测试矿泉水瓶?
    一、外观测试瓶身检查:确保瓶身完整,没有破损、凹陷或变形。检查瓶身上的广告和图案的背景颜色、字体颜色是否符合设计要求,且没有错别字。检查瓶身上的纹路、线条、图标布局是否合理,其间距、大小是否符合设计要求。瓶身底部尺寸、高度尺寸以及口径尺寸是否符合设计要求......
  • 经典面试题:如何测试矿泉水瓶?
    一、外观测试瓶身检查:确保瓶身完整,没有破损、凹陷或变形。检查瓶身上的广告和图案的背景颜色、字体颜色是否符合设计要求,且没有错别字。检查瓶身上的纹路、线条、图标布局是否合理,其间距、大小是否符合设计要求。瓶身底部尺寸、高度尺寸以及口径尺寸是否符合设计要求......
  • 北邮809数据结构考研资料+经验分享(看到最后)
    本人成绩: ●政治:66 ●英语(一):82 ●数学(一):113 ●数据结构(809):142总分403 初试第二名复试第四名总成绩第二名809和统考408的数据结构有诸多区别,比如ASL计算方法的区别,一些复杂度的区别,循环队列、栈的下标区别,经典算法设计思路的区别,还有一些809特有的经典算法比如......
  • 基于SpringBoot+Vue+uniapp的经典诗文学习爱好者学习交流平台(源码+lw+部署文档+讲解
    在这里插入图片描述@toc前言......
  • <数据结构>——顺序表
    1.什么是顺序表顺序表是用一段物理地址连续的单元依次存储数据元素的线性结构,一般情况下采用数组来存储顺序表的底层结构就是数组。实际上顺序表是对数组进行封装,成为一个结构体。顺序表有静态顺序表与动态顺序表之分。1.1静态顺序表//静态顺序表typedefintSLDateType;/......