C语言
文章平均质量分 59
C语言程序设计
shaominjin123
这个作者很懒,什么都没留下…
展开
-
输入缓冲区stdin
连续输入数字和字符出现字符无法录入输入的结束符时回车键,被scanf("%c", &ch);吸收了,所以导致无法输入字符。下图大致可以展示IO设备通过输入输出井实现实时输出输出。由于用户的输入和输出和内存和CPU之间存在着时间差,需要使用控制信号来中断CPU程序,让数据先输入到内存的一段地址中,成为缓冲区,stdin可以理解为这段内存地址。用户通过回车键来结束输入程序,CPU接收到结束的控制信号后,就结束终端。这个过程中回车字符也进入到了内存缓冲区stdin中。这就是为什么会产生上面的问题。原创 2024-05-30 11:22:54 · 285 阅读 · 0 评论 -
牛顿迭代法与二分法求根
使用算法中的循环不变式解方程根近似解问题原创 2024-05-27 16:18:53 · 375 阅读 · 0 评论 -
浮点型比较大小
浮点数的比较原创 2024-05-26 17:08:35 · 597 阅读 · 0 评论 -
指针数组与数组指针的理解
上述代码编译的时候没有报错,但是运行的时候,出现错误,list的内存信息指向了一些未知地方。这里init函数中的形参是指向结构体数组的指针,以上访问list[i]是不正确的。虽然list数组已经分配了地址,但是*list是一个指针,list+1指向了一个未知的位置,而不是list[1].指针在C语言中有着举足轻重的地位。指针的本体是一个整形地址,地址在汇编中是很常见的概念,硬件语言中,地址信息一般以数字的形式存放与代码中,只是C语言为了隐藏硬件中的细节,从而定义了指针的概念。原创 2024-05-24 18:00:45 · 417 阅读 · 2 评论 -
C程序设计第六章习题
10. 解析字符数组中的字符类型。11. 输出平行四边形图案。3. 求矩阵对角线之和。13. 字符串连接实现。14. 字符串比较实现。15. 字符串复制实现。4.有序数组插入数据。12. 字符编码解码。原创 2024-05-07 16:43:14 · 317 阅读 · 0 评论 -
递归问题的初级理解
当有新的系统调用发生,那么CPU环境和AP,FP指针会压入栈中,保存起来,CPU执行新的系统调用。如果想要知道函数是如何被调用的,在C语言层面是无法知晓的,从下图可以看到C语言作为一种高级语言,是用户通过用户接口从上至下地调用了系统方法从而实现了相关功能。所以非递归化首先需要申请一个栈,然后采用循环结构,f(n)中,如果n等于1了,循环终止,否则压入栈中保存起来。了解了递归地原理之后,可以发现函数调用,或者说系统调用其实就是用栈来实现地,采用先进后出地方式,保存和取出调用回来返回值。原创 2024-05-20 17:23:12 · 305 阅读 · 0 评论 -
malloc 和 free
最近代码中在free一些指针时,总会遇到释放失败,大致的提示是:free_base出现问题。那这是为什么呢?如何解决这个问题呢?原创 2024-05-19 16:37:33 · 342 阅读 · 0 评论 -
C程序设计第十章习题
3. 向文件中输入字符串代码:输出结果: 代码:输出结果:参考第九章9_5题代码: 输出结果:代码: 输出结果: 代码:输出结果:C程序设计最后一篇,记录每一步,加油!原创 2024-05-13 19:19:38 · 331 阅读 · 0 评论 -
C程序设计第九章习题
【代码】C程序设计第九章。原创 2024-05-11 19:11:35 · 464 阅读 · 1 评论 -
C程序设计第八章习题
检查报数是否为3,如果是就标记淘汰,并统计淘汰的人数m。先判断是否出局,没有就报数。,an= 0,0,0…,0(0表示未被淘汰,1表示淘汰)4)循环执行第2和第3步,直到淘汰人数m=n-1时,结束。参考:第八章的8_7。原创 2024-05-09 18:44:58 · 679 阅读 · 0 评论 -
C程序设计第七章习题
遍历字符串,如果n >max , max =a m1= m, if a[i] == 字符, m = i.分析:m记录单词的开头,n记录单词的长度,max最大长度,对应m1开头的单词。分析:字符串 0, 1,2 .。分析:元音字母 a e o i u。分析:需要判断是否是闰年。第1项和第n-1项互换。第i项和第n-i项互换。参考 第5章的5.4题。参考第二章的4(8)参考 第六章 6.1。参考第六章的6.13。原创 2024-05-08 20:52:08 · 297 阅读 · 0 评论 -
C程序设计第五章习题
第n 次落地:100 + 100 * 0.5 *2 + 100 *0.5*0.5*2 + 100*0.5(n-1) * 2 100 * 0.5(n)第三次落地:100 + 5 + 5 + 2.5 + 2.5 12.5。分析:假设A与X比赛,A=X=1. A=Y=2,A=Z=3.第n天 an = (an+1+1)*2。第9天(1 + 1)*2。第8天(4+1)*2。原创 2024-05-05 20:32:34 · 835 阅读 · 2 评论 -
C程序设计第四章习题
任一点(x,y)如果带入上述方程式小于或者等于1,则高度为10.如果大于1,则高度为0.原创 2024-05-03 10:39:53 · 299 阅读 · 0 评论 -
C程序设计第二章习题(中)
【代码】C程序设计第二章习题(中)原创 2024-04-29 16:17:26 · 208 阅读 · 0 评论 -
C程序设计第三章习题(下)
基本数据类型, scanf清除缓存,简易编码问题,圆相关问题原创 2024-05-02 07:45:44 · 239 阅读 · 2 评论 -
C程序设计第三章习题(上)
【代码】C程序设计第三章习题。原创 2024-05-01 08:41:49 · 139 阅读 · 1 评论 -
C程序设计第二章习题(下)
【代码】C程序设计第二章习题(下)原创 2024-04-30 08:47:01 · 288 阅读 · 0 评论 -
C程序设计第二章习题(上)
图2 4.2流程图(判断语句向下是,向右否)原创 2024-04-28 21:47:37 · 228 阅读 · 1 评论 -
C程序设计第一章习题
【代码】C程序设计第一章习题。原创 2024-04-28 14:21:01 · 143 阅读 · 1 评论 -
如何在vs code中创建C++工程
在第一次下载的时候,默认提供了arm 64架构的软件,结果安装的时候提示未选择正确架构下的软件安装,所以重新选择了windows x64这个版本。在以下下载页中选择Download以后,如果是第一次下载,会出现一个页面需要填写邮箱和姓名信息,才可以下载。在邮箱中confirm之后,浏览器左下方就会出现开始下载的提示和进度,我的是已经下载完成的。下载完以后,会弹出以下的安装对话框,到60%会有一段时间停顿,请耐心等待安装完成。点击环境变量,选择path,编辑,新建,粘贴路径,按下三个确定.原创 2024-04-27 11:11:17 · 1597 阅读 · 0 评论