数据与C

Posted 人生如逆旅,我亦是行人。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据与C相关的知识,希望对你有一定的参考价值。

数据与C

一、int类型

  • 获取值的途径
    • 赋值
    • 通过函数(如,scanf())
  • 八进制和十六进制
    • 0x或0X前缀表示十六进制
    • 0表示八进制
    • 以%d显示十进制
    • 以%o显示八进制
    • 以%x显示十六进制
  • 其他整数进制
    • short 16 %hd
    • int 16或32 %d
    • long 32 %ld
    • long long 64 %lld
    • unsigned 非负可搭配 %u
      整型溢出
      整数超出相应类型的取值范围(不会报错,会从范围左侧重新开始)

二、char类型

ASCII码0~127
1字节

  • 字符常量
    • 用单引号括起来的单个字符
    • char name=\'a\';//将‘a\'赋给name
    • char name=65;//将65对应的ASCII码\'A\'赋给name
    • char name=\'\';//将‘fate\';将‘e’赋给name
      • (即把4个独立的8位ASCII码储存在一个32位的储存单元,把它赋给name只有最后8位有效,所以name的值为‘E\')
  • 转义序列
    ![[Pasted image 20230405210656.png]]
  • 转义序列用例
#include<stdio.h>
int main()

    printf("人民币元换角");
    float yuan=0,jiao=0;
    printf("\\a请输入元:___");
    printf("\\b\\b\\b");
    scanf("%f",&yuan);
    jiao = yuan * 10;
    printf("\\t%.2f元能换%.2f角。", yuan, jiao);
    return 0;

  • 人民币元换角请输入元:2.3
    • 2.30元能换23.00角。
  • 打印字符与scanf()函数
#include<stdio.h>
int main()

	char ch;
	printf("请输入:");
	scanf("%c",ch);
	printf("%d的ASCII编码是%c",ch);
	return 0;

运行程序后:
请输入:C
67的ASCII编码是C
1. scanf()函数会读取用户输入的字符,&符号表示把输入的字符赋给变量ch;
2. printf()函数中转换说明决定了数据的显示方式,而不是数据的存储方式.

三、布尔类型

  • 1表示ture
  • 2表示false
  • 占一位空间

四、浮点数类型

  • 计数法
    • 一般计数法 12.34
    • 科学计数法 1.234*(10的1次方)
    • 指数计数法 1.234e1
  • float
    • 必须至少6位有效数字
    • 占32位8位表示指数的值和符号剩下24位表示非指数的部分及符号
  • double
    • 必须至少10位有效数字
    • 占64位
  • 打印浮点值
    • %f %lf
  • 浮点数的上下溢

五、复数、虚数类型

六、其他类型

  • 由基本类型衍生的其他类型,如数组、指针、结构和联合。

七、类型大小

  • sizeof()是1C语言内置运算符,一字节为单位给出指定类型的大小。
  • %zd转换说明匹配sizeof的返回类型。

八、刷新输出

  • printf()语句把输出发送到一个叫缓存区的中间存储区域,然后缓存区中的内容在不断被发到屏幕上
    • 当缓存区满、与换行符或需要输入(如,scanf())时,把缓存区内容发到屏幕(被称为刷新缓存区)

[架构之路-23]:目标系统 - 系统软件 - C语言的结构与程序的工作原理 - 数据类型与数据定义(待续)

目录

前言:

第1章 结构化程序与分层编程系统

1.1 计算机软硬件模型

1.2 程序的经典框架:算法+数据结构

1.3 程序的结构化框架

1.4 程序的层次模型

1.5 程序设计的层次模型

第2章 C语言概述

2.1 C语言本质

2.2 C语言关键字

2.3 C语言在编程语言的中的位置

第3章 C语言结构化代码组织

3.1 符号作用域

3.2 程序组织

3.3 内存模型

第4章 C语言结构化数据表示

4.1 数据的类型

4.2 数据的属性 (Class:类)

4.3 数据的定义(实例化:对象)

4.4 数据的释放

第5章 C语言结构化数据运算

第6章 C语言结构化程序控制


前言:

大多数系统软件(包括bootloader和操作系统)的99%代码,都是用C语言编写的,故在介绍系统软件之前,先阐述一下C语言的结构与工作原理,通过C语言的工作原理也可以理解CPU的工作原理。

第1章 结构化程序与分层编程系统

1.1 计算机软硬件模型

1.2 程序的经典框架:算法+数据结构

数据结构(structure)是:计算机存储、组织数据的方式。

算法(Algorithm)是:指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。

1.3 程序的结构化框架

1.结构化代码组织

内存结构、代码结构

2.结构化数据表示:数据结构、数据定义

基本数据类型、结构化数据、指针数据类型

3.结构化数据运算:算法

运算符、函数定义

4.结构化程序控制

CPU控制、顺序语句、条件分支、跳转循环、函数调用

1.4 程序的层次模型

1.5 程序设计的层次模型

设计一个程序或软件系统,自底向上的方法有:

(1)二进制指令系统

(2)低级编程语言:汇编

(3)高级编程语言:C/C++/Python

(4)标准库:第三方提供的常见的功能

(5)常见的设计模式

(6)特定业务应用的程序框架

(7)特定业务的应用程序

(8)UML图形化语言描述

每个层次,都包含程序的两个重要方面:算法+数据结构

第2章 C语言概述

2.1 C语言本质

C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译

C语言是一门面向过程计算机编程语言,与C++、C#、Java面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%-20%。因此,C语言可以编写系统软件

当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。

2.2 C语言关键字

2.3 C语言在编程语言的中的位置

第3章 C语言结构化代码组织

3.1 符号作用域

 

3.2 程序组织

 

3.3 内存模型

 

 

 

 

 

 

 

第4章 C语言结构化数据表示

任何一个编程语言

大部分的工作,就是指定义如何组织和操作数据!!!

只有少部分的工作是定义如何组织和控制程序本身!!!

4.1 数据的类型

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.2 数据的属性 (Class:类)

 

 

 

 

 

 

 

 

 

 

 

 

 

4.3 数据的定义(实例化:对象)

 

 

4.4 数据的释放

第5章 C语言结构化数据运算

第6章 C语言结构化程序控制

待续........................

以上是关于数据与C的主要内容,如果未能解决你的问题,请参考以下文章

JNI签名与数据匹配

C#_基本语法,数据类型,变量与常量

《从零开始学Swift》学习笔记(Day 71)——Swift与C/C++混合编程之数据类型映射

[架构之路-23]:目标系统 - 系统软件 - C语言的结构与程序的工作原理 - 数据类型与数据定义(待续)

怎样用Xcode写c语言的数据结构和算法

Socket: Java Client 与 C Server 传输数据中文乱码问题