c语言题目

一些关于c语言的题目

文章目录


一、计算程序输出

注意:无符号类型怎么计算。

首先这里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类型。

相关推荐
悟能不能悟16 分钟前
java的java.sql.Date和java.util.Date的区别,应该怎么使用
java·开发语言
2301_7644413322 分钟前
水星热演化核幔耦合数值模拟
python·算法·数学建模
循环过三天23 分钟前
3.4、Python-集合
开发语言·笔记·python·学习·算法
_院长大人_2 小时前
设计模式-工厂模式
java·开发语言·设计模式
MATLAB代码顾问2 小时前
MATLAB实现决策树数值预测
开发语言·决策树·matlab
priority_key3 小时前
排序算法:堆排序、快速排序、归并排序
java·后端·算法·排序算法·归并排序·堆排序·快速排序
不染尘.3 小时前
2025_11_7_刷题
开发语言·c++·vscode·算法
ben9518chen3 小时前
嵌入式Linux C语言程序设计九
linux·c语言
似水এ᭄往昔3 小时前
【C++】--stack和queue
开发语言·c++
csbysj20204 小时前
R 绘图 - 散点图
开发语言