网站制作与网站建设实际报告,中铁建设集团门户密码,p2p网站的建设,桂林象鼻山简介#x1f525;博客主页#xff1a;小王又困了
#x1f4da;系列专栏#xff1a;每日一练
#x1f31f;人之为学#xff0c;不日近则日退
❤️感谢大家点赞#x1f44d;收藏⭐评论✍️ 目录 一、选择题
#x1f4dd;1.第一题
#x1f4dd;2.第二题
#x1f4dd;…
博客主页小王又困了
系列专栏每日一练
人之为学不日近则日退
❤️感谢大家点赞收藏⭐评论✍️ 目录 一、选择题
1.第一题
2.第二题
3.第三题
二、编程题
1.第一题
方法一
方法二
2.第二题 ️前言 在前面我们学习完C语言的所以知识当然练习巩固也不能落下。俗话说“无财之谓贫学而不能行之谓病。”可见实践对我们学习的重要。接下来就让小王带着大家进行练习巩固我们C语言的学习。 一、选择题
1.第一题
以下哪个选项一定可以将flag的第二个bit置0
A. flag~2
B. flag|2
C. flag^2
D. flag2
解题思路 我们要将某一位置为0只需要在这一位按位与一个0其他位都为1即可。 -- 对应的二进制位有0则为0都为1才为1 假设 flag 有8个比特位那么只要按位与11111101就可以将第二个比特位置为0。想得到11111101只需将00000010按位取反即可也就是A选项。 2.第二题
执行下面程序正确的输出是
int x 5, y 7;
void swap()
{int z;z x;x y;y z;
}
int main()
{int x 3, y 8;swap();printf(%d,%d\n,x, y);return 0;
}
解题思路 通过观察代码我们看到在程序中定义了变量名相同的全局变量和局部变量当同名时局部变量优先使用。在 main 函数中有一个交换函数但没有传递参数所以它无法交换局部变量 xy。全局变量的作用域是整个程序的生命周期所以这里交换的是全局变量 x,y的值。在打印时局部变量要优先使用所以打印出的结果是38。 3.第三题
下面函数的输出结果是
void func()
{int k 1^(1 31 31);printf(%d\n, k);
}
解题思路 通过观察代码第一步是将1向左移动31位然后将结果向右移动31位最后将得到的结果 ^ 1就得到k。移位操作符的规则 -- 左移 左边丢弃右边补0 -- 右移 1.算术右移右边丢弃左边补原来的符号位 2.逻辑右移右边丢弃左边直接补0 本题的右移是算数右移。 二、编程题
1.第一题 方法一
解题思路 我们可以将数字按照字符串的形式接收scanf(%s,str) ,然后将数据倒着打印出来。 倒着打印的方法计算出字符串的长度从最后一个下标开始依次向前打印 #include stdio.h
#include string.h
int main()
{char str[32] { 0 };while (scanf(%s, str) ! EOF){int len strlen(str);int i 0;for (i len-1; i 0; i--){printf(%c, str[i]);}printf(\n);}return 0;
} 方法二
解题思路 我们就按照数字输入每次通过 ‘%10’ 得到最后一位由于题目要求要按照字符的形式打印所以在打印时要加 ‘0’ 然后输出。这里要考虑输入的值为0时直接打印‘0’。 int main()
{int n 0;while (scanf(%d, n) ! EOF){if (n 0){printf(%c, 0);}while (n){printf(%c, n % 10 0);n / 10;}printf(\n);}return 0;
}2.第二题
解题思路 因为题目将数组边界看成最小值而我们只需要找到其中一个波峰因此只要不断地往高处走一定会有波峰。那我们可以每次找到中间元素将数组分成两个区间每次就较高的一边走。同时题目还要求时间复杂度为log(N)可以使用二分产找确定中间元素。 先通过二分查找找到中间元素如果中间元素大于右侧元素说明右边是向下走不一定会遇到波峰所以我们在左侧继续寻找中间值如果中间元素小于右侧元素说明右边是向上走一定会遇到波峰所以我们在又侧继续寻找中间值当首尾相遇时这个点就是波峰 注意由于只需要找一个波峰所以我们找一侧对比就可以这里是和右侧数据对比。 int findPeakElement(int* nums, int numsLen)
{int left 0;int right numsLen - 1;while (left right) {int mid (left right) / 2;if (nums[mid] nums[mid 1]) {left mid 1;}else {right mid;}}return right;
} 本次的内容到这里就结束啦。希望大家阅读完可以有所收获同时也感谢各位读者三连支持。文章有问题可以在评论区留言博主一定认真认真修改以后写出更好的文章。你们的支持就是博主最大的动力。