%1f——double;%c——char;%p——&a;%s——char[ ]


求两个数的较大值

#include <stdio.h>

int main()

{

 int num1=10;

 int num2=20;

 if (num1>num2)

        printf("较大值是:%d\n",num1);

 else

        printf("较大值是:%d\n",num2);

 return 0;

}



#include <stdio.h>

int Max(int x,int y)

{

 if(x>=y)

 return x;

 else

 return y;

}

int main(void)

{

 int num1=10;

 int num2=20;

 int max=0;

    max=Max(num1,num2);

    printf("max=%d\n",max);

 return 0;

}


~:按(二进制)位取反

#include <stdio.h>

int main(void)

{

 int a=0;

 int b=~a;

    printf("%d\n",b);

 return 0;

}



补码-1=反码 反码取反=原码(第一个1表示符号是负号,0是正号,在取反时不变)正数的原码、反码、补码相同


后置++:先使用它自己的值,再让自己的值+1

前置++:+1之后再使用,且自己已经+1


():强制类型转换符

int a=(int)3.14//把3.14(double)转换成了int


&&:逻辑与,只要有一个为假就输出0

||:逻辑或,只要有一个为真就输出1


exp1?exp2:exp3(三目/条件 操作符,exp1若为真则值为exp2,反之值为exp3)


关键字register,寄存器

register int a=10(建议把a=10存储到寄存器里面,具体是否存入是编译器判断的。存入到寄存器里的数据比存入到内存里的提取速度更快)


关键字typedef,类型重定义

typedef unsigned int u-int;

unsigned int num1=1;

u-int num2=2;

(num1,num2数据类型一样)


关键字static

1、修饰局部变量:生命周期变长

2、修饰全局变量:改变作用域,让静态的全局变量只能在所在的源文件内部使用

static int g-val=1;

3、修饰函数:改变了函数的链接属性,将外部链接属性改变为内部链接属性

static int Add(int x,int y)


关键字extern

声明外部符号

extern int Add(int,int);

extern int g-val;


关键字define指针

1、定义标识符常量

#define MAX 100

则MAX的值是100,中间不需要等号

2、定义宏

#define MAX(X,Y) (X>Y?X:Y)

(求X,Y的较大值)


指针变量(用来存放地址的变量)

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

eg1:

int a=10;

int* p=&a;//p的值是a的地址

printf(“%p\n”,&a);=printf(“%p\n”,p);

*p=20//*是解引用/间接访问 操作符

printf(“a=%d\n”,a); (输出结果是a=20)

eg2:

char ch=’w’;

char* pc=&ch;

*pc=’a’;

printf(“ch=%c\n”,ch); (输出结果是ch=a)

printf(“%d\n”,sizeof(pc));(输出结果是4or8)

C语言听课笔记_链接属性

struct(复杂对象->创建结构体类型)   .(结构成员访问操作符) 

strcpy

结构体变量.成员

结构体指针->成员