#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
#pragma mark----------数组
//数组是容器,相同数据类型
//构造类型
// int a[3]={5,2,0};
//类型
// int[3];
//变量名
// a;
//初值
// {5,2,0};
// int a[4] = {9,8,7,6};
// float b[6] = {2.5,3.14};
// char c[3] = "abc";
// char d[3] = {'a','b','c'};
// BOOL e[4] = {YES,NO};
//a[0]+a[1]操作数组下标取值赋值
//前有类型修饰符,代表数组,没有类型修饰符,代表下标
//1.生成一个包含20个元素数组,数组的值取值在30到70之间,并求出数组元素的和
// int sum = 0, a[20]={0};
// for (int i = 0; i<20; i++) {
// a[i]=arc4random()%41+30;
// printf("%d ",a[i]);
// sum = sum + a[i];
// }
// printf("\nsum=%d",sum);
//2.复制
// int a[20]={0},b[20]={0};
// for (int i = 0; i<20; i++) {
// a[i]=arc4random()%41+30;
// printf("%d ",a[i]);
// b[i]=a[i];
// }
// printf("\n");
// for (int j = 0; j<20; j++) {
// printf("%d ",b[j]);
// }
//3.生成两个数组,然后两个数组对应下标元素相加,放到第三个数组中
// int a[10]={0},b[10]={0},c[10]={0};
// for (int i = 0; i<10; i++) {
// a[i]=arc4random()%(40-20+1)+20;
// b[i]=arc4random()%(40-20+1)+20;
// c[i]=a[i]+b[i];
// printf("%d + %d = %d\n",a[i],b[i],c[i]);
// }
// printf("\n");
// for (int j = 0; j<10; j++) {
// printf("%d ",b[j]);
// }
// printf("\n");
// for (int j = 0; j<10; j++) {
// printf("%d ",c[j]);
// }
#pragma mark--------------1
//注意,
//1,系统不会检测数组元素的下标是否越界,编程时,必须保证数组下标不能越界
//2,数组是一个整体,不能直接参加运算,只能对单个元素进行处理,通常会用到数组的地方,就会用到循环(循环就是为了数组而生)
// scanf("%d",&a);
// getchar() 打印123def 结果是1
// printf(""),打印123def 结果是123
/**
* 从键盘缓冲区读取数据
*/
// int a[10]={0};
// for (int i = 0; i<10; i++) {
// a[i]=arc4random()%31;
// printf("%2d ",a[i]);
// }
// for (int i = 0; i<10-1; i++) {
// for (int j = 0; j<10-1-i; j++) {
// if (a[j]>a[j+1]) {
// int temp = a[j];
// a[j]=a[j+1];
// a[j+1]=temp;
// }
// }
// }
// printf("\n");
// for (int i =0; i<10; i++) {
// printf("%-2d ",a[i]);
// }
// int a[10]={0};
// for (int i = 0; i<10; i++) {
// a[i]=arc4random()%(40-20+1)+20;
// printf("%d ",a[i]);
// }
// for (int i = 0; i<10-1; i++) {
// for (int j = 0; j<10-1-i; j++) {
// if (a[j]>a[j+1]) {//max<a[i],min>a[i]
// int temp = a[j];
// a[j]=a[j+1];
// a[j+1]=temp;
// }
// }
// }
// printf("\n");
// for (int i =0; i<10; i++) {
// printf("%d ",a[i]);
// }
// strlen("hello");
#pragma mark--------------2
//字符串长度 比如hello,字符串长度5
// printf("%lu",strlen("hello"));
//字符串所占空间 比如char[10]="hello" 字符串所占空间10;
// char c[] = "hello";
// printf("%lu",sizeof(c));
// for (int i = 0; i<sizeof(c); i++) {
// printf(" %c ",c[i]);
// }
// printf("\n%s ",c);
//等同于下面
//%s,从首地址开始打印,直到打到/0结束
// char d = 0;
// int i = 0;
// while ((d = c[i]) != '\0') {
// printf("%c",d);
// i++;
// }
//strlen,测量字符串长度
//strcpy
//strcmp,比较
//strcat//拼接
// char name[20]="zuoyoudong";
// printf("%s length = %lu",name,strlen(name));
// int i = 0;
// while (name[i] !='\0') {
// printf("%c",name[i]);
// i++;
// }
// printf("%d",i);
// char z[]="zuo";
// char y[5]="yi";
// strcpy(y, z);
// printf("%s",strcpy(y, z));
//1,"hello",2,"abcdefghi",3,拷贝,hello\0ghi
#pragma mark--------------3
// char str1[50] = "hangsan";
// char str2[10] = "lisi";
// strcpy(str2, str1);//前面目的串,后面来源串,const只可读,不可赋值
// printf("%s",str2);
//字符串拼接strcat 注意:是否有足够的空间,放长度
// strcat(str1, str2);//带const修饰是不变的
// strcat(str1, str2);
// printf("%s",str1);
//字符串比较strcmp(按ASC码值求大小)
// int result = strcmp(str1, str2);
// printf("%d",strcmp(str1, str2));
// printf("%d",result);
// if (result>1) {
// printf("\n%s 大于 %s",str1,str2);
// }else if (result==0){
// printf("%s 等于 %s",str1,str2);
// }else{
// printf("\n%s 小于 %s",str1,str2);
// }
//strlen
//strcmp
//strcat
//strcpy
//查找字符串中的空格数
// char str[50] = "I love iOS,i want an iPhone5s";
// int i = 0,count = 0;
// while (str[i]!='\0') {
// char c = str[i];
// if (c ==' ') {
// count++;
// }
// i++;
// }
// printf("%d",count);
#pragma mark--------------4
//把字符倒转过来
//解题思路!
//凡是交换要定义第三方temp
char str1[]="hello";
char str2[5]=" ";
long length = strlen(str1);
// printf("%lu",length);
printf("%lu",sizeof(str1));
// long length =strlen(str1);
// printf("%lu",length);
// int i = 0;
// while (str1[i] !='\0') {
// char temp = str1[i];
// str1[i]=str2[i];
// str2[i]=temp;
//
// }
// printf("%s",str2);
// for (int i = 0; i<sizeof(str1); <#increment#>) {
// <#statements#>
// }
//#pragma mark--------------5绝对值
//#pragma mark--------------6for循环
//#pragma mark--------------7作业
C语言--一维数组,字符数组,布布扣,bubuko.com
C语言--一维数组,字符数组