当前位置: 首页 > news >正文

C语言—每日选择题—Day52

第一题

1. 执行c程序代码,a,b,c,d的值分别为()

int a = 1;
int b = 0; 
int c = 0; 
int d = (++a) * (c = 1);

A:2,0,1,2

B:1,0,1,1

C:2,0,1,1

D:2,0,0,2

答案及解析 A

本题考查的重点在d变量定义这里

d = ( ++a ) * (c = 1) 

前置++表达式的值为++之后的值,所以++a = 2;此时a = 2

c = 1 这种赋值表达式的值是恒为真的,所以赋值表达式的结果为1;此时 c = 1

所以 d = 2 * 1 = 2;

a = 2;b = 0;c = 1;d = 2;

第二题

2. 以下程序运行后的输出结果是()

#include <stdio.h>
#define  S(x) 4*x*x+1
int main() 
{  int i=6,j=8;printf("%d\n",S(i+j));return 0;
}

A:21

B:41

C:61

D:81

答案及解析 D

本题考查的是#define宏替换

所以S(i + j) = 4 * i + j * i + j + 1 = 4 * 6 + 8 * 6 + 8 + 1 = 81

第三题

3. 下面代码在32位计算机中输出的结果是()

struct TEST_TYPE 
{int a;int b;
};
int testSize(struct TEST_TYPE val[10]) 
{return sizeof(val);
}

A:4

B:8

C:10

D:80

答案及解析 A

本题考查的是求变量所占的空间大小,所以直接看val,val是结构体数组的数组名,但是这里的结构体数组是形参,数组作为形参的时候,类型是指针类型

相当于struct TEST_TYPE *val,所以val是指针类型,指针类型在32位大小为4字节。

第四题

4. 若有以下程序段,不能正确引用字符串的选项是( )

char str[4][12] = {"aa", "bbb", "cccc", "d"};
char *strp[4];
for (int i = 0; i < 4; i++)
{strp[i] = str[i];
}

A:str[0]

B:strp

C:strp[3]

D:* strp

答案及解析 B

这里我们要知道,二维数组名是代表的第一行的地址,二维数组的行是代表的每一行的首元素地址,所以为了可以引用字符串,一定是要拿到二维数组行;正因如此,strp这个指针数组的每个元素都是二维数组str的行

A:str[0],二维数组的行,是第一行的首元素的地址,字符串只要知道首元素地址就可以引用

B:strp,这是指针数组的数组名,是数组首元素的地址,也就是 &strp[0],而strp数组,是存放指针的,也就是存地址的,那对地址取地址,就是另外一个地址了,因为我们不能保证strp[0]的地址,是跟字符串的首元素地址有关系的,而且这时候strp是一个二级指针,所以无法引用字符串;

C:strp[3],这个就是str[3],可以拿到字符串;

D:*strp,这个是对的,strp是strp[0]的地址,解引用后就是strp[0],而strp[0]存的是str[0],是二维数组第一行的首元素的地址,aa,可以正确引用字符串;

第五题

5. 若已有定义:int a = 2, b = 3, c = 4; 则表达式 !(a + b) - c + 1 || c + b / 2 的值是(        )

A:-2

B:-1

C:0

D:1

答案及解析 D

   !(a + b) - c + 1 || c + b / 2

= !5 - 4 + 1 || c + b / 2

= 0 - 4 + 1 || c + b / 2

= -3 || c + b / 2

= 1

这里记住||,是从左往右计算的,有1就是1,而0是0,非0就是1;左边为1,就是真,右边不会计算了。所以结果为1;

相关文章:

  • EasyExcel合并相同内容单元格及动态标题功能的实现
  • 华为云CodeArts Pipeline常见问答汇总
  • 智能优化算法应用:基于学校优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 【golang】go执行shell命令行的方法( exec.Command )
  • 机器人制作开源方案 | 智能落叶清扫机器人
  • 【unity实战】一个通用的FPS枪支不同武器射击控制脚本
  • 如何保证架构的质量
  • Android Uri scheme协议file转content
  • [最后一个月征稿、ACM独立出版】第三届密码学、网络安全和通信技术国际会议(CNSCT 2024)
  • Crocoddyl: 多接触最优控制的高效多功能框架
  • STM32_启动流程详解
  • 【数据库设计和SQL基础语法】--连接与联接--多表查询与子查询基础(一)
  • k8s中ConfigMap、Secret创建使用演示、配置文件存储介绍
  • 面试算法61:和最小的k个数对
  • 保姆级 Keras 实现 YOLO v3 三
  • GitUp, 你不可错过的秀外慧中的git工具
  • java多线程
  • Java反射-动态类加载和重新加载
  • JSONP原理
  • Python_网络编程
  • socket.io+express实现聊天室的思考(三)
  • Vue实战(四)登录/注册页的实现
  • 从零开始在ubuntu上搭建node开发环境
  • 汉诺塔算法
  • 回顾 Swift 多平台移植进度 #2
  • 基于游标的分页接口实现
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 智能合约Solidity教程-事件和日志(一)
  • 《码出高效》学习笔记与书中错误记录
  • ionic入门之数据绑定显示-1
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • ​2021半年盘点,不想你错过的重磅新书
  • ​比特币大跌的 2 个原因
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #传输# #传输数据判断#
  • (AngularJS)Angular 控制器之间通信初探
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (三)模仿学习-Action数据的模仿
  • (转)3D模板阴影原理
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48
  • @Conditional注解详解
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell
  • [100天算法】-实现 strStr()(day 52)
  • [2021 蓝帽杯] One Pointer PHP
  • [AIGC] Java 和 Kotlin 的区别
  • [hdu 2896] 病毒侵袭 [ac自动机][病毒特征码匹配]
  • [IE9] GPU硬件加速到底是实用创新还是噱头
  • [JavaEE系列] Thread类的基本用法