C5_字符型数据

合集下载

《C语言程序设计》课后习题答案(第四版)

《C语言程序设计》课后习题答案(第四版)

第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。

inp文件写法

inp文件写法

inp文件写法一、概述inp文件是一种常见的数据文件格式,通常用于存储和传输工程数据、配置数据等。

在许多工程领域,如机械、电子、建筑等,inp文件被广泛使用。

本文将介绍inp文件的常见格式和写法,帮助读者了解如何编写和阅读inp文件。

二、文件格式1. 文件头:每个inp文件开头都有一个文件头,通常包括文件名、版本号、创建时间等信息。

2. 数据部分:数据部分是inp文件的核心,包含了各种类型的数据,如数字、字符串、布尔值等。

数据之间通过分隔符进行分隔。

3. 结束符:结尾处通常有一个特殊的结束符,表示文件的结束。

三、常见写法1. 数字:数字可以直接写在数据部分,不需要加任何符号或标签。

例如:100,2.3,true等。

2. 字符串:字符串需要用双引号括起来,并在末尾加上类型标识(如C表示字符型)。

例如:"Hello, world"表示一个包含字符串"Hello, world"的数据。

3. 布尔值:布尔值只有两个值,分别是true和false,写在数据部分时不需要加任何符号或标签。

例如:true表示一个布尔值为true的数据,false表示一个布尔值为false的数据。

4. 数组:数组需要用方括号括起来,并在末尾加上类型标识(如N表示数字型数组)。

例如:{1, 2, 3}表示一个包含三个数字的数字型数组。

5. 注释:注释用于解释代码的功能和实现方式,通常使用“#”符号开头。

注释可以出现在任何位置,但建议放在合适的地方以方便阅读和理解。

四、示例以下是一个简单的inp文件示例:[文件头]文件名:example.inp版本号:1.0创建时间:2023-05-10[数据部分]N1=100S2="Hello, world"T3=trueA4={1, 2, 3, 4}C5="I am a comment."在这个示例中,我们定义了四个数据项和一个注释。

单片微机原理系统设计与应用 C51

单片微机原理系统设计与应用 C51
在C51中,为了增加程序的可读性,允许用户为 系统固有的数据类型说明符用typedef起别名,格式如 下:
typedef c51固有的数据类型说明符 别名; 定义别名后,就可以用别名代替数据类型说明符
对变量进行定义。别名可以用大写,也可以用小写,
为了区别一般用大写字母表示。
二.变量名 变量名是C51区分不同变量,为不同变量取的名
单片机C语言程序设计
4.1 C语言与MCS-51单片机
4.1.1 C语言的特点及程序结构
一.C语言的特点 1.语言简洁、紧凑,使用方便、灵活。 2.运算符丰富。 3.数据结构丰富。具有现代化语言的各种数据结构。 4.可进行结构化程序设计。 5.可以直接对计算机硬件进行操作。 6.生成的目标代码质量高,程序执行效率高。 7.可移植性好。
○ KEIL C51编译器能够识别的基本数据类型:
基本数据类型 unsigned char signed char unsigned int signed int unsigned long signed long float bit sbit sfr sfr16
长度 1字节 1字节 2字节 2字节 4字节 4字节 4字节 1位 1位 1字节 2字节
○ 一【.例数】据ty类pe型d说ef明的符使用。 typ在ed定e义f u变n量sig时n,ed必i须nt通W过O数R据D类; 型说明符指明变
量的tByYp数Te据Ede类fa1型u=n0,sxi指1g2n明;ed变量ch在ar存B储Y器TE中; 占用的字节数。 可以WO是R基D本a数2=据0x类1型23说4;明符,也可以是组合数据类型 说明符,还可以是用typedef定义的类型别名。
取值范围 0~255 -128~+127 0~65535 -32768~+32767 0~4294967295 -2147483648~+2147483647 1.175494E-38~3.402823E+38 0或1 0或1 0~255 0~65535

C语言程序设计课程实验指导书

C语言程序设计课程实验指导书

《C语言程序设计》课程实验指导书第一部分前言一、实验的目的学习C程序设计课程不能满足于“懂得了”,满足于能看懂书上的程序,而应当熟练地掌握程序设计的全过程,即独立编写源程序、独立上机调试、独立运行程序和分析结果。

上机实验的目的,绝不仅仅是为了验证教材和讲课的内容,或者验证自己所编写的程序的正确与否。

程序设计课程上机实验的目的是:1.加深对讲授内容的理解,尤其是一些语法规定。

