C语言基础and数据结构

C语言程序和程序设计概述

程序:可以连续执行的一条条指令的集合

开发过程:C源程序(.c文件) --> 目标程序(.obj二进制文件,目标文件) --> 可执行文件(.exe文件) -->结果

在任何机器上可以运行C源程序生成的 .exe 文件

没有安装C语言集成开发环境,不能编译C语言程序,函数是C程序的基本单位

程序设计有以下几个部分:

  1. 确定数据结构
  2. 确定算法
  3. 编码(编写代码)
  4. 计算机上调试程序
  5. 整理并写出文档资料

C语言运行方法:编译执行,python:解释执行

头文件:#include<stdio.h>

C语言的结构特点:

  • 函数是C程序的主要组成部分

    一个C程序是由一个或多个函数组成

        必须包含一个main函数(只能有一个)

        每个函数都用来实现一个或多个特定功能

        被调用的函数可以是库函数,也可以是自己编制设计的函数

  • 程序总是从main函数开始执行
  • C程序书写可以一行内写几个语句,也可以一个语句分写在多行上(以分号为标准,判断是否是一个语句)
  • 数据声明和语句最后必须有分号
  • C语言本事不提供输入输出语句,由库函数提供

算法表示方法:

  1. 自然语言
  2. 用伪代码表示
  3. 用流程图表示

流程需图形意思

  1. N-S流程图表示

标识符、常量和变量

常量

整型常量:12、0、-3

实型常量:

    十进制小数:0.34、-56.79

    指数形式:12.34e3(12.34×10³)

符号常量:‘a’、‘b’

字符串常量:“Beijing”

常量在程序运行期间,值不可以改变的
#define PI 3.14159		//定义符号常量不需要分号

变量

    在程序运行期间,值是可以改变的

    定义变量时指定该变量的名字和类型

    变量名实际上是以一个名字代表一个存储地址

    从变量取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据

标识符

    只能由字母、数字和下划线组成,且第一个字符必须为字符或下划线,不能使用C语言关键字作为标识符

C语言是严格区分字母大小写

关键字必须用小写字母

关键字

数据类型

整型数据

    整型常量3种表示形式

        十进制整数,如2,-983

        八进制整数。以0开头,由0~7构成,通常为无符号数,如012,八进制12

        十六进制整数。以0x开头,由 0 ~ 9 和 A ~ F 或 a ~ f 构成,如0x12A,十六进制12A

    整型变量:类型说明符 变量名标识符; 如 int a,b,c;

    在定义变量的同时给变量赋初值,称变量初始化,若没有初始化,则内容不确定

计算机最小存储单位:位(bit)

    一个字节(byte) = 8bit

关键字 类型 所占的空间
char 字符串类型 占1字节空间(8位二进制位)
short 短整型 占2字节空间(16位二进制位)
int 整型 占4个字节空间(32位二进制)
long 长整型 占4个字节空间(32位二进制)(在64为平台下占8个字节)
float 单精度浮点数 占4个字节空间(32为二进制)(7位有效位,指数-37到38)
double 双精度浮点数 占8个字节空间(64为二进制)(16位有效位,指数-307到308)

在存储有符号数时,存储单元最高为代表符号位,0为正,1为负

设计程序时,注意变量类型的取值范围,当赋值超过取值范围时,会出现溢出错误

一个整 型常量后加 U或u 后缀则被认为时unsigned类型,内存中按unsigned规定方式存放

一个整型常量后加 L或l 后缀则被认为时long类型,内存中按long规定位数存放

无符号长整数:用后缀 UL/ul表示,如:15ul

浮点型(实型)数据

实型常量

    又称实属或浮点数

    十进制小数形式,如123.456

    指数形式:以 “e” 或 “E” 后跟一个整数来表示以10为底的幂数,如 2.3026e2

        规定:字母 e 或 E 之前必须有数字,且e或E后面指数必须为整数

    10⁸不能写成e8,必须写成:1e8 或 1.0E8

实型变量

    实型(3.14159)数据在内存中存放的形式:

        +:数符

        .314159:小数部分

        1:指数

    小数部分占的为数越多,数的有效数字越多,精度越高

    指数部分占的位数越多,则能表示的数值范围越大

