首页 > 编程语言 > 详细

初识C语言3

时间:2020-12-21 09:25:57      阅读:27      评论:0      收藏:0      [点我收藏+]
EOF-end of file;
函数求最大值:

#include<stdio.h>

int Max(int x, int y)
{
    if (x > y)
        return x;
    else
        return y;
}

int main()
{
    int num1 = 10;
    int num2 = 20;
    int max = 0;
    max = Max(num1, num2);
    printf("max = %d", max);
    return 0;
}

~ 按位(二进制位)取反:1010 -> 0101
源码、反码、补码
只要是整数,内存中储存的都是二进制的补码
正数 -源码 补码 反码 相同
负数-
源码 -- 》 反码 --》 补码
源码:按照真负 写出的二进制序列
反码:源码的符号不变,其他位按位取反得到的
补码:反码+1
例:
-2
源码:1000000000000000000000010
反码:11111111111111111111111111101
补码:11111111111111111111111111110
负数在内存中存储的时候,存储的是二进制的补码
使用的,打印的是源码
a++ 后置++,先使用,后加加

++a 前置++,先++,再使用

*间接访问操作符(解引用操作符)

(类型) 强制类型转换
int a=3.14;//报错
int a=(int)3.14;

关系操作符:

< >= <= != ==
逻辑操作符:
0表示假 一切非0为真
&& 逻辑与 同为真为真
|| 逻辑或 只要有一个为真 就为真

条件操作符(三目操作符):
exp1?exp2:exp3;

int()
{
    int a = 10;
    int b = 20;
    int max=0:
    max=(a>b?a:b);
    return 0;
}

逗号表达式:
exp1,exp2,exp3,....expN;
下标引用,函数调用和结构成员:
[] () . -> * &

int main()
{
    int arr[10]={0};
    arr[4];//下标引用操作符
    return 0;
}
int Add(int x,int y)
{
    int z=0;
    z=x+y;
    return z;
}
int main()
{
    int a=10;
    int b=20;
    int sum=Add(a,b);//函数引用操作符
    return 0;    
}

常见关键字:
auto 自动 一般用在
int a = 10; --局部变量-自动变量 通常省略

break
case
char
const
continue
default
do
double
else
enum
extern
float
for
goto
if
int
long
register(寄存器) rigister int a ;建议把a
return
short
signed int 定义的变量是有符号的 signed 通常被省略了
sizeof
static
struct 结构体关键字
switch
typedef
union 联合体 共用体
unsigned
void 无 空
volatile
while
计算机存储数据
1,寄存器
2,高速缓存
3,内存 访问速度高于硬盘
4,硬盘

CPU - 中央处理器

typedef - 类型定义-类型重定义
typedef unsigned int u_int; //unsigned int 被重命名
unsigned int num = 20;
u_int num2 = 20; 两个变量的类型是一样的

static - 修饰局部变量,局部变量的生命周期变长
static - 修饰全局变量,改变了变量的作用域-让静态的全局变量只能在自己所在的源文件内使用
static - 修饰函数,改变了函数的链接属性,正常的函数具有外部连接属性->内部连接属性

void test()
{
    static int a =1;//加上static后a是一个静态的局部变量,a不再销毁
    a++;
    printf("a=%d",a);
}
int main()
{
    int i = 0;
    while (i<5)
    {
        test();
        i++;
    }
    return 0;
}
无static:22222
有:23456

#define 定义常量和宏
1.定义标识符常量
2.可以定义宏-带参数

#include<stdio.h>
#define MAX 100
int main()
{
   int a = MAX;
   return 0;
}

//宏的定义

#define MAX(X,Y)(X>Y?X:Y)
int main()
{
    int a = 10;
    int b = 20;
    int max = Max(a,b);
    max = MAX(a,b);
    printf("max = %d",max);
    return 0;
}

指针:
内存:

基本单位为字bai节B,字节向上分别为KB、MB、GB、TB,每级为前一级的1024倍,比如1KB=1024B,1M=1024KB。
存储单位是一种计量单位。指在某一领域以一个特定量,或标准做为一个记录(计数)点。再以此点的某个倍数再去定义另一个点,而这个点的代名词就是计数单位或存储单位。如卡车的载重量是吨,也就是这辆卡车能存储货物的数量,吨就是它的单位量词。
扩展资料:
内存单位换算:
换算率约等于1000(1024),从大到小顺序为T、GB、MB(兆Zhao)、KB、B再小就是位了。1TB=1024GB 1GB=1024MB 1MB=1024KB 1KB=1024B 1B=8b。
计算机存储单位一般用bit、B、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB……来表示,它们之间的关系是:位 bit (比特)(Binary Digits):存放一位二进制数,即 0 或 1,最小的存储单位。
1 Byte(B) = 8 bit。
1 Kilo Byte(KB) = 1024B。
1 Mega Byte(MB) = 1024 KB。
1 Giga Byte (GB)= 1024 MB。
1 Tera Byte(TB)= 1024 GB。
1 Peta Byte(PB) = 1024 TB。
1 Exa Byte(EB) = 1024 PB。
1 Zetta Byte(ZB) = 1024 EB。
1Yotta Byte(YB)= 1024 ZB。
1 Bronto Byte(BB) = 1024 YB。
int main()
{
int a =10;//四个字节
int p=&a;//取地址
// printf("&p\n",p);
// printf("%p\n",&a);//地址为16进制
p = 20;//*-解引用操作符
printf("%d\n",a);
return 0;
}

指针变量:用来存放地址的变量

int main()
{
    char ch =‘A‘;
    char *p = &ch;
    *p = ‘W‘;
    printf("%c\n",ch);
    return 0; 
}

注:指针大小在32位平台是4个字节,64位平台是8个字节

初识C语言3

原文:https://blog.51cto.com/15055741/2567832

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!