初识C语言(C语言整体知识介绍)(三)

简介: 初识C语言(C语言整体知识介绍)(三)

操作符🐣

算术操作符> + - * / % (取模)

/ 除号两边没有小数就是进行的整数除法,若想结果带有小数必须两个数中有一个有小数点

float c = 10 / 3.0; //int / double -> double 3.333333

printf(“%f\n”, c);

% 取模操作符两边必须是整数

int a = 10 % 3; //10/3…1 10除3余1

移位操作符 (移动的是二级制位)> >> <<

位操作符 (操作的也是二级制位)> & (与) ^(异或) |(或)

赋值操作符> = += -= *= /= &= ^= |= >>= <<=

a = a + 10; a += 10;//2

a -= 2; a = a - 2;

单目操作符 > ! 逻辑反操作

负值 
正值 

& 取地址

sizeof 操作数的类型长度(以字节为单位)

~ 对一个数的二进制按位取反

– 前置、后置–

++ 前置、后置++

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

(类型) 强制类型转换

//C语言中,0就是假,非0就是真

//int a = 10;

//int b = !a; 10是真 ,!a就是假 就是0

//printf(“b=%d\n”, b);//打印0

sizeof

//printf(“%d\n”, sizeof(a));

//printf(“%d\n”, sizeof(int));

~

//00010101 二进制按位取反

//11101010

++

int a = 10;

int b = ++a;//前置++,先++,后使用

//a=a+1;b=a;

int b = a++;//后置++,先使用,后++

//b=a;a=a+1;

int a = 10;
• 1

//int b = --a;//前置–,先–,再使用

int b = a–;//后置–,先使用,再–

() 强制类型转换

int a = 3.14;

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

关系操作符 > > >= < <=

!= 用于测试“不相等”

== 用于测试“相等”

逻辑操作符 > && 逻辑与 || 逻辑或

并且                          或者

条件操作符 > exp1 ? exp2 : exp3

int a = 3;<br />  int b = 5;<br />  int m = 0;<br />  if (a > b)<br />    m = a;<br />  else<br />    m = b;<br />  m = ((a > b) ? a : b);

逗号表达式 > exp1, exp2, exp3,…expN

下标引用、函数调用和结构成员 > [] () . ->

[]

int arr[10] = { 1,2,3,4,5 };

// 0 1 2 3 4

printf(“%d\n”, arr[4]);//[]就是下标引用操作符

//[] - arr 4

()

printf("hello");//()就是函数调用操作符
• 1

//()的操作数是函数名printf,第二个就是"hello"

常见关键字

:::success

auto break case char const continue default do double else enum

extern float for goto if int long register return short signed

sizeof static struct switch typedef union unsigned void volatile while

:::

auto 自动变量 > int main()

{

auto int a = 10; //一般都是省略掉的 本来就是用来修饰局部变量的

return 0;

}

总概volatile 是Linus中要讲的现在不管

typedef typedef unsigned int uint;
//觉得unsigned int写起来很复杂 就换个名字
int main()
{
unsigned int num1 = 0;
uint num2 = 0;
return 0;
}

register 寄存器关键字

int main(){

register int num = 10;

//寄存器变量是不能取地址的,为什呢?因为取地址是取内存的地址

// 如果这个num在程序中被多次运用我们就可以使用register

//register 起到一个建议的作用,建议讲num的值放在寄存器中,

//最终是由编译器决定的

return 0;

}

static - 静态的

  1. static可以修饰局部变量

:::success

static 修饰局部变量的时候,改变了局部变量的存储类型:

一个局部变量本来是存储在栈区的,被static修饰的局部变量是存储在静态区的

存储在静态区的变量出了它的作用域变量也不会销毁,所以生命周期比较长。但是作用域是不被改变的。

static修饰的局部变量和程序的生命周期一样长

:::

  1. static可以修饰全局变量

static 修饰全局变量时,改变了全局变量的链接属性

本来一个全局变量具有外部链接属性,但被static修饰后就变成了内部链接属性

这时被static修饰的全局变量只能在本源文件(.c)中使用,其他文件无法再使用


目录
相关文章
|
存储 C语言
初识C语言(C语言整体知识介绍)(四)
初识C语言(C语言整体知识介绍)(四)
68 0
初识C语言(C语言整体知识介绍)(四)
|
存储 编译器 C语言
初识C语言(C语言整体知识介绍)(二)
初识C语言(C语言整体知识介绍)(二)
155 0
|
Java 编译器 Linux
初识C语言(C语言整体知识介绍)(一)
初识C语言(C语言整体知识介绍)
108 0
|
25天前
|
存储 C语言 开发者
【C语言】字符串操作函数详解
这些字符串操作函数在C语言中提供了强大的功能,帮助开发者有效地处理字符串数据。通过对每个函数的详细讲解、示例代码和表格说明,可以更好地理解如何使用这些函数进行各种字符串操作。如果在实际编程中遇到特定的字符串处理需求,可以参考这些函数和示例,灵活运用。
49 10
|
25天前
|
存储 程序员 C语言
【C语言】文件操作函数详解
C语言提供了一组标准库函数来处理文件操作,这些函数定义在 `<stdio.h>` 头文件中。文件操作包括文件的打开、读写、关闭以及文件属性的查询等。以下是常用文件操作函数的详细讲解,包括函数原型、参数说明、返回值说明、示例代码和表格汇总。
43 9
|
25天前
|
存储 Unix Serverless
【C语言】常用函数汇总表
本文总结了C语言中常用的函数,涵盖输入/输出、字符串操作、内存管理、数学运算、时间处理、文件操作及布尔类型等多个方面。每类函数均以表格形式列出其功能和使用示例,便于快速查阅和学习。通过综合示例代码,展示了这些函数的实际应用,帮助读者更好地理解和掌握C语言的基本功能和标准库函数的使用方法。感谢阅读,希望对你有所帮助!
33 8
|
25天前
|
C语言 开发者
【C语言】数学函数详解
在C语言中,数学函数是由标准库 `math.h` 提供的。使用这些函数时,需要包含 `#include <math.h>` 头文件。以下是一些常用的数学函数的详细讲解,包括函数原型、参数说明、返回值说明以及示例代码和表格汇总。
43 6
|
25天前
|
存储 C语言
【C语言】输入/输出函数详解
在C语言中,输入/输出操作是通过标准库函数来实现的。这些函数分为两类:标准输入输出函数和文件输入输出函数。
177 6
|
25天前
|
存储 缓存 算法
【C语言】内存管理函数详细讲解
在C语言编程中,内存管理是至关重要的。动态内存分配函数允许程序在运行时请求和释放内存,这对于处理不确定大小的数据结构至关重要。以下是C语言内存管理函数的详细讲解,包括每个函数的功能、标准格式、示例代码、代码解释及其输出。
54 6
|
25天前
|
C语言 开发者
【C语言】断言函数 -《深入解析C语言调试利器 !》
断言(assert)是一种调试工具,用于在程序运行时检查某些条件是否成立。如果条件不成立,断言会触发错误,并通常会终止程序的执行。断言有助于在开发和测试阶段捕捉逻辑错误。
35 5