字符数组

C语言字符串就是字符数组。

  • 单写字符,用单引号。如:’A’。
  • 字符串用双引号。如:”A”、”ABC”。
#include <stdio.h>
main() {
char c1 = 'a';
printf("%c\n", c1-1);
printf("%c\n", c1);
printf("%c\n", c1+1); // 可直接转int输出
printf("%d %c\n", c1,c1);
}

ASCII码:

字符 十进制数
‘0’ 48
‘A’ 65
‘a’ 97
#include <stdio.h>
#define LEN 10
int main(int argc, char *argv[]) {
printf("**不定义数组长度*******************************\n");
char str1[]="Andy";
printf("数组长度:%d\n", sizeof(str1));
printf("字符串内容:%s\n", str1); printf("**定义数组长度*******************************\n");
char str2[LEN]="Andy";
printf("数组长度:%d\n", sizeof(str2));
printf("字符串内容:%s\n", str2);
for(int i =0; i<LEN; i++) {
printf("index:%d char:%c int:%d \n",i, str2[i], str2[i]);
}
printf("\n");
printf("**查看字符\\0*******************************\n");
// Dev C++编译器把\0转成a输出
char a='\0';
printf("数字:%d 显示为字符:%c\n", a, a); return 0;
}

字符串字面量(string literal)

一对双引号括起来的字符序列

比如:“Hello World”

结束符

C语言字符串需要在数组最后加一个结束字符:’\0’(ASCII码为0)

  • char str2[5]=“abcd”;// 四个字符,至少5个空间

全角半角

全角指一个字符占用两个标准字符位置。

C语言中,一个中文字符占2个字符的位置。

C语言中:

存放”ABC”至少需要4个字符(char str[4]即【A】【B】【C】【\0】);

存放”西游记”至少需要7个字符(char str[7])

换行(回车换行)

输出内容的换行:\n	(这是一个字符’\n’)
打码编写时换行(显示结果不换行):\
#include <stdio.h>
int main() {
printf("C程序设计\n清华大学出版社");
printf("\n---------分割线--------\n");
printf("C程序设计\
清华大学出版社");
return 0;
}

运行结果:

C程序设计
清华大学出版社
---------分割线--------
C程序设计清华大学出版社

回车换行:

\n是换行,英文是New Line/Line Feed,表示使光标到行首

\r是回车,英文是Carriage Return,表示使光标下移一格

输入输出

字符串和字符的输出占位符:%c、%s

printf("**字符串******************************************************\n");
printf("字符c %c\n", 'a');
printf("字符串s %s\n", "abc");

(1)scanf和printf

	char str[100];
scanf("%s", str); // 输入
printf("%s",str); // 输出

(2)get和puts

	char str[100];
gets(str); // 输入
puts(str); // 输出

C语言讲义——字符串的更多相关文章

  1. C语言讲义——字符串库函数

    字符串库函数<string.h> 求字符串长度(不含结束符'\0'****) strlen(str) 字符串赋值(可能造成数组越界) strcpy(str," 水浒传 " ...

  2. R语言拆分字符串

    R语言拆分字符串 aaa<-"aa;bb;cc"ccc<-strsplit(aaa,split=";") bbb<- unlist(strsp ...

  3. C语言之字符串处理函数

    C语言中字符串处理函数介绍 下面介绍8种基本的常用的字符串处理函数,在数值数组中也常常用到(部分函数).所有的C语言编译系统中一般都提供这些函数. 1.puts函数——输出字符串的函数 一般的形式为p ...

  4. Swift3.0语言教程字符串与URL的数据转换与自由转换

    Swift3.0语言教程字符串与URL的数据转换与自由转换 Swift3.0语言教程字符串与URL的数据转换 Swift3.0语言教程字符串与URL的数据转换与自由转换,字符串中的字符永久保存除了可以 ...

  5. Swift3.0语言教程字符串与文件的数据转换

    Swift3.0语言教程字符串与文件的数据转换 Swift3.0语言教程字符串与文件的数据转换,如果想要对字符串中的字符进行永久保存,可以将字符串中的字符写入到文件中.当然,开发者也可以将写入的内容进 ...

  6. Swift3.0语言教程字符串转换为数字值

    Swift3.0语言教程字符串转换为数字值 Swift3.0语言教程字符串转换为数字值,在NSString中,开发者可以将字符串转换为数字值,通过这些数字值可以实现一些功能,如加法运算.减法运算等.数 ...

  7. Swift3.0语言教程字符串大小写转化

    Swift3.0语言教程字符串大小写转化 Swift3.0语言教程字符串大小写转化,在字符串中,字符串的格式是很重要的,例如首字母大写,全部大写以及全部小写等.当字符串中字符很多时,通过人为一个一个的 ...

  8. C语言学习 —— 字符串的学习(一)

    这是本人在学习 C语言有关 字符串内容 时的相关笔记 由于本人技术有限,如有错误,还望指正 C语言中数据类型中只有 字符型(char),而 char型 变量一次只能存储一个字符,在日常工作中经常需要定 ...

  9. iOS开发-OC语言 (三)字符串

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 24.0px "PingFang SC" } p ...

随机推荐

  1. uni-app h5端跨域问题解决

    例如我现在的项目运行在 http://localhost:8080,而我有个接口是 https://service.picasso.adesk.com/v1/wallpaper/album,发起请求就 ...

  2. 18 . Go之操作Mysql和sqlx使用

    安装mysql wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm yum -y localinstall ...

  3. LuoguP3602 Koishi Loves Segments

    题面 n个区间和数轴上的m个关键点 (0<=n,m<=4*1e5,数轴范围 \(-1^7\) ~ \(1^7\))每个关键点有被区间区间覆盖的次数上限,求最多能放多少个区间到数轴上 传送门 ...

  4. 个人笔记docker

    启动docker sudo systemctl start docker.service   暂停docker sudo systemctl stop docker.service   运行docke ...

  5. python中可迭代对象、迭代器、生成器

    可迭代对象 关注公众号"轻松学编程"了解更多. 1.列表生成式 list = [result for x in range(m, n)] g1 = (i for i in rang ...

  6. 《Clojure编程》笔记 第16章 Clojure与web

    目录 背景简述 第16章 Clojure与web 16.1 术语 16.2 Clojure栈 16.3 基石:Ring 16.3.1 请求与应答 16.3.2 适配函数 16.3.3 处理函数 16. ...

  7. Hadoop安装 与 HDFS体系结构

  8. UGC

    文章目录    4 UGC推荐        4.1 基于用户UGC标签进行推荐            4.1.1 最简单的算法(SimpleTagBased)            4.1.2 利用 ...

  9. IL角度理解for 与foreach的区别——迭代器模式

    IL角度理解for 与foreach的区别--迭代器模式 目录 IL角度理解for 与foreach的区别--迭代器模式 1 最常用的设计模式 1.1 背景 1.2 摘要 2 遍历元素 3 删除元素 ...

  10. TCP中RTT的测量和RTO的计算 以及 接收缓存大小的动态调整

    RTT测量 在发送端有两种RTT的测量方法,但是因为TCP流控制是在接收端进行的,所以接收端也需要 有测量RTT的方法. /* Receiver "autotuning" code ...