C语言_(6)_字符型数组

目录

1        字符型数组的输入和输出

2        字符型数组的初始化

3        字符型数组的存储

4        字符串常见的操作函数(添加头文件string.h)

5        字符串遍历操作

 6        范例


 

1        字符型数组的输入和输出

        1.gets
          char str[12];
          
          gets(str);
          注意:
            1.可以接收'  '(空格)字符 
            2.会去掉从终端接收的\n字符
            
        2.puts 
          char str[12];
          
          puts(str);
          注意:
            1.puts会加上\n字符 ,然后打印在终端
            
        3.scanf
          char str[12];
          
          scanf("%s", str);
          注意:
            1.scanf无法接收' '字符 
            2.scanf使用%s不需要加&符号
            
        4.printf
          char str[12];
          
          printf("str = %s\n", str);

2        字符型数组的初始化

        

        1.全部初始化
            char str[6] = {"hello"};
            char str[6] = "hello";            
            char str[6] = {'h', 'e', 'l', 'l', 'o', '\0'};

        2.局部初始化
            char str[6] = {"hel"};
            char str[6] = "hel";
            char str[6] = {'h', 'e', 'l'};
            char str[6] = {0};
            
            注意:
                没有给定初值的元素会被赋值为0('\0')
                
        3.默认初始化
            char str[] = {"hello"};
            char str[] = "hello";
            char str[] = {'h', 'e', 'l', 'l', 'o'};

3        字符型数组的存储

            1.连续性:内存空间连续
            2.有序性:数据存储顺序有序
            
            数组所占空间大小 = 每个元素所占空间大小 * 元素个数 

4        字符串常见的操作函数(添加头文件string.h)

                

            1.strlen:
                获得字符串的长度(从字符串开头到最近的\0中间元素个数)
                
            2.strcpy
                字符串的拷贝
                注意:
                    字符串的赋值不能使用=,要用strcpy 
                
            3.strcat
                字符串的拼接
                注意:
                    字符串的加法不能使用+,要使用strcat 

            4.strcmp 
                字符串的比较 (逐个比较)
                获得两个字符串比较的结果
                相等返回0 
                第一个字符串>第二个字符串返回>0的值
                第一个字符串<第二个字符串返回<0的值 

5        字符串遍历操作

                char str[32];
                int i = 0;
        
                while (str[i] != '\0')
                {
                    str[i];    //访问每一个字符
            
                    i++;
                }

 6        范例

                eg: 从终端接收一个字符串,统计该字符串中大写字母、小写字母、数字及空格的个数

#include <stdio.h>
#include <string.h>

int main(int argc, const char *argv[])
{
	char str[32] = {0};
	int cnt1 = 0;
	int cnt2 = 0;
	int cnt3 = 0;
	int cnt4 = 0;
	int len  = 0;
	int i = 0;

	printf("请输入字符串 :");
	gets(str);//接受空格
	len = strlen(str);
	
	for(i = 0;i < len;i++)
	{
		if(str[i] >= 'a' && str[i] <= 'z')
		{
			cnt1++;
		}
		else if(str[i] >= 'A' && str[i] <= 'Z')
		{
			cnt2++;
		}
		else if(str[i] >= '0' && str[i] <= '9')
		{
			cnt3++;
		}
		else if(' ' == str[i])
		{
			cnt4++;
		}
	}
	printf("小写字母的个数为:%d个\n",cnt1);
	printf("大写字母的个数为:%d个\n",cnt2);
	printf("数字的个数为:%d个\n",cnt3);
	printf("space的个数为:%d个\n",cnt4);
	
	return 0;
}
		
	

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨CX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值