IOS-C基础语法02

//字符数组,存储字符的数组
char str1[7] = {'h','e','l','l','o','a','\0'};
//打印下标为3的字符
printf("%c\n",str1[3]);
//将小写的o改为大写的O
str1[4] = 'O';
printf("%s \n",str1);
//定义字符串--
//字符串 本身就都是字符数组,只是字符串的结尾是以\0来结束的,如果在字符数组中也设置了\0那么此数组也可以当做字符串来输出

    char str2[]="Hello World";
    printf("%s \n",str2);
   
    //来列举字符串的情况
//1.设置元素个数大于实际元素的个数
    char str3[10]={'r','s','y','q'};
        printf("%s   \n",str3);
    //2.手动设置\0
        char str4[] = {'h','e','\0'};
        printf("%s  \n",str4);
   
   
    //##########字符串操作函数
    //计算字符串长度,以\0结束的标识
    char string1[]="you are my love";
    //注意长度属于计算类型,但是>=0的  strlen只能用来计算字符串
    unsigned long strLenght = strlen(string1);
   // printf("%lu \n",strLenght);
    //字符串拼接,将一个字符串拼接给另一个字符串
    //字符串2的内存必须要给大
    char string2[30] = "Wuli xiao fan";
    char string3[] = "World";
    strcat(string2, string3);//将字符串3拼接到2后面
    printf("%s \n",string2);
   
    //长度不用考虑容量,但是字符串拼接和拷贝必须注意变量内存问题
    //3.字符串拷贝
    strcpy(string2, string3);//后面的复制到前面
    printf("%s \n",string2);
   
    //4.比较两个字符串对应位置的字符,比较的是字符串的整数值,对应位置的相减,结果不为0就结束比较
    char s1[]="abcde";
    char s2[]="bbcdf";
    int result = strcmp(s1, s2);//前-后,,,一旦不一样就停止
    printf("差值为%d  \n",result);
   
    //练习1:已知一个字符串,计算出字符串中的空格的数量
    char ss[]="slsl lplp lp lpp lpl";//32  回车10
     unsigned long strLenght1 = strlen(ss);
    int count=0;
    for (int i=0; i<strLenght1; i++) {
        if (ss[i] == ' ') {
            count++;
        }
    }
    printf("%d \n",count);
}
return 0;

//1.数组:帮助创建多个变量
//缺点:数组中只能存储相同类型的数据
//数组定义的规则
//数据类型 数组名[元素个数] = {值1,值2,值3....}
//注意:数组的元素个数只能为整型常量,不要写变量
//开始写
int array[5] = {2,5,89,10,6};

    char a[4] = {'i','h','k','l'}; // 4个字节
    //2.可以不设置数组个数,系统会按照数组的赋值自行分配
    short b[] = {9,80,6,9};//默认就是占8个字节的空间
   
    //函数sizeof()可以帮助计算变量在内存中占用的字节 用lu输出 unsigned--(-127~128)无符号默认正值

// 统计数据 无符号
//lu 无符号长整型 unsigned long
printf("%lu \n",sizeof(array));
printf("%lu \n",sizeof(b));

    //制定数组元素的个数,所给的数组赋的值得个数必须,小于等于元素个数  只要保证数组不越界

// int c[5] = {90,8,7,9,88,9,99};
// printf("%d\n",c);

    //3.数组的下标
    //下标从0开始,最大下标就是元素个数减1
    //下标意义:就是帮助准确找到某一个元素
    //使用规则:数组名[元素下标]
    printf("%d \n",array[2]);
    //修改
    array[2] = 2222;
    printf("%d \n",array[2]);
   
    //数组的输出,依赖循环
    //通过循环遍历数组的每一个下标,来取出数组的值
    //注意 初始化变量值要从0开始
    for (int i  = 0; i < sizeof(array) / 4; i++) {
        printf("&&%d***\n",array[i]);
    }
    //随机数----arc4random()  中间数:(大区间-小区间+1)+小区间
    int num1 = arc4random()%(90-55+1)+55;
    printf("随机数为:%d\n",num1);
   
    //定义整形数组,包含10个元素,元素的值范围[30,70],数组的初始值是0.给数组赋随机值,并求和还有平均数
    int a1[10] = {0},sum = 0,arg=0.0;
    for (int i = 0; i<10 ; i++) {
        a1[i] = arc4random() % (70 - 30 + 1) + 30;
        printf("数组%d \n",a1[i]);
        sum += a1[i];
        arg=sum / 10.0;
    }
   
    printf("和为%d \n 平均值%d \n",sum,arg);
    //l2 有两个元素的个数为10整型数组a和b(数组个自定义)数组a中的元素随机赋值[20,40],然后将数组a的元素赋值到b中
    int a2[10],b2[10];
    for (int i = 0; i < 10; i++) {
        a2[i] = arc4random() % (40-20+1) +20;
       printf("a2   %d\n",a2[i]);
        b2[i] = a2[i];
        printf("b2   %d\n",b2[i]);
    }
   //输出打印,数组之间不能相互赋值也不能相互打印

