C语言概述,C语言数据类型,常量,变量

C语言概述

计算机基础

计算机组成

  • 计算机:能进行计算以及逻辑处理的设备

  • 硬件:组成计算机的物理部件。(内存条、CPU、硬盘..)

开发中对于硬件的认知:

硬件包括电子设备、单片机、集成电路和嵌入式系统

  • 软件:计算机中运行的程序和数据

开发中对于软件的认知:

软件分为系统软件(OS)、应用软件和编程工具(编译器)

计算机的六大部件
  • 中央处理器(CPU):控制 + 计算

  • 内存:临时存储运行时的数据。

  • 输入设备:向计算机输入数据(键盘、鼠标、扫码枪)

  • 输出设备:将计算机数据进行输出(显示器、打印机)

  • 外存储器:永久存储数据(硬盘)

  • 网络:数据传输与通信

计算机的工作原理
  • 存储程序:程序和数据存储在内存中

  • 程序控制:CPU按指令顺序执行

计算机的语法
  • 机器语言:二进制代码,直接控制硬件

  • 汇编语言:助记符形式,需要汇编器翻译

  • 高级语言:C/C++,Java,Python,PHP,C#,GO

C语言特点

  • 简洁高效,支持底层硬件操作

  • 可移植性强,适合结构化编程

  • 生成代码质量高,执行速度快

C语言程序开发过程(掌握)

开发的三个步骤

1.编辑:编写源代码(.c文件,程序员完成)

2.编译:将源代码文件转换为可执行的文件(编译器完成)

3.运行:执行程序(操作系统加载)

c语言程序的编译过程

编译分为四个步骤:

1.预处理:处理宏和头文件以及注释

2.编译:生成汇编代码

3.汇编:转换为机器码/二进制代码

4.链接:合并库文件和目标文件(二进制代码)

编译的命令

C语言基本结构

一个简单的c语言程序

代码:

#include <stdio.h>

int main (int argc,har *argv[])
{
    printf("hello world!\n");
    
    return 0;
}

