初识c语言,初识C语言

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值