fun函数

C语言I作业05

谁说我不能喝 提交于 2019-12-02 09:44:47
呦呦 2019/10/25 23:35:15 一、本周教学内容&目标 第2章 用C语言编写程序-函数 2.5 生成乘方表与阶乘表。使学生对函数的定义和调用有初步的认识,能模仿编程。 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/9828 我在这个课程的目标是 学习基本函数的定义和调用 这个作业在那个具体方面帮助我实现目标 使用基本函数实现简化程序 参考文献 百度 1.PTA实验作业 1.1 题目名1 编写函数fun,其功能是:判断一个整数的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。 函数接口定义: int fun(int n ); 其中 n 是用户传入的参数。 函数判断n的各位数字平方之和能否被5整除,能被5整除则返回1,否则返回0。 裁判测试程序样例: #include <stdio.h> int fun( int n ); int main() { int m; scanf("%d", &m); printf("The result is %d\n", fun(m)); return 0; } 1.1.1数据处理 数据表达:运用(整型)int定义sum,result 数据处理:运用for循环语句

call apply bind的使用方法和区别

旧城冷巷雨未停 提交于 2019-12-01 16:29:06
call 1.改变this指向 2.执行函数 3.传参 var obj={}; function fun(a,b){ console.log(a,b,this); } fun(1,2); //1,2,window fun.call(obj,3,4); //3,4,obj apply 1.改变this指向,执行函数,传参(参数必须是数组的形式) var obj={}; function fun(a,b){ console.log(a,b,this); } fun(1,2); fun.apply(obj,[3,4]); bind 1.改变this指向 2.执行函数(bind方法不会立即执行函数,而是返回了一个新的函数,新的函数调用的时候才会执行) 3.传参(参数会传递到返回的函数中,例下面的3,4会传递到fun1中,即fun1(3,4)) var obj={}; function fun(a,b){ console.log(a,b,this); } fun(1,2); var fun1=fun.bind(obj,3,4); fun1(); 来源: https://www.cnblogs.com/maozo/p/11693126.html

多维数组指针和函数指针

