C语言数组的详细讲解(三)

 2023-03-07 20:23:47  阅读 0

一、字符数组

字符数组的定义和引用符合前面所学过的数组的定义和引用方法。

例如:

 char a[5] ;             	 //定义一个一维字符数组 
  char b[2][3] ;           	//定义一个二维字符数组
  char c[2][3][4] ;         	//定义一个三维字符数组
  a[3] = ‘a’ ;                //一维字符数组元素赋值
  b[1][2] = ‘b’ ;             //二维字符数组元素赋值 

我们一起看一道例题:

输入一行字符,统计其中大写字母的个数,并将所有的大写字母转换成小写字母后输出这个字符串。

//FileName: chap4_12.c
#include<stdio.h>
int main( )
{
	int i,n=0;
	char s[20];
	for(i=0;(s[i]=getchar())!='\n';i++)
    if(s[i]>='A' && s[i]<='Z')
     n++;
	printf("n=%d\n",n);
	for(i=0;s[i]!='\n';i++)
    if(s[i]>='A' && s[i]<='Z')
      printf("%c",s[i]+32);
    else
   printf("%c",s[i]);
	return 0;

程序运行结果如下:

abCdeFGh↙

n=3 abcdefgh

二、用字符数组存储字符串

字符串常量就是用双引号括起来的若干个字符。例如, “China”。但实际上,在内存中存储这个字符串常量时,除 了要存储我们看到的字符外,还要在这些字符后存存储一个 ‘\0’作为字符串的结束标志。

 由于有了字符串结束标志’\0’的存在,字符串常量“China”的字符串长度虽然只有5,但在内存中却要占6个存储单元。      我们可以利用字符数组存放字符串,C语言允许用户在定义字符数组时,将字符串常量作为初值赋给字符数组。例如:

char str[]=”China”;
  等价于
    char str[]={“China”};
  也等价于
    char str[]={’C’,’h’,’i’,’n’,’a’,’\0’};

单元素处理

char str[6];
    for(i=0;i<6;i++)
      scanf(“%c”,&str[i]);
    for(i=0;i<6;i++)
      printf(“%c”,str[i]);

以格式符%s通过数组名引用

char str[6];
    scanf(“%s”,str);
    printf(“%s”,str);

 

标签:

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码