0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言基础知识(1)--简介

嵌入式技术 来源:嵌入式技术 作者:嵌入式技术 2023-06-08 16:41 次阅读

1.概述

C语言能以简易的方式编译、处理低级存储器。

C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

冯·诺依曼在1945年提出了现代计算机的若干思想,被后人称为冯·诺依曼思想,这是计算机发展史上的里程碑。自1945 年至今大多采用其结构,因此冯.诺依曼被称为计算机之父。他的体系结构计算机由运算器、控制器、存储器、输入设备、输出设备五大部件构成。C语言拥有一套完整的理论体系经过了漫长的发展历史,在编程语言中具有举足轻重的地位。

C语言诞生于美国的贝尔实验室,由 D.M.Ritchie 以B语言为基础发展而来,在它的主体设计完成后,Thompson 和 Ritchie 用它完全重写了UNIX,且随着UNIX的发展,C语言也得到了不断的完善。为了利于C语言的全面推广,许多专家学者和硬件厂商联合组成了C语言标准委员会,并在之后的 1989 年,诞生了第一个完备的C标准,简称“ C89”,也就是“ ANSI C”。

到目前为止,C语言标准委员会修订发布了3个标准: C89(C90)、 C99、 C11、C17。

C17 是 ISO/IEC 9899:2018 标准,于 2018 年发布。

C17 标准在 C11 基础上进行了一些小的修订和更新,主要是对标准库进行了一些改进和扩展。C17 标准对于C语言本身的特性并没有做出太大的改变,主要是对于一些库函数进行了更新和扩展。C17 标准目前还比较新,尚未得到广泛的应用。

2.C语言现状

(1).C语言是操作系统内核开发领域几乎是唯一开发工具, 大部分操作系统是由C加上少量汇编语言开发的;比如:Linux、Windows、Vxworks、Unix。

(2).在嵌入式领域占有绝对优势。

(3).在网络服务器类相当大优势 Apache、 Oracle。

(4).GUI 应用领域、大型商用程序采用 C 的较多 。 比如: Offices, SPSS, AutoCAD

(5).大规模、高性能计算、游戏开发以及一些传统的客户端软件和构件。

总之,C语言有这自身独特的优势,尽管现今开发语言众多,但C语言的高效性还是有着自身的独特性。在AI人工智能中对C语言现状的查询的查询如下:

poYBAGSBksCASpjEAAOfQc38Uv4204.png

3.C语言数据类型

在C语言中,数据类型指的是用于声明不同类型的变量或函数的一个约束。变量的类型决定了变量存储占用的空间。

序号

类型与描述

1

基本类型:算数类型,包括整数类型和浮点类型

2

枚举类型:算数类型,用来定义固定的整数值变量

3

void类型:类型说明符void表示没有可用的值。

4

派生类型:包括指针类型、数组类型、结构体类型、共用体类型和函数类型。

4.基本类型

C语言中基本数据类型有:字符符型(char)、短整型(short)、整型(int)、长整型(long)、浮点型(float)、双精度浮点型(double)。使用sizeof计算数据类型占用空间大小。

数量类型

占用空间

定义和输出方式

取值范围

字符型(char)

1个字节

%c或者%hhd

CHAR_MIN、CHAR_MAX

短整型(short)

2个字节

%hd

SHRT_MIN、SHRT_MAX

整型(int)

4个字节

%d

INT_MIN、INT_MAX

长整型(long)

8个字节

%ld

LONG_MIN、LONG_MAX

浮点型(float)

4个字节

%f

FLT_MIN、FLT_MAX

双精度浮点型(double)

8个字节

%lf

DBL_MIN、DBL_MAX

注意:再输出取值范围时,上述宏在limits.h和float.h中定义。
FLT_MIN、DBL_MIN表示的是正数最小值;FLT_MAX、DBL_MAX表示正数最大值。

5.进制输出

C语言中有二进制、八进制、十进制、十六进制。其中八进制、十进制、十六进制可以直接出。

