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类型。

相关推荐
结衣结衣.5 分钟前
python中的函数介绍
java·c语言·开发语言·前端·笔记·python·学习
茫茫人海一粒沙8 分钟前
Python 代码编写规范
开发语言·python
原野心存8 分钟前
java基础进阶知识点汇总(1)
java·开发语言
程序猿阿伟10 分钟前
《C++高效图形用户界面(GUI)开发:探索与实践》
开发语言·c++
暗恋 懒羊羊19 分钟前
Linux 生产者消费者模型
linux·开发语言·ubuntu
数据分析螺丝钉34 分钟前
力扣第240题“搜索二维矩阵 II”
经验分享·python·算法·leetcode·面试
no_play_no_games34 分钟前
「3.3」虫洞 Wormholes
数据结构·c++·算法·图论
五味香35 分钟前
C++学习,信号处理
android·c语言·开发语言·c++·学习·算法·信号处理
梓䈑1 小时前
【C语言】自定义类型:结构体
c语言·开发语言·windows