C语言二刷第七天:字符串(mooc视频;老师:翁恺)
写在前面:C语言中没有String类型!!!
10.1.1
- 以0结尾的一串字符,0或'\0'是一样的,但是和'0'不同。
- 字符串变量的定义方法:
- char * str="hello";
- char word[]="hello";
- 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>
- strlen(const char *s) 返回字符串的长度
- strcmp(const char*s1,const char*s2) 比较两个字符串的长度(0:s1==s2 1:s1>s2 -1:s1<s2)
- 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视频;老师:翁恺)相关推荐
- c语言二维数组如何定义字符串?
二维字符数组的定义格式为:char 数组名[第一维大小][第二维大小]; 例如:char c[3][10]; //定义了一个3行10列的二维字符数组c 由于该二维数组的每一行 c[0].c[1].c[ ...
- 翁恺c语言视频作业题,翁恺入门C语言第2周编程练习
题目内容: UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8.现在,你的程序要读入一个整数,表示BJT的时和分.整数的个位和十位表示分,百位和千位表示小时.如果小时小于10,则没有千 ...
- c 语言定义2维字符串数组赋值,二维数组赋值字符串 c 语言 二维字符串数组赋值问题...
C语言中二维字符数组应该怎样赋值? c语言二维数组如何定义字符串????急... 二维字符数组的定义格式为:char 数组名[第一维大小][第二维大小]; 例如:char c[3][10]; //定义 ...
- C语言程序设计笔记(浙大翁恺版) 第七章:函数
按照中国大学MOOC上浙江大学翁恺老师主讲的版本所作,B站上也有资源.原课程链接如下: https://www.icourse163.org/course/ZJU-9001 由于是大三抽空回头整理的, ...
- C语言程序设计笔记(浙大翁恺版) 第十周:字符串
按照中国大学MOOC上浙江大学翁恺老师主讲的版本所作,B站上也有资源.原课程链接如下: https://www.icourse163.org/course/ZJU-9001 由于是大三抽空回头整理的, ...
- C语言程序设计笔记(浙大翁恺版) 第九周:指针
按照中国大学MOOC上浙江大学翁恺老师主讲的版本所作,B站上也有资源.原课程链接如下: https://www.icourse163.org/course/ZJU-9001 由于是大三抽空回头整理的, ...
- C语言程序设计笔记(浙大翁恺版) 第二周:计算
按照中国大学MOOC上浙江大学翁恺老师主讲的版本所作,B站上也有资源.原课程链接如下: https://www.icourse163.org/course/ZJU-9001 由于是大三抽空回头整理的, ...
- C语言程序设计笔记(浙大翁恺版) 第三周:判断
按照中国大学MOOC上浙江大学翁恺老师主讲的版本所作,B站上也有资源.原课程链接如下: https://www.icourse163.org/course/ZJU-9001 由于是大三抽空回头整理的, ...
- C语言程序设计笔记(浙大翁恺版) 第八周:数组
按照中国大学MOOC上浙江大学翁恺老师主讲的版本所作,B站上也有资源.原课程链接如下: https://www.icourse163.org/course/ZJU-9001 由于是大三抽空回头整理的, ...
- C语言程序设计笔记(浙大翁恺版) 第五周:循环控制
按照中国大学MOOC上浙江大学翁恺老师主讲的版本所作,B站上也有资源.原课程链接如下: https://www.icourse163.org/course/ZJU-9001 由于是大三抽空回头整理的, ...
最新文章
- 一、NLTK工具包使用
- JSF组件库–质量不只是零缺陷
- springtboot 引用子工程的文件_xmake从入门到精通11:如何组织构建大型工程
- ruby 变量类中范围_Ruby中的类
- 【算法】剑指 Offer 67. 把字符串转换成整数
- Visual Studio 2008添加ActiveX控件测试容器(windows 7可用)
- Google I/O 2016到底讲了啥
- Android消除Toast延迟显示
- 南京邮电大学c语言实验报告4,南京邮电大学软件设计实验报告..doc
- 聊聊Ping命令的返回值Pong
- 《私募股权基金投资基础知识》---第二章
- robots.txt存放的位置robots.txt文件的作用及写法 (搜索引擎)
- Bitly发布趋势链接搜索引擎Realtime
- tomcat禁止访问路径与文件、错误页面跳转配置
- java pdm 解析_java解析静态AIS原始数据
- 太和二中计算机考试,太和二中网上阅卷系统|翰林金榜太和二中查分系统 网页版_最火手机站...
- 把别人漂亮的QQ空间克隆一份
- 数据库到底是什么?举例MySQL给你讲明白
- 计算机网络技术和信息安全的区别,信息安全是个什么样的专业?信息安全和网络安全有什么区别?...
- 法规标准-ISO 17361标准解读
热门文章
- git push --set-upstream origin wangxiao
- 11款常用的安全测试工具
- 组织架构与中台建设,回顾阿里小米京东美团四大商业巨头的战略变迁
- EXICOM/STAHL触摸屏维修MT-577-SX-TFT-T-AC-AL故障概述
- Linux安装mysql 开启bingo日志
- 计算机10进制213.375怎样转化为二进制,2进制转10进制(二进制怎么算)
- 网络爬虫的基本结构是什么?如何建立网络爬虫抓取数据?
- 大二计算机学期总结报告,大二计算机的实训总结.docx
- oracle 逗号,查询oracle中逗号分隔字符串中所有值
- linux系统安装word,如何在Linux中安装FreeOffice 2018