c语言题目

devtools/2024/9/23 21:57:22/

一些关于c语言的题目

文章目录

  • 一、计算程序输出
  • 二、以下程序运行时,若输入1abcedf2df<回车>输出结果是
  • 将flag的第二个bit置0
  • 结构体大小
  • 下列C程序执行后c输出结果为()
  • 设有定义char *p[]={"Shanghai","Beijing","Honkong"};则结果为j字符的表达式是()
  • 递归
  • 二维数组
  • 左移操作符
  • 指针
  • 编译链接
  • 宏定义
  • 优先级


一、计算程序输出

注意:无符号类型怎么计算。
在这里插入图片描述

首先这里i是无符号类型,j是普通整形。进入循环中i每次减3到-1,因为为无符号类型,要取-1的原码反码补码。补码变为十进制为254然后接着循环,循环84次后还余2,2-3等于-1。-1取原反补为255,接着循环85次结束。

在这里插入图片描述

二、以下程序运行时,若输入1abcedf2df<回车>输出结果是

在这里插入图片描述
while的判断条件为输入的不能是回车,如果a%2不等于0也就是不能为偶数位,并且字符串从a开始从z结束。把小写变为大写。
1AbCeDf2dF

将flag的第二个bit置0

在这里插入图片描述
先把2的原码写出啦来,0000…0010。
先把flag右移的排除,因为不确定flag的数是什么。
异或的话也不确定flag的那个位置的数是相同还是不同,相同置为0不同置为1。
按位或是有1就为1,全0为0。flag的数也是不确定的。
按位与是全1为1,有0就为0。并且这个a选项已经取反了0111…1101,也就是说这里已经是0了,用按位与的话无论flag这个位置的数是0还是1都为0。

结构体大小

在这里插入图片描述
在这里插入图片描述
在默认对其数为4的情况下

在这里插入图片描述
在第一个结构体中,先是double占八个字节,紧接着是char占一个字节,但是下面的一个为int类型对其数为4的倍数且默认对齐数也是4所以对齐到12。大小为16
在第二个结构体中,char占一个字节,double需要占八个字节并且默认对其数为4所以对其到4,int刚好从12开始占四个字节。大小为16。

在默认对其数为8的情况下:
在这里插入图片描述

在第一个结构体中,先放入double类型8个字节,然后放入char类型。最后的int类型这里注意在默认对其数和结构体中类型的对其数哪个小对其哪个。就那这个来说,默认对其数是8,但是int的对其数是4,4要小所以要对其4的倍数也就是从12开始。结构体大小为16。
在第二个结构体中,先放入一个字节的char类型。然后放入double类型的八个字节,且因为默认对其数是8放入8个字节。然后是int类型放入4个字节。到这里一共是20个字节,但是结构体的大小为最大对其数的倍数。所以结构体大小为24。

下列C程序执行后c输出结果为()

在这里插入图片描述
加减乘除时,不用管类型。
-3
原码:1000…0011
反码:1111…1100
补码:1111…1101
2
0000…0010
c
1111…1111

c的原码是1000…0001

设有定义char *p[]={“Shanghai”,“Beijing”,“Honkong”};则结果为j字符的表达式是()

在这里插入图片描述

递归

在这里插入图片描述
先算i=f(f(2))里的f2,2不大于二返回3。i=f(3)返回xf(x-1),3f(2)也就是3*3=9。

二维数组

在这里插入图片描述
在这里插入图片描述

四行四列

左移操作符

在这里插入图片描述
1的原码
0000 …0000 0001
左移五个之后
0000…0010 0000
所以(1<<5)为2的5次方为32,后面减了一个1就为31。
21和31进行异或
0000…0001 1111
0000…0001 0101
结果为
0000…0000 1010

在这里插入图片描述

指针

在这里插入图片描述

编译链接

在这里插入图片描述

宏定义

在这里插入图片描述
z=2*(3+1+((4+1)*5+1))=60
注意括号

优先级

在这里插入图片描述
转换优先级从高到低,double---->int----->short------>float----->char。在这个题中,a*b先转换成int类型,然后加double类型的转换为double类型,最后减float类型但是float类型优先级比double低,所以是double类型。


http://www.ppmy.cn/devtools/31843.html

相关文章

【JavaEE】JavaScript

文章目录 一、初识 JavaScript1、JavaScript 是什么 二、语法1、变量的使用 一、初识 JavaScript 1、JavaScript 是什么 JavaScript (简称 JS) 是世界上最流行的编程语言之一 是一个脚本语言, 通过解释器运行 主要在客户端(浏览器)上运行, 现在也可以基于 node.js 在服务器端…

Python基础学习之os模块

在Python编程的世界中&#xff0c;内置库为我们提供了丰富的功能和工具&#xff0c;使我们能够轻松处理各种任务。其中&#xff0c;os模块是一个极其重要且常用的库&#xff0c;它提供了与操作系统交互的接口。本文将带您一起探索os模块的一些常用功能。 1. os模块简介 os模块…

Python系列一之excel的读取

这里我常用的 python 对于 excel 的读取库有两个&#xff0c;一个是 xlsxwriter 用于操作 excel 的写入&#xff0c;一个是 xlrd 用于 excel 文件的读取。 使用的库的版本如下&#xff1a; xlsx1.2.6xlrd1.1.0 xlsxwriter 写入 excel 新建一个 excel import xlsxwriterpat…

在Ubuntu上怎么查看安装了哪些包?

2024年5月3日&#xff0c;周五晚上 在Ubuntu上&#xff0c;你可以使用以下命令来查看系统中已安装的包&#xff1a; 使用dpkg命令&#xff1a;dpkg --list这个命令将列出系统中所有已安装的软件包&#xff0c;包括名称、版本号和描述等信息。你可以使用 grep 命令来过滤结果&a…

Golang数组与切片

文章目录 数组数组介绍数组的定义方式访问与修改数组元素遍历数组元素数组指针 切片切片介绍切片的定义方式访问与修改切片元素添加切片元素切片的拷贝遍历切片元素string的切片 数组 数组介绍 数组介绍 在Go中&#xff0c;数组是一个由固定长度的特定类型元素组成的序列&…

AG32 MCU在触摸屏的应用(AGM FPGA/MCU行业应用)

传统的屏驱MCU常见应用于洗衣机、空调、空调面板、仪器仪表等人机交互界面显示场景中&#xff0c;通常是以段码的形式显示设备运转的时间、温度、测量结果等简单运行数据&#xff0c;随着人机交互需求丰富化&#xff0c;智能家居设备、摩托车、电动车等产品也逐步增加了屏幕显示…

【SQL】ACID事务与隔离级别

数据库事务 数据库事务具有ACID这4个特性&#xff1a; A&#xff1a;Atomicity&#xff0c;原子性&#xff0c;将所有SQL作为原子工作单元执行&#xff0c;要么全部执行&#xff0c;要么全部不执行&#xff1b;C&#xff1a;Consistency&#xff0c;一致性&#xff0c;事务完…

sql数据库——增删改

1.插入 insert into <表><字段1&#xff0c;字段2&#xff0c;字段3> values<值1&#xff0c;值2&#xff0c;值3> 2.更新/修改 update <表名> set 修改字段1值1&#xff0c;修改字段2值2&#xff0c;修改字段3值3&#xff0c; 3.删除 delete …