【C语言】基础(数据类型,占位符,转义字符,定义常量,定义变量,定义函数,补充:运算符)

【C语言】常用数据类型:(64位为例)

整数类型 字符类型 char 1 byte
整数类型 无符号字符类型 unsigned char 1 byte
整数类型 短整数 short 2 bytes
整数类型 无符号短整数 unsigned short 2 bytes
整数类型 整数 int 4 bytes
整数类型 无符号整数 unsigned int 4 bytes
整数类型 长整数 long 8 bytes
整数类型 无符号长整数 unsigned long 8 bytes
浮点类型 单精度浮点数 float 4 bytes
浮点类型 双精度浮点数 double 8 bytes
void类型 空类型 void
数组类型
枚举类型
指针类型

【C语言】常用占位符:

%hd short
%d int
%ld long
%f float
%lf double
%c char 单个字符
%s 字符串
%p 地址
%u 无符号整型
%x 十六进制整型
%o 八进制整型

【C语言】部分转义字符:

\b 退格键
\f 换页符
\n 换行符
\r 回车
\t 水平制表符
\v 垂直制表符

【C语言】定义常量:(常量一般用大写)

#define:使用预处理器,简单的文本替换,不进行类型检查,没有作用域限制。

const:定义类型,分配内存,只在定义所在的作用域有效,在符号表有条目,有助于调试和可读性。

// 预处理器定义常量
#define 常量名 常量值

例如:
#include <stdio.h>
#define NUMBER 10      // 定义常量

int main(void)
{
    printf("Number is %d", NUMBER);
}
// 声明指定类型的常量,值不能被修改
const 类型 常量名 = 常量值;

例如:
#include <stdio.h>

int main(void)
{
    const int NUMBER = 10;           // 定义常量
    printf("Number is %d", NUMBER);
}

【C语言】定义变量:

// 定义变量:
// 类型 变量名;
int n;           // 定义整数变量
float x;         // 定义浮点数变量
char s;          // 定义字符变量
int *point;      // 定义指针变量

// 定义多个变量:
// 类型 变量名1, 变量名2;
int m, n;

// 初始化变量:
// 类型 变量名 = 初始值; 
// 类型 变量名1 = 初始值1, 变量名2 = 初始值2;
char s = "A";
int m = 3, n = 2;

// 后续变量初始化:
// 类型 变量名; 
// 变量名 = 初始值;
int m;
m = 3;

变量 只声明,不定义:extern

不建立存储空间,变量可在其它文件定义。

// 变量 只声明,不定义
extern int x;

【C语言】定义函数:

return_type function_name( parameter list )
{
   body of the function
}

// 例如:main:函数名,void:没有参数,int:返回整型数值
int main(void)
{
    printf("hello");    // 使用printf需有头文件。#include <stdio.h>
    return 0;
}

调用函数,需提前函数声明。若不提前声明,则warning: implicit declaration of function。

#include <stdio.h>

// 函数声明。此函数在主函数后面定义,若不提前声明,则warning: implicit declaration of function
int num_total(int m, int n);

int main(void)
{
    int x = 3, y = 2;
    int total = num_total(x,y);   // 调用函数num_total
    printf("x + y = %d", total);
    return 0;
}

// 定义函数
int num_total(int m, int n)
{
    int total = m + n;
    return total;
}

补充:运算符

1、算数运算符:

+(加),-(减),*(乘),/(除),%(除法取余数),++(自增,整数值加1),--(自减,整数值减1)

2、关系运算符:

==(等于),!=(不相等),>(大于),>=(大于等于),<(小于),<=(小于等于)

3、逻辑运算符:

&&(逻辑与,都非零才为真),||(逻辑或,一个非零即为真),!(逻辑非)

4、位运算符:

&(按位与,都为1才为1),|(按位或,一个为1即为1),^(按位异或,相同才为0),~(取反,每一位的0变1、1变0),<<(二进制左移),>>(二进制右移)

5、赋值运算符:

=(右边赋值给左边),+=(加并赋值),-=(减并赋值),*=(乘并赋值),/=(除并赋值),%=(除法取余并赋值),<<=(二进制左移并赋值),>>=(二进制右移并赋值),&=(按位与并赋值),|=(按位或并赋值),^=(按位异或并赋值)

6、其它运算符

sizeof(变量)(返回变量的大小),&变量(返回变量的地址),*变量(指向一个变量)

条件表达式 ? 为真执行语句 : 为假执行语句(三元运算)

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-22 02:48:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-22 02:48:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-22 02:48:01       82 阅读
  4. Python语言-面向对象

    2024-03-22 02:48:01       91 阅读

热门阅读

  1. python数据分析numpy基础之unique对数组元素去重

    2024-03-22 02:48:01       43 阅读
  2. LeetCode hot100-15

    2024-03-22 02:48:01       40 阅读
  3. python——pytest对于失败的用例重新执行

    2024-03-22 02:48:01       49 阅读
  4. nodejs的中雪花算法(Snowflake)

    2024-03-22 02:48:01       43 阅读
  5. solr functionquery函数查询自定义函数实现

    2024-03-22 02:48:01       47 阅读
  6. 每天学习几道面试题|Kafka(二)架构设计类

    2024-03-22 02:48:01       45 阅读
  7. 美易官方:特斯拉暴跌实是“抄底良机”?

    2024-03-22 02:48:01       46 阅读
  8. Chapter 1 - 2. Introduction to Congestion in Storage Networks

    2024-03-22 02:48:01       40 阅读