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

C语言--每日五道选择题--Day6

第一题

1、声明以下变量,则表达式: ch/i + (f*d – i) 的结果类型为( )

char ch;
int i;
float f;
double d;

A: char 

B: int 

C: float 

D: double

答案及解析 D

基本数据类型的等级从低到高如下:char-> int-> long-> float-> double

运算的时候是从低转到高的,表达式的类型会自动提升或者转换为参与表达式求值的最上级类型。

第二题

2、关于代码的说法正确的是( )

#include <stdio.h>
int main()
{int x = -1;unsigned int y = 2;if (x > y){printf("x is greater");}else{printf("y is greater");}return 0;
}

A: x is greater 

B: y is greater 

C: 依赖实现 

D: 随机

答案及解析 A

x是有符号数-1,内存中是全1,当有符号的x和无符号数进行比较时,x会隐式类型转换被当做无符号数,是一个很大的数,这时就选择A了

第三题

3、已知有如下各变量的类型说明,则以下不符合C语言语法的表达式是( )

int k, a, b;
unsigned int w = 5;
double x = 1.42;

A: x % 3 

B: w += -20 

C: k = (a = 200,b = 300) 

D: a += a -= a = 9

答案及解析  A

取余操作符两边必须是整数

第四题

4、下面函数的输出结果是( )

void func()
{int k = 1^(1 << 31 >> 31);printf("%d\n", k);
}

A: 0 

B: -1 

C: -2 

D: 1

答案及解析 C

(1 << 31 );左移31位,并在右侧填充0,得到0x80000000,即符号位为1,其他为0,即-2147483648

int k = 1^(1 << 31 >> 31);注意,这里在右移的时候,符号位保持为1,右移后填充1,结果为0xFFFFFFFF,即-1

0x00000001^0xFFFFFFFF,即0xFFFFFFFE(-2)

第五题

5、如下代码的输出结果是( )

#include <stdio.h>
int main()
{int i = 1;sizeof(i++);printf("%d\n", i);return 0;
}

A: 1 

B: 4 

C: 2 

D: 8

答案及解析 A

一般表达式的运算是在运行时执行的,而sizeof是一个编译阶段就执行的运算符,在其内的任何运算都不执行,只推测出其中表达式结果的类型求其大小,故前后i的值不变。

也就是说sizeof括号里的不会进行运算

相关文章:

  • WPF ToggleButton 主题切换动画按钮
  • TensorRT安装部署指南(Windows10)
  • 采集Prestashop独立站采集Prestashop独立站
  • 【数据结构】树与二叉树(十一):二叉树的层次遍历(算法LevelOrder)
  • S7-1200PLC和SMART PLC开放式以太网通信(UDP双向通信)
  • 多个微信快速同步发圈
  • 每日一练:Python中如何使用enumerate 函数创建带索引的元组
  • 什么是Ribbon的饥饿加载?有什么优势?
  • LeetCode_线段树_中等_307.区域和检索 - 数组可修改
  • 【PG】PostgreSQL 目录结构
  • 向量的范数、矩阵的范数
  • Apipost IDEA插件如何使用
  • keep-alive缓存,三级路由不生效
  • 摔杯算法(要求用最少的测试次数找出恰巧会使杯子破碎的楼层。)
  • ChatGPT的prompt技巧 心得
  • 【RocksDB】TransactionDB源码分析
  • CentOS6 编译安装 redis-3.2.3
  • Fastjson的基本使用方法大全
  • Java|序列化异常StreamCorruptedException的解决方法
  • javascript数组去重/查找/插入/删除
  • Java程序员幽默爆笑锦集
  • Java小白进阶笔记(3)-初级面向对象
  • js 实现textarea输入字数提示
  • maven工程打包jar以及java jar命令的classpath使用
  • NSTimer学习笔记
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Python中eval与exec的使用及区别
  • React16时代,该用什么姿势写 React ?
  • Transformer-XL: Unleashing the Potential of Attention Models
  • Vue 2.3、2.4 知识点小结
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 通过git安装npm私有模块
  • 再谈express与koa的对比
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • $.ajax()参数及用法
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (Java)【深基9.例1】选举学生会
  • (二)丶RabbitMQ的六大核心
  • (一)Java算法:二分查找
  • (已解决)什么是vue导航守卫
  • (转)Sublime Text3配置Lua运行环境
  • (转)拼包函数及网络封包的异常处理(含代码)
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .bashrc在哪里,alias妙用
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .net流程开发平台的一些难点(1)
  • .Net下C#针对Excel开发控件汇总(ClosedXML,EPPlus,NPOI)
  • @Repository 注解