![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 79
迷雾江湖
奋斗中的菜鸟程序员
展开
-
高斯日记自解
题目描述:高斯日记 大数学家高斯有个好习惯:无论如何都要写日记。 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢? 高斯出生于:1777年4月30日。原创 2017-11-09 21:57:36 · 484 阅读 · 0 评论 -
++( 自增运算符) 与 --( 自减运算符) 简单说
自增运算符“++”与自减运算符“--”都是单目运算符的一种。根据它们所处操作数的位置可以分为前缀和后缀形式,这两种形式在某些情况下产生的效果是一毛一样的。但我们更关心是它们的不同之处,下来就看看它们不同之处的本质区别在哪! 前缀形式的++操作符出现在操作数的前面。 例如: ++a; 说明: 操作数的值被相加,而表达式的值就是操作数增加后的值。原创 2017-11-16 18:06:18 · 14030 阅读 · 2 评论 -
静态变量、自动变量与寄存器变量的存储
一、我们声明的变量有几类? 变量的存储位置与变量的类型有关,这里变量的类型不是int、float之类的类型, 而是分为三类:静态变量、自动变量和寄存器变量。 然而,变量到底属于这三类中的哪一类是根据变量在源文件中的声明位置和声明方式所决定的。二、这三类变量分别是怎么存储的(存储类型)? 变量的存储类型(storage class)是指存储变量值原创 2017-11-15 11:32:09 · 1716 阅读 · 0 评论 -
怎样让一个函数有不定长的参数列表?(附代码实例)
一、什么是可变参数列表? 我相信只要学过C语言,就一定用过 scanf() 和 printf() 两个标准库函数。用过的朋友都知道,这两个函数功能强大无比,能输入输出各种各样类型的东西!scanf() 能支持整型、浮点型、字符型等等类型的输入,而且与之对应的输出函数printf() 也能支持整型、浮点型、字符型等等类型的输出 !它是怎么实现的呢?是不是有什么厉害的法宝、大杀器?原创 2017-11-20 09:45:57 · 1411 阅读 · 0 评论 -
通过求斐波那契数理解递归的恐怖开销!
一、什么是递归? 递归的本质就是函数的自我调用,就是自己调用自己。 众所周知,递归是一种解决问题强有力的技巧。在描述有些问题时有不可替代的优势,但滥用递归很可能造成资源的巨大开销!二、递归函数调用涉及哪些运行时开销? 、参数必须压到堆栈 、函数内部定义的局部变量的值也要压栈保存 、函数的执行状态(寄存器的值原创 2017-11-19 22:28:04 · 343 阅读 · 0 评论 -
什么是标识符的链接属性,都有哪些属性?
什么是链接属性: 如果相同的标识符出现在几个不同的源文件中时,它们会被如何处理? 标识符的链接属性(linkage)决定如何处理在不同文件中出现的标识符。标识符的作用域与它的链接属性有关,但这两个属性并不相同。链接属性的种类: 链接属性一共有三种-----external(外部)、internal(内部)和none(无)原创 2017-11-14 22:14:24 · 1687 阅读 · 0 评论 -
C中标识符有哪些类型的作用域?
作用域: 当一个变量在程序的某个部分被声明时,它只有在程序的一定区域内才能被访问。而这个区域由变量的作用域(scope)决定。 编译器可以确认4种不同类型的作用域-----文件作用域、函数作用域、代码块作用域和原型作用域。而变量声明的位置决定了它的作用域。 (1)、代码块作用域 位于一对花括号之间的所有语原创 2017-11-14 21:29:30 · 1857 阅读 · 0 评论 -
两个大数相加
我们以前计算两个整数的和,需要定义两个整型变量来存储两个操作数。 但是,若这两个数大到任何整型类型都存放不下时,我们该怎么来计算它们的和呢?这就是我们今天所讨论的话题!解决思路: (1)、存储问题:我们可以使用字符串来存储操作数,这样不管操作数有多长都能放得下。 (2)、计算问题:自定加法时,我们要考虑每一位的相加,还有相加时是否有进位值产原创 2017-11-17 10:40:55 · 621 阅读 · 0 评论 -
位运算实现四则运算
今天我们来说一下怎么使用位运算来实现整数的四则运算! 四则运算归根结底是加法运算。其他运算都是建立在加法的基础之上,所以我们先来说一说怎么实现加法。一、加法: (1) 我们通过手算,可以发现:不需要进位的二进制加法运算可以通过异或运算来实现。 举个栗子: 5 + 2 = 7原创 2017-11-11 22:10:47 · 495 阅读 · 0 评论 -
根据日期得到今天是星期几
问题描述: 怎样能通过一个年月日的输入而得到该日期所处的星期呢?解决思路: (1)、首先我们知道一个星期是七天,而且这七天是周而复始,不断循环的!(重要条件之一) (2)、其次如果我们知道一个确定的日期,而且知道它对应的是星期几。那么我们就可以通过条件(1)来 计算出一个指定日期对应的星期了!原创 2017-11-11 17:29:58 · 1219 阅读 · 0 评论 -
怎么计算struct结构所占空间?
C语言结构体struct所占空间的计算一直是公司笔试题中的热点。 struct的空间计算较为复杂,总体上遵循两个原则: (1)、整体空间是占用空间最大的成员(的类型)所占字节数的整数倍。 (2)、数据对齐原则---内存按结构体成员的先后顺序排列,当排到该成员时,其前面已摆放的空间大小必须是该成员类型大小的整数倍,如果不够则补齐,依次原创 2017-12-05 13:56:32 · 1739 阅读 · 0 评论