程序结构分析:

  • 注释:解释代码逻辑,写给程序员看,预处理阶段会删除。

  • 预处理指令:程序中包含的某一文件内容(#include <stdio.h>

  • 主函数:main函数是程序唯一的入口,一i个文件中最多一个主函数,不能被其他函数调用

  • 关于函数:

    • 函数头:(函数首部或者函数说明)

      说明函数类型,函数头由函数头和参数列表构成。

    • 函数体

      包括变量说明和语句的执行部分

    • 函数调用语句:类如:printf()

c语言编程规范要求

C语言在编程的时候,需要遵循如下规范:

  • 常用缩进格式(一次缩进四个字符,一个tab键就是四个字符)

  • 要有足够的注释(是代码更好理解)

  • 要是合适的空行(一般预处理指令和函数之间,函数和函数之间,全局变量和函数之间,加空行提高代码可读性,使代码结构清晰)

  • {}对齐 (c和c++{ }都需要独占一行)

  • 函数体内采用分层缩进和模块化的书写方式

  • 不把多条语句写在程序的同一行上(最好区分是,不要再同一行连续出现多个:,for循环;;除外)

  • 标识符命名要见明知意。

c语言程序的设计特点

C语言程序在设计的时候,要注意以下细节:

  • C语言有一个或者多个函数组成,但是只有一个主函数main,这个函数是程序的入口函数,建议放在所有函数的最下面

  • 程序中可以有预处理指令#include、#define,预处理指令通常放在程序的最前面。

  • 每个语句以分号结尾:(预处理函数头函数分支语句while语句for语句后面不加分号)

  • 函数体由一对{}括起来,函数的{}不能省略。

  • 包含在/*. .*/内,或者//..后面的文本为注释内容

  • 一行可以写多个语句,一个语句可以写在多行上。

c语言注释

在C语言中,注释一般分为两类:单行注释和多行注释

注释的作用:给代码添加解释说明性文字,提升代码的可读性,注释本身不参与编

译,在预处理阶段会被删除。我们同时也可以使用注释屏蔽掉暂时不需要的代码。

单行注解

说明:单行注释使用双斜杠 //.. 表示。我们一般用于变量、常量、函数调用语句

等。

多行注解

说明:多行注释使用双斜杠星花 /../ 表示。它可以占用一行,也可以占用多行,

但不能嵌套。我们一般用于函数,文件头说明等。

语法:

/* 要注释的内容 */

/*
要注释的内容
*/

注意:由多行注释衍生出一种更为细致的注释,我们称之为文档注释

范例:

/**
  * 主函数
  * @author 开发者
  * @param 参数1 说明
  * @param 参数2 说明
  * @return 返回值
  */
int main()
{
	...	
}

数据类型

定义

数据类型就是固定大小内存的别名,并且描述了一个变量存放什么类型的数据。就是组织和操作数据。

数据:计算机要处理的数据(数字,字符串,文字,符号,图片,音频等)

  • 数据类型不仅帮助我们组织和操作数据。还决定了程序如何有效的利用内存。

  • 了解数据类型的内存需求是理解计算机管理和操作数据的关键。

注意:程序运行需要在内存中

数据类型分类和计算方法

数据类型分类(重点)
  • 基本类型(C语言内置)

    • 数值类型

      • 整型(整数)

        • 短整型:short int

        • 基本型:int

        • 长整型:long int

        • 长长整型:long long int

      • 浮点型(小数,实数,实型)

        • 单精度型:float

        • 双精度型:double

        • 长双精度型:long double

    • 字符型:char

  • 构造类型(C语言提供语法,用户自定义)

    • 结构体:struct

    • 联合体/共用体:union

    • 枚举类型:enum

  • 指针类型

    • 空类型:void(C语言内置)

数据类型在内存中的大小

序号数据类型中文说明大小(字节)
1short(short int)短整型2
2long (long int)长整型4(32位)/8(64位)
3long long(long long int)长长整型8
4float单精度型4
5double双精度浮点型8
6char字符型1
7int基本整型4
8bool布尔型,true-真;false-假bool:1 ture-1;false-4

 

小贴士:

获取某个数据类型或者变量所占的字节数,使用sizeof运算符:sizeof(某个数据类

型或者变量名)

printf("true size:%d\n", sizeof(true)); // trus size:4 解释:true本身就是int类型的1,所以占4个字节

printf("bool size:%d\n", sizeof(bool)); // bool size:1 解释:占1个字

 案例:

#include <stdio.h>

int main(int argc,char *argv[])
{
	// 计算数据类型或者变量的字节大小,通过sizeof运算符
	printf("long long 的大小是%d个字节\n", sizeof(long long)); // %d 表示10进制整数
	printf("long 的大小是%d个字节\n",sizeof(long));
	printf("long double的大小是%d个字节\n",sizeof(long double));
	return 0;
}

运行结果:

总结:

① 数据类型在内存中所占的字节数跟C语言的编译系统有关。

② 计算某个数据类型所占字节数可以用sizeof运算符。

③ 布尔类型要添加#include <stdbool.h> ,大家也可以直接使用int类型的0和1来表示布尔类型。  

常量

在c语言中,数据的基本表现形式是常量和变量。都需要在内存中申请一块空间,用于存放数据。

定义:在程序执行过程中其值不可改变的量,称之为常量。

分类:intfloatdoublechar符号常量(宏定义)

整型常量

  • 整型常量可以用十进制,八进制,十六进制三种形式表示。

    • 十进制常量:由数字0~9构成,无前缀,不能以0开头

    • 八进制常量:由数字0~7构成,以0为前缀,不能表示小数。

    • 十六进制常量:由数字0~9,字母a ~ f/A ~ F构成,以0x /0X为前缀,不能表示小数

    • 注意:整型常量中的长整型可用l或者L作为后缀,例如:

      long num =123L;
  • 整型常量的分类:

    • 有符号与无符号基本整型变量(int)

      • 有符号表示范围:负数+0+正数

      • 无符号表示范围:0+正数,内存中所有负数的位置都用来表示正数,此时它的正数范围超过有符号整数范围。

    • 有符号与无符号长整型常量(long)

    • 有符号与无符号短整型常量(short)

  • 整型常量的表示:

    • 十进制常量:由数字0~9构成,无前缀,不能以0开头

    • 八进制常量:由数字0~7构成,以0为前缀,不能表示小数。

    • 十六进制常量:由数字0~9,字母a ~ f/A ~ F构成,以0x /0X为前缀,不能表示小数

浮点类型常量

C语言中浮点数就是小数

  • 十进制小数;如:0.123,-12.6,0.123F(float类型的常量,要跟上F/f

  • 指数形式:

    • 正数表示:如十进制小数1234.5的指数表示法就是1.2345*10^3,也可以表示为1.2345e3

    • 负数表示:如十进制小数0.012的指数形式表示法就是1.2*10^{-2},也可以表示1.2e-2

注意:

① 在符号e的前面必须要有数字

② 在符号e的后面必须为整数,不能是带有小数点的实数型。

③ 实型常量的后缀用F/f表示单精度型。

字符型常量

用单引号 '' 括起来的一个字符,如 'a''A', '4', '_' 等,比如:'刘'就不是字

符,一个汉字所占的字节数超过1个字符。中文符号当成汉字理解。英文输入法下输入的

字母、数字、符号都是单字符。

转义字符常量:以反斜杠 \ 开头的字符序列,表示控制以及不可见字符。如:

字符形式中文含义ASCⅡ码
\n换行10
\r回车13
\0空字符0
\t水平制表符9

注意

使用 man ascii可以查看所有的ASCⅡ字符

字符串常量

在C语言中,支持字符串常量,不支持字符串变量。字符串变量需要使用字符数组或者字符指针实现。

  • 用一对双引号""括起来的一个字符序列

     "hao a you?"
     "hello world"
  • 可以使用printf输出一个字符序列

     printf("hello world");

 

符号常量

说明:一般通过宏定义,在预处理的时候替换成具体的常量

定义一个标识符来代表一个常量,如:用pi表示圆周率Π(3.1415926)

好处:

  • 增加代码的可读性

  • 增强了代码的可维护性

定义符号常量

  • 需要借助预处理指令:#define

  • 格式:

 #define 宏名称 宏值

注意:

宏名称和宏值之间用空格隔开

句末不能添加任何符号

宏名称的命名采用大写。如果有多个单词,使用下划线分隔:

 #define MAX_VAL 9999
 #define MIN_VAL 9999

举例:

#include <stdio.h>
// 定义符号常量
#define PI 3.14
#define R 20
int main(int argc,char *argv[])
{
// 计算圆的周长 2 × PI × R
printf("计算圆的周长:%f\n",2 * PI * R);// %f:以小数显示
// 计算圆的面积 PI × R × R
printf("计算圆的面积:%f\n",PI * R * R);
return 0;
}

内容概要:本文系统性地介绍了Neo4j图数据库的技术体系、核心原理与企业级实战应用,涵盖从基础理论到生产落地的完整知识链条。深入剖析了Neo4j作为原生图数据库在存储架构、数据模型、查询语言(Cypher)方面的核心技术优势,重点讲解其基于节点、关系、属性的三元组模型和原生图存储机制,对比传统关系型数据库在处理复杂关联数据时的性能瓶颈。文档全面覆盖环境部署、工业级建模规范、Cypher深度编程、海量数据导入、Python/Java全栈开发集成、图算法分析(GDS)、高可用集群搭建及性能调优等内容,并通过金融风控知识图谱项目实现端到端的综合实战演练,提供可直接复用的建模模板、优化方案与故障排查手册。; 适合人群:具备一定数据库基础,从事大数据、人工智能、金融风控、知识图谱等相关领域的研发人员、架构师及数据工程师,尤其适合工作1-5年希望掌握图数据库企业级开发能力的技术人员。; 使用场景及目标:①掌握Neo4j在金融风控、社交网络、知识图谱等复杂关联场景下的建模与查询能力;②实现海量图数据的高效导入、集群部署与性能优化;③结合GDS图算法进行社群发现、路径分析、核心节点挖掘等智能分析任务;④构建前后端一体化的企业级图谱可视化系统。; 阅读建议:此资源强调工程化与生产级落地,建议结合实际项目边学边练,重点关注建模规范、索引设计、Cypher执行计划优化与集群运维等关键环节,配套源码与配置模板应作为开发参考标准使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值