2024年4月28日发(作者:达凝蝶)
第3章程序设计初步第1-7节
一、选择题
1、C语言中用于结构化程序设计的3种基本结构是( D )
A) for,while,do-while B) if,for,continue
C) if,switch,break D)顺序结构、选择结构、循环结构
2、流程控制语句的基本控制结构有三种,不属于这一种结构的是( D )。
A) 顺序结构 B) 选择结构 C) 循环结构 D) 计算结构
3、输入输出格式控制是在哪个头文件中定义的?( B )。
A) iostream B) iomanip C) istream D) ostream
4、输入输出时需要包含哪个头文件?( A )。
A) iostream B) iomanip C) istream D) ostream
5、对于语句cout< A)”cout”是一个输出流对象 B) ”endl”的作用是输出回车换行 C)”x”是一个变量 D) ”<<”称作提取运算符 解析:”>>”称作提取运算符. ”<<”称作插入运算符 6、下列有关输入、输出的说法错误的是( C )。 A) C++语言本身没有提供输入、输出语句 B) C++语言中输入输出功能是通过输入输出流库中的流对象cin和cout实现的 C) 函数putchar()只能用来输出字符型变量的内容 D) 函数getchar()一次只能输入一个字符 7、在ios中提供控制格式的标志位中,哪个是转换为十六进制形式的标志位?(A )。 A) hex B) oct C) dec D) left 8、关系表达式的求值结果为( B )。 A)1或-1 B)1或0 C)任意正整数或0 D)任意负整数或0 9、设变量a和b的值满足a A)a 10、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是( D )。 A) a>=10 or a<=0 B) a>=0|a<=10 C) a>=10 &&a<=0 D) a>=10||a<=0 11、 判断字符型变量ch是否为大写英文字母,应使用表达式( B )。 A) ch>='A' & ch<='Z' B)ch>='A' && ch<='Z' C)'A'<=ch<='Z' D)ch<='A' ||ch>='Z' 12、判断字符型变量ch是否为小写英文字母,应使用表达式( B )。 A) ch>='a' & ch<='z' B)ch>='a' && ch<='z' C)'a'<=ch<='z' D)ch<='a' ||ch>='z' 13、if(!x),表达式!x等效于(B )。 A) x==1 B) x==0 C) x!=1 D) x!=0 14、if(x),表达式x等效于(D )。 A) x==1 B) x==0 C) x!=1 D) x!=0 15、下列表达式中表示int变量x可以被3整除的表达式是( B )。 A)x/3==0 B)x%3==0 C)x%3!=0 D)(x/3) 16、设有定义:int x=1,y=2;则表达式x--||++y的值是( C )。 A)2 B)0 C)1 D)3 设有定义:int x=1,y=2;则执行表达式x--||++y后,x,y的值是( 0 2 )。表达式的值是(1) 设有定义:int x=1,y=2;则执行表达式 --x||++y后,x,y的值是( 0 3 )。表达式的值是(1) 17、 已知x,y,z均为整型变量,且值均为1,则执行语句++x||++y&&++z;后,表达式x+y的值为( C ) A) 1 B) 2 C) 3 D) 4 解析:++x为真,后面的就不运算了,所以语句执行结束后x=2,y=1,z=1 18、 设 int x=0, y=1; 表达式(x||y)的值是( B ) A) 0 B) 1 C) 2 D) -1 19、设int x=1,y=1;表达式(!x||y- -)的值是( B ) A) 0 B) 1 C) 2 D) -1 第3--1 解析: !x为假,y--,先使用y=1为真,整个表达式为真.然后y自减1 20、 设有: int a=1,b=2,c=3,d=4,m=2,n=2; 执行 (m=a>b)&&(n=c>d)后n的值是( B ) A) 1 B) 2 C) 3 D) 0 解析:exp1&&exp2 若exp1为0,则exp2不执行.m=0,所以(n=c>d)不执行,n值不变 21、 设有: int a=1,b=2,c=3,d=4,m=2,n=2; 执行 (m=ad)后n的值是( B ) A) 1 B) 2 C) 3 D) 0 解析:exp1||exp2 若exp1为1,则exp2不执行.m=1,所以(n=c>d)不执行,n值不变 22、已知x=35,ch=’A’,y=0,则表达式(x>=y&&ch<'B'||!y) 的值为( B )。 A)0 B)1 C)非0的值 D)语法错误 23、 if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是( D )。 A)必须是逻辑值 B)必须是整数值 C)必须是正数 D)可以是任意合法的数值 24、 C语言对嵌套if语句的规定是:else子句总是与( D )配对 A) 其之前最近的if B) 第一个if C) 缩进位置相同的if D) 其之前最近的且尚未配对的if 25、 已知char ch=′F′;则以下表达式的值是( D ) ch=(ch>=′A′ && ch<=′Z′)?(ch+32):ch; A) A B) a C) Z D) f 26、已知定义 int a=1,b=2,c=3;则表达式a>b?(a>c?a:c):b的值为( B ) A)1 B)2 C)3 D)不确定 27、 若运行时给变量输入12,则以下程序段的运行结果是( A )。 int x,y; cin>>x; y=x>12?x+10:x-12; cout< A) 0 B) 22 C) 12 D) 10 28、运行如下程序段,输出结果是( C )。 int a=2,b=-1,c=2; //语句1 if(a if(b<0) c=0; else c+=1; cout << c << endl; //语句3 A) 0 B) 1 C) 2 D) 3 解析:共3条语句.第2条语句是if语句且只有if子句, else子句缺省,用{ }表示出子句范围如下: int a=2,b=-1,c=2; //语句1 if(a { if(b<0) {c=0; } else {c+=1;} } //语句2结束. cout << c << endl; //语句3 29、已知:int x,y;则下列if语句中正确的是( A )。 A) if(x==0) y=1; else y=2; B) if(x==0) then y=1 else y=2 第3--2 C) if(x==0) y=1 else y=2; D) if x==0 y=1;else y=2; 30、有以下程序 #include using namespace std; int main(){ int a; cin >> a; if(a++<9) cout << a; else cout << a--; return 0; } 程序运行时从键盘输入9 回车,则输出结果是( A ) A) 10 B) 11 C) 9 D) 8 解析:++ --在后,先使用变量,然后变量自增或自减。if(a++) 先使用a是9,此时a<9值为假,然后a 加1是10,执行else子句,输出10,然后a自减1变成9 31、if (a>b) max=a;else max=b;将该语句写成三目运算表达式语句是( D )。 A) max=(a>b)?; B) (max=a>b)?a:b; C) c=(a>b)?a:b; D) max=(a>b)?a:b; 32、C++语言的跳转语句中,对于break和continue说法正确的是( B )。 A) break语句只应用与循环体中 B) continue语句只应用与循环体中 C) break是无条件跳转语句,continue不是 D) break和continue的跳转范围不够明确,容易产生问题 33、下面关于break语句的描述中,不正确的是( C ). A) break语句可以在for循环语句中出现多次 B) break语句可以在switch语句中出现多次 C)一个break语句就可以跳出多重循环 D) break可以用于循环体内 34、关于switch语句的说明中,错误的是(B ). A) default语句是可缺省的 B) switch结构不可以嵌套 C) 各个分支中的break语句起着退出switch语句的作用 D) 每个case语句中不必用{},而整体的switch结构一定要写一对花括号{} 35、若int a=6,则执行完下列语句后,a的值为( B ). if (a>10) a-=5; a+=5; A) 10 B) 11 C) 1 D) 6 36、执行语句序列时,若键盘输入1,则屏幕显示( C )。 int n; cin >> n; switch(n) { case 1: case 2: cout << '1'; case 3: case 4: cout << '2'; break; default: cout << '3'; } A) 2 B) 1 C) 12 D) 3 37、以下程序的运行结果是( D )。 int main() { int x=1; switch(x) { case 1:++x; case 0:--x; default: x+=7; 第3--3 } cout << x << endl; return 0; } A)2 B)1 C)7 D)8 38、以下代码执行后,a、b、c的值分别为( B )。 int a=8,b=10,c=3; if (a c=a, a=b, b=c; A) 10 10 8 B)10 8 8 C)10 3 3 D)8 10 3 解析:c=a, a=b, b=c; 是1条语句 39、执行以下程序段后a的值为( D ) int a=0; if (3&&2) a=1; else a = 2; A) 程序有误 B) 0 C) 2 D) 1 二、填空题 1. 常用的算法表示方法有:自然语言、(流程图 )、伪代码、(计算机语言 )等。 2. 程序的三种基本结构为:(顺序结构 )、( 选择结构(分支结构)) 、(循环结构 )。 3. 有变量定义:int a=5,b=4,c=3;则表达式a>b>c的值为( 0 )。 解析:(a>b)>c,a>b值为1,1>c值为0 4. 已知a=1,b=2,c=3;则表达式:!(a>b)&&!c||1的值为( 1 )。 5. 已知a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为 1 。 已知a=3,b=4,c=5,则表达式a+b>c&&b==c的值为 0 。 6.表达式3*10+5-8>12*3-20的值是 1 。 表达式8*4-15>7*9-11的值是 0 。 表达式3*10+5-8>12*3-20&&8*4-15<7*9-11的值是 1 。 表达式3*10+5-8>12*3-20&&8*4-15>7*9-11的值是 0 。 表达式3*10+5-8>12*3-20||8*4-15>7*9-11的值是 1 。 表达式3*10+5-8<12*3-20||8*4-15>7*9-11的值是 0 。 表达式!( 3*10+5-8>12*3-20)的值是 0 。 7. 在C++中,判断一个逻辑量是否为“真”时,采取的标准是:如果其值是0就认为是“假”,如果其值 是(非0 )就认为是“真”。 8. getchar函数的作用是从终端 输入 一个字符。用putchar( )函数可以向终端 输出一个字符。 9. 设x为int型变量,判断“x是偶数”的关系表达式是 x%2==0 。 10. 调用数学库中的函数时,需要加载_cmath头文件。 sqrt()是求平方根的函数 fabs() 是求绝对值的函数 11. 设有定义:int a=6,b=3,c=9,d=2;则表达式a 解析: a 是6 12. 以下程序的运行结果是( 1 )。 #include int main() { int p,a=5; if(p=a!=0) cout << p << endl; else cout << p+2 << endl; return 0; } 第3--4 解析:表达式 p=a!=0 相当于p=(a!=0) ,所以p=1. 13. 下列语句的作用是 如果a大于b, 将a,b的值互换 。 if(a>b) {t=a;a=b;b=t;} 如果a大于b, 将a,b的值互换,写出语句 if(a>b) {t=a;a=b;b=t;} 14. 下列语句的作用是 将a,b中的大数赋值给c 。 if(a>b) c=a; else c=b; 将a,b中的大数赋值给c, 写出语句 if(a>b) c=a; else c=b; 下列语句的作用是 将a,b中的大者赋值给c 。 c=(a>b)?a:b; 下列语句的作用是 如果ch是大写字母,则将ch转换成小写字母 。 ch=(ch>=′A′ && ch<=′Z′)?(ch+32):ch; 下列语句的作用是 如果ch是小写字母,则将ch转换成大写字母 。 if(ch>=′a′ && ch<=′z′) ch=ch-32; 15. 选择结构语句有 if 语句和switch语句两种。 switch语句中case 后必须是 整型常量表达式 。 switch语句中switch 后必须是 整型表达式 。 16.运行时输入单个字符‘B’。,输出结果是‘b’ #include using namespace std; int main( ) { char c; c=getchar( ); putchar(c+32); putchar('n'); return 0; } 三、编程题 1、输入三个整数a,b,c,求最大值 2、输入二个整数a,b,判断a,b之间的关系:a大于b, a等于b, a小于b. 3、输入一个整数x(非0),判断该数是偶数,还是奇数 4、输入一个圆的半径r,如果半径r大于等于0,则输出面积,否则输出“输入半径不能小于0” 5、输入一个0-6的整数,输出对应的星期 0—Sunday 1—Monday 2—Tuesday ...... 6、 输入百分制成绩,输出等级. 90-100分 等级是 A 80-89分 等级是 B 70-79分 等级是 C 60-69分 等级是 D 小于60分 输出不及格信息 7、 输入一个1~12的整数,转换成英文月份输出。 8、 输入一个0-15的整数,转换成16进制字符 10进制: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16进制: 0 1 2 3 4 5 6 7 8 9 A B C D E F 第3--5 2024年4月28日发(作者:达凝蝶)
第3章程序设计初步第1-7节
一、选择题
1、C语言中用于结构化程序设计的3种基本结构是( D )
A) for,while,do-while B) if,for,continue
C) if,switch,break D)顺序结构、选择结构、循环结构
2、流程控制语句的基本控制结构有三种,不属于这一种结构的是( D )。
A) 顺序结构 B) 选择结构 C) 循环结构 D) 计算结构
3、输入输出格式控制是在哪个头文件中定义的?( B )。
A) iostream B) iomanip C) istream D) ostream
4、输入输出时需要包含哪个头文件?( A )。
A) iostream B) iomanip C) istream D) ostream
5、对于语句cout< A)”cout”是一个输出流对象 B) ”endl”的作用是输出回车换行 C)”x”是一个变量 D) ”<<”称作提取运算符 解析:”>>”称作提取运算符. ”<<”称作插入运算符 6、下列有关输入、输出的说法错误的是( C )。 A) C++语言本身没有提供输入、输出语句 B) C++语言中输入输出功能是通过输入输出流库中的流对象cin和cout实现的 C) 函数putchar()只能用来输出字符型变量的内容 D) 函数getchar()一次只能输入一个字符 7、在ios中提供控制格式的标志位中,哪个是转换为十六进制形式的标志位?(A )。 A) hex B) oct C) dec D) left 8、关系表达式的求值结果为( B )。 A)1或-1 B)1或0 C)任意正整数或0 D)任意负整数或0 9、设变量a和b的值满足a A)a 10、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是( D )。 A) a>=10 or a<=0 B) a>=0|a<=10 C) a>=10 &&a<=0 D) a>=10||a<=0 11、 判断字符型变量ch是否为大写英文字母,应使用表达式( B )。 A) ch>='A' & ch<='Z' B)ch>='A' && ch<='Z' C)'A'<=ch<='Z' D)ch<='A' ||ch>='Z' 12、判断字符型变量ch是否为小写英文字母,应使用表达式( B )。 A) ch>='a' & ch<='z' B)ch>='a' && ch<='z' C)'a'<=ch<='z' D)ch<='a' ||ch>='z' 13、if(!x),表达式!x等效于(B )。 A) x==1 B) x==0 C) x!=1 D) x!=0 14、if(x),表达式x等效于(D )。 A) x==1 B) x==0 C) x!=1 D) x!=0 15、下列表达式中表示int变量x可以被3整除的表达式是( B )。 A)x/3==0 B)x%3==0 C)x%3!=0 D)(x/3) 16、设有定义:int x=1,y=2;则表达式x--||++y的值是( C )。 A)2 B)0 C)1 D)3 设有定义:int x=1,y=2;则执行表达式x--||++y后,x,y的值是( 0 2 )。表达式的值是(1) 设有定义:int x=1,y=2;则执行表达式 --x||++y后,x,y的值是( 0 3 )。表达式的值是(1) 17、 已知x,y,z均为整型变量,且值均为1,则执行语句++x||++y&&++z;后,表达式x+y的值为( C ) A) 1 B) 2 C) 3 D) 4 解析:++x为真,后面的就不运算了,所以语句执行结束后x=2,y=1,z=1 18、 设 int x=0, y=1; 表达式(x||y)的值是( B ) A) 0 B) 1 C) 2 D) -1 19、设int x=1,y=1;表达式(!x||y- -)的值是( B ) A) 0 B) 1 C) 2 D) -1 第3--1 解析: !x为假,y--,先使用y=1为真,整个表达式为真.然后y自减1 20、 设有: int a=1,b=2,c=3,d=4,m=2,n=2; 执行 (m=a>b)&&(n=c>d)后n的值是( B ) A) 1 B) 2 C) 3 D) 0 解析:exp1&&exp2 若exp1为0,则exp2不执行.m=0,所以(n=c>d)不执行,n值不变 21、 设有: int a=1,b=2,c=3,d=4,m=2,n=2; 执行 (m=ad)后n的值是( B ) A) 1 B) 2 C) 3 D) 0 解析:exp1||exp2 若exp1为1,则exp2不执行.m=1,所以(n=c>d)不执行,n值不变 22、已知x=35,ch=’A’,y=0,则表达式(x>=y&&ch<'B'||!y) 的值为( B )。 A)0 B)1 C)非0的值 D)语法错误 23、 if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是( D )。 A)必须是逻辑值 B)必须是整数值 C)必须是正数 D)可以是任意合法的数值 24、 C语言对嵌套if语句的规定是:else子句总是与( D )配对 A) 其之前最近的if B) 第一个if C) 缩进位置相同的if D) 其之前最近的且尚未配对的if 25、 已知char ch=′F′;则以下表达式的值是( D ) ch=(ch>=′A′ && ch<=′Z′)?(ch+32):ch; A) A B) a C) Z D) f 26、已知定义 int a=1,b=2,c=3;则表达式a>b?(a>c?a:c):b的值为( B ) A)1 B)2 C)3 D)不确定 27、 若运行时给变量输入12,则以下程序段的运行结果是( A )。 int x,y; cin>>x; y=x>12?x+10:x-12; cout< A) 0 B) 22 C) 12 D) 10 28、运行如下程序段,输出结果是( C )。 int a=2,b=-1,c=2; //语句1 if(a if(b<0) c=0; else c+=1; cout << c << endl; //语句3 A) 0 B) 1 C) 2 D) 3 解析:共3条语句.第2条语句是if语句且只有if子句, else子句缺省,用{ }表示出子句范围如下: int a=2,b=-1,c=2; //语句1 if(a { if(b<0) {c=0; } else {c+=1;} } //语句2结束. cout << c << endl; //语句3 29、已知:int x,y;则下列if语句中正确的是( A )。 A) if(x==0) y=1; else y=2; B) if(x==0) then y=1 else y=2 第3--2 C) if(x==0) y=1 else y=2; D) if x==0 y=1;else y=2; 30、有以下程序 #include using namespace std; int main(){ int a; cin >> a; if(a++<9) cout << a; else cout << a--; return 0; } 程序运行时从键盘输入9 回车,则输出结果是( A ) A) 10 B) 11 C) 9 D) 8 解析:++ --在后,先使用变量,然后变量自增或自减。if(a++) 先使用a是9,此时a<9值为假,然后a 加1是10,执行else子句,输出10,然后a自减1变成9 31、if (a>b) max=a;else max=b;将该语句写成三目运算表达式语句是( D )。 A) max=(a>b)?; B) (max=a>b)?a:b; C) c=(a>b)?a:b; D) max=(a>b)?a:b; 32、C++语言的跳转语句中,对于break和continue说法正确的是( B )。 A) break语句只应用与循环体中 B) continue语句只应用与循环体中 C) break是无条件跳转语句,continue不是 D) break和continue的跳转范围不够明确,容易产生问题 33、下面关于break语句的描述中,不正确的是( C ). A) break语句可以在for循环语句中出现多次 B) break语句可以在switch语句中出现多次 C)一个break语句就可以跳出多重循环 D) break可以用于循环体内 34、关于switch语句的说明中,错误的是(B ). A) default语句是可缺省的 B) switch结构不可以嵌套 C) 各个分支中的break语句起着退出switch语句的作用 D) 每个case语句中不必用{},而整体的switch结构一定要写一对花括号{} 35、若int a=6,则执行完下列语句后,a的值为( B ). if (a>10) a-=5; a+=5; A) 10 B) 11 C) 1 D) 6 36、执行语句序列时,若键盘输入1,则屏幕显示( C )。 int n; cin >> n; switch(n) { case 1: case 2: cout << '1'; case 3: case 4: cout << '2'; break; default: cout << '3'; } A) 2 B) 1 C) 12 D) 3 37、以下程序的运行结果是( D )。 int main() { int x=1; switch(x) { case 1:++x; case 0:--x; default: x+=7; 第3--3 } cout << x << endl; return 0; } A)2 B)1 C)7 D)8 38、以下代码执行后,a、b、c的值分别为( B )。 int a=8,b=10,c=3; if (a c=a, a=b, b=c; A) 10 10 8 B)10 8 8 C)10 3 3 D)8 10 3 解析:c=a, a=b, b=c; 是1条语句 39、执行以下程序段后a的值为( D ) int a=0; if (3&&2) a=1; else a = 2; A) 程序有误 B) 0 C) 2 D) 1 二、填空题 1. 常用的算法表示方法有:自然语言、(流程图 )、伪代码、(计算机语言 )等。 2. 程序的三种基本结构为:(顺序结构 )、( 选择结构(分支结构)) 、(循环结构 )。 3. 有变量定义:int a=5,b=4,c=3;则表达式a>b>c的值为( 0 )。 解析:(a>b)>c,a>b值为1,1>c值为0 4. 已知a=1,b=2,c=3;则表达式:!(a>b)&&!c||1的值为( 1 )。 5. 已知a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为 1 。 已知a=3,b=4,c=5,则表达式a+b>c&&b==c的值为 0 。 6.表达式3*10+5-8>12*3-20的值是 1 。 表达式8*4-15>7*9-11的值是 0 。 表达式3*10+5-8>12*3-20&&8*4-15<7*9-11的值是 1 。 表达式3*10+5-8>12*3-20&&8*4-15>7*9-11的值是 0 。 表达式3*10+5-8>12*3-20||8*4-15>7*9-11的值是 1 。 表达式3*10+5-8<12*3-20||8*4-15>7*9-11的值是 0 。 表达式!( 3*10+5-8>12*3-20)的值是 0 。 7. 在C++中,判断一个逻辑量是否为“真”时,采取的标准是:如果其值是0就认为是“假”,如果其值 是(非0 )就认为是“真”。 8. getchar函数的作用是从终端 输入 一个字符。用putchar( )函数可以向终端 输出一个字符。 9. 设x为int型变量,判断“x是偶数”的关系表达式是 x%2==0 。 10. 调用数学库中的函数时,需要加载_cmath头文件。 sqrt()是求平方根的函数 fabs() 是求绝对值的函数 11. 设有定义:int a=6,b=3,c=9,d=2;则表达式a 解析: a 是6 12. 以下程序的运行结果是( 1 )。 #include int main() { int p,a=5; if(p=a!=0) cout << p << endl; else cout << p+2 << endl; return 0; } 第3--4 解析:表达式 p=a!=0 相当于p=(a!=0) ,所以p=1. 13. 下列语句的作用是 如果a大于b, 将a,b的值互换 。 if(a>b) {t=a;a=b;b=t;} 如果a大于b, 将a,b的值互换,写出语句 if(a>b) {t=a;a=b;b=t;} 14. 下列语句的作用是 将a,b中的大数赋值给c 。 if(a>b) c=a; else c=b; 将a,b中的大数赋值给c, 写出语句 if(a>b) c=a; else c=b; 下列语句的作用是 将a,b中的大者赋值给c 。 c=(a>b)?a:b; 下列语句的作用是 如果ch是大写字母,则将ch转换成小写字母 。 ch=(ch>=′A′ && ch<=′Z′)?(ch+32):ch; 下列语句的作用是 如果ch是小写字母,则将ch转换成大写字母 。 if(ch>=′a′ && ch<=′z′) ch=ch-32; 15. 选择结构语句有 if 语句和switch语句两种。 switch语句中case 后必须是 整型常量表达式 。 switch语句中switch 后必须是 整型表达式 。 16.运行时输入单个字符‘B’。,输出结果是‘b’ #include using namespace std; int main( ) { char c; c=getchar( ); putchar(c+32); putchar('n'); return 0; } 三、编程题 1、输入三个整数a,b,c,求最大值 2、输入二个整数a,b,判断a,b之间的关系:a大于b, a等于b, a小于b. 3、输入一个整数x(非0),判断该数是偶数,还是奇数 4、输入一个圆的半径r,如果半径r大于等于0,则输出面积,否则输出“输入半径不能小于0” 5、输入一个0-6的整数,输出对应的星期 0—Sunday 1—Monday 2—Tuesday ...... 6、 输入百分制成绩,输出等级. 90-100分 等级是 A 80-89分 等级是 B 70-79分 等级是 C 60-69分 等级是 D 小于60分 输出不及格信息 7、 输入一个1~12的整数,转换成英文月份输出。 8、 输入一个0-15的整数,转换成16进制字符 10进制: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16进制: 0 1 2 3 4 5 6 7 8 9 A B C D E F 第3--5