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

     

  • 相关阅读:
    POJ 2236 Wireless Network(并查集)
    POJ 2010 Moo University
    POJ 3614 Sunscreen(贪心,区间单点匹配)
    POJ 2184 Cow Exhibition(背包)
    POJ 1631 Bridging signals(LIS的等价表述)
    POJ 3181 Dollar Dayz(递推,两个long long)
    POJ 3046 Ant Counting(递推,和号优化)
    POJ 3280 Cheapest Palindrome(区间dp)
    POJ 3616 Milking Time(dp)
    POJ 2385 Apple Catching(01背包)
  • 原文地址:https://www.cnblogs.com/fanglove/p/4932333.html
Copyright © 2020-2023  润新知