C语言—每日选择题—Day54

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: C语言—每日选择题—Day54

指针相关博客

第一题

1. 存在int类型变量x,y,z,其对应值为x=0x59,y=0x39,z=0x6E,则x * y + z的值为()


A:1 0010 0111 0011

B:1 0100 0011 1111

C:1 0010 0111 0111

D:1 0110 0111 1111

答案及解析 B

本题考查进制之间的转换

x = 0x59 = 5*16 + 9*1 = 89;

y = 0x39 = 3*16 + 9*1 = 57;

z = 0x6E = 6*16 + 14*1 = 110;

x * y + z = 89*57 + 110 = 5183

二进制为:1 0100 0011 1111

第二题

2. 在64位机器上用gcc编译以上代码,求sizeof(struct A),sizeof(struct B)分别是多少()

struct A
{
    int a;
    short b;
    int c;
    char d;
};
struct B
{
    short b;
    int c;
    char d;
};

A:12 16

B:12 12

C:16 24

D:16 12

答案及解析 D

本题考查内存对齐规则,直接上博客,看完就懂

第三题

3. 如下函数的f(1)的值为()

int f(int n)
{
    static int i = 1;
     if(n >= 5)
         return n;
     n = n + i;
     i++;
     return f(n);
}

A:5

B:6

C:7

D:8

答案及解析 C

本题考查的是函数递归和static变量

首先局部static变量,只会初始化一次,存放在静态区;

所以i的值是一直增加的;

第四题

4. 32位系统下,对于下面的结构体A和B,sizeof(A), sizeof(B)的结果分别是()

#include <stdio.h>
#pragma pack(2)
struct A 
{
 int a;
 char b;
 short c;
};
#pragma pack()
#pragma pack(4)
struct B 
{
 char b;
 int a;
 short c;
};
#pragma pack()
int main() 
{
    printf(“%d %d\n”,sizeof(struct A),sizeof(struct B));
    return 0;
}

A:8,8

B:8,10

C:8,12

D:7,8

答案及解析 C

       这里涉及的是设置默认对齐数,设置的默认对齐数依旧是要和我们变量的自身对齐数做比较的,之后变量占的字节空间是自身的大小

C/C++内存对齐规则(结构体、联合体、类)-CSDN博客

第五题

5. 以下能对二维数组a进行正确初始化的语句是(        )


A:int a[2][ ]=({1,0,1},{5,2,3});

B:int a[ ][3]={{1,2,3},{4,5,6}};

C:int a[2][4]=({1,2,3},{4,5},{6});

D:int a[ ][3]={(1,0,1)(),(1,1)};

答案及解析 B

本题考查的是对二维数组的初始化

记住下面几点:

1. 必须显示地写出列,可以省略行,不可以省略列;

2. 不可以用空括号,可以用空大括号。

3. 千万别定义越界

4. 没有初始化到的默认为0


A:错误,省略了列;

B:正确,表示的是两行三列的二维数组;

C:错误,明确指出是两行,后面越界了

D:错误,这里注意是小括号,就是逗号表达式;int a[][3] = {1,(),1};但是不可以是空括号!


相关文章
|
6月前
|
C语言
C语言—每日选择题—Day60
C语言—每日选择题—Day60
|
6月前
|
编译器 C语言
C语言—每日选择题—Day61
C语言—每日选择题—Day61
|
6月前
|
编译器 C语言
C语言—每日选择题—Day57
C语言—每日选择题—Day57
|
6月前
|
C语言
C语言—每日选择题—Day56
C语言—每日选择题—Day56
|
6月前
|
编译器 C语言 C++
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题(下)
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题
53 2
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题(下)
|
6月前
|
算法 C语言 C++
从C语言到C++_14(vector的常用函数+相关选择题和OJ题)(中)
从C语言到C++_14(vector的常用函数+相关选择题和OJ题)
155 1
|
6月前
|
算法 编译器 C语言
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题(上)
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题
45 3
|
6月前
|
编译器 C语言 C++
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题(中)
从C语言到C++⑥(第二章_类和对象_中篇_续)大练习(日期类)+笔试选择题
42 1
|
6月前
|
存储 编译器 C语言
从C语言到C++_22(继承)多继承与菱形继承+笔试选择题(下)
从C语言到C++_22(继承)多继承与菱形继承+笔试选择题
48 0
|
6月前
|
Java 编译器 定位技术
从C语言到C++_22(继承)多继承与菱形继承+笔试选择题(中)
从C语言到C++_22(继承)多继承与菱形继承+笔试选择题
45 0