- 题目:有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析:可填在百位、十位、个位的数字都是 1、2、3、4,组成所有的排列后再去掉不满足条件的排列。实例:#include<stdio.h> int main(){ int i,j,k; printf("\n"); for(i=1;i<5;i++) { // 以下为三重循环 ... 题目:有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析:可填在百位、十位、个位的数字都是 1、2、3、4,组成所有的排列后再去掉不满足条件的排列。实例:#include<stdio.h> int main(){ int i,j,k; printf("\n"); for(i=1;i<5;i++) { // 以下为三重循环 ...
- @TOC 前言malloc , calloc, realloc 的是用来申请一段空间。 一、calloc的使用:realloc 的用法和 malloc 的用法类似,只是,malloc 的参数有一个, realloc 的参数分开成了两个。realloc 的函数原型:void * calloc ( size_t, size_t Size );例如:int *p = (int * )malloc... @TOC 前言malloc , calloc, realloc 的是用来申请一段空间。 一、calloc的使用:realloc 的用法和 malloc 的用法类似,只是,malloc 的参数有一个, realloc 的参数分开成了两个。realloc 的函数原型:void * calloc ( size_t, size_t Size );例如:int *p = (int * )malloc...
- @TOC 前言 一、字符数组:字符数组:char str[5] = { ‘A’,66,‘C’ ,‘D’ ,69 }; / / 66换成大写字母就是B,69就是Echar str[5] = { ‘A’,66,‘C’ }; / / 初始化部分元素,其余默认是0char str[ ] = { ‘A’,66,‘C’ ,‘D’ ,69 }; / / 这样初始化时,可以不写个数例如: 二、字符串:定义:... @TOC 前言 一、字符数组:字符数组:char str[5] = { ‘A’,66,‘C’ ,‘D’ ,69 }; / / 66换成大写字母就是B,69就是Echar str[5] = { ‘A’,66,‘C’ }; / / 初始化部分元素,其余默认是0char str[ ] = { ‘A’,66,‘C’ ,‘D’ ,69 }; / / 这样初始化时,可以不写个数例如: 二、字符串:定义:...
- @TOC 前言字符串操作函数是用于操作字符串的。有的函数有新版和旧版,大同小异。字符串操作函数的头文件: string.h 一、字符串拷贝函数:将字符串复制到一个数组里。字符串拷贝:char str [ 20] = { 0 };旧版:***strcpy ( str, “hello word” )***;新版: ***strcpy_s (str, 20,“hello world”)***; /... @TOC 前言字符串操作函数是用于操作字符串的。有的函数有新版和旧版,大同小异。字符串操作函数的头文件: string.h 一、字符串拷贝函数:将字符串复制到一个数组里。字符串拷贝:char str [ 20] = { 0 };旧版:***strcpy ( str, “hello word” )***;新版: ***strcpy_s (str, 20,“hello world”)***; /...
- @TOC 前言 一、函数指针做结构体成员:结构体内不可以放函数,但是可以放函数指针。int sum(int a,int b){return a + b;}struct Node{int a;***int ( * p)( int a, int b)***; / / 成员是函数指针} no = { 12, sum }; 二、结构体的大小:结构体的大小,用 sizeof 计算,并不是简单是计算结构... @TOC 前言 一、函数指针做结构体成员:结构体内不可以放函数,但是可以放函数指针。int sum(int a,int b){return a + b;}struct Node{int a;***int ( * p)( int a, int b)***; / / 成员是函数指针} no = { 12, sum }; 二、结构体的大小:结构体的大小,用 sizeof 计算,并不是简单是计算结构...
- @TOC 前言如何通过地址操作空间? 使用内存操作符。 一、a, &a, p, *p, *&a 的关系:a 是某个变量。&a 是变量 a 所在的地址。int p=a; / / ***p**里面装着 a 的地址。*p 里面装着 a 的数据。*&a 里面装着 a 的数据。即:*&a 相当于变量 a ,既然 *&a==a, 所以 *&a 与 a 的用法一摸一样。 二、计算规则:*+空间的地址 ... @TOC 前言如何通过地址操作空间? 使用内存操作符。 一、a, &a, p, *p, *&a 的关系:a 是某个变量。&a 是变量 a 所在的地址。int p=a; / / ***p**里面装着 a 的地址。*p 里面装着 a 的数据。*&a 里面装着 a 的数据。即:*&a 相当于变量 a ,既然 *&a==a, 所以 *&a 与 a 的用法一摸一样。 二、计算规则:*+空间的地址 ...
- @TOC 前言前面我们学习了一级指针操作变量,那什么是二级指针?二级指针又如何操作变量呢? 一、二级指针的声明定义:二级指针定义:int a = 12; / / a变量有自己的空间地址,假设为 0x10, 里面装 12int *p = &a; / / p变量有自己的空间地址,假设为 0x20, 里面装 0x10int **pp = &p; / / pp变量有自己的空间地址,假设为 ... @TOC 前言前面我们学习了一级指针操作变量,那什么是二级指针?二级指针又如何操作变量呢? 一、二级指针的声明定义:二级指针定义:int a = 12; / / a变量有自己的空间地址,假设为 0x10, 里面装 12int *p = &a; / / p变量有自己的空间地址,假设为 0x20, 里面装 0x10int **pp = &p; / / pp变量有自己的空间地址,假设为 ...
- @TOC 前言之前我们讲了指针数组,今天讲一下数组指针。 一、数组与指针的概述:数组指针就是数组的指针,就是***指向数组的指针。***int a [5] = {1,2,3,4,5}; / / 定义一个数组int *p = &a[0]; / / 定义一个指针指向数组的首地址,由于 数组的首地址就是数组名,所以&a[0]==a; 则可写为 int * p = a;则此时的***指针... @TOC 前言之前我们讲了指针数组,今天讲一下数组指针。 一、数组与指针的概述:数组指针就是数组的指针,就是***指向数组的指针。***int a [5] = {1,2,3,4,5}; / / 定义一个数组int *p = &a[0]; / / 定义一个指针指向数组的首地址,由于 数组的首地址就是数组名,所以&a[0]==a; 则可写为 int * p = a;则此时的***指针...
- @TOC 前言 一、函数返回值:例如:int fun (void) / /有返回值函数{printf(“Hellow world!\n”);return 2; / / 返回值可以是任意数值,将12 返回给 fun().} 二、return 的应用:return 的作用:在有返回值的函数里:结束函数,返回一个值。在没有返回值的函数里:结束函数。结束这个功能就像是循环中的break,直接跳出函... @TOC 前言 一、函数返回值:例如:int fun (void) / /有返回值函数{printf(“Hellow world!\n”);return 2; / / 返回值可以是任意数值,将12 返回给 fun().} 二、return 的应用:return 的作用:在有返回值的函数里:结束函数,返回一个值。在没有返回值的函数里:结束函数。结束这个功能就像是循环中的break,直接跳出函...
- @TOC 前言 一、递归的理解:递归函数:函数自己调用自己的,叫做递归调用。例如:void fun(void){printf ( “Hellow!” );fun();} 二、循环角度理解递归:递归的本质就是循环。循环可以完全代替递归,但是递归在某些情况下代码会更简洁一点。可控递归三要素:void fun(int i) // 1.循环控制变量{if (i < 5) //2.循环的条件{pr... @TOC 前言 一、递归的理解:递归函数:函数自己调用自己的,叫做递归调用。例如:void fun(void){printf ( “Hellow!” );fun();} 二、循环角度理解递归:递归的本质就是循环。循环可以完全代替递归,但是递归在某些情况下代码会更简洁一点。可控递归三要素:void fun(int i) // 1.循环控制变量{if (i < 5) //2.循环的条件{pr...
- @TOC 前言 一、函数指针:函数也有地址,叫做函数地址:***& fun() ;***特点:函数名就是函数的地址:fun == & fun类型:去掉函数名,就是函数类型,比如:int fun ( int a, double b )的函数类型是 int ( int a, double b )函数指针就是: int ( * p) ( int a, double b ) = fun() ;定... @TOC 前言 一、函数指针:函数也有地址,叫做函数地址:***& fun() ;***特点:函数名就是函数的地址:fun == & fun类型:去掉函数名,就是函数类型,比如:int fun ( int a, double b )的函数类型是 int ( int a, double b )函数指针就是: int ( * p) ( int a, double b ) = fun() ;定...
- C 的令牌(Tokens)C 程序由各种令牌组成,令牌可以是关键字、标识符、常量、字符串值,或者是一个符号。例如,下面的 C 语句包括五个令牌:printf("Hello,World! \n");这五个令牌分别是: printf ( "Hello,World! \n" ) ;分号 ;在 C 程序中,分号是语句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实... C 的令牌(Tokens)C 程序由各种令牌组成,令牌可以是关键字、标识符、常量、字符串值,或者是一个符号。例如,下面的 C 语句包括五个令牌:printf("Hello,World! \n");这五个令牌分别是: printf ( "Hello,World! \n" ) ;分号 ;在 C 程序中,分号是语句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实...
- 执行程序时,可以从命令行传值给 C 程序。这些值被称为命令行参数,它们对程序很重要,特别是当您想从外部控制程序,而不是在代码内对这些值进行硬编码时,就显得尤为重要了。命令行参数是使用 main() 函数参数来处理的,其中,argc 是指传入参数的个数,argv[] 是一个指针数组,指向传递给程序的每个参数。下面是一个简单的实例,检查命令行是否有提供参数,并根据参数执行相应的动作:#inclu... 执行程序时,可以从命令行传值给 C 程序。这些值被称为命令行参数,它们对程序很重要,特别是当您想从外部控制程序,而不是在代码内对这些值进行硬编码时,就显得尤为重要了。命令行参数是使用 main() 函数参数来处理的,其中,argc 是指传入参数的个数,argv[] 是一个指针数组,指向传递给程序的每个参数。下面是一个简单的实例,检查命令行是否有提供参数,并根据参数执行相应的动作:#inclu...
- 插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入一般来说,插入排序都采用in-place在数组上实现。具体算法描述如下:从第一个元素开始,该元素可以认为已经被排序;取出下一个元素,在已经排序的元素序列中从后向前扫描;如果该元素(已排序)大于新元素,将该元素移到下一位置;重... 插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入一般来说,插入排序都采用in-place在数组上实现。具体算法描述如下:从第一个元素开始,该元素可以认为已经被排序;取出下一个元素,在已经排序的元素序列中从后向前扫描;如果该元素(已排序)大于新元素,将该元素移到下一位置;重...
- 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 过程演示:#include <stdio.h>void swap(int *, int *);void selection_sort(... 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 过程演示:#include <stdio.h>void swap(int *, int *);void selection_sort(...
上滑加载中
推荐直播
-
华为云IoT开源专家实践分享:开源让物联网平台更开放、易用
2024/05/22 周三 16:30-18:00
张俭 华为云IoT DTSE技术布道师
开源,意味着开放、共享、互助、共赢。作为万物上云及各行业数字化的物联网底座,华为云IoT积极拥抱开源,借助行业开源的最佳实践,构建可靠、易用的物联网平台,并通过开放南北向SDK,助力开发者快速构建物联网应用。本期直播,华为云IoT开源专家、物联网平台资深“程序猿”张俭,带你了解华为云IoT的开源生态,并手把手教你玩转开源社区!
去报名 -
数字技术创新与商业愿景--数字化转型战略解读
2024/05/22 周三 19:00-20:30
王纪奎老师 华为科学家咨询委员会CTO
数字化转型浪潮下,你是否缺乏对前沿科技的战略洞察、难以将企业转型与国家战略相融合、缺少系统性规划的数字化思维…… 我们特别邀请了华为科学家咨询委员会CTO、战略研究院数字经济与数字化转型首席专家、《数字化转型战略》一书的作者——王纪奎老师。 在5月22日(周三)19点,为我们带来一场主题为“数字技术创新与商业愿景--数字化转型战略解决”的精彩直播。
去报名 -
华为云开发者日·广州站
2024/05/23 周四 14:30-17:30
华为云专家团
华为云开发者日HDC.Cloud Day是面向全球开发者的旗舰活动,汇聚来自千行百业、高校及科研院所的开发人员。致力于打造开发者专属的技术盛宴,全方位服务与赋能开发者围绕华为云生态“知、学、用、创、商”的成长路径。通过前沿的技术分享、场景化的动手体验、优秀的应用创新推介,为开发者提供沉浸式学习与交流平台。开放创新,与开发者共创、共享、共赢未来。
去报名
热门标签