• C语言--每日五道选择题--Day21


    今天的自我表述:

            启动这个专栏的21天了,这也是我学习C/C++开始的第5个月,收获还是很多的,我在5个月之前还是个摆烂仔,从来没想过自己可以坚持这么久,讲真的已经习惯了这种感觉,所以并没有什么坚持不下去的,有时候逼自己一把才是对的。我记得在9月份才刚刚弄博客,现在也有2W访问了,时间的累积是非常恐怖的,我希望大家也可以,跟我一起,每天做题,每天学习!

            这里要说一句,在牛客网的选择题,我会选择比较好的题记录下来,里面某些题的答案以及题目是有歧义的,所以大家不要担心自己,努力就好!

    第一题

    对两个字符 a 和 b 进行初始化,则以下叙述正确的是()

    1

    2

    char a[]="ABCDEF";

    char b[]={'A','B','C','D','E','F'};

    A:sizeof(a) > sizeof(b)

    B:strlen(a) > strlen(b)

    C:a与b数组完全相同

    D:a和b中都存放字符串

    答案及解析 

    本题考查strlen函数和sizeof运算符,相关博客在这:全网最详细的sizeof运算和strlen函数讲解(通过多种数据类型举例)_小程序面包园的博客-CSDN博客

    A:正确,sizeof对于数组的计算,是算元素个数的,元素个数*元素类型所占字节数;但是字符串中包含了一个隐藏的\0,所以a的结果是6,b是5;

    B:错误,strlen函数是计算字符串或字符数组的长度的,但是strlen函数是以\0为结束标志的,在字符串a中有隐藏的\0,但是b字符数组这样写法中没有隐藏的\0,所以长度是未知的,因为\0 的位置未知。

    C:错误,a有隐藏的\0,位置就紧随F后面,而b中的\0位置未知,所以不相同

    D:错误,字符串是默认在末尾有\0的

    第二题

    2.一个C程序的执行是从( )

    A:本程序的main函数开始,到main函数结束

    B:本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

    C:本程序的main函数开始,到本程序文件的最后一个函数结束

    D:本程序文件的第一个函数开始,到本程序main函数结束

    答案及解析 A

    本题答案选择A,因为一个C语言程序执行就是从main函数开始的,只不过在main函数内部可以去调用其他的函数,然后再去不同的函数体执行,但是最后还是会回到main函数里,直到main函数结束。

    第三题

    3.对于条件表达式(k)?(i++):(i--)来说,其中的表达式k等价于()

    A:k == 0

    B:k == 1

    C:k != 0

    D:k != 1

    答案及解析 C

    这是一个条件表达式,k为真执行i++,k为假执行i--。又因为0为假,非0为真,所以这里的k等价于k != 0

    第四题

    4.运行以下程序后,如果从键盘上输入 65 14 <回车>,则输出结果为()

    1. #include
    2. int main() 
    3.     int m, n;
    4.     printf("Enter m,n;");
    5.     scanf("%d%d", &m,&n);
    6.     while (m!=n) 
    7. {
    8.         while (m>n) 
    9. {
    10. m=m-n;
    11. }
    12.         while (n>m) 
    13. {
    14. n=n-m;
    15. }
    16.     }
    17.     printf("m=%d\n",m);
    18.     return 0;
    19. }  

    A:m=3

    B:m=2

    C:m=1

    D:m=0

    答案及解析 C

    这个题就是不断进入循环算,细心一点就行

    第五题

    默认字节数为4字节,那么sizeof(rec)等于()

    1. struct
    2. {
    3.     char type;
    4.     int num;
    5.     char name[10];
    6. }rec;

    A:15

    B:16

    C:18

    D:20

    答案及解析 D

    本题设计到结构体的内存规则问题,请看我的这篇博客:C/C++内存对齐规则(结构体、联合体、类)-CSDN博客

  • 相关阅读:
    欢迎 Stable Diffusion 3 加入 Diffusers
    FFmpeg 命令:从入门到精通 | ffmpeg filter(过滤器 / 滤镜)
    微软开源了一个 助力开发LLM 加持的应用的 工具包 semantic-kernel
    哈希加盐算法
    Mediapipe学习记录
    LeetCode刷题 309 :最佳买卖股票的时机含冷冻时期
    在虚拟机上安装win10/ubuntu的教程
    【RabbitMQ 实战】08 集群原理剖析
    【LeetCode动态规划#10】完全背包问题实战,其三(单词拆分,涉及集合处理字符串)
    字节8年测试开发工程师感悟,说说我们自动化测试平台的进阶之路
  • 原文地址:https://blog.csdn.net/2302_76941579/article/details/134525681