1-一维数组.c
#include <stdio.h>
//int a[5]; //未初始化的全局变量是0
int main()
{
//int k = 10;
//int a[k] = {0}; //定义数组的时候,长度一定要确定
//int a[5] = {1, 2, 3, 4, 5};
//int a[5] = {1, 2};
//int a[5]; //未初始化的局部变量是垃圾值
//int a[] = {1, 2, 3, 4, 5};
int a[5] = {0};
int i;
//for (i = 0; i < 5; i++)
for (i = 0; i < sizeof(a) / sizeof(a[0]); i++)
{
printf("%d ", a[i]);
}
printf("\n");
printf("%p\n", &a[0]); //数组首元素地址
printf("%p\n", a); //数组名,也是数组首元素地址 等价于&a[0]
printf("%p\n", &a); //数组的地址
printf("&&&&&&&&&&&&&&&&\n");
printf("%p\n", &a[0] + 1);
printf("%p\n", a + 1);
//a++; //数组名是常指针,不能修改
printf("%p\n", &a + 1);
return 0;
}
2-冒泡排序.c
#include <stdio.h>
int main()
{
int a[10] = {0};
printf("请输入10个数字:\n");
int i, j;
for (i = 0; i < sizeof(a) / sizeof(a[0]); i++)
{
scanf("%d", &a[i]);
}
for (i = 0; i < sizeof(a) / sizeof(a[0]) - 1; i++)
{
for (j = 0; j < sizeof(a) / sizeof(a[0]) - i - 1; j++)
{
if (a[j] < a[j + 1])
{
#if 0
int t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
#endif
a[j] = a[j] + a[j + 1];
a[j + 1] = a[j] - a[j + 1];
a[j] = a[j] - a[j + 1];
}
}
}
for (i = 0; i < sizeof(a) / sizeof(a[0]); i++)
{
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
3-二维数组.c
#include <stdio.h>
int main()
{
//int a[2][3] = {{1, 2, 3}, {4, 5, 6}};
//int a[2][3] = {{1}, {4, 5}};
//int a[][3] = {{1, 2, 3}, {4, 5, 6}};
int a[2][3] = {0};
int i, j;
for (i = 0; i < 2; i++)
{
for (j = 0; j < 3; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
printf("%p\n", &a[0][0]);
printf("%p\n", a[0]); //表示数组首行首元素地址 a[1]第二行首元素地址
printf("%p\n", a); //a表示首行地址
printf("%p\n", &a); //&a表示数组的地址
printf("%p\n", &a[0][0] + 1);
printf("%p\n", a[0] + 1);
printf("%p\n", a + 1);
printf("%p\n", &a + 1);
return 0;
}
4-字符数组.c
#include <stdio.h>
int main()
{
//char a[10] = {'h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd'};
char a[15] = "helloworld";
/*int i;
for (i = 0; i < sizeof(a) / sizeof(a[0]); i++)
{
printf("%c", a[i]);
}
printf("\n");*/
printf("%s\n", a); //输出字符串,遇到\0结束
return 0;
}
5-字符串逆序.c
#include <stdio.h>
int main()
{
char str[32] = {0};
printf("请输入一个字符串\n");
scanf("%s", str);
int i = 0, length = 0;
while (str[i] != '\0')
{
length++;
i++;
}
int x = 0, y = length - 1;
for (i = 0; i < length / 2; i++)
{
char t = str[x];
str[x] = str[y];
str[y] = t;
x++;
y--;
}
printf("%s\n", str);
return 0;
}
6-插入数据.c
#include <stdio.h>
#include <string.h>
int main()
{
char str[32] = {0};
int num, i;
char ch;
printf("请输入字符串、位置、插入的元素\n");
scanf("%s%d %c", str, &num, &ch);
int length = strlen(str);
for (i = 0; i < length - num + 1; i++)
{
str[length - i] = str[length - 1 - i];
}
str[num - 1] = ch;
printf("%s\n", str);
return 0;
}
7-字符串处理函数.c
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[32] = "helloworld";
char ptr[32] = "12345";
//strcpy(str, ptr); //把数组ptr的数据拷贝到数组str里面 包括'\0'
//printf("%s\n", str);
//strncpy(str, ptr, 3);
//printf("%s\n", str);
//strncpy(str + 1, ptr + 3, 2);
//printf("%s\n", str);
//strcat(str, ptr); //把ptr数组里面的数据连接到str后面
//printf("%s\n", str);
//strncat(str, ptr + 1, 3);
//printf("%s\n", str);
if (strcmp(str, ptr) > 0) //字符串比较
{
printf("%s > %s\n", str, ptr);
}
else
{
printf("%s < %s\n", str, ptr);
}
return 0;
}
4680

被折叠的 条评论
为什么被折叠?



