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

第一题

  1. 在以下给出的表达式中,与do-while(E) 语句中的**(E)**不等价的表达式是( )
    A:(!E == 0)

B:(E > 0 || E < 0)

C:(E == 0)

D:(E != 0)

答案及解析 C

首先要知道(E)这个条件成立无非两种,0为假,非0为真;

所以E == 0,为假;E != 0 为真

也就是E == 0 不满足条件,E != 0 满足

A:!(E == 0),E等于0的时候,!(E==0) = !(1) = 0,为假,跟原来的一样,E==0为假

B:当这里E==0的时候,不成立,为假,是等价的;

C:在C这里E==0的时候,为真,成立,不是等价的;因为我们需要的是E==0为假

D:当E==0的时候,为假,成立,等价

第二题

  1. 如输入1,最后输出什么()
cpp 复制代码
int main()
{
    char c;
    scanf("%c", &c);
    switch(c)
    {
        case '1':
            printf("1");
        case '2':
            printf("2")
        case '3':
            printf("3")
        default:
            printf("error");
    }
}

A:1

B:2

C:3

D:123error

答案及解析 D

switch语句有个规则,只要符合case后面的值,就会执行下面语句,如果case里面没有break,就会依次执行这个case下面的每一个case后面的语句,当然也包括default;

所以最后结果为D

第三题

  1. 下面有关空指针和未初始化指针,说法错误的是()
    A:对0x0这个地址取值是非法的

B:空指针可以确保不指向任何对象或函数; 而未初始化指针则可能指向任何地方。

C:空指针与任何对象或函数的指针值都不相等

D:malloc在其内存分配失败时返回的是一个未初始化的指针

答案及解析 D

A:正确,对地址的取值就是解引用,对空指针和野指针的解引用是非法的,禁止对空指针和野指针解引用!

B:正确,空指针是指向的空,地址为0x0的,任何对象和函数的地址肯定不是空地址;野指针是未初始化的指针,指向的地址是随机的

C:正确,同B

D:错误,malloc开辟空间失败返回的是空指针

第四题

  1. 逻辑表达式 (x > 0 || y == 5) 的相反表达式为( )?
    A:x <= 0 || y != 5

B:x <= 0 && y != 5

C:x > 0 || y != 5

D:x > 0 && y == 5

答案及解析 B

首先我们先确定一下,这个逻辑表达式的逻辑:

x > 0为真,y == 5为真,两者满足一个即可;

那相反表达式 x <= 0为真, y != 5为真,中间的逻辑符是与还是或呢?

答案是与

如果是或,x <= 0 || y != 5,那就是x = -1 ,y = 5也成立,跟我们的原来的并不是相反表达式;

所以我们必须为与,只有满足x 小于等于0,同时还满足y不为5才行

也就是B

第五题

  1. 定义int a[ 3 ][ 5 ], i, j; (且 0 ≤ i < 3, 0 ≤ j < 5 ),则**a [ i ] [ j ]**不正确的地址表示是()
    A:&a[ i ][ j ]

B:a[ i ] + j

C:*(a + i) + j

D:*(*(a + i) + j)

答案及解析 D

A:正确,经典的对元素取地址

B:正确,a[ i ]表示的是第i行的首元素地址,+j就移动到a[ i ][ j ]的位置

C:正确,*(a + i) 等价于 a[ i ]

D:错误,取到的是a[ i ][ j ]这个元素

相关推荐
Brookty14 小时前
【JavaEE】线程安全-内存可见性、指令全排序
java·开发语言·后端·java-ee·线程安全·内存可见性·指令重排序
百锦再14 小时前
[特殊字符] Python在CentOS系统执行深度指南
开发语言·python·plotly·django·centos·virtualenv·pygame
Anson Jiang14 小时前
浏览器标签页管理:使用chrome.tabs API实现新建、切换、抓取内容——Chrome插件开发从入门到精通系列教程06
开发语言·前端·javascript·chrome·ecmascript·chrome devtools·chrome插件
会开花的二叉树14 小时前
继承与组合:C++面向对象的核心
java·开发语言·c++
长河16 小时前
Java开发者LLM实战——LangChain4j最新版教学知识库实战
java·开发语言
第七序章16 小时前
【C++STL】list的详细用法和底层实现
c语言·c++·自然语言处理·list
Cyan_RA916 小时前
SpringMVC @RequestMapping的使用演示和细节 详解
java·开发语言·后端·spring·mvc·ssm·springmvc
l1t18 小时前
利用DeepSeek实现服务器客户端模式的DuckDB原型
服务器·c语言·数据库·人工智能·postgresql·协议·duckdb
再见晴天*_*19 小时前
SpringBoot 中单独一个类中运行main方法报错:找不到或无法加载主类
java·开发语言·intellij idea
l1t20 小时前
利用美团龙猫用libxml2编写XML转CSV文件C程序
xml·c语言·libxml2·解析器