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输出变量的地址

 

    原文作者:柱柱
    原文地址: https://www.cnblogs.com/fanglove/p/4932333.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