美文网首页
SQSH1616 12-16 C基础

SQSH1616 12-16 C基础

作者: 彳亍的心 | 来源:发表于2016-12-16 19:34 被阅读0次

    1.冒泡排序

    int arr[5]= {11,45,2,66,34};
    参加数据个数     比较次数
        5               4  ------arr[4]
        第一次比较
    arr[0]  arr[1]----->arr[1]
    arr[1]  arr[2]----->arr[2]
    arr[2]  arr[3]----->arr[3]
    arr[3]  arr[4]----->arr[4]
        第二次比较
        4                3-------arr[3]
    arr[0]  arr[1]----->arr[1]
    arr[1]  arr[2]----->arr[2]
    arr[2]  arr[3]----->arr[3]
        第三次比较
        3                 2------arr[2]
    arr[0]  arr[1]----->arr[1]
    arr[1]  arr[2]----->arr[2]
        第四次比较
        2                 1------arr[1]
    arr[0]  arr[1]----->arr[1]
    

    例如:
    #include<stdio.h>
    int main()
    {
    int arr[5]= {11,45,2,66,34};
    int i = 0;
    int j = 0;
    printf("排序前:\n");
    for(i=0; i<5; i++)
    printf("%4d",arr[i]);
    printf("\n");
    for(i=0; i<4; i++)//控制比较的轮数
    {
    for(j=0; j<4-i; j++)//控制藏与比较的元素个数
    {
    if(arr[j]>arr[j+1])
    {
    //数据交换
    int temp =arr[j];
    arr[j] = arr[j+1];
    arr[j+1] = temp;
    }
    }
    }
    //输出
    printf("排序后:\n");
    for(i=0; i<5; i++)
    printf("%4d",arr[i]);
    printf("\n");
    return 0;
    }

    //获取0~100之间的随机数
    //srand(time(0));
    sranf(time(NULL))//此语句不能放在循环中,否则产生的随机数相同
    int num =rand()%100

    3.字符串

    (1)字符串常量

    字符串是有双引号阔起来的字符序列集合
    "a" "hhh" "097fslkj" "3$@fs"
    字符串的结束标志:\0

    (2)C中没有字符所对应的数据类型,通常使用数组字符保存

    字符串:
    char arr[32] = {"hello,uuhhio"};
    char arr[32] = "fdsjhkgadsaghgkjhdj"
    char af[32]={'a','a','r','d'};
    char bf[32]='"dfsf"
    注意:字符数组保存字符和保存字符串的区别:
    字符串有'\0'

    (3)字符串的输入和输出

    scanf()/printf--------->占位符:%s
    //scanf()不能接收字符串的中的空格
    //但是能接收单个字符中的空格
    //getchar();吸收多余的回车符。

    (4)gets()/buts

    gets():从键盘输入
    可以接收空格;
    此函数有bug,不建议使用,
    puts():输出字符串
    自动换行,无需换行符,

    (5)fgets()/fputs()

    fgets(arr,32,stdin):获得收据
    arr:数组名,即一个地址
    sizeof(arr):读取数据的大小,也可以直接用数字代替
    stdin:标准输入
    fputs():输出数据
    arr:要输出的字符串
    stdout:标准输出
    注:此处无bug,可以放心食用!!!!

    (6)指针和字符串

    (7)字符串相关函数

    头文件:#include<string.h>
    strlen():计算字符串长度
    \0不计入字符串长度
    注意区分和seziof的区别
    strcpy():字符串拷白
    strcpy(buf,arr)将arr的内容拷白到buf中
    strcmp():字符串的比较(hao7.c)
    int ret = strcmp(arr,buf):
    若ret=0;则两字符串相等
    若ret>0;则arr大于buf
    若ret<0; 则arr小于buf
    strcat():字符串的拼接
    strcat(arr,buf);
    将buf的内容拼接到arr中,一定要保证
    arr的空间大!!!否则会出现数组越界问题

    相关文章

      网友评论

          本文标题:SQSH1616 12-16 C基础

          本文链接:https://www.haomeiwen.com/subject/tvznmttx.html