本系列文章由jadeshu编写,转载请注明出处。http://blog.csdn.net/jadeshu/article/details/50752405

作者:jadeshu
  邮箱: jadeshu@qq.com    欢迎邮件交流

1.字符串的输入输出

-----1.1逐个字符I/O: %c

-----1.2整个字符串I/O: %s

2.常用的字符串处理函数

-----2.1字符串输出函数puts

格式:puts(字符数组)

功能:向显示器输出字符串(输出完,换行)

说明:字符数组必须以‘\0’结束

-----2.2.字符串输入函数gets

格式:gets(字符数组)

功能:从键盘输入一以回车结束的字符串放入字符数组中, 并自动加‘\0’

说明:输入串长度应小于字符数组维数

-----2.3.字符串连接函数strcat

格式:strcat(字符数组1,字符数组2)

功能:把字符数组2连到字符数组1后面

返值:返回字符数组1的首地址

说明:a字符数组1必须足够大

b连接前,两串均以‘\0’结束;连接后,串1的‘\0’取消, 新串最后加‘\0’

-----2.4.字符串拷贝函数strcpy

格式:strcpy(字符数组1,字符数组2)

功能:将字符串2,拷贝到字符数组1中去

返值:返回字符数组1的首地址

说明:a字符数组1必须足够大

b拷贝时‘\0’一同拷贝

c不能使用赋值语句为一个字符数组赋值

-----2.5.字符串比较函数strcmp

格式:strcmp(字符串1,字符串2)

功能:比较两字符串

比较规则:对两串从左向右逐个字符比较(ASCII码), 直到遇到不同字符                                 或‘\0’为止

返值:返回int型整数,a. 若字符串1< 字符串2, 返回负整数

b. 若字符串1> 字符串2, 返回正整数

c. 若字符串1== 字符串2, 返回零

说明:字符串比较不能用“==”,必须用strcmp

-----2.6.字符串长度函数strlen

格式:strlen(字符数组)

功能:计算字符串长度

返值:返回字符串实际长度,不包括‘\0’在内

/************************************************************************/

/*       字符数组,字符串常量和变量等等情况测试                  */

/************************************************************************/

int main()
{
char str1[] = "abc";
const char str2[] = "abc"; char str3[] = "abc";
const char str4[] = "abc"; char *str5 = "abc";
const char* str6 = "abc"; char* const str7 = "abc";
const char* const str8= "abc"; return 0;
}

C语言学习笔记7-字符串的更多相关文章

  1. C语言学习笔记---3.字符串格式化输入输出

    1.C语言字符串 字符串(character string)是一个或多个字符的序列,例如:"Zing went the strings of my heart!" C语言没有专门用 ...

  2. R语言学习笔记:字符串处理

    想在R语言中生成一个图形文件的文件名,前缀是fitbit,后面跟上月份,再加上".jpg",先不百度,试了试其它语言的类似语法,没一个可行的: C#中:"fitbit&q ...

  3. 【C语言学习笔记】字符串拼接的3种方法 .

    昨天晚上和@buptpatriot讨论函数返回指针(malloc生成的)的问题,提到字符串拼接,做个总结. #include<stdio.h> #include<stdlib.h&g ...

  4. C语言学习笔记之字符串拼接的2种方法——strcat、sprintf

    本文为原创文章,转载请标明出处 1. 使用strcat进行字符串拼接 #include <stdio.h> #include <stdlib.h> #include <s ...

  5. GO语言学习笔记(一)

    GO语言学习笔记 1.数组切片slice:可动态增长的数组 2.错误处理流程关键字:defer panic recover 3.变量的初始化:以下效果一样 `var a int = 10` `var ...

  6. Haskell语言学习笔记(88)语言扩展(1)

    ExistentialQuantification {-# LANGUAGE ExistentialQuantification #-} 存在类型专用的语言扩展 Haskell语言学习笔记(73)Ex ...

  7. Go语言学习笔记六: 循环语句

    Go语言学习笔记六: 循环语句 今天学了一个格式化代码的命令:gofmt -w chapter6.go for循环 for循环有3种形式: for init; condition; increment ...

  8. Go语言学习笔记二: 变量

    Go语言学习笔记二: 变量 今天又学了一招如何查看go的版本的命令:go version.另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件. 定义变 ...

  9. 《C# 语言学习笔记》——目录

    C# 简介 变量和表达式 流程控制 3.1 布尔逻辑 3.2 goto语句 3.3 分支 3.4 循环 变量的更多内容 4.1 类型转换 4.2 复杂的变量类型 4.3 字符串的处理 函数 5.1 定 ...

  10. Go语言学习笔记(1)——顺序编程

    Go语言学习笔记这一堆主要是<Go语言编程>(人民邮电出版社)的读书笔记.中间会穿插一些零碎的点,比如源码学习之类的.大概就是这样吧. 1. 顺序编程 1.1 变量 变量的声明: var ...

随机推荐

  1. Flash播放控件属性详解

    Flash 播放控件属性详解 一.属性篇 1.AlignMode(读写)  语法:AlignMode As Long  说明:对齐方式(与SAlign 属性联动).当控件的长宽比例与影片不一致且WMo ...

  2. 基因组所三代单分子测序PacBio完成技术升级—超长读长助力基因组学研究

    基因组所三代单分子测序PacBio完成技术升级—超长读长助力基因组学研究 2015-09-23 | 作者:所级中心基因组平台 张兵 [关闭] 近日,基因组所所级中心基因组平台三代单分子实时测序PacB ...

  3. mybatis查询foreach使用

    1.mybatis传入map参数,map中包含list: List<FukaModel> fukaModels = price.getSchemaPrice().getFukaList() ...

  4. Go 缓冲信道

    缓冲信道 语法结构:cap为容量 ch := make(chan type, cap) 缓冲信道支持len()和cap(). 只能向缓冲信道发送容量以内的数据. 只能接收缓冲信道长度以内的数据. 缓冲 ...

  5. dfs · leetcode-22.产生括号组?

    题面 Given n pairs of parentheses, write a function to generate all combinations of well-formed parent ...

  6. python连接impala时,执行SQL报错expecting list of size 2 for struct args

    这个错误困扰了好久,因为集群有多台,暂放到其他几台机器上执行了SQL操作,一直在找解决方法,无意间得到真传,喜出望外啊 报错信息: Traceback (most recent call last): ...

  7. MySQL全同步复制基于GR集群架构实现(Centos7)

    目录 一. 理论概述 概述 二. 部署 向组加入新节点 测试 三.总结 一. 理论概述 概述 本案例操作的是针对于MySQL的复制类型中的全同步复制,对几种复制类型简单总结下: 异步复制:MySQL默 ...

  8. 异常-Exception in thread "main" net.sf.jsqlparser.parser.TokenMgrError: Lexical error at line 1, column 596. Encountered: <EOF> after :

    1 详细异常 Exception in thread "main" net.sf.jsqlparser.parser.TokenMgrError: Lexical error at ...

  9. SignalR的三个Demo

    一.理解SignalR ASP .NET SignalR 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信(即:客户端(Web页面)和服务器端可以互相实时的通知消息 ...

  10. linux(centos)下安装supervisor进程管理工具

    在接触supervisor进程管理工具之前,使用springboot打包部署到linux服务器的流程是这样子的,如下图所示: 上图展示的就是最一般的流程,如果项目是小项目或者demo可以这样子去部署, ...