C语言中的字符和字符串
C语言在中常常出现字符和字符串,而一串字符或者字符串其实就是数组
字符数组的定义
char arr[]={'h','e','l','l','o','\0'};
而定义字符串:
char arr1[]="HELLO";
字符的输入和输出可以向一维数组那样用scanf和printf,而字符也可以用自己特定输入和输出函数gerchar和putchar,而用getchar和putchar输入一串字符
char arr[];
int i=,j=;
char ch;
while ((ch=getchar())!='\n') {
arr[i]=ch;
i++;
}
arr[i]='\0';
while (arr[j]!='\0') {
putchar(arr[j]);
j++;
}
printf("\n");
输出结果:
字符串也有自己特定的输入和输出函数
// gets和puts 字符串的输入和输出
char ch[];
gets(ch);
puts(ch);
字符串的相关库函数部分:需要导入头文件
#include <string.h>
char str1[]="wfds"; char str2[]="zfds"; strcpy(str1, str2);//把str2复制到str1中,str1的长度要比str2大 puts(str1); puts(str2); strcat(str1,str2);//把str2链接到str1中,总长度空间大于两个的空间 puts(str1); puts(str2); printf("len=%lu\n",strlen(str1));//计算字符串的长度 printf("len=%lu\n",strlen(str2));//不包括'\0' printf("%d\n",strcmp(str1, str2)) ;
结果:
字符函数部分:需要导入头文件
#include <ctype.h>
char ch='a',ch1='A';
printf("%d\n",isalpha(ch));//是否为字母
printf("%d\n",isupper(ch));//是否为大写
printf("%d\n",islower(ch));//是否为小写
printf("%d\n",isdigit(ch));//是否为数字 printf("%c\n",toupper(ch));//转变为大写
printf("%C\n",tolower(ch1));//转变为小写
字符串大写变小写,小写变大写
char ch[],ch1;
gets(ch);
int i=;
while (ch[i]!='\0') {
ch1=ch[i];
if (isupper(ch1)==) {
ch1= tolower(ch1);
}else{
ch1=toupper(ch1);
}
putchar(ch1);
i++;
}
printf("\n");
字符串转为整型或浮点型
需要导入头文件
#include <stdlib.h>
//字符串转 char *chs="11.52";
printf("chs=%s\n",chs);
double d=atof(chs);
int a=atoi(chs);
printf("%f\n",d);
printf("%d\n",a);
数字转字符串
int num=;
char chs[];
//将num按照%d的格式存储到chs中
sprintf(chs,"%d",num);
printf("chs=%s\n",chs);
//将字符串按照指定的格式存储
sprintf(chs, "%10s","asdf");
printf("chs=%s",chs);
C语言中的字符和字符串的更多相关文章
- c语言中的字符数组与字符串
1.字符数组的定义与初始化 字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素. char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y ...
- C 语言实例 - 查找字符在字符串中出现的次数
C 语言实例 - 查找字符在字符串中出现的次数 C 语言实例 C 语言实例 查找字符在字符串中的起始位置(索引值从 开始). 实例 #include <stdio.h> int main( ...
- R语言中的字符处理
R语言中的字符处理 (2011-07-10 22:29:48) 转载▼ 标签: r语言 字符处理 字符串 连接 分割 分类: R R的字符串处理能力还是很强大的,具体有base包的几个函数和strin ...
- 已知一个字符串S 以及长度为n的字符数组a,编写一个函数,统计a中每个字符在字符串中的出现次数
import java.util.Scanner; /** * @author:(LiberHome) * @date:Created in 2019/3/6 21:04 * @description ...
- C语言中存储多个字符串的两种方式
C语言中存储多个字符串的两种方式 方式一 二维字符串数组 声明: char name[][] = { "Justinian", "Momo", " ...
- 【C++】C++中的字符和字符串
目录结构: contents structure [-] 定义和初始化string string对象上的操作 处理string对象中的字符 C风格字符串 标准库类型string表示可变长的字符序列,使 ...
- C语言中的数组与字符串
1. 数组与指针: 对于数组,需要注意两点:1, C语言中只有一维数组, 而且数组的大小必须在编译期就作为一个常数确定下来: 2. 对于一个数组,我们只能做两件事:确定数组的大小 和 获得指向该数组下 ...
- Go语言中其他数据与字符串类型的转换
1 概述 Go语言是强类型语言,因此总会需要将字符串转成需要的类型.比如整型和字符串转换,字符串和布尔型的转换等.本文就介绍如何完成这些转换,以下是Go语言关于字符串转换的整理说明,主要是与切片类型的 ...
- C语言中把数字转换为字符串 【转】
在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望.由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出 ...
随机推荐
- Sass学习之路:注释、变量以及导入
前言 由于.sass不兼容CSS代码,所以以下内容完全使用.scss的语法. Sass注释 Sass中除了提供CSS中的标准注释之外,还提供了一种静默注释: /* 我是标准注释 */ // 我是静默注 ...
- 2013/11/22工作随笔-缓存是放在Model层还是放在Controller层
web网站的典型代码框架就是MVC架构,Model层负责数据获取,Controller层负责逻辑控制,View层则负责展示. 一般数据获取是去mysql中获取数据 但是这里有个问题,我们不会每次请求都 ...
- asp.net JavaScriptSerializer实现序列化和反序列化
通过JavaScriptSerializer来实现.它的名字空间为:System.Web.Script.Serialization 如果要使用它,还须添加 System.Web.Extensions库 ...
- 【第三课】ANR和OOM——贪快和贪多的后果(下)
Out of Mana,法力耗尽. 内存就像法力,耗尽了就什么都不能做了.有时候一个应用程序占用了太大的内存,超过了Android系统为你规定的限制,那么系统就会干掉你,以保证其他app有足够的内存. ...
- SQL Server中@@ROWCOUNT的用法
SQL Server中@@ROWCOUNT返回受上一语句影响的行数,返回值类型为 int 整型. 如果行数大于 20 亿,则需要使用 ROWCOUNT_BIG. @@ROWCOUNT和@@ERROR变 ...
- 【C#进阶系列】03 配置文件管理与程序集的引用版本重定向
先来点与标题不相关的: CLR支持两种程序集:弱命名程序集和强命名程序集. 两者的区别在于强命名程序集使用发布者的公钥和私钥进行签名.由于程序集被唯一性地标识,所以当应用程序绑定到强命名程序集时,CL ...
- 【jQuery基础学习】06 jQuery表单验证插件-Validation
jQuery的基础部分前面都讲完了,那么就看插件了. 关于jQuery表单验证插件-Validation validation特点: 内置验证规则:拥有必填.数字.E-Mail.URL和信用卡号码等1 ...
- datagrid动态数据添加超链接的方法
首先,我我们要有一个json格式的datagrid_data.json文件,如下:
- 10个出色的NoSQL数据库
http://www.infoq.com/research/nosql-databases?utm_source=infoqresearch&utm_campaign=lr-homepage ...
- uml中的几种关系
这是一堂关于UML基础知识的补习课:现在我们做项目时间都太紧了,基本上都没有做过真正的class级别的详细设计,更别提使用UML来实现规范建模了:本篇主要就以前自己一直感觉很迷糊的几种class之间的 ...