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 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出 ...
随机推荐
- mockito
import org.junit.Assert;import org.junit.Before;import org.junit.Test;import org.junit.runner.RunWit ...
- specify a file path to store the seed
此问题是由于你的php没有开启open-ssl模块功能引起的. 所以解决方案为开启php的open_ssl模块功能. 开启open_ssl的方式很简单,打开php.ini文件,将行头的分号删除即可. ...
- rsync同步Nginx日志遇到问题总结
一.目的 将nginx 日志通过普通用户利用rsync公钥认证的方式实时同步到本地服务器上,之后使用elk程序进行处理. 二.遇到问题及解决方法思路 问题1.文件权限:nginx 的日志默认权限如下: ...
- iOS实现图像素描效果
使用GPUImageSketchFilter对象实现图像素描效果 NSString *const kGPUImageSketchFragmentShaderString = SHADER_STRING ...
- js代码中的闭包
作为一个后台开发人员了解前端非常重要,尤其是深处学校实验室做项目时前端把写好的代码直接给你,然后你在修改的时候.我经常做的就是修改前端的代码的HTML和后台交互的部分以及js的ajax部分,之后修改之 ...
- SQL Server 诊断查询-(1)
Query #1 is Version Info. SQL and OS Version information for current instance SELECT @@SERVERNAME AS ...
- 连接不上mysqlworkbench问题解决方法
连接mysqlworkbench出现如下提示: 查看ip 加入host的范围 mysql> select user,host from mysql.user;+--------- ...
- dp - Google Code jam Qualification Round 2015 --- Problem B. Infinite House of Pancakes
Problem B. Infinite House of Pancakes Problem's Link: https://code.google.com/codejam/contest/6224 ...
- Web前端测试题
JS题目: 在JavaScript中( )方法可以对数组元素进行排序. A. add()B. join()C. sort()D. length() 答案:http://hovertree.com/ti ...
- Android Fragment 基本介绍
Fragment 源码:http://www.jinhusns.com/Products/Download/?type=xcj Android是在Android 3.0 (API level 11)开 ...