目录

  • 1 计算机概述
    • 1.1 计算机简介
    • 1.2 计算机系统
    • 1.3 数值在计算机中的表示
  • 2 C语言概述
    • 2.1 C语言发展及特点
    • 2.2 C语言程序的运行步骤和开发环境
    • 2.3 简单的C语言程序
  • 3 C语言基础
    • 3.1 变量、常量及数据类型
    • 3.2 运算符和表达式
    • 3.3 输入、输出
  • 4 选择结构
    • 4.1 计算机编程和算法
    • 4.2 if语句
    • 4.3 if嵌套和if多分支
    • 4.4 switch语句
  • 5 循环结构
    • 5.1 while语句和do...while语句
    • 5.2 for语句
    • 5.3 break语句和continue语句
    • 5.4 goto语句构成的循环
    • 5.5 嵌套循环结构
    • 5.6 程序设计举例
  • 6 函数
    • 6.1 函数的定义与调用
    • 6.2 函数的嵌套调用和递归调用
    • 6.3 作用域和生命周期
    • 6.4 章节小结与测试
  • 7 数组
    • 7.1 一维数组及应用
    • 7.2 二维数组及应用
    • 7.3 字符数组
    • 7.4 数组作为函数参数
    • 7.5 章节小结与测试
  • 8 指针
    • 8.1 指针变量
    • 8.2 指针与数组
    • 8.3 指针的多种形态
  • 9 字符串
    • 9.1 字符串概念及输入输出
    • 9.2 字符串函数
    • 9.3 指针与字符串
    • 9.4 章节小结与测试
  • 10 编译预处理
    • 10.1 宏定义
    • 10.2 文件包含
    • 10.3 条件编译
  • 11 结构体、共用体和用户定义类型
    • 11.1 结构体类型变量
    • 11.2 结构体类型数组与指针
    • 11.3 结构体与函数
    • 11.4 用指针处理链表
    • 11.5 共用体
  • 12 位运算
    • 12.1 位运算的概念和运算规则
  • 13 文件
    • 13.1 C文件概述
    • 13.2 文件的打开与关闭
    • 13.3 文件读写
    • 13.4 位置指针的定位
字符数组

学习目标:

    掌握字符数组的概念

    掌握字符数组的定义和引用

重点:

    字符数组的遍历方法

 

一、字符数组的定义

存放字符数据的数组;每一个元素存放一个字符。

1.一维字符数组的定义

    char  数组名[常量表达式];

    例如:char  c[10];

定义c为一维字符数组,该数组包含10个元素,最多可以存放10个字符型数据。

2. 二维字符数组的定义

char 数组名[常量表达式1][常量表达式2];

例如:char str[3][20];

定义a为二维字符数组,该数组有3行,每行20列,该数组最多可以存放60个字符型数据。

说明:在C语言中,很多情况下字符型与整型是通用的,因此字符型数组也可以这样定义:

int c[10]

int str[3][20]

3.字符数组的初始化

字符数组的初始化方式与其它类型数组的初始化方式类似。

1逐个元素赋初值

例如:char c[5]={´C´,´h´,´i´,´n´,´a´};    

2如果初值的个数多于数组元素的个数,则按语法错误处理。

   例如:char c[5]={´C´,´h´,´i´,´n´,´a´, ´f´}; //错误,多一个元素

3如果初值的个数少于数组元素的个数,则C编译系统自动将未赋初值的元素定为空字符(即ASCII码为0的字符:´\0´)。

例如:char c[5]={´C´,´h´,´i´};//正确,后面元素自动定为空格

等价于:char c[5]={´C´,´h´,´i´,´\0´,´\0´};

1)如果省略数组的长度,则系统会自动根据初值的个数来确定数组的长度。

例如: char c[ ]={ ´H´, ´o´, ´w´, ´ ´, ´a´, ´r´, ´e´, ´ ´, ´y´, ´o´, ´u´, ´?´};//数组c的长度自动设定为12。

 

4.字符数组的引用

1)可以逐个引用数组元素,引用方式同整型数组引用方式。

2)同样要注意引用时越界错误。

例如:char c[5]={´C´,´h´,´i´,´n´,´a´};

printf(“%c”,c[2]);//输出结果为字符‘i’

printf(“%c”,c[5]);//如此引用错误,越界

 

二、    字符数组应用举例

1.例7.5:字符数组的遍历输入输出。定义一个字符数组c[5],进行初始化,然后输出。


2.例7.6输出钻石图形


1)在例7.5中代码中第7行代码中的%c换成%d,结果会怎么样?