C语言回顾-函数和位运算
1.函数的概述
功能独立的代码块
C语言由若干函数组成
1)从定义分,库函数和用户定义函数两种
2)从返回值分,有返回值函数和无返回值函数
3)从参数分,无参函数和有参函数
2.形参和实参
1)形参定义后,并不会立即分配存储空间,在函数调用的时候才会真正的分配存储空间
2)如果是多个参数,可以用逗号分隔
3)形参的类型可以不相同
4)函数内部不能定义与形参同名的变量
3.实参和形参的参数传递
1)调用函数的时候,实参的值时一个已经确定的值
2)把实参的值,赋值给形参
3)实参和形参的个数、类型要一致
如果类型不一致,会造成精度丢失
4)形参的值在函数内部可以被修改,但是不会影响主调函数中实参的数据
4.函数先声明再调用
5.递归函数,放在栈中,所以很占用内存空间
6.命令行:
cc -c xxx.c//编译
cc xxx.o//链接
./a.out//执行
7.文件包含指令#include,是一个预处理指令,作用是把要包含的文件的内容拷贝到当前书写include的地方
<>表示包含系统的文件
""表示包含自己的文件
include命令的搜索顺序:当前目录->子目录->编译器目录(
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include
)->mac系统的include目录,如果没有的话,报错
如果修改了编译器的include中的自定义文件后,运行后发现没用改变
1)需要clean项目
2)手动清理
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include目录下的文件
8.C语言模块化编程
9.进制
数位:从右到左依次是0、1、2、3。。。
基数:几进制基数就是几
位权:数码*基数^数位,如013,第1位的位权是1*8^1=8
位权相加就是把数转换成十进制后的值
10进制-》2进制:除2取余,结果倒序
2进制-》10进制:位权相加
2进制-》16进制:整数部分从右到左,4合一;小数部分,从左向右,4合一
16进制-》2进制:1分4
机器数:二进制数最高位代表符号
真值:机器数不带符号叫真值
原码(-128---》127)、反码、补码(-128在计算机中是1000 0000 0000 0000 0000 0000 0000 0000)
正数的原码、反码、补码相同
负数的反码是符号位不变,其余各位取反,补码是反码的基础上+1
计算机中存的是补码
10.位运算(不考虑符号位)
&按位与
|按位或
~按位取反,得到补码(如果是负的再取反加一转成原码)
^按位异或,相同为0,不同为1
<<左移,所有位全部向左移动n位,高位丢弃,低位补0;向左移n位,相当与乘以2的n次方,负数左移会变正数
>>右移,移出去的部分舍弃,高位要补符号位;向右移n位,相当与除以2的n次方,结果是整数部分,右移不会改变正负性
11.内存分配地址由高到低分配
%p输出变量的地址
C语言回顾-函数和位运算的更多相关文章
- C语言学习笔记之位运算求余
我们都知道,求一个数被另一个数整除的余数,可以用求余运算符”%“,但是,如果不允许使用求余运算符,又该怎么办呢?下面介绍一种方法,是通过位运算来求余,但是注意:该方法只对除数是2的N次方幂时才有效. ...
- Python语言中的按位运算
(转)位操作是程序设计中对位模式或二进制数的一元和二元操作. 在许多古老的微处理器上, 位运算比加减运算略快, 通常位运算比乘除法运算要快很多. 在现代架构中, 情况并非如此:位运算的运算速度通常与加 ...
- c语言小技巧:C语言学习笔记之位运算求余
我们都知道,求一个数被另一个数整除的余数,可以用求余运算符”%“,但是,如果不 允许使用求余运算符,又该怎么办呢?下面介绍一种方法,是通过位运算来求余,但是注 意:该方法只对除数是2的N次方幂时才有效 ...
- C语言面试题分类->位运算
1.不用临时变量交换两个整数. a = a ^ b; b = a ^ b; a = a ^ b; 2.实现一个函数,输入一个整数,输出该数二进制表示中1的个数.例如9的二进制是1001,则输出2. i ...
- C语言中的重要位运算
1. 常用的等式 :-n = ~(n-1) = ~n + 1. 2. 获取整数n的人进制形式中的最后1个,也就是只保留最后一个1,其余的全部置位0,如1000 0011 ---> 0000 0 ...
- javascript位运算
javascript作为一门高级语言,他尽量让开发人员减少思考底层的硬件工作原理,而将精力集中在逻辑开发的层面.不过,不论这门语言多么高级,我们必须知道数据依然以bits的形式存储,有时候我们会直接与 ...
- NumPy 位运算
NumPy 位运算 NumPy "bitwise_" 开头的函数是位运算函数. NumPy 位运算包括以下几个函数: 函数 描述 bitwise_and 对数组元素执行位与操作 b ...
- Numpy | 13 位运算
NumPy "bitwise_" 开头的函数是位运算函数.本章都是按二进制来操作的. NumPy 位运算包括以下几个函数: 函数 描述 bitwise_and 对数组元素执行位与操 ...
- 10、numpy——位运算
NumPy 位运算 NumPy "bitwise_" 开头的函数是位运算函数. NumPy 位运算包括以下几个函数: 函数 描述 bitwise_and 对数组元素执行位与操作 b ...
随机推荐
- github仓库的克隆、修改、上传方法(图)
- HTML 插入视频
HTML 5 video 视频标签全属性详解 现在如果要在页面中使用video标签,需要考虑三种情况,支持Ogg Theora或者VP8(如果这玩意儿没出事的话)的(Opera.Mozilla.C ...
- Linux_几个常用的命令
一.基本命令 查看当前路径:pwd 切换文件夹:cd 查看当前用户: who/whoami 取文件前3行:head -3 文件 取文件尾3行:tail -3 文件 切换用户: su - [用户名] 查 ...
- Qweb Pdf 中添加 图片
具体方法如下: <img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % company.l ...
- Canvas 属性,方法
context . restore() //弹出堆最上面保存的绘图状态 context . save() //在绘图状态堆上保存当前绘图状态 绘图状态可以看作当前画面应用的所有样式和变形的一个快照 ...
- wget 下载整个网站,或者特定目录
需要下载某个目录下面的所有文件.命令如下 wget -c -r -np -k -L -p www.xxx.org/pub/path/ 在下载时.有用到外部域名的图片或连接.如果需要同时下载就要用-H参 ...
- 了解C++默认编写并调用哪些函数
概念:编译器可以暗自为class创建default构造函数.copy构造函数.copy assignmengt构造函数,以及析构函数. 比如你写下:struct Node { }; 这就好像你写下这样 ...
- Ajax提交后台中文乱码问题
今天项目组同事反映,之前有一个正常的请求,今天突然后台获取参数的值出现了中文乱码,怀疑是之前更新jar包所致,笔者仔细想了想更新的内容,仿佛没有涉及到编码的变更啊,然后开始排查,首先后台加了强制以ut ...
- 2016HUAS暑假集训训练题 E - Rails
There is a famous railway station in PopPush City. Country there is incredibly hilly. The station wa ...
- steps animation
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...