写在前面:C语言中没有String类型!!!


10.1.1

  • 以0结尾的一串字符,0或'\0'是一样的,但是和'0'不同。
  • 字符串变量的定义方法
  1. char * str="hello";
  2. char word[]="hello";
  3. char line[10]="hello";       其结尾均有自动补上的'\0'('\0'占一个字符)
  • C语言中两个字符串连接的方法,直接用双引号连接,没有运算符对字符串做运算。

10.1.2

  • 构造一个字符串用数组方式 char word[]="hello";
  • 处理一个字符串用指针方式 char * str = "hello";
  • 字符串可以表达为char*,但是char*不一定是字符串,可能是指针指向单个字符。

10.1.3

  • 安全的输入

char string[8];

scanf("%7s",string);

在%和s之间的数字表示最多允许读入的字符的数量,这个数字应该比数组大小小一。

  • char buffer [100]="";
  • 这是一个空的字符串
  • char buffer []="";
  • 这个数组的长度只有1

10.1.4

字符串数组:

  • char *month [];  这是一个指针数组,如果往其中赋上字符串就是指向字符串的指针数组。
  • char month[] [5]; 这是一个二维数组,如果需要附上字符串的话,每个字符串长度不超过(5-1)位。
#include<stdio.h>
int main(void){int a;char *month[]={"jar","feb","mar","apr","may","june","july","aug","sep","oct","nov","dec"};scanf("%d",&a);printf("%4s",month[a-1]);return 0;
} 

10.2.1

有关字符串函数:putchar(int a); 原封输出a       getchar(void);  返回值是int为了返回EOF

#include<stdio.h>
int main(void){int ch;while((ch=getchar())!=EOF){putchar(ch);}printf("EOF");return 0;
} 

10.2.2~10.2.5

#include<string.h>

  1. strlen(const char *s) 返回字符串的长度
  2. strcmp(const char*s1,const char*s2)   比较两个字符串的长度(0:s1==s2  1:s1>s2  -1:s1<s2)
  3. char * strcpy(char *restrict dst, const char* restrict src) 把src的字符拷贝到dst,restrict不能重叠(C99,不能在原有的基础上覆盖)

<3>常用套路,复制一个字符串(记得+1)

char *dst= (char*)malloc(strlen(src)+1);
strcpy(dst,src);

4.char*strcat(char*restrict s1,const char *restrict s2) 把s2拷贝到s1的后面,接成长字符串,返回s1,(s1必须拥有足够空间)

5.char *strchr(const char*s,int c)   把c之后的字符串输出。c可以为'a'。

char* strrchr(const char*s,int c)