通过实验来掌握语法规则是行之有效的方法。

2.熟悉所用的操作系统。

3.学会上机调试程序。

通过反复调试程序掌握根据出错信息修改程序的方法。

4.通过调试完善程序。

二、实验前的准备工作1.了解所用的计算机系统(包括C编译系统)的性能和使用方法。

2.复习和掌握与本实验有关的教学内容。

3.准备好上机所需的程序,切忌不编程或抄别人的程序去上机。

4.对程序中出现的问题应事先估计,对程序中自己有疑问的地方应先作上记号,以便上机时给予注意。

5.准备好调试程序和运行程序所需的数据。

三、实验的步骤上机实验应一人一组,独立实验。

上机过程中出现的问题,除了是系统的问题以外,不要轻易举手问老师。

尤其对“出错信息”,应善于分析判断,找出出错的行,然后检查该行或其上一行。

上机实验一般应包括以下几个步骤:1.双击桌面Visual C++快捷方式进入Visual C++,或通过执行“开始=>程序=> Microsoft Visual Studio 6.0=> Microsoft Visual C++6.0”或执行文件"C:\Program Files\Microsoft Visual Studio\COMMON\MSDev98\Bin\MSDEV.EXE"。

2.单击“文件”菜单的“新建”命令。

3.在打开的“新建”对话框中选择“文件”标签。

4.选择C++ Source File,选择文件保存位置,然后在文件输入栏中输入文件名。

如图所示:5.输入源程序。

习题二(数据类型)

习题二(数据类型)

习题二一、选择题1.下列几个选项中,属于C语言的基本数据类型的是()。

A.整型、实型、结构体类型B.整型、实型、字符型C.整型、逻辑型、实型D.整型、字符型、数组类型2.C语言规定,标识符的命名只能由字母、数字和下划线三种字符组成,且第一个字符()。

A.必须是字母B.必须是下划线C.必须是字母或下划线D.必须是数字3.下列标识符中,合法的标识符为()。

A.6adcB._max1C.a*$bnD.123bc4.下列标识符中,不合法的标识符为()。

A. intB. _n5C. i_5abD. q5n5. 下列不合法的字符常量是()。

A.‘a’B.’\”’C.’\n’D.”a”6.下列不合法的字符串常量是()。

A.‘abc’B.”abc”C.”dfb345”D.””7.下列不合法的转义字符是()。

A. ‘\\ ’B. ‘\t’C. ‘\x6a ’D.’\89’8.下面四个选项中,均是不合法的转义字符的选项是()。

A. ‘\’’‘\t’‘\’B. ‘\1234’‘\018’‘\x3h’C. ‘\n’‘\16’‘\”‘D. ‘\x8a’‘\&’‘\101’9.下列整型常量中,不合法的是()。

A.89B. -16C. 0x4bD.066810.下面四个选项中,均是不合法的整型常量的选项是()。

A. -0f1 018 2e5B. 25 0xf3 3.5C. 065 -54 -0a4D. 013 0xk5 -06911.下列实型常量中,不合法的是()。

A. 0.0B. .123C. 123D. 2.3412.下列实型常量中,合法的是()。

A. e3B. 2e4.3C. –e4D. 2e-413.下面四个选项中,均是不合法的实型常量的选项是()。

A. 3e5.4 0.0 2e5B. e5 5e2.5 68C. 3.14 2e-4 123e-5D. 0.98 -e-3 123e14.在C语言中,int、char和short 三种类型数据在内存中所占用的字节数()。

C51的数据结构

C51的数据结构

• 将位于SFR字节地址内的绝对位地址定义 为位变量名。

例如,sbit CY = 0xD7;
2、sbit bit_name = sfr_name ^ 位 位置;
• 将已有定义的SFR的0~7位定义为位变量 名。
• 例如: sfr PSW = 0xD0;

sbit CY = PSW^7;
3、sbit bit_name = sfr字节地址 ^ 位位置;
• sbit flag_mus=operate^2; 志位
//音乐标
• sbit flag_run=operate^3; 志位
//运行标
四、 idata 区
• 8051 系列的一些单片机,如8052 有附加 的128 字节的内部RAM, 位于从80H 开始 的地址空间中,被称为idata。
• 因为idata 区的地址和SFRs 的地址是重叠 的,通过区分所访问的存储区,来解决地 址重叠问题,因为idata 区只能通过间接寻 址来访问。
• sfr AUXR=0x8E;
• 这种定义以后,在程序中就可对AUXR进行 操作。
sbit型
• sbt型是能够按位寻址的特殊功能寄存器中 位变量。其定义的一般格式为:
• sbit 位变量名 = 位地址表达式
位地址表达式有三种形式
• 直接位地址;

