C语言----字符串(基础篇十)
2021/8/28 6:07:47
本文主要是介绍C语言----字符串(基础篇十),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
继续提升吧!
字符串
在C语言中,没有字符串型数据,只能用字符数组和字符指针来处理字符串。
如:
char ca[10]={‘h’,’e’,’l’,’l’,’o’,’\0’};
或
char ca[10]={“hello”};
或
char ca[10]=”hello”;
都表示ca这个字符串中有10个字符(包括\0)。后面多出的元素自动补\0。但是运算中出现ca=”string!”;这样的赋值语句是不合法的,后期赋值只能使用循环轮循数组元素,一个一个写入。或者用字符串处理函数进行赋值。
字符串的输入输出
printf和scanf
格式控制符为%s /*s为string的意思*/
与字符型数据处理不同的是,用%s后面的变量一定是数组名。
如:
char ca[10]={“hello”};
printf(“%s\n”,ca); //输出字符串的时候,只写变量名称,不要这样写。如:ca[5]
printf中可以在s前面加数字和正负号:
printf(“%8s”,ca); // %8s 的意思是:输出的结果如果不够八位,补 空格
系统会自动在左边补空格,输出结果为:□□□hello
加负号
printf(“%-8s”,ca);
系统会自动在右边补空格,输出结果为: hello□□□
scanf在s前面加数字,意义完全不同,也不能加正负号:
scanf(“%3s”,ca);
输入:
abcde(回车)
电脑会自动截取前面3个字符对ca赋值,ca的值为”abc”。
puts和gets
格式:
puts(字符数组名);
gets(字符数组名);
如:
char ca[10];
gets(ca);
puts(ca);
注意:gets可以接收空格和TAB键,scanf不可以。
字符串处理函数
strcpy(s1,s2):复制(目标串,源串) //相当于赋值,把s2的值赋值给s1
strcat(s1,s2):连接(目标串,源串) // 连接的意思是: 假如 s1 = "ab" s2 = "cd" ,执行函数以后的结果是: s1 = "abcd"; s2 = "cd";
int strlen(s):求长度(字符串),返回长度 //长度是整型 假如:s = "abc"; 返回的 leng = 3
int strcmp(s1,s2):比较(串1,串2),返回值>0,表示s1>s2;=0,表示s1=s2;<0表示s1<s2
程序1
// 10_1.字符串处理函数 #include <stdio.h> void main() { char ca[5] = "str1"; //声明字符串两种不同的格式。 char cb[5] = { "str2" }; char cc[10]; strcpy(cc,ca); printf("复制串:cc = %s\n", cc); strcat(cc,cb); printf("连接串:cc = %s\n", cc); printf("cc.leng = %d\n", strlen(cc)); //字符串的长度 printf("比较 ca 和 cb 大小 = %d\n", strcmp(ca, cb)); }
程序2
//用户输入若干个大写字母,将这些大写字母转换成小写字母输出。 #include <stdio.h> void main() { //用户输入大写字母转换成小写字母 char inputAlphabet[100]; //用户输入的字符 printf("请输入大写字母:"); gets(inputAlphabet); for (int i = 0; i < strlen(inputAlphabet); i++) { if (inputAlphabet[i] >= 65 && inputAlphabet[i] <= 90) { printf("%c", inputAlphabet[i] + 32); } else { printf("退出,重新输入!"); exit(); } } }
这篇关于C语言----字符串(基础篇十)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-09CMS内容管理系统是什么?如何选择适合你的平台?
- 2025-01-08CCPM如何缩短项目周期并降低风险?
- 2025-01-08Omnivore 替代品 Readeck 安装与使用教程
- 2025-01-07Cursor 收费太贵?3分钟教你接入超低价 DeepSeek-V3,代码质量逼近 Claude 3.5
- 2025-01-06PingCAP 连续两年入选 Gartner 云数据库管理系统魔力象限“荣誉提及”
- 2025-01-05Easysearch 可搜索快照功能,看这篇就够了
- 2025-01-04BOT+EPC模式在基础设施项目中的应用与优势
- 2025-01-03用LangChain构建会检索和搜索的智能聊天机器人指南
- 2025-01-03图像文字理解,OCR、大模型还是多模态模型?PalliGema2在QLoRA技术上的微调与应用
- 2025-01-03混合搜索:用LanceDB实现语义和关键词结合的搜索技术(应用于实际项目)