C语言基础(9)字符串和函数

课堂笔记:

srand(time(0)) //srand(time(NULL))
以时间为终止
int num = rand()%100产生一到100的随机数

  • 冒泡排序
#include
#include
#include
int main(int argc,char *argv[]){
    int arr[20];
    int i,j;
    int temp = 0;
    srand(time(0));
    for(i = 0;i < 20;i++)
    //  srand(time(NULL));
        arr[i] = rand()%100;
    for(i = 0;i < 20-1;i++){
        for(j = 0;j < 20-i-1;j++){
            if(arr[j] < arr[j+1]){
                temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
    for(i = 0;i < 20;i++)
        printf("%4d",arr[i]);
    printf("\n");
    return 0;
}
  • 选择排序
#include
int main(int argc,char *argv[]){
    int arr[5] = {12,-4,43,2,10};
    int i,j;
    int temp = 0;
    for(i = 0;i < 5-1;i++){
        for(j = i+1;j < 5;j++){
            if(arr[i] < arr[j]){
                temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }
    }
    for(i = 0;i < 5;i++)
        printf("%4d",arr[i]);
    return 0;
}

字符串

1,字符串常量

  • 字符串是由双引号括起来的字符序列集合,字符串的结束标志’\0‘
  • C中没有字符串所对应的数据类型,通常使用字符串数组保存字符串;
char arr1[32] = {"hello,ubunt"};
char arr2[32] = "hello world";

char a[7] = {'h','e','l','l','o'};
char a[7] = "hello";
  • scanf()不能接受字符串中的空格(含空格)以后的内容,但是可以接受字符中的空格(含空格)以后的内容。
  • gets():从键盘输入
    可以接受输入的空格;
    此函数有bug,不建议使用;
    puts():输出字符串
    自动换行,无需换行符
  • fgets()/fputs()
fgets():获得数据,
fputs():输出数据。
fgets(arr,sizeof(arr),stdin);
//fgets(arr,100,stdin);
fputs(arr,stdout);

fgets():获得数据
arr:数组名,即一个地址
stdin:标准输入
sizeof(arr):读取数据的大小,也可以直接用数字代替

fputs():读取数据
可以放心使用,无BUG。

  • 指针和字符串:

  • 字符串相关函数
    头文件#
    strlen(arr):计算字符长度 sizeof()是统计数组的所占长度
    strcpy():字符串拷贝
    strcpy(buf,arr)
    把arr拷贝到buf中
    strcmp():字符串的比较
    int ret = strcmp(arr,buf);从不同的地方开始相比,相同时就跳过
    strcat():字符串的拼接

明天早上希望自己不要迟到,把一周内容好好消化,迎接下一周的c高级。。

你可能感兴趣的:(C语言基础(9)字符串和函数)