特殊功能寄存器名带位号;

字节地址带位号。
1、sbit bit_name = 位地址常数;
五、 xdata 区
• 存储空间为64K ,和code 区一样采用16 位 地址寻址称作外部数据区,简称xdata 区。
• 这个区通常包括一些RAM, 如SRAM 或一 些需要通过总线接口的外围器件。

VisualBasic数据类型

VisualBasic数据类型

VisualBasic数据类型一、数据类型(一)基本数据类型数据类型Visual Basic6.0提供的基本数据类型主要有字符串型和数值型,此外还提供了字节、货币、对象、日期、布尔和变体数据类型。

(二)用户定义的数据类型用户可以利用Type语句定义自己的数据类型,其格式如下:Type 数据类型名数据类型元素名 As 类型名数据类型元素名 As 类型名……End Type(三)枚举类型所谓“枚举”是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。

枚举类型放在窗体模块、标准模块或公用类模块中的声明部分,通过Enum语句来定义,格式如下:[Public|Private]Enum类型名称成员名[=常数表达式]成员名[=常数表达式] ……End Enum二、常量和变量(一)常量Visual Basic中的常量分为两种,一种是文字常量,一种是符号常量。

(二)变量1.命名规则变量是一个名字,给变量命名时应遵循以下规则:(1)名字只能由字母、数字和下划线组成;(2)名字的第一个字符必须是英文字母,最后一个字符可以是类型说明符;(3)名字的有效字符为255个;(4)不能用Visual Basic的保留字作变量名,但可以把保留字嵌入变量名中;同时,变量名也不能是末尾带有类型说明符的`保留字。

2.变量的类型和定义任何变量都属于一定的数据类型,包括基本数据类型和用户定义的数据类型。

在Visual Basic中,可以用下面几种方式来规定一个变量的类型:(1)用类型说明符来标识。

(2)在定义变量时指定其类型(3)用DefType语句定义(4)用类型说明符定义的变量,在使用时可以省略类型说明符。

(三)变体类型变量1.Variant变量的定义Variant变量可以用普通数据类型变量的格式定义,也可以默认定义。

2.Variant变量值的内部表示Variant变量所存放的值都有一个内部表示,在执行比较等操作时,Variant变量根据其内部表示确定如何操作。

C语言-数据类型习题及答案

C语言-数据类型习题及答案

第二章数据类型,运算符与表达式一.选择题1.不合法的字符常量是(B)。

A)‘\t’B) “A” C)‘a’D)’\x32’2、合法的字符常量是(D)。

A)‘\084’B) ‘\84’ C)‘ab’D)’\x43’2.(B)是C语言提供的合法的数据类型关键字。

A)Float B)signed C)integer D)Char3.在以下各组标识符中,合法的标识符是(4)。

(1)A)B01 B)table_1 C)0_t D)k%(2)A)Fast_ B)void C)pbl D)<book>(3)A)xy_ B)longdouble C)*p D)CHAR(4) A) sj B)Int C)_xy D)w_y234.属于合法的C语言长整型常量的是(B)。

A)5876273 B)0L C)2E10 D)(long)58762735.下面选项中,不是合法整型常量的是(B)。

A)160 B)-0xcdg C)-01 D)-0x48a6.判断int x = 0xaffbc;x的结果是(B)(turbo c 版本)。

A)赋值非法B)溢出C)为affb D)为ffbc7.下面选项中,均是合法浮点数的是(B)。

A)+1e+1 B)-.60 C)123e D)-e3A)5e-9.4 B)12e-4 C)1.2e-.4 D).8e-4A)03e2 B)-8e5 C)+2e-1 D)5.e-08.在C语言中,要求参加运算的数必须是整数的运算符是(C)。

A)/ B)* C)% D) =9.在C语言中,字符型数据在内存中以(D)形式存放。

A)原码B)BCD码C)反码D)ASCII码10.下列语句中,符合语法的赋值语句是(C)。

A)a=7+b+c=a+7;B)a=7+b++=a+7;C)a=(7+b,b++,a+7);D)a=7+b,c=a+7;11.(B)是非法的C语言转义字符。

A)‘\b’B)‘\0xf’ C)‘\037’ D)‘\’’12.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中(B),是正确的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
;a'
0110,0001
C语言与程序设计 江汉大学数计学院
韩海
用字符型变量存放整数
字符型数据的存储特性决定了它的一些用法。 字符型数据的存储特性决定了它的一些用法。 参与数值计算 字符型数据可以用作+ 运算的操作数。 字符型数据可以用作+、-、*、/、%运算的操作数。如: char c1 = 'A' , c2 , c3 ; c2 = (char)((int)c1 + 3) ; c2 = c1 + 3 ; c3 = (char)((int)'t' – (int)'a') ; c3 = 't' – 'a' ; 用单字节存储整数,存储模式类似int变量的存储方法。 int变量的存储方法 用单字节存储整数,存储模式类似int变量的存储方法。 printf可以输出字符型变量中存放的整数 可以输出字符型变量中存放的整数, 用printf可以输出字符型变量中存放的整数,或输出字 符的ASCII ASCII值 格式符是%d %d。 符的ASCII值,格式符是%d。如: printf ( "%d , %d , %d\n" , c1 , c2 , c3 ) ; printf("%d,%d,%d\n",(int)c1,(int)c2,(int)c3 ) ; 但是,不能以%d作为格式符用scanf %d作为格式符用scanf从键盘读入一个整数 但是,不能以%d作为格式符用scanf从键盘读入一个整数 放到字符型变量中。下面的用法错误: 放到字符型变量中。下面的用法错误: scanf ( "%d" , &c2 ) ; 为了便于阅读和理解, 为了便于阅读和理解,可考虑使用强制类型转换
C语言与程序设计 江汉大学数计学院
韩海
9
求值型函数和处理型函数
10
系统为一些特定的计算或处理准备了一系列专用工具, 系统为一些特定的计算或处理准备了一系列专用工具, 称为“系统函数” 也称“库函数” 目前已学包括: 称为“系统函数”,也称“库函数”。目前已学包括: abs、fabs、sqrt、exp、sin等数学计算函数 、 、 、 、 等数学计算函数 printf scanf putchar getchar 使用方法分为两类: 使用方法分为两类: 求值型 按照固定的模式进行计算,求出最终的数据作为结果。 按照固定的模式进行计算,求出最终的数据作为结果。 这一类函数当作数据使用。 这一类函数当作数据使用。 处理型 按照固定的流程对数据进行处理, 按照固定的流程对数据进行处理,可以是把被数据以适 当形式送到屏幕,也可以是从键盘读取数据, 当形式送到屏幕,也可以是从键盘读取数据,但都没有 一个特定数据作为处理结果。这一类函数当作语句使用。 一个特定数据作为处理结果。这一类函数当作语句使用。 将来还会遇到混合型,即既求值又处理。 将来还会遇到混合型,即既求值又处理。
C语言与程序设计 江汉大学数计学院
韩海
字符型数据处理示例1
Q:从键盘输入一个字符,显示其ASCII值。 :从键盘输入一个字符,显示其 值 输入按键
#include <头文件 <stdio.h> 头文件> 头文件 main( ) { char a ; 变量定义; 变量定义;
11
取ASCII
int b ; printf("输入一个字符 :") ; 输入一个字符 语句序列; 语句序列; scanf("%c" , &a ) ;
7
C语言与程序设计 江汉大学数计学院
韩海
字符型数据的输入输出
格式符%c专用于scanf和printf中输入输出字符型数据。 格式符%c专用于scanf和printf中输入输出字符型数据。 %c专用于scanf 中输入输出字符型数据 从键盘读入一个字符送到指定变量中 ch1、ch2是已定义的char型变量 是已定义的char型变量, 设ch1、ch2是已定义的char型变量,则: scanf ( "%c" , &ch1 ) ; 特别地, 特别地, scanf ( "%c%c" , &ch1 , &ch2 ) ; 从键盘输入时两个字符之间不能空格! 从键盘输入时两个字符之间不能空格! printf向屏幕输出字符 用printf向屏幕输出字符 printf ( "ASCII of '%c' is %d.\n" , ch1 , ch1 ) ; 不妨假设变量ch1中存放的符号是'A', printf的显示 设变量ch1中存放的符号是'A' 不妨假设变量ch1中存放的符号是'A',则printf的显示 结果为: 结果为: ASCII of 'A' is 65.
韩海
字符型数据处理示例2
Q:从键盘输入一个大写字母(不考虑按键不是大写字 :从键盘输入一个大写字母( 母的情况),显示其对应的小写字母。 ),显示其对应的小写字母 母的情况),显示其对应的小写字母。 输入按键
#include <头文件 <stdio.h> 头文件> 头文件 main( ) { char a , b ; ; 变量定义; 变量定义 printf("输入一个大写字母 :") ; 输入一个大写字母 scanf("%c";&a ) ; 语句序列; 语句序列 , b = a + 32 ;
C语言与程序设计 江汉大学数计学院
韩海
4
变量

地址
100 101 102 103 104 105
c1 0100,0001 'A' c2 0011,0000 '0' d1 0100,0001 65 0000,0000 d2 0000,0000 0 0000,0000
字符 整数
字符型变量与整型变量有密切联系, 字符型变量与整型变量有密切联系,两种类型的变量相互 传递数据时可以自动转换类型。设有下列变量定义: 传递数据时可以自动转换类型。设有下列变量定义: dt1; char dt1; dt2; int dt2; 把字符数据送到整型变量中, 把字符数据送到整型变量中,例如 dt2 = dt1 ; dt1 'A' 0100,0001
C语言与程序设计 江汉大学数计学院
韩海
2
字符型变量
定义字符型变量 类型 char 变量名 ; ; c1 = 'A' 在字符型变量中存储字符 一个char型变量占1字节; char型变量占 一个char型变量占1字节; 字符以ASCII值的形式存放; ASCII值的形式存放 字符以ASCII值的形式存放; 示例 char c1 = 'A'; char c2 = '2', c3 = 'a', c4 ; 相应的内存分配 ——画图 画图 c1 0100,0001 c2 50 c3 'a' c4
5
dt2
65
0000,0000 0100,0001 Q: 符号扩展问题
C语言与程序设计 江汉大学数计学院
韩海
整数 字符
• 把整型数据送到字符变量中,例如沿用上一页的变量 把整型数据送到字符变量中, 定义,对于下面的赋值: 定义,对于下面的赋值: dt1 = dt2 ; dt2 3681 0000,1110 0110,0001 0000,1110 0110,0001
12
计算小写
显示
printf("%c对应的小写字母是:%c\n" , a , b ) ; 对应的小写字母是: 对应的小写字母是 }
Q: 程序中有哪些地方存在自动类型转换? 程序中有哪些地方存在自动类型转换?
C语言与程序设计 江汉大学数计学院
韩海
8
C语言与程序设计 江汉大学数计学院
韩海
getchar和putchar
系统为单个字符的输入输出提供了两个专用的工具: 系统为单个字符的输入输出提供了两个专用的工具: putchar 格式: 格式: putchar(字符表达式 字符表达式) putchar(字符表达式); 当作一条语句使用, 当作一条语句使用,等价于 printf ( "%c" , 字符表达式 ) ; 字符表达式"可以是char型常量、char型变量 char型常量 型变量, "字符表达式"可以是char型常量、char型变量,也可 以是计算结果在0 255之间的计算式 之间的计算式; 以是计算结果在0到255之间的计算式; getchar 格式: 格式: ); 字符型变量 = getchar( ); )视作一个字符型数据 视作一个字符型数据, )中没有内容 中没有内容; getchar( )视作一个字符型数据,( )中没有内容; 格式中的用法相当于 scanf ( "%c" , &字符型变量 ) ; 字符型变量 以下是错误用法: 以下是错误用法: getchar ( &ch ) ;
字符型数据
字符与ASCII
标准ASCII表 标准ASCII表 ASCII 编号”是计算机处理某一类事物的基本方法, “编号”是计算机处理某一类事物的基本方法,把所有 可用的符号编排号码,得到ASCII ASCII表 见附录(P267) (P267)。 可用的符号编排号码,得到ASCII表,见附录(P267)。 特点:字母、数字连续排列, 小写字母相差32 特点:字母、数字连续排列,大、小写字母相差32 记住几个常用符号的ASCII 记住几个常用符号的ASCII 空格(32) 回车(13) A(65) a(97) 0(48) 空格(32) 回车(13) 程序中字符的写法-------字符常量 程序中字符的写法----字符常量 基本写法: 单个字符' 基本写法:'单个字符' 例: 'A' 'a' '*' ' ' 几种特殊写法: 几种特殊写法: n'-------回车符 ----反斜杠 '\n'----回车符 '\\'----反斜杠 ''-------单引号 "'-------双引号 '\''----单引号 '\"'----双引号 ddd'----ASCII值为八进数ddd的字符 ddd可 ----ASCII值为八进数ddd的字符, '\ddd'----ASCII值为八进数ddd的字符, ddd可1~3位 xhh'----ASCII值为十六进数hh的字符 ----ASCII值为十六进数hh '\xhh'----ASCII值为十六进数hh的字符
相关文档
最新文档