① c语言中如何一个函数的多次调用
1.可以使用循环语句实现。例如while循环语句,计算机的一种基本循环模式。当满足条件时进入循环,不满足跳出。while语句的一般表达式为:
while(表达式){
循环体
}
2.例程:
#include
int main(){
int n;
while (scanf("%d",&n)!=EOF){ //循环读入n,直到EOF
printf ("%d ",n); //调用函数printf输出n,循环多少次,就是输出多少次
}
return 0;
}
② C语言中允许默认的函数类型是什么
int。C语言规定:在定义函数时,若其返回值类型为int,则可以默认。
C语言函数有三类,分为外部函数、静态函数、内联函数,其中前两种是C89标准支持,第三种是C99标准增加的。
1、外部函数
这类函数是默认的函数类型,基本上平时我们使用的就是这种函数,声明有以下两种方式,例如:
// 使用extern关键字,显示声明
extern int add(int a, int b);
// 或省略关键字extern,编译器也会自动认为是extern
int add(int a, int b);
外部函数表明在当前声明和定义的代码文件中可以使用,也可以在其它代码文件中可以通过#include指令包含使用,对外部的代码可见。
2、静态函数
这类函数其实与外部函数相对的,因为需要使用static关键字修饰,因此称为静态函数,其实就是内部函数。声明方式如下,例如:
static int add(int a, int b);
静态函数的作用域只能在当前声明和定义的文件中,在其它代码文件中无法#include使用,因此在整个程序中,特别是大型程序,有多个源代码文件时,即使定义相同名称的两个静态函数,也不会有命名和使用冲突。
3、内联函数
是新增的特性,使用inline关键字声明和定义,该类函数类似#define宏定义展开,编译时会直接将函数定义代码在调用的地方复制展开,这样会减少函数调用的开销,提高运行效率。
inline int add(int a, int b);
内联函数适合短小的、被频繁调用的函数,对于复杂函数,无法使用。
(2)c语言频繁使用的短小函数扩展阅读:
C语言编写注意事项:
1、const在声明变量中起限制作用, 该限定变量的值不能被修改。
2、%运算符不能应用与float或double类型。
3、char类型转换为int型时, 无法判断它是signed还是unsigned.这样其结果有可能为负数, 因此转换时尽量指定signed和unsigned限制符。
4、++i与i++不同之处: ++i是先+1在使用, i++是先使用i在递加1。
5、三元运算符"?:" 第一个表达式的括号不是必须的,但是由于三元表达式的优先级非常低,我们还是将第一个表达式用()括起便于阅读和理解。
6、C语言中可以使用递归 (即函数调用自身函数), 其不节省储存器开销也不加快执行速度, 只是使程序紧凑便于理解。
③ C语言中 delay 函数如何运用
1、delay函数是一般自己定义的一个延时函数。
2、C语言定义延时函数主要通过无意义指令的执行来达到延时的目的。下面给出一个经典的延时函数。
//定义一个延时xms毫秒的延时函数
voiddelay(unsignedintxms)//xms代表需要延时的毫秒数
{
unsignedintx,y;
for(x=xms;x>0;x--)
for(y=110;y>0;y--);
}
④ C语言使用sin,cos函数小记
1.需要包含头文件#include<math.h>
2.使用角度计算时需要先转换为弧度值
3.pi,获取pi的值,这里用到了acos,反余弦函数,值域是0-pi,取值范围是-1到1
Ps:反余弦没学过,网络上搜的
#include <stdio.h>
#include <math.h>
double toAngle(int);
//测试值
int angle = 30;
int main()
{
double p = sin ( toAngle( angle) );
printf(" sin : %d = %f" , angle ,p);
}
//将角度转为弧度
double toAngle(int angle)
{
//求pi,3.141593
double pi = acos(-1);
printf(" get pi : %f\n",pi);
return angle* pi/180;
}