我是靠谱客的博主 英勇草莓,最近开发中收集的这篇文章主要介绍C语言知识点笔记4C语言知识点笔记4,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

C语言知识点笔记4

此笔记是我考研备考专业课期间听课的一些C语言知识点混记,可能会有一点乱,有需要的朋友们可以翻阅一下,有利于巩固C语言知识点!

1????
例题:计算一个数的每位之和(递归实现)

int DigitSum(int n)
{
    if(n>9)
    {
        return DigitSum(n / 10) + n % 10;
    }
    else
    {
        return n;
    }
}

int main()
{
    int num = 1729;
    int sum = DigitSum(num);

    printf("%dn", sum);
    return 0;
}

2????
例题:编写一个函数实现n的k次方,使用递归实现

double Pow(int n, int k)
{
    if(k == 0)
        return 1;
    else if(k > 0)
        return n * Pow(n, k - 1); 
    else
        return 1.0 / (Pow (n,-k));
}

int main()
{
    int n = 0;
    int k = 0;
    scanf("%d %d", &n, &k);
    double ret = Pow(n,k);
    printf("%lfn", ret);
    return 0;
}

3????
字符串的初始化:

int main() 
{
    char ch1[] = "bit";
    //[b i t ]
    
    char ch2[] = {'b','i','t'};
    //[b i t]

    printf("%sn",ch1);//输出bit
    printf("%sn",ch2);//输出bit烫烫烫烫it  没有结束符''
}

4????
数组名是数组首元素的地址 △但是有两个例外:
(1)sizeof(数组名)–数组名表示整个数组–计算的是整个数组的大小-单位是字节
(2)&数组名-数组名表示整个数组-取出的是整个数组的地址

5????
二维数组初始化:

#include <stdio.h>

int main()
{
    //创建
    int arr1[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};//按顺序存放,第一行1234,第二行5678,第三行9 10 11 12
    int arr2[3][4] = {1,2,3,4,5,6,7};//不完全初始化--按顺序存放,后面补0
    int arr3[3][4] = {{1,2},{3,4},{4,5}}//每行后面补上两个0
    int arr4[][4] = {{1,2},{3,4},{4,5}};//行可以省略,列不能省略。
    //打印二维数组
    int i = 0;
    int j = 0;
    for(i = 0; i < 3; i++)
    {
        for(j = 0; j < 4; j++)
        {
            printf("%d ", arr[i][j]);
        }
        printf("n");
    }
    return 0;
}

6????
排序算法之冒泡排序※(很重要的排序算法)

void bubble_sort(int arr[],int sz) //形参arr本质是指针
{
    int i = 0;

    //确定趟数
    for(i = 0;i < sz-1; i++)
    {
        //一趟冒泡排序的过程
        int j = 0;
        for(j = 0; j < sz-1-i; j++)
        {
            if(arr[j] > arr[j+1])
            {
                //交换
                int tmp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = tmp;
            }
        }
    }
    return;
}

int main()
{
    int arr[] = {9,8,7,6,5,4,3,2,1,0};
    //改变排序为升序-冒泡排序
    //冒泡排序的思想:两两相邻的元素进行比较,并且可能的话需要交换。

    //计算数组元素个数
    int sz = sizeof(arr) / sizeof(arr[0]);//在外面计算好再传进去
    bubble_sort(arr,sz);//数组传参的时候,其实传递的是数组首元素的地址
    return 0;
}

最后

以上就是英勇草莓为你收集整理的C语言知识点笔记4C语言知识点笔记4的全部内容,希望文章能够帮你解决C语言知识点笔记4C语言知识点笔记4所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部