进制 定义及输出格式
二进制 int a=0b1011;无直接输出方式
八进制 int a=012; “%#o”输出
十进制 int a=12; “%d”输出
十六进制 int a=0x12; “%#x”输出

%#x --格式化打印自动添加格式前缀。

示例1:

#include< stdio.h >
int main()
{
	int a=10;//10进制
	printf("八进制:%#on",a);//八进制输出
	printf("十进制:%dn",a);//十进制输出
	printf("十六进制:%#xn",a);//十六进制输出
	int b=0b1011;//二进制,十进制为11
	int c=023;//八进制,十进制为19
	int d=0x12;//十六进制,十进制为18
	printf("b=%d,c=%d,d=%dn",b,c,d);	
}
[wbyq@wbyq 1227]$ gcc main.c 
[wbyq@wbyq 1227]$ ./a.out 
八进制:012
十进制:10
十六进制:0xa
b=11,c=19,d=18

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计算机
    +关注

    关注

    19

    文章

    6649

    浏览量

    84511
  • C语言
    +关注

    关注

    180

    文章

    7530

    浏览量

    128533
  • UNIX
    +关注

    关注

    0

    文章

    295

    浏览量

    41060
  • 编程语言
    +关注

    关注

    9

    文章

    1878

    浏览量

    33075
收藏 人收藏

    评论

    相关推荐

    C语言基础知识科普

    C语言是单片机开发中的必备基础知识,本文列举了部分STM32学习中比较常见的一些C语言基础知识
    发表于 07-21 10:58 1695次阅读

    c语言基础知识

    c语言基础知识
    发表于 08-17 17:03

    Linux下C语言编程基础知识

    Linux下C语言编程基础知识
    发表于 08-20 17:21

    DAQ基础知识简介

    DAQ基础知识简介.
    发表于 10-29 19:34

    DAQ基础知识简介

    DAQ基础知识简介
    发表于 11-01 20:53

    关于C语言基础知识

    一、C语言基础知识关于C语言C语言相对于汇编是属于高
    发表于 08-20 07:03

    C语言基础知识的树状结构是如何组成的

    该图是关于C语言基础知识的树状结构图,也许里面有些地方看起来不够主流,但是可能更合理。以后将会对该图的所有细节知识点以通俗易懂的方式逐个梳理,敬请关注!...
    发表于 11-08 07:39

    C语言编程的基础知识

    机器人创新实验室培训(软件篇)--01前言C语言编程的基础知识c语言的介绍c
    发表于 11-30 08:25

    浅谈几个C语言基础知识

    文章目录前言一、位操作二、使用步骤前言这里主要是简单的复习一下几个 C 语言基础知识点,引导那些 C 语言
    发表于 12-09 07:14

    C语言基础知识汇总

    单片机-C语言基础知识总结本文为个人学习笔记,仅供学习参考用,如有侵权,请联系zhankun3280@139.com(一)简单理解32位操作系统只能支持4G内存(二)数据类型(❤表示重要程度)重点
    发表于 01-24 07:28

    关于MDK下C语言基础知识汇总

    MDK5的使用技巧有哪些?关于MDK下C语言基础知识汇总
    发表于 02-25 06:47

    C语言基础知识(一)

    、嵌入式系统和科学计算等领域。作为一名程序员,了解C语言基础知识是非常重要的。本文将详细介绍C语言的基础概念,包括数据类型、变量、运算符、
    发表于 08-07 16:51

    C语言基础知识(一)

    、嵌入式系统和科学计算等领域。作为一名程序员,了解C语言基础知识是非常重要的。本文将详细介绍C语言的基础概念,包括数据类型、变量、运算符、
    发表于 08-10 15:16

    C语言基础知识讲解

    C语言基础知识讲解
    发表于 05-19 17:39 13次下载

    STM32中C语言基础知识

    C语言是单片机开发中的必备基础知识,本文列举了部分STM32学习中比较常见的一些C语言基础知识,希望能对大家有所帮助。
    的头像 发表于 04-27 17:42 991次阅读
    STM32中C<b class='flag-5'>语言</b>的<b class='flag-5'>基础知识</b>