C语言第七章:字符串

一、字符串
a) 、字符串是位于双引号中的字符序列
b) 、注意:可以把字符常量赋值给一个字符变量,但不能把字符串常量赋值给字符变量
二、 字符数组 (用来存储字符的数组)
a)、一维数组 char ch[10]; //根据一维数组的定义
b)、二维数组的定义 char[4][4];
三、字符数组的初始化和引用
注意:字符数组中可以出现整数,因为整数和字符都是 ascII码值
char ch[3]={‘a
’,78,’d’};

初始化:
第二种初始化方法:
char c4[10]={“abc”}

注意:
一维数组:int a[3],可以ch=”dasas0”;吗? //
不可以,a是常量 他是一个地址
2、a是地址常量,所以只要出现a++,或者是a=a+2赋值的都是错误的。

数组的首地址 = a = &a[0]
计算数组的长度:sizeof(a)/sizeof(int)
三、字符数组的作用
作用:1、保存字符
2、保存字符串
初始化方式: 1、char str[4]={“adc”};
2、char
str1[4]=”adc”;

四、字符串的输出 ,格式: %s
输出:%s从给定的位置开始,一直输出字符直到遇到‘\0’为止

输入:%s结束键盘输入的字符串 scanf(“%s
”,str);//保存以str为首地址的字符数组中;

注意点:如果以%s接收字符串,注意空格的问题
*、如果输入的字符串有空格,则空格之后的字符无法被接收字符(以%s的格式输入,scanf遇到空格就结束了)。
*、输入的字符串的不能大于定义的数组长度
五、字符串结束符的使用 ‘\0’
六、注意sizeof和strlen的区别? Sizeof是所有的字符,strlen就是’\0’以前的长度

注意: char str[]=”qewqw”;
Char ch[10]={‘q’,’r’,’t’,’g’};//不加\0会出现什么后果,它使用%s访问的时间会出现什么?
七、字符数组和整型数组的区别:
1、数据类型的不同
2、字符数组初始化可以去掉大括号 ,但是整型数组不可以去掉{}

八、字符串处理函数
    puts和gets必须包含<stdio.h>
1、  字符串输出函数 :puts(); ==printf(“%s\n”,str
);
1)  puts(字符数组的地址)
2puts函数可以 自动换行
    3) 可以是数组的首地址,也可以是元素的地址,前提必须是字符 数组
    4)不可以格式化输出
2、字符串输入函数: gets(str);  scanf(“%s”,&str);//不能输入空格
        1)使用gets会给出一个警告,可能出现越界的情况
        2)可以接受空格
    strcat()必须包含头文件<string.h>
3、  链接一个字符串:strcat();  把两个字符串链接成一个字符串 strcat(A,B
)==把B的字符串连接到A的后面
1)  格式  strcat(oldStr,newStr)
2)  oldStr足够大可以存储下newStr
3strcat相当于newStr把oldStr的’\0’给覆盖掉了
注意转义字符。。。。。\\就是转义字符,它只相当于一个字符 \141就是\后面是一个八进制的数,(不是八进制不会转义)只占一个字节,注意strlen计算长度

4、  字符串拷贝函数strcpy:字符串复制   :strcpy(oldStr,newStr
),就是newStr替换oldStr
注意str1要足够大,否则越界

5、  字符串比较大小 strcmp:规则:比较字符ascii码值。比较过程:两个字符串逐个比较,当有一个字母不同时就 返回比较结果
int result=strcmp(str1,str2);   result>0; 表示str1 大 ,result<0 str2大  result=0 相等

6、  字符串的长度计算函数  strlen  strlen不包含‘\07、字符串实例:实现单词的首字母大写


思考与实现题目:
使用gets从键盘上输入6个字符串,并排序//考试重点
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值