啊哈c语言 潦草的初步笔记(4/完)

第七章

读取一个字符

char a;
a=getchar();//a=getchar(); 与scanf("%c",&a);的作用完全一样

getchar()读取一个字符,输入后等待用户按“Enter”键结束(带回显)

getche()读取一个字符,输入后立即获取字符,不用按“Enter”键结束(带回显)

getch()读取一个字符,输入后立即获取字符,不用按“Enter”键结束(不带回显)

注 .回显:你在键盘上按下一个键,如果在电脑上同时显示出你按的内容,就是回显。

计算机本质上只能存储0和1,任意整数都可以通过进制转换变成0和1的序列,所以表示字符最简单的方式就是把字符用整数来代替。例如,字符a就用97来表示,此处97即字符a的ASCII码。

区分

'1'        字符1,ASCII码是49。

1        数字1

 "1"        字符串

ex:

'\0'        斜杠0,字符串的结束标志,ASCII码为0。

0         数字0

‘0’        字符0,ASCII码为48.

单个字符的存储        char a;

多个字符的存储(字符的数组形式,叫作字符数组,也叫字符串)        char a[10];

a[10]有10个小空间,即a[0]~a[9],虽然有10个小空间,但实际上只能存储9个字符,因为最后一个小空间需要存储字符串的结束标志'\0'。

读取一行字符串

1.        scanf(“%s”,a);

注意:scanf进行读入是只有与“%s“配合使用读取一行字符串才无需在变量前加取址符&。

2.        gets(a);

用scanf进行字符串读入时,遇见空格会提前终止,但是gets进行读入时不会出现此现象,可以读入一整行。

例:

输入        Tom smith

scanf读入Tom,gets读入Tom smith

输出一行字符串

1.        printf(”%s“,a);

2.        puts(a);

使用puts进行输出时,会在末尾自动换到下一行,相当于printf("%s\n",a);

给一个字符数组赋初始值,在字符串的两边加上双引号和花括号就可以了。

例:

char a[10]={"hello"};

用strlen()来获取字符串的长度

int b;
b=strlen(a);//a指本段代码前申请的字符数组a

用strlen()函数需添加头文件        #include <string.h>

字典序:原意是表示英文单词在字典中的先后顺序,在计算机的领域中扩展成两个任意字符串的大小关系。

两个字符串的比较可以用函数 strcmp();

strcmp(a,b)就是比较字符串在字典中的顺序。

strcmp(a,b)<0        a在b的前面

strcmp(a,b)>0        a在b的后面

strcmp(a,b)=0        a,b为同一个字符串

存储多行字符,运用二维字符数组。

char a[5][11];        定义一个5行11列的字符数组,可以理解为,二维字符数组a有5行,每行可以存储长度不超过10的字符串。

排序常用方法”换位法“

例:

if(a<b)
{
t=a;
a=b;
b=t;
}//经过换位后a一定大于b

排序字符时,想把整个字符a[j] 复制给a[i],是不能直接写成a[i]=a[j];须用字符串复制函数 strcpy(),

strcpy(a[i],a[j]);的意思就是将a[j]中的内容替换掉a[i]中的内容。

使用strcpy()函数也需要添加头文件 #include <string.h>

二位字符数组的初始化

char a[2][10]={"hello",
               "world"};//写成两行出于美观

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值