1、求两个数的最大值
#include
#include
int main()
{
int num1 = 10;
int num2 = 20;
if (num1 > num2)
printf("较大值是:%d\n", num1);//%d-打印的是整形
else
printf("较大值是:%d\n", num2);
return 0;
}
2、用函数求最大值
#include
#include
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\n", max);
return 0;
}
3、单目操作符-sizeof-操作数的类型长度(以字节为单位)
#include
#include
int main()
{
int a = 10;//a是整形变量占内存的4个字节
int arr[] = { 1, 2, 3, 4, 5, 6 };//数组是6个元素,元素的类型是整形,一个元素是4个字节,6*4=24
printf("%d\n", sizeof(a));//4
printf("%d\n", sizeof(int));//4-a是整形
printf("%d\n", sizeof a);//4-4-字符串求变亮的时候括号可以省略掉的,但是要再sizeof后留空格,如果sizeof是函数必须加括号
printf("%d\n", sizeof(arr));//sizeof计算数组的大小,单位是字节
printf("%d\n", sizeof(arr) / sizeof(arr[0]));//6-计算元素的个数-arr[0]元素的大小
return 0;
}
4、~对一个数的二进制按位取反
#include
#include
int main()
{
int a = 0;//整形占用4个字节,32个bit位(一个字节是8个bit)
int b = ~a;//b是有符号的整形-最高位是1就是否数,0就是正数
//~-按(2进制)位取反
//1010
//~0101
//00000000000000000000000000000000-整形a=0的二进制表示形式
//~11111111111111111111111111111111
//源码、反码、补码
//否数再内存中存储的时候,存储的是二进制的补码
printf("%d\n", b);//使用的,打印的是这个数的源码
//源码=反码->符号位不变其它位按位取反
//反码=补码->反码加1等于补码
//11111111111111111111111111111111-补码
//11111111111111111111111111111110-反码
//10000000000000000000000000000001-源码
return 0;
}
5、-- 前置、后置--,++前置、后置++
#include
#include
int main()
{
int a = 10;
//int b = a++;//后置++,先使用,再++
//int b = ++a;//前置++,先++,再使用
//int b = a--;//后置--,先使用,再--
int b = --a;//前置--,先--,再使用
printf("a = %d b = %d\n", a, b);//11 10、11 11、9 10、9 9
return 0;
}
6、(类型)-强制类型转换
#include
#include
int main()
{
//int a = 3.14;//从“double”转换到“int”,可能丢失数据
int a = (int)3.14;//强制类型转换、原来3.14是double类型的->强制转换成int类型的
return 0;
}
7、关系操作符 >、 >=、
8、逻辑操作符 &&逻辑与、||逻辑或
#include
#include
int main()
{
//c语言如何表示真假的
//0表示假、非0表示真
//&&-逻辑与--都为真才是真,一个为假都为假
//||-逻辑或--有一个为真才为真,都为假才为假
int a = 3;
int b = 5;
//int c = a && b;//a大于0,b大于0,所以算出来的是真
int c = a || b;//a大于0,b大于0,所以算出来的是真
printf("c = %d\n", c);
return 0;
}
9、条件操作符 -exp1 ? exp2 : exp3(三目操作符)
#include
#include
int main()
{
int a = 10;
int b = 20;
int max = 0;
max = (a > b ? a: b);
/if (a > b)
max = a;
else
max = b;/
return 0;
}
10、下标引用操作符[]、函数调用()、结构成员 . ->
#include
#include
int Add(int x, int y)
{
int z= 0;
z = x + y;
return z;
}
int main()
{
//int arr[10] = { 0 };
//arr[4];//[]下标引用操作符
int a = 10;
int b = 20;
int sum = Add(a, b);//() -- 函数调用操作符
return 0;
}
11、常用关键字
auto(自动)、
break(循环里面可以用到,停止循环)、
case、
char、
const(常变量修饰符)、
continue(继续,用在循环里面)、
default(默认)、
do、
double、
else、
enum(枚举)、
extern(引用外部符号)、
float(单精度浮点数)、
for、
goto、
if、
int、
long、
register(寄存器关键字)、
return(返回)、
short(短整形)、
signed(有符号数字、int=signed int)、
unsigned(无符号数字、unsigned int num = 0;--即使num是否数也被认为是正数)、
sizeof(用来计算大小的)、
static(静态的)、
struct(结构体关键字)、
switch、typedef(类型重定义)、
union(联合体或者共用体)、
void(无或者空)、
volatile(操作系统会讲)、
while
11.1、 register(寄存器关键字)
【计算机存储数据可以存储到
寄存器、
高速缓存、几十兆
内存中、4G、8G、16G
硬盘中、500G
寄存器高于高速缓存高于内存访问速度高于硬盘
#include
#include
int main()
{
register int a = 0;//建议把a定义成寄存器变量
return 0;
}
】
11.2、static(静态的)用来修饰变量和属性的
1、修饰局部变量--静态局部变量
2、修饰全局变量--静态全部变量
3、修饰函数--静态函数
代码1
tast.c
#include
#include
//声明外部函数
extern int Add(int, int);
//3、static修饰函数
//也是改变了函数的作用域--不准确
//static修饰函数改变了函数的连接属性
//普通的函数具有外部连接属性--->用static修饰函数之后就变成了内部连接属性
//static
int main()
{
int a = 10;
int b = 20;
int sum = Add(a, b);
printf("sum = %d\n", sum);
return 0;
}
//static修饰全局变量
int main()
{
//extern--声明外部符号的
//--变量有两个属性一个叫声明周期一个叫作用域
//2、static修饰全部变量
//改变了变量的作用域--让静态的全局变量只能在自己所在的源文件内部使用,出了源文件就不法在使用了
extern int g_val;
printf("g_val = %d\n", g_val);
return 0;
}
//1、staric修饰局部变量
//局部变量的生命周期变长
void test()
{
//int a = 1;
static int a = 1;//a 是一个静态的局部变量
a++;
printf("a = %d\n",a);
}
int main()
{
int i = 0;
while (i<5)
{
test();
i++;
}
return 0;
}
代码2
add.c
//static int g_val = 2020;//全局变量
//定义一个函数
static int Add(int x, int y)
{
int z = x + y;
return z;
}
11.3、#define定义常亮和宏
12.#include
#include
//#define 定义标识符常亮
//#define MAX 100
//#define 可以定义宏--带参数
//函数的实现
int Max(int x, int y)
{
if (x > y)
return x;
else
return y;
}
//宏的实现
#define MAX(X,Y) (X>Y?X:Y)
int main()
{
//int a = MAX;
int a = 10;
int b = 20;
//函数的方式
int max = MAX(a, b);
printf("max= %d\n", max);
//宏的方式
max = MAX(a, b);
//max = (a>b?a:b);
printf("max= %d\n", max);
return 0;
}
12、指针
内存----
#include
#include
int main()
{
int a = 10;//4个字节---
//&a;//取地址
intp = &a;
//有一种变量是用来存放地址的--指针变量p = 20;//--解引用操作符
printf("%p\n", &a);
printf("%p\n", p);
printf("a = %d\n", a);
return 0;
}
#include
#include
int main()
{
char ch = "w";
charpc = &ch;pc = "a";
printf("%c\n", ch);
return 0;
}
来源:51CTO
作者:mb5fccf1ac1bda3
链接:https://blog.51cto.com/15049077/2562709