数组复习

数组:C语言中数组下标都是从0开始的。
1.一维数组:
输入
for(int i=0;i<n;i++)
{
cin>>a[i];
}
数组一般定义为全局数组,
2.二维数组:
输入for(int i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
cin>>a[i][j];
}
}
打印杨辉三角的前十行。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
这样的图不容易找规律,把他变成这样:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
由此可见
yh[i][j]=yh[i-1][j-1]+yh[i-1][j]的和,另外每一行的元素个数刚好等于行数。还有就是要处理空格的数。
3.字符数组:
(1) 字符常量定义
const 字符常量=‘字符’
(2) 字符变量定义
char 字符变量;
按字母表顺序和逆序每个一个字母打印。即打印出:
a c e g i k m o q s u w y
z x r v t p n l j h f d b
程序如下:
#include
#include
using namespace std;
int main()

for(char letter=‘a’;letter<=‘z’;letter+=2)
cout<<stew(3)<<letter;
cout<<endl;
for(char letter=‘z’;letter>=‘a’;letter-=2)
cout<<stew(3)<<letter;
return 0;

字符数组是用来存放字符序列或字符串的。
字符数组即可存放字符也可是字符串,两者的区别是字符串有一个结束符(’\0’)。
字符串是一维数组,但是一维字符数组不等于字符串。
4.数组元素赋值
字符数组的赋值是给该字符数组的各个元素都赋一个字符值。
例如:
char chr[3];
chr [0]=‘a; chr [1]=‘b’;chr [2]=‘c’;
5.字符常量和字符串常量的区别
(1)两者的定界符不同,字符常量由单引号括起来,字符串常量由双引号括起来。
(2)字符常量只能是单个字符,字符
串常量则可以是多个字符
(3)可以把字符常量赋值给一个字符变量, 但不能把一个字符串常量赋给一个变量。
(4)字符常量占一个字节,字符串常量占用字节数等于字符串的字节数加1。增加一个字节中存放字符串结束标志’\0’。例如字符常量’a’占一个字节,字符串常量"a"占两个字节。
5.字符串的输入与输出
从键盘输入一个字符,输入可以使用scanf语句和gets语句。
scanf("%s",字符串名称);
(1)这里的字符串名称之前不加&这个取地址符。
(2)系统会自动在输入的字符串常量后面添加’\0’标志,因此,输入时仅输入字符串的内容即可。
(3)输入多个字符串时,以空格间隔。
gets(字符串名称);
使用gets只能输入一个字符串。
使用gets是从光标开始的地方读到换行符,也就是说读入的是一整行,而使用scanf是从光标开始的地方到空格,如果这一行没有空格才读到行尾。
例如:scanf("%s",s1);gets(s2);对于相同的输入Hello, world!。s1获取的结果仅仅是Hello, 而s2获取的结果则是Hello, world!
输出
向屏幕输出一个字符串,可以使用printf语句或puts语句。
printf("%s",字符串名称)
(1)用%s格式输出时,printf但输出项只能是字符串(字符数组)名称,而不能是数组元素。例如:printf("%s",a[5]);是错误的。
(2)输出字符串不包括字符串结束符’\0’。
puts语句
puts(字符串名称)
puts语句输出一个字符串和一个换行符。 对于已经声明过的字符串a,printf("%s\n",a)和puts(a)是等价的。
(1)strcat(字符串名1,字符串名2 ) 将字符串2连接到字符串1后面返回字符串1的值。
(2)strncat(字符串名1,字符串名2,长度n) 将字符串2前n个字符连接到字符串1后面返回字符串1的值。
(3)strcpy(字符串名1,字符串名2) 将字符串2复制到字符串1,返回字符串1的值。
(4)strncpy(字符串名1,字符串名2,长度n) 将字符串2前n个字符复制到字符串1,希望返回字符串1的值。
(5)strcmp(字符串名1,字符串名2) 比较字符串1和字符串2的大小,比较的结果由函数带回;
如果字符串1>字符串2,返回一个正整数。
如果字符串1=字符串2,返回0。
如果字符串1<字符串2,返回一个负整数。
(6)strncmp(1,2),比较字符串1和字符串2 的前n个字符进行比较。函数返回值的情况同strcmp函数。
(7)strlen(字符串名) 计算字符串的长度,终止符’\0’不算在长度之内。
(8)strlwr(字符串名) 将字符串中大写字母换成小写字母。
(9)strupr(字符串名) 将字符串中小写字母换成大写字母。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值