半城伤御伤魂 提交于 2019-12-01 08:30:21
1.多维数组指针 1)用一维数组指针访问一维数组 代码: void fun(){ int arr[5] = {1,2,3,4,5}; int (*p)[5] = &arr; printf("%d\n", *(*(p) + 2)); //结果是3 int (*px)[2] = (int (*)[2])arr; //强转为宽度为两个int的数组指针类型 printf("%d\n", *(*(px+1)+1)); //结果是4 } 分析: 取地址运算&后的arr是其类型加上一个*,也就是int (*)[5]; &arr的值和arr的值一样都是数组的首地址,只是类型不一样; *p是数组类型,相当于int*,根据带*类型的加法特性,相当于加2个int宽度,也就是从执行1到指向了3; int*做解引用,结果是3; px是两个int的数组指针,用强转的方式给它赋值,此时指向arr首地址; px+1的结果是加上px的类型去掉一个*的宽度,也就是加上两个int的宽度; *(px+1)是数组类型,相当于int*,加1后再加上一个int宽度; 总共加了3个int宽度,指向了4; 2)一维数组指针访问二维数组 代码: void fun(){ int arr[2][5] = {{1,2,3,4,5},{6,7,8,9,10}}; int (*p)[5] = (int (*)[5])arr; printf("

尽量使用内联函数替代宏函数

前提是你 提交于 2019-12-01 07:26:01
  宏函数看起来像函数,却不会带来函数调用的额外开销,但是宏函数也有其弊端,例如:   #define CALL_MAX_FUN(a, b) fun((a) > (b) ? (a) : (b))   int a = 5, b=0;   CALL_MAX_FUN(++a, b); //a自增2次   CALL_MAX_FUN(++a, b+10); //a自增1次   同样的调用,竟然会因为参数的不同,导致a的结果值不同。      所以尽量使用内联函数来替代宏,内联函数由于其内链接的属性,可以在头文件中定义,并且被多个编译单元引用。另外内联函数也不会带来函数调用的额外开销。另外内联函数是真正的函数,它遵守作用域和访问规则。   template<typename T>   inline void CallMaxFun(const T& a, const T& b)   {     f( a > b ? a : b);   } 来源: https://www.cnblogs.com/fangyan5218/p/11668707.html

继承与派生

若如初见. 提交于 2019-12-01 07:24:04
一、基本概念 1、类的继承,是新的类从已有类那里得到已有的特性。或从已有类产生新类的过程就是类的派生。原有的类称为基类或父类,产生的新类称为派生类或子类。 2、派生类的声明: class 派生类名:继承方式 基类名1, 继承方式 基类名2,...,继承方式 基类名n { ​ 派生类成员声明; }; 3、一个派生类可以同时有多个基类,这种情况称为多重继承,派生类只有一个基类,称为单继承。直接派生,间接派生。 4、继承方式规定了如何访问基类继承的成员。继承方式有public, private, protected。如果不显示给出继承方式,默认为private继承。继承方式指定了派生类成员以及类外对象对于从基类继承来的成员的访问权限。 5、派生类继承基类中除构造和析构函数以外的所有成员。 6、派生类生成: 吸收基类成员(除构造析构函数以外的所有成员); 改造基类成员(根据继承方式调整基类成员的访问,函数在子类中的覆盖,以及虚函数在子类中的覆盖); 添加新的成员; 7、公有继承 当类的继承方式为公有继承时,基类的公有和保护成员的访问属性在派生类中不变,而基类的私有成员不可访问。即基类的公有成员和保护成员被继承到派生类中仍作为派生类的公有成员和保护成员。派生类的其他成员可以直接访问它们。无论派生类的成员还是派生类的对象都无法访问基类的私有成员。 8、私有继承 当类的继承方式为私有继承时

Python定时器

穿精又带淫゛_ 提交于 2019-12-01 03:25:38
在实际应用中,我们经常需要使用定时器去触发一些事件。Python中通过线程实现定时器timer,其使用非常简单。看示例: import threading def fun_timer(): print('Hello Timer!') timer = threading.Timer(1, fun_timer) timer.start() 输出结果: Hello Timer! Process finished with exit code 0 注意,只输出了一次,程序就结束了,显然不是我们想要的结果。看Timer类中的解释性描述: """Call a function after a specified number of seconds""" 一段时间后调用一个函数,但并没有说要循环调用该函数。因此,修改如下: def fun_timer(): print('Hello Timer!') global timer timer = threading.Timer(5.5, fun_timer) timer.start() timer = threading.Timer(1, fun_timer) timer.start() 输出结果: Hello Timer! Hello Timer! Hello Timer! Hello Timer! ............ 定时器工作正常。

Python的定时器

▼魔方 西西 提交于 2019-12-01 03:24:36
在实际应用中,我们经常需要使用定时器去触发一些事件。P ython中通过线程实现定时器timer,其使用非常简单。看示例: import threading def fun_timer (): print ( 'Hello Timer!' ) timer = threading.Timer( 1 , fun_timer) timer.start() 输出结果: Hello Timer! Process finished with exit code 0 注意,只输出了一次,程序就结束了,显然不是我们想要的结果。看Timer类中的解释性描述: """Call a function after a specified number of seconds""" 一段时间后调用一个函数,但并没有说要循环调用该函数。因此,修改如下: def fun_timer (): print ( 'Hello Timer!' ) global timer timer = threading.Timer( 5.5 , fun_timer) timer.start() timer = threading.Timer( 1 , fun_timer) timer.start() 输出结果: Hello Timer! Hello Timer! Hello Timer! Hello Timer! .........

python 杂记

随声附和 提交于 2019-11-30 19:56:23
#偏函数from functools import partialdef demo(a,*args): print(a) print(args)par_fun = partial(demo,1)par_fun(3,3,4,5) 来源: https://www.cnblogs.com/ls1997/p/11638516.html

学习函数时一些没注意到的地方

落花浮王杯 提交于 2019-11-30 19:39:12
动态参数 a = [1,2,3] def sum(*args): n = 0 for i in a: n += i print(n) sum(a) 用for遍历 Tip:*args:接收的是按照位置传参的值,组织成一个元组 **kwargs:接收的是安装关键字传参的值,组织成一个字典 def fun(*args,**kwargs): print(args,kwargs) fun(1,2,3,a='1',b='2') 来源: https://www.cnblogs.com/shuoran/p/11637806.html

C++中的static的作用

时光总嘲笑我的痴心妄想 提交于 2019-11-30 16:18:36
C++中的static的作用 C++中的关键字static,顾名思义表示静止,静态,下面是C++中static的一些常见应用 一,作用于函数内部的局部变量 局部作用域静态变量的特点:当一个函数返回后,下一次再调用时,该变量还会保持上一回的值,函数内部的静态变量只开辟一次空间,且不会因为多次调用产生副本,也不会因为函数返回而失效 例如: 如果我想实现fun()函数功能:在函数内部定义count计数器,打印出每次调用它的次数,你可能会这样写,如下 #include<iostream> using namespace std; void fun() { int count = 0;//不加关键字static count++; cout << "count=" << count << endl; } int main() { cout << "Calling the “fun()”for the first time! " << endl; fun(); cout << "Calling the “fun()”for the second time! " << endl; fun(); return 0; } 我们预计结果为: 第一次调用,打印出结果 1 第二次调用,打印出结果 2 我们试着运行后,结果并不是我们想要的,如下图: 两次运行结果都是1,这是为什么呢,原来是每次调用函数结束后