可以用数组或指针
数组: char s[80]="abcd";或者char s[80]={"abcd"}; /说明:自动加字符串
结束标志:\0/
char s[80]={"a","b","c","d","\0"};
指针:
char s;chars="abcd";C语言
是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言最初的标准。#include <stdioh>
int
main(int argc, char argv[])
{
char str[101]={0};
char p=str;
int digitCount=0;
int letterCount=0;
printf("please input a string: ");
gets(str);
printf("your input string is: %s\n",str);
while(p!='\0')
{
if(p>'0'&&p<'9')
{
digitCount++;
}
else if((p>'a'&&p<'z')||(p>'A'&&p<'Z'))
{
letterCount++;
}
p++;
}
if(digitCount==0&&letterCount==0)
{
printf("you have nothing input\n");
}
else if(digitCount>0&&letterCount>0)
{
printf("mixed\n");
}
else if(digitCount>0&&letterCount==0)
{
printf("digit\n");
}
else if(digitCount==0&&letterCount>=0)
{
printf("letter\n");
}
else
{
//no way
}
getchar();
return 0;
}#include <iostream>
#include <fstream>
#include <cstring>
#include <iomanip>
using namespace std;
int CountFrequency(const char Input,const char Output,double Frequency){
char ch=0;
int Set[26],count(0),i=0;
memset(Set,0,26sizeof(int));
memset(Frequency,0,26sizeof(double));
ifstream in(Input);
ofstream out(Output);
while(!ineof()){
in>>ch;
if( ch>='A' && ch<='Z' ){
ch=ch-'A'+'a';
}
if( ch>='a' && ch<='z' ){
Set[ch-'a']++;
count=count+1;
}
}
if(count==0){
out<<"Divede By 0"<<endl;
return 0;
}
for( i=0;i<26;i++){
Frequency[i]=double(Set[i])/double(count);
}
double k=0;
out<<"总计"<<count<<"个字母"<<endl;
for( i=0;i<26;i++){
out<<"字母"<<char(i+'A')<<"出现概率为:";
out<<setw(15);
outsetf(ios::left);
out<<Frequency[i]<<" , 出现"<<Set[i]<<"个"<<endl;
k=k+Frequency[i];
}
out<<"统计总共概率为:"<<k<<endl;
return (int)k;
}
int main()
{
double Frequency[26];
CountFrequency("intxt","FrequencyAnalysetxt",Frequency);
system("PAUSE");
return 0;
}
#include "stdioh"
int main(void){
char s[100],ns[100];
int i,j;
printf("Please intput a string\ns=");
gets(s);
for(j=i=0;ns[j]=s[i];i++)
if(s[i]<'0' ||s[i]>'9')
j++;
puts(ns);
return 0;
} 扩展资料:
ascall码第0~32号及第127号(共34个)是控制
字符或通讯专用字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BEL(振铃)等;
通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;
第33~126号(共94个)是字符,其中第48~57号为0~9十个阿拉伯数字;65~90号为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。
注意:在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位),其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。 参考资料:
在c语言中存储一个字符串,一般有两种方法,一种是字符指针,一种是使用字符数组。比如:
const char str = "hello"; //使用字符串指针
const char str[] = "hello"; //使用字符数组
如果保存的字符串,需要修改。一般使用字符数组。比如:
char path[256] = "c:\\windows\\";
strcat(path, "system32");
可以通过字符数组或字符指针来定义字符串,也可以用宏定义对常量字符串进行定义。
下面通过举例来分别进行说明:char str1[] = "HelloWorld"; // 通过字符数组来定义字符串"HelloWorld",数组中每个存储单元存放一个字符
char str2 = "HelloWorld"; // 通过字符指针来定义字符串"HelloWorld",指针str2指向一个存放字符串"HelloWorld"的连续地址单元的首地址
#define str3 "HelloWorld"; // 通过宏定义来定义字符串"HelloWorld",等价于str3="HelloWorld"
#include<stdioh>char
str1[100],str2[100];char
mystrcat(char
s,char
ct)
//字符串连接
{
while((s++));
s--;
while(ct)
(s++)
=
(ct++);
return
s;
}char
mystrcpy(char
s,char
ct)
{
while((s++)=ct,(ct++));
return
s;
}int
mystrcmp(char
s,char
ct)
{
while(s
&&
ct)
{
if((s++)
==
(ct++))
continue;
else
return
(s-1)-(ct-1);
}
return
0;
}int
mystrlen(char
s)
{
int
length
=
0;
while((length++,s++));
return
length-1;
}char
mystrsort(char
s)
{
int
i,j,length
=
mystrlen(s);
char
t;
for(i
=
0;i
<
length;i++)
for(j
=
0;j
<
length-i-1;j++)
{
if(s[j]
>
s[j+1])
{
t
=s[j];
s[j]
=
s[j+1];
s[j+1]
=
t;
}
}
return
s;
}int
mystrfind(char
s,char
ch)
{
int
index
=
0;
while(s)
if(index++,s
==
ch)
return
index;
return
-1;
}void
menu()
{
int
choose
=
1;
char
ch;
while(choose
!=
0)
{
printf("\n1字符串连接\n2拷贝\n3比较\n4求字符串长度\n5对字符串内字符进行排序\n6查找字符串中某个字符是否存在\n0退出\n");
scanf("%d",&choose);
switch(choose)
{
case
1:printf("输入2字符串:\n");
scanf("%s%s",str1,str2);
mystrcat(str1,str2);
printf("连接后的字符串:%s\n",str1);
break;
case
2:printf("输入要拷贝的字符串:\n");
scanf("%s",str2);
mystrcpy(str1,str2);
printf("拷贝的字符串:%s\n",str1);
break;
case
3:printf("输入要比较的2字符串:\n");
scanf("%s%s",str1,str2);
printf("%d\n",mystrcmp(str1,str2));
break;
case
4:
printf("输入要求长度的字符串:\n");
scanf("%s",str1);
printf("长度为:%d\n",mystrlen(str1));
break;
case
5:
printf("输入要求排序的字符串:\n");
scanf("%s",str1);
mystrsort(str1);
printf("排序后:%s\n",str1);
break;
case
6:printf("输出字符串:\n");
scanf("%s",str1);
printf("输入要查找的字符:\n");
scanf("%c",&ch);
scanf("%c",&ch);
printf("ch所在位置为%d\n",mystrfind(str1,ch));
}
}
}int
main()
{
menu();
return
0;
}
评论列表(0条)