当前位置: 首页 > news >正文

山东住房和城乡建设局网站首页磁力狗在线

山东住房和城乡建设局网站首页,磁力狗在线,怎么申请自己的网络平台,继续网站建设🔥博客主页:小王又困了 📚系列专栏:每日一练 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、选择题 📝1.第一题 📝2.第二题 📝…

🔥博客主页:小王又困了

📚系列专栏:每日一练

🌟人之为学,不日近则日退 

❤️感谢大家点赞👍收藏⭐评论✍️


目录

 一、选择题

📝1.第一题

📝2.第二题

📝3.第三题

二、编程题

📝1.第一题

📒方法一:

📒方法二:

📝2.第二题


🗒️前言:

在前面我们学习完C语言的所以知识,当然练习巩固也不能落下。俗话说:“无财之谓贫,学而不能行之谓病。”可见实践对我们学习的重要。接下来就让小王带着大家进行练习,巩固我们C语言的学习。

 一、选择题

📝1.第一题

以下哪个选项一定可以将flag的第二个bit置0()

A. flag&=~2

B. flag|=2

C. flag^=2

D. flag>>=2

💡解题思路:

我们要将某一位置为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 函数中有一个交换函数,但没有传递参数,所以它无法交换局部变量 x,y。全局变量的作用域是整个程序的生命周期,所以这里交换的是全局变量 x,y的值。在打印时,局部变量要优先使用,所以打印出的结果是3,8。

📝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;
}

本次的内容到这里就结束啦。希望大家阅读完可以有所收获,同时也感谢各位读者三连支持。文章有问题可以在评论区留言,博主一定认真认真修改,以后写出更好的文章。你们的支持就是博主最大的动力。

http://www.yayakq.cn/news/11008/

相关文章:

  • ps常用素材网站有哪些微商城怎么开发
  • idc 网站源码马鞍山专业网站制作
  • 北京易思腾网站建设江门国际网
  • 用虚拟机做服务器搭建网站html新闻列表
  • 网站开发后端待遇php网站代做是什么意思
  • 怎么做透明的网站图片网站制作学什么
  • 建网站一般最低多少钱大连学网站制作
  • 企业网站建设方案ppt泰州网站建设外包
  • 苏州城乡住房建设厅网站设计工作室网站
  • 北京餐饮培训网站建设wordpress前端找回密码
  • 诸葛建站官网Wordpress增加QQ分享
  • 网站把域名解析到新ip后网站建设 自动跳转
  • 长春做网站优化的公司seo网址超级外链工具
  • 阿里网站年费续费怎么做分录网站开发外包公司
  • 青岛网站建设的方案网站视频不能下载怎么保存视频
  • 旅游型网站的建设背景图片知乎 淘宝网站建设
  • wordpress最好用的采集插件如何优化网站代码
  • 淮安软件园网站建设外贸网站做哪些语言
  • 网站建设公司运营计划部署推进网站建设
  • 找人帮忙做网站观澜网站建设
  • 织梦网站程序安装教程做婚礼请柬的网站有哪些
  • 鞍山做网站优化wordpress自定义面板
  • 青建设厅官方网站海省wordpress邮件注册通知
  • 权威的网站建设公司网站建设如何选择服务器
  • 手机网站设计推荐开发手机app用什么语言
  • 北京网站制作团队建设和交通局网站
  • 网站后台更新 前台不显示uc推广登录入口
  • 红酒营销型网站建设运动鞋官方网站建设计划书
  • 陕西城乡建设部网站首页网站图标怎么换
  • 徐州网站设计制作建设增城网站建设方案