上海工程建设交易信息网站深圳做网站便宜
2026/4/17 0:24:41 网站建设 项目流程
上海工程建设交易信息网站,深圳做网站便宜,asp网站浏览器兼容,做兼职什么网站一、字符与ASCII编码#xff1a;机制与设计原理 1. 字符的本质与计算机表示 在 C 语言里#xff0c;字符在 C 语言中存储的不是一种“文字”#xff0c;而是一个数字。 在计算机系统中#xff0c;所有数据最终以二进制形式存储和处理。字符作为信息的基本单位#xff0c;必…一、字符与ASCII编码机制与设计原理1. 字符的本质与计算机表示在 C 语言里字符在 C 语言中存储的不是一种“文字”而是一个数字。在计算机系统中所有数据最终以二进制形式存储和处理。字符作为信息的基本单位必须通过某种映射规则转换为整数才能被计算机识别和操作。这种映射规则即字符编码character encoding。C语言本身不定义字符的语义而是依赖于底层执行环境所采用的字符集character set。例如字母A实际上被存储为数字65字母B是66数字0是48换行符\n是10这些对应关系来自一个叫ASCII 编码表的标准。2. ASCII编码的设计原理ASCIIAmerican Standard Code for Information Interchange是一种7位字符编码标准定义了128个字符0–127。其设计具有以下结构性特征控制字符0–31 和 127用于通信控制如换行 \n 10回车 \r 13。可打印字符32–126包括空格32、数字48–57、大写字母65–90、小写字母97–122及其他符号。列标题Decimal→ 十进制Binary→ 二进制Octal→ 八进制Hex→ 十六进制控制字符关键字讲解这些字符不可打印主要用于早期电脑、打印机、通信设备的控制。以下按表格顺序逐一讲解十进制十六进制缩写全称英文中文名称/含义常见用途/说明000NULNull空字符填充用常表示字符串结束C语言中’\0’101SOHStart of Heading标题开始通信协议中表示信息头开始202STXStart of Text正文开始表示正文数据开始303ETXEnd of Text正文结束表示正文数据结束404EOTEnd of Transmission传输结束表示整个传输结束如CtrlD结束输入505ENQEnquiry请求请求对方回应606ACKAcknowledge确认通信中表示收到数据无误707BELBell响铃使终端发出“叮”声早期蜂鸣器808BSBackspace退格光标左移一格常用于删除前一个字符909HTHorizontal Tab水平制表符横向跳格跳到下一个制表位Tab键100ALFLine Feed换行光标向下移一行Unix/Linux换行符\n110BVTVertical Tab垂直制表符垂直跳格较少用120CFFForm Feed换页打印机 eject 当前页清屏或换页130DCRCarriage Return回车光标回到行首Windows换行符\r\n中的\r140ESOShift Out移出切换到备用字符集切换到另一字符集较少用150FSIShift In移入切换回标准字符集切换回标准字符集1610DLEData Link Escape数据链路转义通信中转义控制1711DC1Device Control 1设备控制1常用于开启设备如XON1812DC2Device Control 2设备控制21913DC3Device Control 3设备控制3常用于暂停设备如XOFF2014DC4Device Control 4设备控制42115NAKNegative Acknowledge否定确认表示收到数据有误2216SYNSynchronous Idle同步空闲通信同步用2317ETBEnd of Transmission Block传输块结束表示一个数据块结束2418CANCancel取消取消当前操作2519EMEnd of Medium介质结束表示存储介质结束261ASUBSubstitute替换替换无效字符271BESCEscape转义开始转义序列Esc键常用于终端控制281CFSFile Separator文件分隔符分隔文件291DGSGroup Separator组分隔符分隔组301ERSRecord Separator记录分隔符分隔记录311FUSUnit Separator单元分隔符分隔单元1277FDELDelete删除删除字符早期打孔纸带上全打孔表示删除可打印字符32~126这部分都是日常看到的字符32空格SPSpace33~47标点符号 ! # $ % ’ ( ) * , - . /48~57数字 0~958~64标点符号 : ; ? 65~90大写字母 A~Z91~96标点符号 [ \ ] ^ _ 97~122小写字母 a~z123~126标点符号 { | } ~3. C语言中字符类型的实现机制C 语言提供了一个专门的数据类型char全称 character意为“字符”。charcA;// 把字符 A 存到变量 c 中注意字符必须用单引号 包起来A和A不一样A是字符A是字符串。虽然char用来存字符但它本质上是一个很小的整数只能存 -128 到 127 或 0 到 255 之间的数。使用printf查看字符对应的数字ASCII 值 用%c表示输出字符 用%d表示输出数字#includestdio.hintmain(){charcA;printf(字符是%c\n,c);// 输出Aprintf(ASCII值是%d\n,c);// 输出65return0;}同一个变量c用%c看是字母用%d看是数字这说明字符和数字在内存中是一回事只是显示方式不同。4. 特殊字符转义字符有些字符不能直接打出来比如换行、制表符C 语言用反斜杠\开头表示它们写法含义ASCII 值\n换行10\t水平制表Tab9\\反斜杠本身92\单引号39\双引号34\0空字符值为00例子printf(第一行\n第二行);// 输出两行printf(a\tb\tc);// 用 Tab 对齐二、字符串机制与设计原理1. 什么是字符串在 C 语言中字符串就是一串字符连在一起比如Hello 123 C language字符串必须用 双引号 包起来而单个字符用单引号 。这是重要区别。char c A; // 单个字符 char s[] A; // 字符串包含两个字符A 和 \0C 语言没有专门的“字符串类型”。它用char数组来存字符串。例如charname[]Tom;这行代码的意思是创建一个char类型的数组名字叫name把Tom这个字符串存进去。实际上name数组里存了4 个字符索引0123值‘T’‘o’‘m’\0最后一个字符\0叫做空字符null character它的 ASCII 值是 0。C 语言规定所有字符串末尾必须有一个\0用来标记“字符串到这里结束”。这个\0是编译器自动加的不需要写。用printf的%s格式打印字符串#includestdio.hintmain(){charword[]Hello;printf(%s\n,word);// 输出Helloreturn0;}%s会从数组开头一直打印直到遇到\0为止。2. 如何知道字符串有多长你可以自己数但 C 提供了一个函数strlen()需要包含string.h。#includestdio.h#includestring.hintmain(){chars[]Hi!;intlenstrlen(s);printf(长度是%d\n,len);// 输出3return0;}注意strlen返回的是实际字符个数不包括最后的\0。3. 字符串和字符数组的关系你可以把字符串看作一种特殊的char数组。你也可以手动创建字符数组chara[6]{H,e,l,l,o,\0};这和char a[] Hello;效果一样。但一定要记得加\0否则printf(%s, a)可能会打印乱码或崩溃。4. 常见操作读写字符串1从键盘输入字符串用scanf读一个单词不能有空格#includestdio.hintmain(){charname[50];// 最多存 49 个字符 1 个 \0printf(请输入你的名字);scanf(%s,name);printf(你好%s\n,name);return0;}三、C语言语句机制与设计原理1. 什么是“语句”在 C 语言中语句statement是程序执行的最小独立单位语句就是让计算机做一件事的一行命令。每条语句以分号;结尾。例如inta5;// 定义变量并赋值 → 一条语句printf(Hello);// 输出文字 → 一条语句aa1;// 计算并赋值 → 一条语句程序就是由一条条语句按顺序执行组成的。2. 语句的本质与抽象模型在C语言中语句statement是程序执行的基本单位用于表达计算、控制流或声明作用域。C标准ISO/IEC 9899将语句分为六类表达式语句、复合语句、选择语句、迭代语句、跳转语句和标签语句。所有语句最终被编译器翻译为底层机器指令序列。类别作用常见例子表达式语句执行一个计算或操作x 5;i;printf(...);复合语句把多条语句组合成一个整体用{ }包起来的代码块选择语句根据条件选择执行哪一段代码if,switch循环语句重复执行某段代码for,while,do-while跳转语句直接跳到程序的另一处break,continue,return标签语句为跳转提供目标位置很少用loop: ...C语言采用顺序执行模型除显式控制流语句外语句按源代码书写顺序依次执行。这一模型建立在冯·诺依曼架构的“指令指针递增”机制之上通过条件分支和循环实现非线性控制流。语句本身不返回值区别于表达式但可通过副作用如修改内存、调用函数影响程序状态。3. 表达式语句计算与副作用的载体表达式语句由一个表达式后接分号构成形式为expression;。其核心作用是求值并丢弃结果仅保留副作用。例如x5;// 赋值表达式副作用修改xprintf(OK);// 函数调用表达式副作用输出i;// 后缀自增副作用i增加1值得注意的是即使表达式无实际用途只要语法合法即可构成语句42;// 合法但无意义编译器通常警告表达式语句是C语言“一切操作皆表达式”哲学的体现——赋值、函数调用、自增等均具有值和副作用语句层仅关注副作用的触发。4. 复合语句作用域与块结构复合语句compound statement又称块block由花括号{}包围的声明与语句序列组成{intx10;// 声明x5;// 语句printf(%d,x);}复合语句引入局部作用域local scope在块内声明的标识符仅在该块及其嵌套块中可见生命周期从声明点开始到块结束时终止。此机制支持变量的局部化减少命名冲突并允许资源如栈上对象的自动管理。关键性质块可嵌套内层块可遮蔽shadow外层同名标识符块本身不产生运行时开销无额外指令仅为编译期作用域划分空块{}是合法语句常用于宏定义或占位。5. C语言中的注释Comment注释是写给“人”看的说明文字不是给计算机执行的代码。编译器在编译程序时会直接忽略所有注释它们不会影响程序运行。作用解释代码的功能标记待完成的任务临时禁用某段代码调试时5.1单行注释//从//开始到当前行末尾为止都是注释。// 这是一条单行注释intage18;// 这行代码定义年龄变量5.2多行注释/* ... */从/*开始到*/结束中间所有内容都是注释可以跨多行。/* 这是一个多行注释 可以写很多行说明 */intscore90;注意/* */不能嵌套错误示例/* 外层注释 /* 内层注释 */ // 编译错误 */注释的常见用途场景示例解释变量含义int n; // 学生人数说明复杂逻辑// 如果分数 60则及格暂时禁用代码// printf(调试信息\n);标记待办事项// TODO: 添加输入验证注本文是本账号作者撰写AI仅用于校对及整理。转载请注明出处及原作者。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询