C语言—每日选择题—Day61

指针相关博客

打响指针的第一枪:指针家族-CSDN博客

深入理解:指针变量的解引用 与 加法运算-CSDN博客

第一题

  1. 下面指针所指向的内容,可以修改的是()
    A:const int* a

B:int const* b

C:int* const c

D:const int* const d

答案及解析 C

const 在 * 左侧,指针指向的内容不可以修改;

const 在 * 右侧,指针本身不可修改

第二题

  1. 假设变量a,b均为整型,表达式值为()
cpp 复制代码
(a = 5, b = 2, a > b ? a++ : b++, a + b)

A:7

B:8

C:9

D:2

答案及解析 B

本题考查的是一个逗号表达式,逗号表达式要依次计算每个表达式的结果,但是逗号表达式的结果是最后一个逗号后面的表达式结果。要依次计算的原因是前面的表达式会影响到最后一个表达式计算的结果。

第三题

  1. 以下程序的输出结果是( )
cpp 复制代码
#include <stdio.h>
int main() 
{
    unsigned char a = 235;
    unsigned char b = ~a;
    unsigned char c = b >> 1;
    printf("%d", c);
}

A:6

B:2

C:4

D:10

答案及解析 D

本题考查的是无符号数进行位运算,首先要知道无符号数的二进制位的最高位是数值位,不是符号位。其次char类型是有1个字节,8个比特位;

a :1 1 1 0 1 0 1 1

b : 0 0 0 1 0 1 0 0

c : 0 0 0 0 1 0 1 0

c = 10

第四题

  1. 有以下定义,下列选项的表达式哪些会被编译器禁止 ()【多选】
cpp 复制代码
int a = 248, b = 4;
int const c = 21;
const int *d = &a; 
int *const e = &b;
int const * const f = &a; 

A:*c=32

B:*d=43

C:e=&a

D:f=0x321f

E:d=&b

F:*e=34

答案及解析 ABCD

const 在 * 左侧,指针指向的内容不可以修改;

const 在 * 右侧,指针本身不可修改

第五题

  1. 以下程序的输出是()
cpp 复制代码
#include <stdio.h>
struct HAR 
{
    int x,y;
    struct HAR *p;
} h[2];
int main()
{
    h[0].x = 1;
    h[0].y = 2;
    h[1].x = 3;
    h[1].y = 4;
    h[0].p = &h[1];
    h[1].p = h;
    printf("%d,%d \n", (h[0].p)->x, (h[1].p)->y);
}

A:1,2

B:2,3

C:1,4

D:3,2

答案及解析 D

这是一个结构体数组,之后对它们依次赋值,结果如下图:

在输出语句中访问:

相关推荐
码云数智-大飞4 分钟前
PHP 接口开发规范:统一返回格式、异常处理与参数校验
开发语言·php
浮江雾26 分钟前
Flutter第十七节-----路由管理(3)
android·开发语言·前端·javascript·flutter·入门
admin and root32 分钟前
「移动安全」安卓APP 反编译&frida脱壳技巧分享
android·开发语言·python·web安全·微信小程序·移动安全·攻防演练
踏月的造梦星球37 分钟前
DM8 DSC 单机双实例部署
运维·开发语言·数据库
An_s39 分钟前
c++对接pdfium(一)win系统篇
开发语言·c++
Zwarwolf1 小时前
Rust零散知识点项目汇总
开发语言·rust
-银雾鸢尾-1 小时前
C#中HashTable相关方法
开发语言·c#
茯苓gao1 小时前
嵌入式开发笔记:Qt信号槽机制深度解析——从原理到实战的全方位指南
开发语言·笔记·嵌入式硬件·qt·学习
ihuyigui1 小时前
海外签收通知短信接口
android·java·开发语言·前端·数据库·后端
xiaobobo33301 小时前
C语言中宏定义宏名和宏值之间的关系
c语言·宏定义·语义型