// for (int i = 0; i<10; i++) {
// printf("a2 %d %db2 \n",a2[i],b2[i]);
// }
//3.元素个数为10的整形数组,元素赋值随机的范围[30,70],求数组中的最小值和最大值
int a3[10],min=70,max=0;
// for (int i = 0; i<10; i++) {
// for (int j = 0; j<10; j++) {
// a3[i] = arc4random() % (70-30+1) + 30;
// a3[j] = a3[i+1];
// if (a3[i]>a[j]) {
// a[j] = a3[i];
// max = a[j];
//
// }
// }
//
// }
// printf("max===%d \n",max);
//
//
// for (int i = 0; i<10; i++) {
//
// a3[i] = arc4random() % (70-30+1) + 30;
// if (a3[i]< min) {
// min = a3[i];
//
// }
// }
//
// printf("min====%d \n",min) ;

    for (int i=0; i<10-1; i++) {
        for (int j=0; j<10-i-1; j++) {
             a3[i] = arc4random() % (70-30+1) + 30;
            if (a3[j]>a3[j+1]) {
                int temp = a3[j];
                a3[j]= a3[j+1];
                a3[j+1] = temp;
                max=a3[j+1]; printf("max===%d  \n",max);
            }
        }
    }
  
    //4定义两个整型数组,元素的个数为10,数组的取值范围为随机[20,60]将这两个数组的元素放入一个新的数组中

// int a4[10],b4[10],c4[20];
// for (int i = 0; i<10; i++) {
// a4[i]=arc4random() % (60 - 20+1) +20;
// b4[i]=arc4random() % (60 - 20+1) +20;
//
// c4[i] = a4[i];
// c4[i+10] = b4[i];
// printf("a4=%d \n b4=%d",a4[i],b4[i]);
// }
// for (int i =0; i<20; i++) {
// printf("cccccc4=%d\n",c4[i]);
// }

    //-------------------------------------------------------------------
    //冒泡排序
    //1.需要双层循环,外层控制循环的趟数,内层控制每趟循环的次数
    //2.提高效率而言.外层趟数为元素个数-1,内层循环次数处于递减的状态,为元素个数-1(必须减,会越界)-i(为了提高效率,不和最后一个比较)
    //3.VIP--内存循环必须设置元素的个数-1的操作要防止下标越界

// int f[6]={89,7,9,66,24,18};
// for (int i=0; i<6-1; i++) {
// for (int j = 0; j<6-1-i; j++) {
// //升序
// if (f[j]>f[j+1]) {
// //前者大于后者的话就交换位置
// int temp = f[j];
// f[j]= f[j+1];
// f[j+1] = temp;
//
// }
// }
// }
//
// for (int i = 0; i<6; i++) {
// printf("%d\n",f[i]);
// }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容

  • 第1章 第一个C程序第2章 C语言基础第3章 变量和数据类型第4章 顺序结构程序设计第5章 条件结构程序设计第6章...
    小狮子365阅读 10,635评论 3 71
  • 计算机二级C语言上机题库(南开版) 1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平...
    MrSunbeam阅读 6,335评论 1 42
  • C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的 算法 题目:...
    Poison_19ce阅读 1,129评论 0 0
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,430评论 3 44
  • 数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称...
    朱森阅读 3,905评论 2 13