C语言—每日选择题—Day49

第一题

  1. 假定有语句" int b10, *pb; ",则不正确的赋值为 ( )
    A:pb=b

B:pb=b5

C:pb=b+2

D:pb=&b0

答案及解析 B

本题考查的是指针类型对数组的引用;

A:b是数组名,是首元素地址,数据类型是int *,数据类型匹配,赋值正确;

B:b5是数组的一个元素,数据类型是int,数据类型不匹配,赋值错误;

C:b是数组名,首元素的地址,b + 2;就是往后移动2个int类型的大小,也就是8字节,到达的是第三个元素的地址,相当于&b3,所以数据类型是int*,正确;

D:&b0,数据类型是int*,数据类型匹配,正确;

第二题

  1. 运行时的C程序,下列哪些变量在内存中的stack(栈)区域的有()
cpp 复制代码
int a = 0;
char *p1;
int main() 
{
    int b;
    char s[] = "abc";
    char *p2;
    char *p3 = "123456";
    static int c =0;
    p1 = (char *)malloc(10);
    free(p1);
    return 0;
}

A:a

B:b

C:c

D:s

E:p1

F:p2

答案及解析 BDF

stack是栈空间的意思,我们学习数据结构就知道了;而这里考察的是内存中栈中存放的是哪些数据?栈中存放的是局部变量的空间;
a 和p1 :这是一个全局变量,存放在静态区;

b,s,p2,p3:这些都是局部定义的变量,存放的就是栈区

static的变量:是静态变量,存在静态区;

由malloc开辟的空间:存放的是堆区;

第三题

  1. 以下程序的运行结果是()
cpp 复制代码
#include <stdio.h>
int main() 
{ 
    int m = 12,n = 34;    
    printf("%d %d ", m++, ++n);    
    printf("%d %d\n", n++, ++m);  
} 

A:12 35 35 14

B:12 35 35 13

C:12 34 35 14

D:12 34 35 13

答案及解析 A

本题依旧考察的是前置++和后置++;

记住前置++的表达式,表达式的值是++之后的值;

后置++的表达式,表达式的值是++之前的值;

--也是一个道理

第四题

  1. 若有以下程序
cpp 复制代码
#include <stdio.h>
int main() 
{
    int s = 0, n;
    for (n = 0; n < 4; n++) 
    {
        switch (n) 
        {
            default:
                s += 4;
            case 1:
                s += 1;
            case 2:
                s += 2;
            case 3:
                s += 3;
        }
    }
    printf("%d\n", s);
    return 0;
}

则程序的输出结果是?
A:6

B:18

C:10

D:24

答案及解析 D

本题考查的是switch语句,只要case和default语句后面没有break,就会依次执行下面每一个case或default的语句;

比如第一次循环,n=0,只满足default,而他们都没有break,所以依次执行下面的语句

s += 4,s += 1,s += 2,s += 3;

剩下的循环以此类推;

第五题

  1. 下面函数输出结果是()
cpp 复制代码
#include <stdio.h>
int main() 
{
    int k = 12345;
    printf("%2d\n", k);
    return 0;
}

A:12

B:45

C:12345

D:无法通过编译

答案及解析 C

本题考查的是格式化打印

直接看这篇博客:%md在printf语句和scanf语句中的区别-CSDN博客

相关推荐
dialect_8 小时前
KMP算法
开发语言·c++·算法
总要学点什么8 小时前
第89篇:三维特效-螺旋圆效果——让螺旋臂卷起一圈圈外扩的涟漪
开发语言·javascript·ecmascript·webgl·cesium·空间分析·1024程序员节
开开心心_Every10 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
chenbingjie_c10 小时前
C++ 多态完全指南:从虚函数重写到虚函数表原理
开发语言·c++
吴卫斌10 小时前
定投ETF实战指南(四):行业/主题ETF——定投的“进攻端“
开发语言·python·股票·量化
·present·10 小时前
CSAPP(Bomb lab)
c语言·c++
超级架构师11 小时前
PRAXO-CORE 2.5.0:用 conformance 和显式边界构建 Go Agent 框架
开发语言·人工智能·后端·golang·ai编程·智能体框架·praxo-core
叼烟扛炮12 小时前
Linux 学习笔记(四十三):网络编程进阶——自定义协议解决 TCP 粘包与守护进程
linux·开发语言·网络·笔记·tcp/ip
LMT流氓兔13 小时前
第五单元——第十六课:给书店助手加上网页界面
java·开发语言·jvm·人工智能·oracle·langchain·1024程序员节
专注仿真13 小时前
梯度提升类(XFBoost)算法详解与代码实例
开发语言·人工智能·python·算法·大模型训练·控制算法