C语言全国计算机二级等级考试教程第六章字符(章节带习题)(ppt文档)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
: : }

6.4 程序举例
例6.3 以下程序把从终端输入的一行字符中所有的小写字母转换成大写字母, 其他字符不变。
#include <stdio.h> main() {char c; while( ( c=getchar( ) ) != '\n‘ ) {
if( c>='a' && c<='z‘ ) c=c-32; putchar(c); } printf("\n"); }

输出:putchar() 输入:getchar()

例如: char ch=‘A’; putchar(ch);

A

putchar(‘Y’); Y

例如: char ch; ch=getchar();

给字符变量接受字符

6.4 程序举例

例6.1 以下程序输出26个大写字母和它们的ASCII代码,每行输出两组数据。

’\x41‘

’A‘

‘\x6d’

‘m’

注意

’\n‘、’\101’、’\141’只代表一个字符。

6.1 字符型常量

6.1.3 字符串常量
字符串常量:是由双引号括起来的一串字符 。

例如

“STRING”

“CHINA”

注意

‘\101’、‘Z’是字符常量,在内存中占一个字节。 请问: “CHINA”在内存中占几个字节? 6

12 3<CR> 1 2 3<CR> 1 2 3<CR>

⊙ 如下的语句为数值数据和字符数据进行混合输入:
int a1,a2; char c1,c2; scanf(“%d%c%d%c”,&a1,&c1,&a2, &c2); 正确的读入形式: 10A 20B<CR> A和20之间必须有间隔符,间隔符的个数不限 此时变量a1接受的是10,c1接受的是‘A’, a2接受的是20,c2接受的是‘B’,

‘A’ + 32 ‘b’ - 32

等价于 等价于

65 + 32 等于 97 ‘a’ 98 - 32 等于 66 ‘B’

3. 字符常量也可以进行关系运算。

‘a’ > ‘b’

0

‘a’ > ‘A’

1

‘a’ && ‘b’ 1

6.2 字符变量

字符变量的定义:字符变量用关键字char定义。 char ch,ca,cb; char ch=‘*’,ca=‘A’,cb=‘a’;
字符变量在内存中占1个字节

分析如下程序段:

char c1,c2,c3; int k=5; c1=‘1’; c1++; c2=‘A’; c3=(c2+32+k)%25;

c1 c2 c3 k 5

6.3 字符的输入和输出

6.3.1 调用printf和scanf函数输出和输入字符

字符输出

char a;

a=‘S’;

6.4 程序举例

例6.4 编写程序统计输入的字符中空格符、换行符和横向跳格(制表)符的 个数,用!号结束输入。

#include <stdio.h>
第6章 字符型数据
 6.1 字符型常量  6.2 字符变量  6.3 字符的输入和输出  6.4 程序举例

6.1 字符型常量

6.1.1 字符常量
字符常量:是用单引号括起来的一个字符。

例如

‘A’ ‘C’ ‘t’ ‘!’ ‘?’

说明

‘B’ ‘b’

是不同的字符常量

‘ ’ 单引号内是空格,也是合法的字符常量

#include <stdio.h> main() {char ch; int i; for(i=0;i<26;i++) {ch=i+65;
if(i%2==0) printf("\n"); printf("ch=%c ASCII=%d } printf("\n"); }

",ch,ch);

6.4 程序举例
例6.2 以下程序段等待从终端输入一个字符,当按Enter键时,程序才往下继续 进行。
#include <stdio.h> main() {:
: printf(“Press Enter to continue\n"); while( getchar( ) != ‘\n’ ) ; /*当输入回车时,退出循环*/

10 A 20 B<CR>

错误的读入形式

6.3 字符的输入和输出

6.3.2 调用putchar和getchar函数输出和输入字符

在使用printf和scanf函数输出和输入字符时,在程序的开头,都要加上包含头文件: #include <stdio.h>

在使用putchar和getchar函数输出和输入字符时,在程序的开头也同样要有。

在内存中的存储形式是: C H I N A \0

6.1 字符型常量

6.1.4 可对字符常量进行的运算

1. 在程序中,字符常量可与任何整数进行运算。

‘B’ - ‘A’ 等价于 66 – 65 等于 1 ‘a’ + 1 等价于 97 + 1 等于 98 2. 小写字母的ASCII值比相应的大写字母的ASCII值大32。

a=S

printf(“a=%c\n”,a); /*使用%c进行格式说明*/

输出时,也可以指定输出的宽度。例如:

char a; a=‘S’; printf(“a=%3c\n”,a);

a= S

字符输入

若要给变量a、b、c分别赋予‘1’、‘2’、‘3’。

cຫໍສະໝຸດ Baiduar a,b,c;

正确的输入形式为: 123<CR>

scanf(“%c%c%c”,&a,&b,&c);

12<CR> 3<CR>

1 23<CR>

非法

6.3 字符的输入和输出

6.3.1 调用printf和scanf函数输出和输入字符

⊙ 输入时,可以在格式说明串中加入空格,如:

123<CR>

scanf(“%c %c %c”,&a,&b,&c);
这时输入的时候,不做严格要求,可以任意加间隔符

例如

‘\n’ 回车换行符

‘\t’ 横向跳格符

‘\v’ 竖向跳格符

‘\r’ 回车符

‘\f’ 换页符

‘\b’ 退格符

‘\0’ 空值

‘\\’ 表示反斜杠

‘\‘’ 表示单引号

‘\“’ 表示双引号

‘\ddd’ 三位八进制数所代表的字符

‘\xhh’ 两位十六进制数所代表的字符

’\101‘

’A‘

‘\141’

‘a’

‘abc’ 不合法

“a” 不合法

‘’ 不合法

注意

① 字符常量在内存中占一个字节。 ② 字符常量在计算机内部存储时,是以整型常量进行存储的。

‘A’

对应的ASCII值为

65

对应的ASCII值为

‘a’

97

6.1 字符型常量
6.1.2 转义字符常量
转义字符常量是一种特殊的字符常量,在单引号内以一个反斜杠开头。
相关文档
最新文档