考研c语言刷题
文章平均质量分 87
深中笃行
这个作者很懒,什么都没留下…
展开
-
数据结构之栈
顺序栈是一种后进先出(LIFO)的数据结构,通过动态数组实现,支持动态扩容和收缩。主要操作包括入栈、出栈、获取栈顶元素和判断栈空,适用于需要快速访问最后存入数据的场合。原创 2024-05-12 20:17:11 · 437 阅读 · 2 评论 -
数据在内存中的存储以及百度笔试题
在内存中可以自定义顺序,但是只有从大到小,或者从小到大最为方便。其中:递增的如11 22 33 44为大端存储递减的如44 33 22 11为小端存储如地址:0x11223344 是十六进制,一位十六进制如1为0001占四个bit空间,11占8个bit空间,所以两个十六进制位占一个字符(8bit)。例如有符号char一个字节8为字符,其中第一位为符号位;无符号unsigned char 是从0-255,有符号是从0-127,-127-(-1)。所以超过127的部分,也等于127。原创 2024-02-18 20:56:59 · 965 阅读 · 2 评论 -
C语言函数的栈帧与销毁(面试亮点)
在函数调用之前就将call指令的下一条指令的地址就压栈了,然后再将edp(此时的edp是调用函数的上一条函数如main函数的edp)压栈,这样在pop掉edp时,edp会返回到原edp的位置,由于pop操作,会使esp++,这样esp就会调用call指令的下一条指令的地址,这样就会时函数调用返回,然后返回的值,事先已被寄存器eax临时保存,这样值也会被寄存器带回。在还没有调用函数的时候,就以及将实参的拷贝push压栈到空间里,到调用函数的时候,并没有为形参分配空间,而是使用esp+偏移量,找到实参的拷贝。原创 2024-02-09 00:41:38 · 1290 阅读 · 0 评论 -
编译器的实用调试技巧
一个bug的故事:有说法认为,世界上第一个bug出现在1944年,当时的第一台通用自动计算机塔克一号诞生。在一次维护过程中,一位名叫格蕾丝·霍普的女性程序员发现并解决了计算机中的一个缺陷,这个缺陷是由于一只蛾子飞入计算机内部造成的。她使用了发夹将蛾子夹出,并在管理日志上记录了这次事件。此后,“Bug”这个词就被用来指代计算机程序中的错误。原创 2024-02-05 21:37:05 · 1036 阅读 · 0 评论 -
考研C语言操作数以及函数刷题基础刷题
1的补码为:1111 1111 1111 1111 1111 1111 1111 1111。-1除2,不够除,所以整数为0;所以我们需要用无符号整形 unsigned int,让-1的每一位都是有效位。用n&(n-1),这样在二进制可以每次都减少一个1,循环了几次就有几个1。如:输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表。^异或操作符的意思是,相同为0,相异为1;每一位都与1做与运算,双1为1。因为,int是4字节,字节8位。4.如果循环到最后,如果i=n-1,那么就是素数。原创 2024-02-02 16:44:02 · 1168 阅读 · 0 评论 -
基于C语言的趣味游戏之五子棋
在用rand之前要先使用srand随机数种子,为了确保随机数种子的唯一性,我们将随机数种子放在test.c文件的main()函数里,确保随机数种子只被调用一次。先写菜单,然后在主函数里调用,由于这是一个可以重复的游戏所以将do while循环里调用menu函数。由于数组的下标是从0开始到n-1的,但是玩家是不会考虑这些的,所以玩。最后在合法的下标下,将玩家输入的下标位置用 ‘ * ’替换空格。当用户在相应的坐标里输入时,就将对应的空格替换成特定的符号。家的输入的下标,应该在要减一才是棋盘的下标。原创 2024-01-25 02:47:34 · 1012 阅读 · 0 评论 -
考研C语言刷题基础篇之数组(一)
什么是数组名arr数组名其实是地址,而且是首元素的地址但是有两个特例不是首元素的地址sizeof(arr)这里不是首元素的地址,这里是整个数组的大小&arr,对数组取地址,这里不是对首元素取地址,这里是对数组取地址除了这两个特例以外,其他的情况都是首元素的地址数组是数组同样其实也是指针,因此可以用数组接收,也可以用指针接收下面我们用的数组名arr传参,这里arr是首元素的地址。参数传给//也可以用被下面的调用,但是由于arr是首元素的地址。原创 2024-01-24 23:25:54 · 810 阅读 · 0 评论 -
考研C语言刷题基础篇之分支循环结构基础(二)
首先,是完成一次n=2时的操作 即(n-1)时操作的操作。在加上一步将蓝色放入第三根柱子的操作最后,是将黑红当一个整体,在完成一次n=2即(n-1)时的操作。原创 2024-01-21 00:41:52 · 1251 阅读 · 1 评论 -
考研C语言刷编程题篇之分支循环结构基础篇(一)
printf("%d\n", sizeof(arr) / sizeof(arr[0]) //求数组的元素个数。每一重置sum:1+1+1*2+1+1*2+1*2*3+1+1*2+1*2*3+1*2*3*4。在有序数组1,2,3,4,5,6,7,8,9,10里查找元素。数组的下标是从0开始的,所以right的值应该是数组长度-1;正常求和,1+1*2+1*2*3......原创 2024-01-16 23:37:26 · 690 阅读 · 1 评论