商城网站建设都有哪些类型大学高校网站建设栏目

diannao/2025/10/25 21:36:55/文章来源:
商城网站建设都有哪些类型,大学高校网站建设栏目,网络营销带来的效果,导航 网站 分析目录 ACM金牌带你零基础直达C语言精通-课程资料 一.作用域的基本概念 二.函数 1. 函数的定义和使用 2.为什么一定要有函数结构 3.形参与实参 4.函数的声明和定义 5.递归函数 此代码中递归函数执行流程#xff1a; 练习#xff1a;求斐波那契数列第n项的值#xff1a; 欧几里… 目录 ACM金牌带你零基础直达C语言精通-课程资料 一.作用域的基本概念 二.函数 1. 函数的定义和使用 2.为什么一定要有函数结构 3.形参与实参 4.函数的声明和定义 5.递归函数 此代码中递归函数执行流程 练习求斐波那契数列第n项的值 欧几里得算法 (附加内容)扩展欧几里得算法 递归回溯练习 6.变参函数 ACM金牌带你零基础直达C语言精通-课程资料  本笔记属于船说系列课程之一课程链接ACM金牌带你零基础直达C语言精通https://www.bilibili.com/cheese/play/ep159068?csourceprivate_space_class_nullspm_id_from333.999.0.0 你也可以选择购买『船说系列课程-年度会员』产品『船票』畅享一年内无限制学习已上线的所有船说系列课程船票购买入口https://www.bilibili.com/cheese/pages/packageCourseDetail?productId598 做题网站OJHZOJ - Online Judge Leetcode :力扣 (LeetCode) 全球极客挚爱的技术成长平台 一.作用域的基本概念     作用域定义的变量作用的区域    代码演示: #includestdio.hint main() {//a和b定义在main函数这个{}这个作用域中//也就是在main函数中的任意位置都可以用a和b的变量int a 1, b 2;for (int i 0; i 3; i) {//c和d这两个变量在for语句后的{}这个作用域中//想用或者访问c,d变量只能在这个作用域中进行使用或访问int c 1, d 2;//因为for语句后在main函数这个作用域中//所以for语句中也可以访问a,b变量printf(a %d, b %d\n, a, b);//因为在for语句中的作用域,所以也可以访问c,d变量printf(c %d, d %d\n, c, d);}//因为在main函数这个作用域中所以可以访问a, b变量printf(a %d, b %d\n, a, b);//下面这段代码就不行因为c,d变量没有在这个作用域中//所以无法访问c,d变量//printf(c %d, d %d\n, c, d);return 0; } 执行结果 代码演示2 #includestdio.hint main() {//这里a,b变量存储在外部作用域int a 1, b 2;for (int i 0; i 3; i) {//这里的a,b变量存储在内部作用域int a 3, b 4;//如果内外部都有相同名的变量内部访问都访问自己的变量printf(in for: a %d, b %d\n, a, b);}//外部访问外部的变量是不可访问到内部变量的printf(outside : a %d, b %d\n, a, b) ;return 0; } 执行结果 二.函数 1. 函数的定义和使用 代码演示 #include stdio.h #include math.h//返回值类型 函数名 (参数列表) int sum(int a, int b) {//函数体return a b;//函数里必须有的return,进行对函数值的返回 } //定义一个函数有两个参数一个参数为flag一个为x //当flag 1返回根号下x //当flag 2返回x * x //现在就需要去构思函数名可以随便但是必须是由字母数字和_组成,并且只能由字母和_开头 //思考返回值类型是什么,由于返回值有根号下x,所以返回值类型为double //函数名就随便起满足上面的条件 //然后是参数x和flag类型都为int //最后构建函数体 double function_1(int flag, int x) {//这里用到数学函数,注意不要漏掉头文件if (flag 1) return sqrt(x);else if (flag 2) return x * x;//这里需要考虑到flag不等于12,所以要else 返回一个0else return 0; }//设计一个函数函数的作用就是传入一个n然后打印n次hello world //设计思路就是function_1中的思路 //但是这里的返回值是没用的所以这里引用了void表示没有返回值 void printf_hello_world(int n) {for (int i 0; i n; i) {printf(hello world\n);}return ;//不返回任何东西,表示函数结束 }int main() {//函数使用,直接用函数名(),()里需要填//你定义的函数参数列表的类型以及对应的参数个数printf(3 4 %d\n, sum(3, 4));//这里函数使用它返回的值就是3 4的值7int flag, x;printf(intput flag and x\n);scanf(%d%d, flag, x);//注意顺序不能乱写//由于返回值类型是double所以格式占位符要用%lfprintf(function_1 %lf\n, function_1(flag, x));int n;printf(input n\n);scanf(%d, n);printf_hello_world(n);return 0; } 代码执行结果 2.为什么一定要有函数结构 代码演示 #include stdio.h//start范围开始end为范围结束d为公差 int function_sum(int start, int end, int d) {int n (end - start) / d 1;//求项数int num start (n - 1) * d;//求末项int sum (start num) * n / 2;//求和return sum; }int main() {//求等差数列的和//求1-100,公差为1的和//等差数列求和公式 sum (首项 末项) * 项数 / 2;int sum1 (1 100) * 100 / 2;//求1-100,公差为2的和int n2 (100 - 1) / 2 1;//求项数int num2 1 (n2 - 1) * 2;//求末项int sum2 (1 num2) * n2 / 2;//求和//求30-34534,公差为17的和int n3 (34534 - 30) / 17 1;//求项数int num3 30 (n3 - 1) * 17;//求末项int sum3 (30 num3) * n3 / 2;//求和printf(%d %d %d\n, sum1, sum2, sum3);//通过发现我每次要去求等差数列的和都需要用3行代码去实现,特别繁琐重复的代码也多;//现在就可以去用函数去封装起来,直接调用函数来实现这个过程//现在掉调用函数来求等差数列的和printf(%d , function_sum(1, 100, 1));printf(%d , function_sum(1, 100, 2));printf(%d\n, function_sum(30, 34534, 17));return 0; } 运行结果 通过代码发现函数可以减少重复的代码简洁了主函数中的代码然主函数的代码更直观。 3.形参与实参 代码演示 #include stdio.hvoid function_A(int a, int b) {//函数定义中()a,b是形参a a 1;b b * 2;printf(in function_A : a %d, b %d\n, a, b);return ; }int main() {int a 1, b 2;function_A(a, b);//调用函数()中a,b是实参printf(in main : a %d, b %d\n, a, b);return 0; }  运行结果 可以发现形参的改变是不影响实参的值,实参只是在给形参进行赋值 4.函数的声明和定义 #includestdio.h//如果没有这一行那么在编译的过程中会报错 //因为程序的执行流程是从上到下的 int func_b(int x);int func_a(int x) {//如果没有上面的声明,那么编译器就会不知道有func_b这个函数的存在//就会发生编译错误//所以这就是声明的作用if (x 1) return func_b(x);printf(func_a : x * 2 %d\n, x * 2);return 0; }int func_b(int x) {if (x 2) return func_a(x);printf(func_b : x * 3 %d\n, x * 3);return 0; }int main() {//该程序实现的是//func_a函数传入的x为1就去调用func_b//如果不为1就打印x * 2的值//func_b函数传入的x位2就去调用func_a//如果不为2就打印x * 3的值func_a(2);func_a(1);return 0; } 代码执行结果 函数的定义就是展现函数的实现过程然后一定对于上面的代码去理解声明的作用; 5.递归函数 代码演示: #includestdio.hint func(int n) {if (n 1) return 1;//递归出口防止无限调用本身造成死循环return n * func(n - 1); }int main() {//求n的阶层int n;while (scanf(%d, n) ! EOF) {//循环读入,ctrl c结束,linux系统下printf(!%d %d\n, n, func(n));}return 0; } 执行结果: 此代码中递归函数执行流程 通过流程图就可以清晰的理解递归的过程。 练习求斐波那契数列第n项的值         斐波那契数列是指这样一个数列1123581321345589……这个数列从第3项开始 每一项都等于前两项之和。 代码实现 #include stdio.h//对于func函数的理解 //func(n)返回的就是第n项的值 //比如func(1) 1,第一项就等于1 int func(int n) {//当n为第一第二项时都为1成为递归出口if (n 1 || n 2) return 1;//由于斐波那契数列,等于前两项的和//所以func(n) func(n - 1) func(n - 2);//func(n - 1) 和 func(n - 2) 分别代表前第一项和前第二项//比如n 5//那么func(5) func(4) func(3);return func(n - 1) func(n - 2); }int main() {int n;scanf(%d, n);printf(func(%d) %d\n, n, func(n));return 0; } 执行结果 如何去理解这个递归函数当求第n(n 2)项时进入函数然后返回func(n - 1) func(n - 2的值然后再次调用函数直到到达递归出口进行一层一层的回溯直到最开始调用函数func(n - 1) func(n - 2),然后最后返回得到func(n)的值。对于这个过程可以通过自己画图这样理解会更加深刻。 欧几里得算法 整数ab的最大公约数一般表示为gcd(a,b); 什么是最大公约数就是a和b同时能整除最大的数字, 比如32和24的最大公约数是8; 最终式子:gcd(a,b) gcd(b, a % b)         解释gcd(a,b)返回值就是a和b的最大公约数         现在需要证明: b 和 a % b的最大公约数是 a 和 b 的公约数。         先证明b 和 a % b的最大公约数也是a 和 b 的公约数 证明1: 假设 gcd(b, a % b) c c是b和a % b 的最大公约数 设 b x * c 因为c为b的公约数所以设b等于x倍c 设 a - k * b y * c 这个式子的推到过程 a % b是求 a / b 的余数 a / b的余数 k倍b a 所以 a % b a - k * b y * c就是y倍他们的最大公约数c 现在得到两个式子 b x * c a k * b y * c 将上面的式子带入到下面式子 a k * x * c y * c a c * (k * x y) 最终得到 b x * c a (k * x y) * c 可以证明a和b也有c这个公约数         证明了b 和 a % b的最大公约数也是a 和 b 的公约数         现在来证明b和a % b的最大公约数也是a 和 b 的最大公约数 证明2:          根据上面的推理得到 b x * c a (k * x y) * c 如何去证明b和a % b的最大公约数也是a 和 b 的最大公约数 通过证明1开始的设 b x * c a - k * b y * c 可以的得到 gcd(x, y) 1 因为b 和 a % b的最大公约数就是c 所以x和y是互斥的他们的最大公约数就是1 所以只需要证明 x 和 (k * x y)是互斥的,也就是他们的最大公约数为1,那么c就是a和b的最大公约数 反证法: gcd(x, k * x y) d 设 x n * d 设 k * x y m * d 那么 y m * d - k * x 带入x n * d y d * (m - k * n) 因为gcd(x, y) 1 那么d只能为1如果d为2或者其他数gcd(x, y)是不可能等于1的 最终证明 b和a % b的最大公约数也是a 和 b 的最大公约数 通过证明1 和 证明2 让式子 gcd(a, b) gcd(b, a % b)是成立的 下面来代码实现 #includestdio.h//为什么递归出口是b 0 //gcd(a, b) gcd(b, a % b); //加入a 12 b 8 //通过递归一下 //gcd(12, 8) gcd(8, 12 % 8); //gcd(8, 4) gcd(4, 8 % 4); //gcd(4, 0) a; //最终会发现当gcd函数中形参b等于0时 //现在返回的a值的就是gcd(a, b)最大公约数 //上面的两个a是不同的一个是递归到最后的形参a,一个是最开始带入的形参a //所以最后证明了递归出口就是b 0 int gcd_1(int a, int b) {if (b 0) return a;return gcd_1(b, a % b); } //这种实现方式和gcd_1的效果一样 //只是程序写出来的方法不一样 int gcd_2(int a, int b) {//这里用到了?表达式,//当?前的判断语句成立时就返回:前的语句//判断语句不成立时就返回:后的语句//这里只有变量b,就用到非0及为真为0就为假,刚好满足判断条件return b ? gcd_2(b, a % b) : a; }int main() {int a, b;scanf(%d%d, a, b);printf(gcd_1(%d, %d) %d\n, a, b, gcd_1(a, b));printf(gcd_2(%d, %d) %d\n, a, b, gcd_1(a, b));return 0; } 执行结果 (附加内容)扩展欧几里得算法 贝祖等式: a和b都为整数并且存在一组整数解x和y 利用贝祖等式推到过程   需要证明的是如何通过有了位置①x和y如何去得到位置②的x和y;   因为有最后一项需要从后往前推需要位置①去得到位置②现在位置①换为最后一项那么位置②就变为倒数第二项有最后一项的x和y就可以得到倒数第二项的x和y最后一直往前推那么就可以得到最开始的x和y值; 证明 位置① 因为 a % b a - k * b 所以可以得到等式 b * x (a % b) * y c b * x (a - k * b) * y c b * x a * y - k * b * y c b * (x - k * y) a * y c 所以通过贝祖等式可以得到位置②对应的x和y _x y, _y x - k * y;现在得到了如何求前一项的x和y 等式: _x y, _y x - k * y; 现在通过代码实现来得到最开始的x和y也就是gcd(a,b)最开始的系数x和y #includestdio.h //这里用到了全局变量只要在这句代码定义下面的函数或者位置都可以使用该变量 //只要那个位置改变了这个变量就会改变 //最后的值就是最后改变后的值 int x, y, _x, _y;//分别代表后一项的x和y和当前项的x和yint gcd_up(int a, int b) {if (b 0) {x 1, y 0;return a;}int c gcd_up(b, a % b);//通过证明出的等式//将当前项的_x赋值后一项的y_x y;//求到系数kint k a / b;//将当前项的_y通过式子求到_y x - k * y;//最后再将后一项的x和y赋值成为当前项的x和y//因为在下次回溯中当前项就变为前一项了x _x;y _y;return c; }int main() {int a, b;scanf(%d%d, a, b);int c gcd_up(a, b);printf(x %d, y %d, gcd(%d, %d) %d\n, x, y, a, b, c);return 0; } 执行结果 下面是思维导图 这份图是代码的执行流程在以后熟练后这种图会自然的在自己的脑子中显现出来 递归回溯练习 对于该练习可能会比较难可以在学习数组后在来尝试对于这个题目理解完成后基本对于递归和回溯就有了基本理解。 海贼oj235 代码实现   #includestdio.hint n; int num[15]; int s 0;int func(int x) {if (x n) return 0;//递归结束出口for (int i x; i n; i) {num[s] i;for (int j 0; j s; j) {j printf( );printf(%d, num[j]);}printf(\n);func(i 1);//回溯过程s--;}return 0; }int main() {scanf(%d, n);func(1);return 0; } 提交结果 执行效果 6.变参函数 下面实现一个变参函数求参数中最大值 #include stdio.h #include stdarg.h #include stdint.h//此位置的参数n表示后面的变参参数个数 int max_int(int n,...) {va_list args;//args表示变参列表va_start(args, n);//这段代码表示,变参参数从参数n后面开始int ans INT32_MIN;//这里用到INT32_MIN需要包含头文件stdint.hfor (int i 0; i n; i) {//开始从第一个位置获取变参参数//并且为int类型//这里获取后下次获取就是下一个变参参数int a va_arg(args, int);//判断当前参数的值是否大于之前的最大值//如果大于就记录当前值为最大值if (a ans) ans a;}return ans; }int main() {printf(max_int(%d, %d, %d, %d) %d\n, 2, 4, 6, 1, max_int(4, 2, 4, 6, 1));printf(max_int(%d, %d, %d, %d, %d) %d\n, 10, 4, 6, 1, 88, max_int(5, 10, 4, 6, 1, 88));return 0; } 执行结果 测试可以不用和我的一样 7.主函数参数 通过代码来解释一下每个参数是什么 #includestdio.hint main(int argc, char *argv[]) {printf(argc %d\n, argc);//这个循环是打印argv每个参数,如果不能理解数组就先理解实现的作用for (int i 0; i argc; i) {printf(argv[%d] %s\n, i, argv[i]);}return 0; } 执行结果 这里输入内容(LskkGod 3.day %后面)的地方就叫命令行 通过执行发现argc就是来获取命令行参数的个数argv就是获取每个参数的名字 对于**env的内容在后续学习指针的位置会补上 本章小结         本章学习了函数知道了什么是递归函数也知道了变参函数以及主函数也是有参数的。对于函数的学习在后面的写程序的过程中希望把功能都封装成为一个函数而主函数里只有调用函数的逻辑而不是主函数中堆满的功能的实现。这样还可以加强对于函数的理解。做一做练习题加强对函数的映像。         最后加油看到这里你已经超过百分之95的人了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91859.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

