C语言--一维数组,字符数组

2015-01-22 21:26:10 · 作者: · 浏览: 43
\ \ \ \ \
#import 
  
   

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] // 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 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 ) { // <#statements#> // } //#pragma mark--------------5绝对值 //#pragma mark--------------6for循环 //#pragma mark--------------7作业