C语言—每日选择题—Day49

第一题

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

B:pb=b[5]

C:pb=b+2

D:pb=&b[0]

答案及解析 B

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

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

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

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

D:&b[0],数据类型是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博客

相关推荐
文火冰糖的硅基工坊5 分钟前
[嵌入式系统-135]:主流AIOT智能体开发板
开发语言·嵌入式·cpu
承渊政道1 小时前
动态内存管理
c语言·c++·经验分享·c#·visual studio
yudiandian20141 小时前
02 Oracle JDK 下载及配置(解压缩版)
java·开发语言
要加油哦~1 小时前
JS | 知识点总结 - 原型链
开发语言·javascript·原型模式
鄃鳕1 小时前
python迭代器解包【python】
开发语言·python
new coder1 小时前
[c++语法学习]Day10:c++引用
开发语言·c++·学习
驰羽1 小时前
[GO]GORM 常用 Tag 速查手册
开发语言·后端·golang
Narcissiffo2 小时前
【C语言】str系列函数
c语言·开发语言
workflower2 小时前
软件工程与计算机科学的关系
开发语言·软件工程·团队开发·需求分析·个人开发·结对编程
ajsbxi2 小时前
【Java 基础】核心知识点梳理
java·开发语言·笔记