广州网站建设公司万齐网络科技html网站免费模板下载

本章概要 测试驱动开发 测试驱动 vs 测试优先 日志 日志信息日志等级 测试驱动开发 之所以可以有测试驱动开发(TDD)这种开发方式,是因为如果你在设计和编写代码时考虑到了测试,那么你不仅可以写出可测试性更好的代码&#xff…

网页设计素材图片黑白电脑优化系统的软件哪个好

java 泛型和类型擦除“编译期间擦除泛型”是常识&#xff08;好吧&#xff0c;类型参数和实参实际上是被擦除的&#xff09;。 这是由于“类型擦除”而发生的。 但这是错误的&#xff0c;正如许多开发人员所假设的那样&#xff0c;将<..>符号内指定的所有内容都删除了。 …

濮阳市网站怎么做宣传推荐做网站的话术

思科设备SSH登陆详细配置过程我们用GNS3进行拓扑搭建。实验拓扑图如下&#xff1a;进行完基本配置之后开始配置SSH服务器(R2)1.首先验证设备是否支持SSHR2#show ip ssh能够识别这条命令就说明支持。2.配置IP域名。使用config# ip domain-name domain-name全局配置模式命令配置网…

网站广告位有哪些网站二级目录怎么做

1. 类 1.1. 简介 TypeScript是面向对象的JavaScript。   类描述了所创建的对象共同的属性与方法。 1.2. 类的定义 class class_name { // 类作用域 }&#xff08;1&#xff09;定义类的关键字是class&#xff0c;后面紧跟类名&#xff0c;类可以包含以下几个模块&#xff…

光明新区城市建设局网站做网站要注册公司吗

1、考虑下列三种情况下&#xff0c;对比一下普通RNN的表现和LSTM和GRU表现&#xff1a; &#xff08;1&#xff09;早期观测值对预测未来观测者具有非常重要的意义。 考虑一个极端情况&#xff0c;其中第一个观测值包含一个校验和&#xff0c; 目标是在序列的末尾辨别校验和是…

自己有网站怎么推广wordpress网站设密码

线程组&#xff08; Threads &#xff08;Users&#xff09;&#xff09;理解&#xff1a;一个虚拟用户组&#xff0c;线程组内线程数量在运行过程中不会发生改变。 注意事项&#xff1a;线程间变量相互独立。 一个测试计划内可以包含多个线程组。 可定义内容&#xff1a; 取样…

建设网站公司浩森宇特深圳在建高铁站

你好&#xff0c;我是 shengjk1&#xff0c;多年大厂经验&#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注&#xff01;你会有如下收益&#xff1a; 了解大厂经验拥有和大厂相匹配的技术等 希望看什么&#xff0c;评论或者私信告诉我&#xff01; 文章目录 一…

金华兰溪网站建设河源正规网站建设价格

codevs 1040 统计单词个数 2001年NOIP全国联赛提高组 题目等级 : 黄金 Gold题目描述 Description给出一个长度不超过200的由小写英文字母组成的字母串(约定;该字串以每行20个字母的方式输入&#xff0c;且保证每行一定为20个)。要求将此字母串分成k份(1<k<40)&#xff0c…

网站建设要如何选择网站宣传推广

目录 1. 切换 Frame 2. 前进后退 3. 对 Cookies 操作 4. 选项卡管理(了解) 5. 异常处理 6. 反屏蔽 7. 无头模式 1. 切换 Frame 我们知道网页中有一种节点叫作 iframe&#xff0c;也就是子 Frame&#xff0c;相当于页面的子页面&#xff0c;它的结构和外部网页的结构完全…

如何用电脑做网站服务器网站后台管理系统地址

1 索引类型 返回面试宝典 主键索引&#xff08;PRIMARY&#xff09;:数据列不允许重复&#xff0c;不允许为NULL&#xff0c;一个表只能有一个主键。 唯一索引&#xff08;UNIQUE&#xff09;:数据列不允许重复&#xff0c;允许为NULL&#xff0c;一个表允许多个列创建唯一索引…

网站地图xml文件济南房产信息网官网

使用sealed关键字声明一个密封类或者接口 sealed interface Errorsealed class IOError(): Error密封类和接口能够很好的控制继承&#xff0c;在密封类和接口定义的模块和包外无法被继承 在编译期我们就已知了所有的密封类和接口的实现类。在某种意义上&#xff0c;密封类类似…

上街做网站微商代理

正题 题目链接:https://www.51nod.com/Contest/Problem.html#contestProblemId1149 题目大意 nnn个数&#xff0c;求有多少种选择方案使选择的数乘机为kkk。 解题思路 显然kkk的质因数最多只有999个&#xff0c;我们将质因数进行dpdpdp。若选择的数的质因数刚好是kkk的质因数…

网站建设越秀爱旅游网站制作

目录 一、Interconnects 1、Crossbars 二、Debugging 官网教程&#xff1a;gem5: Classic caches 默认缓存是一个带有MSHR&#xff08;未命中状态保持寄存器&#xff09;和WB&#xff08;写缓冲区&#xff09;的非阻塞缓存&#xff0c;用于读取和写入未命中。缓存还可以启用…

360怎么做网站搜索家庭电脑做网站

数据采集的方法&#xff1a; 1、API API又叫应用程序接口&#xff0c;是网站的管理者为了使用者方便&#xff0c;编写的一种程序接口。该类接口可以屏蔽网站底层复杂算法仅仅通过简单的调用即可实现对数据请求的功能。目前主流的社交媒体&#xff0c;比如微博、贴吧等均可提供…

怎样为网站设计关键词wordpress配置域名

文章目录 get_domain 返回所有输入图像的定义域作为一个区域add_channels 给区域增加灰度值find_shape_model 发现匹配模板find_shape_models 发现最佳模板示例 get_domain 返回所有输入图像的定义域作为一个区域 Halcon 中的区域 get_domain(Image : Domain : : ) Image : …

网站报价明细表wordpress istax

基于matlab的粒子滤波进行锂离子电池的循环寿命预测&#xff0c;输出实验、粒子滤波及自然预测数据结果。程序已调通&#xff0c;可直接运行。 111matlab锂离子电池寿命预测 (xiaohongshu.com)

黔西南北京网站建设建设通网站是筑龙网的吗

前言 现代社会&#xff0c;技术日新月异&#xff0c;要想跟上技术的更新就必须不断学习&#xff0c;而学习技术最有效方式就是阅读优秀的源码&#xff0c;而优秀的源码都不是简单的逻辑堆积&#xff0c;而是有很灵活的设计模式应用其中&#xff0c;如果我们不懂设计模式&#…

做任务赚佣金的网站网站建设及推广销售话术

为了适应各类复习迎考&#xff0c;大家都会利用一些题目来练习。当面对题目与答案分离的现状(两个文档或一个文档的两个部分)时&#xff0c;怎样将题目和答案合二为一&#xff0c;使答案自动填充到题目后的括号中是颇让大家头疼的一件事情。经过实践探索多步骤的组合操作可以实…

有哪些做微信小游戏的网站自适应网站案例

文章目录 1.打开webpack配置文件2.配置webpack 1.打开webpack配置文件 yarn eject or npm run eject 如果报错了记得提前 git commit一下 2.配置webpack 找到 webpack.config.js 文件在 webpack.config.js 文件中找到 alias 配置在alias里添加: path.resolve(src) , 或者 : pa…

磁县网站设计公司新媒体营销论文

上图是DB-Engines数据库流行度最新排行榜&#xff0c;Oracle、MySQL、SQLServer虽几经下滑&#xff0c;然而还是遥遥领先的前三名。后起之秀PostgreSQL和MongoDB持续增长&#xff0c;然而在体量上还相差甚远&#xff0c;可以预见这些年&#xff0c;三大关系型数据库的主流地位是…