错题笔记第一篇

news/2024/11/24 10:26:27/

目录

    • 1. strlen的用法
    • 2. case
    • 3. switch
    • 4. 二分查找

1. strlen的用法

在这里插入图片描述
正确答案 :C

strlen计算的是字符串的长度,二字符串是以\0结尾,而咱们并没有存储\0,后序的空间是未知的,strlen找不到\0就会一直找,所以它的结果就是随机值
答案解析:
strlen是用来获取字符串的有效长度的,结尾标记’\0’不包含在内。
strlen获取的规则非常简单:从前往后依次检测,直到遇到’\0’是就终止检测。
而上题中arr是一个字符数组,不是一个有效的字符串,因为后面没有放置’\0’,因此strlen在求解时,将有效字符检测完之后,还会继续向后检测,直到遇到’\0’是才终止,因此答案为不确定,就看紧跟在’t’之后的第一个’\0’在什么位置。
因此:答案选C

2. case

请添加图片描述

正确答案 : D

因为每个case里面没有break,所以执行完一个case后不会结束,会继续往下执行,所以是 b=30 b=20 b=16 b=0
答案解析:
switch的每个case之后如果没有加break语句,当前case执行结束后,会继续执行紧跟case中的语句。
func(1)可知,在调用func时形参a的值为1,switch(a)<==>switch(1),case 1被命中,因为该switch语句中所有分支下都没有增加break语句,因此会从上往下顺序执行,最后执行default中语句返回。
因此:选择D

3. switch

请添加图片描述

请添加图片描述
正确答案 D

第二个switch里面的表达式是y,与第一个switch里的表达式没关系嗷
答案解析:
switch语句时多分支的选择语句,switch中表达式结果命中那个case,就执行该case子项,如果case子项后没有跟break语句,则继续往下执行。

关于该题解析,请看以下注解:

  #include <stdio.h>int main() {int x = 3;int y = 3;switch (x % 2) {  // x%2的结果为1,因此执行case1case 1:switch (y)   // y是3,因此会执行case3,而case3不存在,那只能执行default{case 0:printf("first");case 1:printf("second");break;default: printf("hello"); // 打印hello,打印完之后,内部switch结束,此时外部case1结束}             // 因为外部case1之后没有添加break语句,所以继续执行case2case 2:             // 打印thirdprintf("third");      // 外部switch结束}return 0;}

即:先在内部switch的default位置打印hello,紧接着在外部case2中打印third
因此:选择D

4. 二分查找

请添加图片描述
答案

#include"stdio.h"
int main()
{int arr[] = { 1,2,3,4,5,6,7,8,9,10 };int left = 0;int right = sizeof(arr) / sizeof(arr[0]) - 1;int key = 7;int mid = 0;while (left <= right){mid = (left + right) / 2;if (arr[mid] > key){right = mid - 1;}else if (arr[mid] < key){left = mid + 1;}elsebreak;}if (left <= right)printf("找到了,下标是%d\n", mid);elseprintf("找不到了\n");return 0;
}

http://www.ppmy.cn/news/59523.html

相关文章

大四毕业生想要找实习程序员工作 ,我总结了三点分享给大家

最近有粉丝留言&#xff0c;说自己已经大四了&#xff0c;想找一份实习工作&#xff0c;但不知道如何找一份实习工作&#xff0c;或者说在找实习工作之前&#xff0c;自己需要准备些什么。今天我们来聊聊这个话题。在聊这个话题之前&#xff0c;我觉得有必要认清当前互联网的现…

python实战应用讲解-【numpy数组篇】常用函数(六)(附python示例代码)

目录 Python numpy.ix_()函数 Python numpy.ma.compress_cols()函数 Python numpy.ma.compress_rowcols()函数 Python numpy.ma.mask_rowcols()函数 Python numpy.ma.mask_rows()函数 Python Numpy MaskedArray.astype()函数 Python numpy.ix_()函数 numpy.ix_()函数从多…

redis使用总结

目录 redis安装与登录redis 持久化RDB(Redis DataBase)AOF(Append Only File)RDB-AOF混合持久纯缓存模式 redis 的 keyredis 的数据类型和常见应用场景StringListHashMapSet集合ZSet有序集合bitmap位图HyperLogLog基数统计GEO 地理空间Stream 流bitfiled redis 事务事务的正常执…

搞懂 API ,API 分类全知道

API&#xff0c;即应用程序编程接口&#xff0c;是为了方便应用程序之间的数据和功能交互而设计的一些标准方法。API 的分类可以从多个维度进行&#xff0c;我会对 API 的分类维度进行简单的介绍。 根据使用方式的不同 通常情况下&#xff0c;API 可以分为两种使用方式&#…

为什么是三次握手和四次挥手

文章目录 为什么是三次握手为什么是四次挥手什么是TIME_WAIT状态解决TIME_WAIT状态引起的bind失败的方法 为什么是三次握手 因为这是双方都有收发的最小次数 握手的目的&#xff1a;确认网络好着没&#xff0c;对方好着没 确认双方主机是否健康&#xff08;双方&#xff09;…

Apollo 7.0——percception:rader源码剖析

入口 该模块的启动是通过融合模块的dag文件而启动的&#xff0c;在Apollo/modules/perception/production/launch中&#xff0c;并没有单独启动radar的launch文件或者单独启动的dag文件。其具体路径为&#xff1a;Apollo/modules/perception/production/dag/dag_streaming_per…

多城市门店店铺展示地图导航pc/h5系统开发

多城市门店店铺展示地图导航pc/h5系统开发 系统设置&#xff1a; 网站标题、网站副标题、Logo图、网站背景图、网站底部图、网站底部版权、网站ICP备案、腾讯地图Key。 店铺列表&#xff1a; 店铺名称、店铺图标、设备、电话、省市区、详细地址。 添加店铺&#xff1a; 店铺…

什么是存储程序(学废版)

目录 存储过程 一、无参存储过程&#xff1a; 1、无参存储过程的创建&#xff1a; 2、存储过程的调用call 3、查看存储过程的基本信息 4、存储过程的删除 5、存储过程的修改 二、带参存储过程 1、调用带参存储过程 2、带参存储过程的使用 3、运用带参存储过程查询数据…