IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C语言程序设计 -> 正文阅读

[C++知识库]C语言程序设计

1、C语言基础

1.1概述

  1. C是一种通用的计算机程序设计语言,目前用于编写系统软件和嵌入式应用开发。C语言是由系列函数组成,这种结构便于将大型程序分成若干个相对独立的模块并分别实现,程序运行时通过函数调用来完成功能要求。 一个函数必须有一个main函数,整个程序的执行,从该函数开始执行。

1.2数据类型

C语言的数据类型可分为:基本数据类型(内置的类型)和复合数据类型(用户自定义的类型)

  1. 基本数据类型 :字符型(char)、整型(int)、浮点型(float、double);void也是一种基本类型,void不对应具体的值,而是用于一些特定的场景,例如定义函数的参数类型、返回值、函数中指针类型等说明,表示没有或还没确定类型;C语言的数据变量、常量表示,他们都有具体的类型属性。
    变量存储数据的内存单元,变量分定义是为了为变量分配存储空间,还可以为变量指定初始值;在一个C程序中,一个变量只有一个定义;在一个C程序文件中需要引用其他程序文件中定义的变量时,就需要进行声明;变量声明用来表示变量分类型和名字,当定义变量时既声明了它的类型和他的名字,可以通过使用extern关键字声明变量名。
    字面量:数据在源程序中直接以值形式呈现,在程序运行中不被修改,表现为整型、浮点型、字符变类型;默认情况下,整型字面量以十进制形式表示,前缀为0x或0X表示十六进制常数;同样,一个整型常数也可以加U或u后缀,指定为unsigned类型;浮点型字面量总是默认为double型,除非有字母F或f后缀,才被认为为float型,若有后缀L或l则被处理成为long double型;实型常量也可以表示成指数形式**,例如0.0001可以表示成1.0E-3或1.0e-3,其中e或E表示指数;字符字面量用一对单引号括起来,对于不能打印的特殊字符,可以用他们的编码指定,还有一些转义字符。
    常量:常量修饰符const的含义是其所修饰对象的为常量,若一个变量被修饰为const,则该变量值就不能被其他语句修改。
    标识符和名字的作用域:在C语言程序中使用变量名、函数名、符号、以及用户定义数据类型名统称为标识符,除库函数的函数名由系统定义外,其余都由用户自定义;标识符命名规则如下:⒈标识符必须以字母a-z、A-Z或下划线开头后面可以跟任意字符,这些字符可以是字母、下划线和数字,其他字符不允许出现在标识符中;⒉标识符区分大小写字母;⒊标识符的长度在C89标准中规定31个字符内,在C99标准中规定63个字符以内;⒋c语言中的关键字(保留字)有特殊意义,不能作为标识符;⒌标识符最好使用具有一定意义的字符串,便于记忆和理解,变量名一般用小写字母,用户自定义类型名的开头用字母大写;通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域,同一个名字在不同的作用域可能表示不同的对象;作用域可分为:全局作用域、块作用域(局部的)之分,作用域可以嵌套,尽可能将变量定义在最小的作用域内,并为其设置初始值。
  2. 字符、字符数组、与字符串
    数组:数组是一种集合类型数据,他由多个元素组成,每个元素都有相同的数据类型,占有相同大小的存储单元,并且在内存中连续存放;每个数组有一个名字,数组中的每一个元素有一个序号(称为下标),表示元素在数组中的位置,数组的维数和大小在定义的数组中确定,程序运行时不能改变。按维度有一维数组和二维数组。可以用sizeof函数计算数据空间大小,即字节数。
    字符串数组与字符串:当数组中的元素由字符串组成,便称为字符数组。字符串是一个连续的字符序列,用特殊字符**‘\0’结尾;数组的每一个元素保存字符串的一个字符,并附加一个空字符,表示为‘\0’,添加在字符串的末尾,以标识字符串结束;如果字符串有n个字符,则至少需要长度为n+1**的字符数组来保存它;一个字符串常量常用一对双括号括起来,编译系统自动在每一个字符串常量的末尾增加‘\0’;字符串可以由任意多个字符组成,一个长字符串可以占两行或多行,但在最后一行的各行需要用反斜杠结尾;需要注意的是:‘A’和“A”是不同的,“A”是由两个字符组成(由字符A和\0组成),而‘A’只由一个字符组成(由A组成),最短的字符串是“”空字符串,它由一个结尾符‘\0’组成。
  3. 枚举类型:枚举就是把这种类型数据可取得值逐一列举出来;枚举类型是一种用户定义的数据类型。其中,“枚举类型名”右边的花括号中的内容称为枚举表,枚举表中的每一项称为枚举成员,枚举成员是常量,枚举成员之间用逗号分割开来,整型常数是枚举成员的初始值;如果没有为枚举成员付初始值,编译系统为每个枚举成员赋予一个不同的整型值,第一个成员为0,第二个成员为1,依次类推;当枚举类型中的某个成员赋值后,其后的成员依次加一的。
  4. 结构体、共用体和typedef
    ①结构体:利用结构体类型可以把一个数据元素的各个不同的数据项聚合为一个整体。声明格式为:
    struct 结构体名{
    结构体列表
    }变量名列表;
    可以用typedef关键字为结构体定义结构体类型命名;一个结构体变量分存储空间长度等于所有成员占空间长度之和。
    ②共用体类型:公用体类型的声明格式为:union 公用体名{
    成员列表
    }变量名列表。
    一个共用体变量分存储空间的大小等于其占用最大的成员的大小,所有的成员变量占用同一段内存空间。