C语言二刷第七天:字符串(mooc视频;老师:翁恺)相关推荐

  1. c语言二维数组如何定义字符串?

    二维字符数组的定义格式为:char 数组名[第一维大小][第二维大小]; 例如:char c[3][10]; //定义了一个3行10列的二维字符数组c 由于该二维数组的每一行 c[0].c[1].c[ ...

  2. 翁恺c语言视频作业题,翁恺入门C语言第2周编程练习

    题目内容: UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8.现在,你的程序要读入一个整数,表示BJT的时和分.整数的个位和十位表示分,百位和千位表示小时.如果小时小于10,则没有千 ...

  3. c 语言定义2维字符串数组赋值,二维数组赋值字符串 c 语言 二维字符串数组赋值问题...

    C语言中二维字符数组应该怎样赋值? c语言二维数组如何定义字符串????急... 二维字符数组的定义格式为:char 数组名[第一维大小][第二维大小]; 例如:char c[3][10]; //定义 ...

  4. C语言程序设计笔记(浙大翁恺版) 第七章:函数

    按照中国大学MOOC上浙江大学翁恺老师主讲的版本所作,B站上也有资源.原课程链接如下: https://www.icourse163.org/course/ZJU-9001 由于是大三抽空回头整理的, ...

  5. C语言程序设计笔记(浙大翁恺版) 第十周:字符串

    按照中国大学MOOC上浙江大学翁恺老师主讲的版本所作,B站上也有资源.原课程链接如下: https://www.icourse163.org/course/ZJU-9001 由于是大三抽空回头整理的, ...

  6. C语言程序设计笔记(浙大翁恺版) 第九周:指针

    按照中国大学MOOC上浙江大学翁恺老师主讲的版本所作,B站上也有资源.原课程链接如下: https://www.icourse163.org/course/ZJU-9001 由于是大三抽空回头整理的, ...

  7. C语言程序设计笔记(浙大翁恺版) 第二周:计算

    按照中国大学MOOC上浙江大学翁恺老师主讲的版本所作,B站上也有资源.原课程链接如下: https://www.icourse163.org/course/ZJU-9001 由于是大三抽空回头整理的, ...

  8. C语言程序设计笔记(浙大翁恺版) 第三周:判断

    按照中国大学MOOC上浙江大学翁恺老师主讲的版本所作,B站上也有资源.原课程链接如下: https://www.icourse163.org/course/ZJU-9001 由于是大三抽空回头整理的, ...

  9. C语言程序设计笔记(浙大翁恺版) 第八周:数组

    按照中国大学MOOC上浙江大学翁恺老师主讲的版本所作,B站上也有资源.原课程链接如下: https://www.icourse163.org/course/ZJU-9001 由于是大三抽空回头整理的, ...

  10. C语言程序设计笔记(浙大翁恺版) 第五周:循环控制

    按照中国大学MOOC上浙江大学翁恺老师主讲的版本所作,B站上也有资源.原课程链接如下: https://www.icourse163.org/course/ZJU-9001 由于是大三抽空回头整理的, ...

最新文章

  1. 一、NLTK工具包使用
  2. JSF组件库–质量不只是零缺陷
  3. springtboot 引用子工程的文件_xmake从入门到精通11:如何组织构建大型工程
  4. ruby 变量类中范围_Ruby中的类
  5. 【算法】剑指 Offer 67. 把字符串转换成整数
  6. Visual Studio 2008添加ActiveX控件测试容器(windows 7可用)
  7. Google I/O 2016到底讲了啥
  8. Android消除Toast延迟显示
  9. 南京邮电大学c语言实验报告4,南京邮电大学软件设计实验报告..doc
  10. 聊聊Ping命令的返回值Pong
  11. 《私募股权基金投资基础知识》---第二章
  12. robots.txt存放的位置robots.txt文件的作用及写法 (搜索引擎)
  13. Bitly发布趋势链接搜索引擎Realtime
  14. tomcat禁止访问路径与文件、错误页面跳转配置
  15. java pdm 解析_java解析静态AIS原始数据
  16. 太和二中计算机考试,太和二中网上阅卷系统|翰林金榜太和二中查分系统 网页版_最火手机站...
  17. 把别人漂亮的QQ空间克隆一份
  18. 数据库到底是什么?举例MySQL给你讲明白
  19. 计算机网络技术和信息安全的区别,信息安全是个什么样的专业?信息安全和网络安全有什么区别?...
  20. 法规标准-ISO 17361标准解读

热门文章

  1. git push --set-upstream origin wangxiao
  2. 11款常用的安全测试工具
  3. 组织架构与中台建设,回顾阿里小米京东美团四大商业巨头的战略变迁
  4. EXICOM/STAHL触摸屏维修MT-577-SX-TFT-T-AC-AL故障概述
  5. Linux安装mysql 开启bingo日志
  6. 计算机10进制213.375怎样转化为二进制,2进制转10进制(二进制怎么算)
  7. 网络爬虫的基本结构是什么?如何建立网络爬虫抓取数据?
  8. 大二计算机学期总结报告,大二计算机的实训总结.docx
  9. oracle 逗号,查询oracle中逗号分隔字符串中所有值
  10. linux系统安装word,如何在Linux中安装FreeOffice 2018