C语言-08-数组

数组

一维数组

/定义数组的语法
//如 int a[10]
//数据类型  数组名  数组长度
#include <stdio.h>

int main()
{
	int a[5] = { 10,20,30,40,50 };//定义一个一维数组,第一种情况
	//int a[] = { 10,20,30,40,50 };//定义一个一维数组,第二种情况
	//int a[5] = { 0 };//定义一个一维数组,第三种情况
	//int a[5] = { 0,0,0,0,0 };//定义一个一维数组,第四种情况
	//int a[5] = { 10,20,};//定义一个一维数组,第五种情况
	//int a[5] = { 10,20,0,0,0 };//定义一个一维数组,第六种情况
	//int a[5];//  随机指定值。定义一个一维数组,第七种情况
    printf("%d\n", a); //我们打印输出数组名,就是输出整个数组的首地址
	
	for (int i = 0; i < 5; i++)
		printf("a[%d]数据元素值为:%d\n", i, a[i]);


	return 0;
}
//练习1;要求从键盘上输入5个数字,求最大数
#include <stdio.h>
int main()
{
	int a[5] = { 0 };
	printf("请输入数组a的值:\n");
	for (int i = 0; i < 5; i++)
		scanf_s("%d", &a[i]);

	printf("\n请输出数组a元素值为:\n");
	for (int i = 0; i < 5; i++)
		printf("%5d", a[i]);
	printf("\n");

	int x = a[0];//将数组第一个元素作为最大数跟后面元素进行比较
	for (int i = 0; i < 5; i++)
	{
		if (x <= a[i])
			x = a[i];//将比x这个数字大的,重新赋值给x(再作为最大数跟后面的元素进行比较)

	}
	printf("最大数字为:%d\n", x);

	return 0;
}

二维数组

//二维数组定义的一般形式
//类型符 数组名[常量表达式][常量表达式];
//二维数组元素的表示形式:
//数组名[下标][下标]
#include <stdio.h>
int main()
{
	int a[3][3];
	printf("输出二维数组下标:\n");
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 3; j++)
		{
			printf("a[%d][%d] ", i, j);
		}
		printf("\n");
	}
	

	return 0;
}
//编程实现:将一个二维数组行和列的元素互换,存储到另一个二维数组
//思路
//1.定义2个数组,数组a为2行3列,存放6个数字(10 20 30 40 50 60)
//2.数组b为3行2列,将a数组中元素a[i][j]存放到b数组中b[j][i]
#include <stdio.h>
int main()
{
	int a[2][3] = { 10,20,30,40,50,60 };
	int b[3][2];
	printf("输出二维数组a元素值:\n");
	for (int i = 0; i < 2; i++)
	{
		for (int j = 0; j < 3; j++)
		{
			printf("%5d", a[i][j]);
			b[j][i] = a[i][j];//行列互换操作
		}
		printf("\n");

	}
	printf("\n输出二维数组b元素值:\n");
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 2; j++)
		{
			printf("%5d", b[i][j]);
		}
		printf("\n");
	}

	return 0;
}

字符数组

//字符数组
#include <stdio.h>
int main()
{
	char s[10] = { 'I',' ','a','m','.' };
	for (int i = 0; i < 10; i++)
		printf("%c", s[i]);
	printf("\n");

	return 0;
}
字符数组的初始化
//字符串和字符串结束标志 '\0',空操作符
//字符数组的输入输出
    //逐个字符输入输出(%c)
    //整个字符串一次输入输出(%s)
#include <stdio.h>
#include <string.h>
int main()
{
	char s[50] = " I am happy.";
	printf("s=%s\n", s);
	char s[50] = " I am happy.";
	for (int i = 0; i < 10; i++)
	    printf("%c", s[i]);


	char s[50] = " I am happy.";
	printf("请输入字符串s:\n");
	scanf_s("%s", s, strlen(s));
	printf("\n请输出字符串s=%s\n", s);
	return 0;
}
//字符串处理函数
//1.puts  
//2.gets
//3.strcat 字符串连接函数;strcat(字符数组1,字符数组2)
//4.strcpy 字符串复制;strcpy(字符数组1,字符数组2)
//5.strcmp  字符串比较;strcmp(字符串1,字符串2)根据ASCII码进行比较
//6.strlen  测定字符串长度的函数;strlen(字符数组)
//7.strlwr  转换为小写的函数
//8.strupr  转换为大写的函数

#include <stdio.h>
#include <string.h>
int main()
{
	char s1[50] = "china is 666";
	puts(s1);  //输出字符串的函数
	gets_s(s1);//输入字符串的函数
	puts(s1);

	char s1[50] = "I am ";
	char s2[50] = "student";
	strcat_s(s1, s2);//字符串连接函数
	printf("Result=%s\n\n", s1);

	char s1[50] = "I am ";
	char s2[50] = "student";
	strcpy_s(s1, s2);//字符串复制函数
	printf("Result=%s\n\n", s1);

	char s1[50] = "are";
	char s2[50] = "you";
	printf("Result=%d\n\n", strcmp(s1,s2));//字符串比较函数
	//字符串1<字符串2  -1
	//字符串1>字符串2  1
	//字符串1=字符串2  0
	char s1[100] = "ABCD EFG";
	printf("字符串长度为:%d\n\n", strlen(s1));  //输出8
	printf("s1字符数组的占据空间:%d\n\n", sizeof(s1));//输出100

	char s1[10] = "ABCDef";
	printf("%s\n", strlwr(s1));//转换为小写的函数
	char s2[10] = "ABCDef";
	printf("%s\n", strupr(s2));//转换为大写的函数
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值