1.3运算符与表达式

C语言提供了丰富的运算符,包括算数运算符、关系运算符、逻辑运算符、位运算符、条件运算符、赋值运算符、逗号运算符和其他运算符。根据运算符的操作数的个数,可分为:单目运算符(一个操作数)、双目操作符(两个操作数)和三目运算符(3个操作数)表达式:由运算符和操作数组成,他规定数据对象的运算过程。

  1. 自增(++)与自减(–)运算符:运算符的作用是将数值变量分值加1或减少1。自增或自减运算符只能作用于变量而不能作用于常量或表达式。++value称为前缀方式,value++称为后缀方式,其区别是:前缀先把变量的值增1,然后取变量的新值与表达式的运算;后缀先取变量的值与表达式的运算,然后再将变量的值增加1
  2. 关系运算符:关系运算符用于数值之间的比较,包括等于(==)、不等于(!=)、小于(<)、小于或等于(<=)、大于(>)、大于或等于(>=),结果的值为1(表示关系成立)或0(表示关系不成立)。不能用于关系运算符对字符串进行比较,因为被比较的不是字符串的内容本身,而是字符串的地址
  3. 逻辑运算符:逻辑与(&&)、逻辑或(‖)、逻辑非(!)的运算结果为1(表示true)或者为0(表示为false)。“逻辑非”是单目运算符,它将操作数取反;“逻辑与”是双目运算符。
  4. 赋值运算与组合运算:赋值运算符(=)的作用是将一个表达式的值赋给一个变量,可进行组合赋值。
  5. 条件运算符和逗号运算符:①条件运算符是C中唯一的三目运算符,也称三元运算符,他有三个操作数;②多个表达式可以用逗号组合成一个表达式,即逗号运算符,逗号运算符带两个操作数,结果是右操作数。
  6. 位运算符:位运算要求操作数是整型数,并按二进制位的顺序处理他们。C/C++提供6种位运算符:①∽ 取反;②& 逐位与 ;③|逐位或;④^ 逐位异或;⑤<<逐位左移;⑥>>逐位右移。赋值运算符也可以与位运算符组合,产生&=、|=、^=、>>=、<<=等组合运算符。
  7. sizeof:用于计算表达式或数据类型的字节数,其运算结果与系统相关。
  8. 类型转换:在混合数据类型的运算过程中,系统自动进行类型转换。在程序中也可以进行数据类型的强制转换

1.4输入/输出

C程序中输入/输出操作都由输入/输出标准库函数(在头文件stdio.h中声明)完成,常见的有格式输出函数printf和格式化输入函数scanf,以及文件操作函数fopen、fprintf和fscanf等。

  1. printf:printf函数称为格式输出函数,其功能是按照用户指定格式,将指定的数据输出到显示屏幕上。printf函数调用一般格式为:printf(“格式控制字符串”,输出列表),其中格式控制字符串用于指定输出格式,由格式说明普通字符组成;格式说明以**%开头**,其后是各种格式字符,以说明输出格式的类型、形式、长度、小数位数等;普通字符按照原样输出,在显示中起提示作用;输出列表中给出了各个输出项,要求格式字符串和各输出项在数量和类型一一对应。如果在“%”后为“-”表示输出结果左对齐(在规定输出长度的情况下,默认为右对齐),如果在“%”后为“+”,表示输出数值的符号(正号或负号)。
  2. scanf:scanf函数称为格式输入函数,即按用户指定的格式从键盘把数据输入指定变量中。scanf函数调用一般格式为:scanf(“格式字符串”,地址列表),其中格式字符串的作用与printf函数相同,但不需要普通字符;地址列表中给出各变量分地址,即由地址“&”后跟变量名组成;变量的地址是C编译系统分配的,用户不必关心具体的地址是多少;在地址列表中的每个int、double、或char型变量前都有一个“&”,而以串格式输入一个字符串到字符数组时,仅需给出数组名(不用加“&”,因为数组名是表示数组空间首地址的地址常量);逗号用于分隔变量名称;占位符的顺序必须与地址列表中变量分顺序一致。
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-07 13:40:26  更:2021-10-07 13:42:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 2:42:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码