字符型数据

字符常量

    用单引号括起来的一个字符,如’a‘、’E‘,不能 ’ab‘

    字符常量以ASCII码存储,一个字符占一个字节,大写字母与小写字母ASCII码值相差 32

字符变量

    如:char c1,c2,c3; c1 = ‘A’; c2 = ‘\n’;

    每个字符变量分配一个字节用于存放一个字符(存放的是字符的ASCII码值)

字符数据与整型数据可相互赋值,直接运算

用%d输出,则输出整型数,用%c输出,则输出字符

字符串常量

    一对双引号(" ")括起来的字符序列,字符个数称为其长度,如:“hellow”

    长度为n的字符串,在计算机存储中占n+1个字节,原因:会自动在结尾添加 ’\0‘

ASCII码表

ASCII码表

转义字符

字符形式 功能 字符形式 功能
\n 回车换行 \\ 一个反斜杠字符(\)
\t 将当前位置移到下一个tab位置 \’ 一个单引号(')
\v 当前位置移到下一个垂直制表对齐点 \" 一个双引号(")
\r 回车符 \ddd 三位八进制数代表一个ASCII字符
\f 换页符 \xhh 二位十六进制代表一个ASCII字符
\b 将当前位置后退一个字符 \0 空值,其ASCII码值为0

符号常量

用标识符表示的常量,一般符号常量名用大写字母表示,命令通常放在文件头,在程序中不允许重新赋值,注意:不需要分号结尾

格式:#define 标识符 常量 如:#define PI 3

数学函数

数学函数

运算符和表达式

算术运算符

优先级越小,越优先,优先级相同时,运算次序由结合性决定

运算符 运算规则 操作数数目 优先级 结合方向
- 负号 单目 2 左结合
+ 加法 双目 4 左结合
- 减法 双目 4 左结合
* 乘法 双目 3 左结合
/ 除法 双目 3 左结合
% 取余或模 双目 3 左结合

1./3 + 1./3 + 1./3 = 1

取余运算符,所得结果的符号与运算符左侧操作数符号相同,如:-5 % 2 = -1,5 % -2 = 1,运算对象只能是整型,结果也是整型,如:5 % 2 =1

自增、自减运算符

自增和自减运算符只能用于变量,不能用于常量和表达式

含义 运算符 优先级 结合性 功能
自增 ++ 2 右结合 使变量的值增1
自减 2 右结合 使变量的值减1

使用形式:

    ++i 或 --i 变量 i 先自增或自减 1,再引用 i

    i++ 或 i-- 先使用变量 i,再自增或自减1

不同数据类型间的转换

自动转换类型:数据类型自动由低级向高级转换

自动转换类型图

强制转换:将表达式的运算结果强制转换成指定的数据类型

格式:(数据类型说明符)(表达式)

int x,y;
float<

相关推荐

  1. C语言实现基础数据结构——栈

    2024-07-17 06:56:03       51 阅读
  2. C++基础语法、算法、数据结构的简化总结

    2024-07-17 06:56:03       44 阅读

最近更新

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

    2024-07-17 06:56:03       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 06:56:03       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 06:56:03       62 阅读
  4. Python语言-面向对象

    2024-07-17 06:56:03       72 阅读

热门阅读

  1. Qt中qApp简单介绍

    2024-07-17 06:56:03       27 阅读
  2. 2407-mysql笔记

    2024-07-17 06:56:03       19 阅读
  3. opencv—常用函数学习_“干货“_10

    2024-07-17 06:56:03       32 阅读
  4. Windows图形界面(GUI)-DLG-C/C++ - 静态控件(Static)

    2024-07-17 06:56:03       26 阅读
  5. 掌握Core Data:Xcode中的数据管理利器

    2024-07-17 06:56:03       30 阅读
  6. CMD命令fc(File Compare)

    2024-07-17 06:56:03       28 阅读
  7. Linux下安装PostgreSQL.16.3

    2024-07-17 06:56:03       24 阅读
  8. Android 桌面小组件使用

    2024-07-17 06:56:03       23 阅读
  9. 英语语法第二课之简单句

    2024-07-17 06:56:03       21 阅读