C语言--每日选择题--Day30

今日博主发烧了,明天早上就更新解析哦~

第一题

1. i = 5,j = 7,i | j 等于多少?

A:1

B:3

C:5

D:7

答案及解析 D

|这个是按位或运算符,两个数的二进制位,有1为1,同0为0;

i的二进制:0101

j的二进制:0111

结果:        0111 = 7

第二题

2. 编译和执行如下c语言代码,系统将会输出什么?

#include 
int main() 
{
    char c = '0';
    printf("%d %d", sizeof(c), sizeof(char));
    return 0;
}

A:1 4

B:2 2

C:1 1

D:2 1

答案及解析 C

sizeof是计算数据类型的空间;

这就表明了,sizeof括号里的变量是什么数据类型,计算出的结果就是该数据类型对应的字节,如果sizeof括号里面是个表达式,需要计算的,记住,sizeof只是算数据类型的空间,并不会计算表达式,只会推测这个表达式的数据类型;

第三题

3. 下面代码段输出的结果是()

int **pp, *p, a=10, b=20;
pp = &p;
p = &a;
p = &b;
printf("%d,%d", *p, **pp);

A:10 10

B:10 20

C:20 10

D:20 20

答案及解析 

第四题

4. 在64位系统以及64位编译器下,以下描述正确的是()

struct T 
{
    char a;
    int *d;
    int b;
    int c:16;
    double e;
};
T *p;

A:sizeof(p) == 24

B:sizeof(*p) == 24

C:sizeof(p->a) == 1

D:sizeof(p->e) == 4

答案及解析 

第五题

5. 下列程序的运行结果是 3, 5,请为横线处选择合适的程序( )

#include 
 
struct S
{
    int n;
    char c[10];
} *p;
 
int main()
{
    struct S a[3] = {{3, "abc"}, {5, "def"}, {7, "ghi"}};
    p = a;
    printf("%d,", (*p).n);
    printf("%d\n", ______);
    return 0;
}

A:(++p) -> n

B:(a+1) -> n

C:p++ -> n

D:(p+1) -> n

答案及解析 ABD

你可能感兴趣的:(C语言选择题,c语言,开发语言)