1. 函数名称c语言
在C语言中,所有的函数定义,包括主函数main在内,都是平行的。也就是说,在一个函数的函数体内, 不能再定义另一个函数, 即不能嵌套定义。
但是函数之间允许相互调用,也允许嵌套调用。习惯上把调用者称为主调函数。 函数还可以自己调用自己,称为递归调用。main 函数是主函数,它可以调用其它函数,而不允许被其它函数调用。
因此,C程序的执行总是从main函数开始, 完成对其它函数的调用后再返回到main函数,最后由main函数结束整个程序。一个C源程序必须有,也只能有一个主函数main。
2. c语言中函数名
定义函数为double型,就只需要在返回值为double,格式为: double 函数名 (形参列表)
3. c语言函数的命名规范
C语言的函数定义格式是:函数返回值类型函数名(参数列表){//函数体}在使用函数时,要先做声明,格式如下:函数类型函数名称(参数列表);特别地,在函数声明中的参数列表中,不需给出具体的变量名称,但要给出每个变量的类型。
4. 函数名称c语言是什么
加减乘除是常见的数学运算,C语言仍然支持,不过,C语言中的运算符号与数学中的略有不同,请见下表。
C语言中的加号、减号与数学中的一样,乘号、除号不同;另外C语言还多了一个求余数的运算符,就是 %。
下面的代码演示了如何在C语言中进行加减乘除运算:
#include <stdio.h>
int main()
{
int a = 12;
int b = 100;
float c = 8.5;
int m = a + b;
float n = b * c;
double p = a / c;
int q = b % a;
printf("m=%d, n=%f, p=%lf, q=%d\n", m, n, p, q);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
输出结果:
m=112, n=850.000000, p=1.411765, q=4
1
1
让数字直接参与运算:
#include <stdio.h>
int main()
{
int a = 12;
int b = 100;
float c = 8.9;
int m = a - b; // 变量参与运算
int n = a + 239; // 有变量也有数字
double p = 12.7 * 34.3; // 数字直接参与运算
printf("m=%d, n=%d, p=%lf\n", m, n, p);
printf("m*2=%d, 6/3=%d, m*n=%ld\n", m*2, 6/3, m*n);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
输出结果:
m=-88, n=251, p=435.610000
m*2=-176, 6/3=2, m*n=-22088
1
2
1
2
除法运算
C语言中的除法运算有点奇怪,不同类型的除数和被除数会导致不同类型的运算结果:
当除数和被除数都是整数时,运算结果也是整数;如果不能整除,那么就直接丢掉小数部分,只保留整数部分,这跟将小数赋值给整数类型是一个道理。
一旦除数和被除数中有一个是小数,那么运算结果也是小数,并且是 double 类型的小数。
1
2
3
1
2
3
请看下面的代码:
#include <stdio.h>
int main()
{
int a = 100;
int b = 12;
float c = 12.0;
double p = a / b;
double q = a / c;
printf("p=%lf, q=%lf\n", p, q);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
运行结果:
p=8.000000, q=8.333333
1
1
a 和 b 都是整数,a / b 的结果也是整数,所以赋值给 p 变量的也是一个整数,这个整数就是 8。
另外需要注意的一点是除数不能为 0,因为任何一个数字除以 0 都没有意义。
请看下面的代码:
#include <stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b); //从控制台读取数据并分别赋值给a和b
printf("result=%d\n", a / b);
return 0;
}
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
这段代码用到了一个新的函数,就是 scanf。scanf 和 printf 的功能相反,printf 用来输出数据,scanf 用来读取数据。此处,scanf 会从控制台读取两个整数,并分别赋值给 a 和 b。
程序开头定义了两个 int 类型的变量 a 和 b,程序运行后,从控制台读取用户输入的整数,并分别赋值给 a 和 b,这个时候才能知道 a 和 b 的具体值,才能知道除数 b 是不是 0。像这种情况,b 的值在程序运行期间会改变,跟用户输入的数据有关,编译器根本无法预测,所以就没法及时发现“除数为 0”这个错误。
取余运算
取余,也就是求余数,使用的运算符是 %。C语言中的取余运算只能针对整数,也就是说,% 的两边都必须是整数,不能出现小数,否则编译器会报错。
另外,余数可以是正数也可以是负数,由 % 左边的整数决定:
如果 % 左边是正数,那么余数也是正数;
如果 % 左边是负数,那么余数也是负数。
1
2
3
1
2
3
请看下面的例子:
#include <stdio.h>
int main()
{
printf(
"100%%12=%d \n100%%-12=%d \n-100%%12=%d \n-100%%-12=%d \n",
100%12, 100%-12, -100%12, -100%-12
);
return 0;
}
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
运行结果:
100%12=4
100%-12=4
-100%12=-4
-100%-12=-4
1
2
3
4
1
2
3
4
在 printf 中,% 是格式控制符的开头,是一个特殊的字符,不能直接输出;要想输出 %,必须在它的前面再加一个 %,这个时候 % 就变成了普通的字符,而不是用来表示格式控制符了。
加减乘除运算的简写
有时候我们希望对一个变量进行某种运算,然后再把运算结果赋值给变量本身,请看下面的例子:
#include <stdio.h>
int main()
{
int a = 12;
int b = 10;
printf("a=%d\n", a);
a = a + 8;
printf("a=%d\n", a);
a = a * b;
printf("a=%d\n", a);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
输出结果:
a=12
a=20
a=200
1
2
3
1
2
3
a = a + 8相当于用原来 a 的值(也即12)加上 8,再把运算结果(也即20)赋值给 a,此时 a 的值就变成了 20。
a = a * b相当于用原来 a 的值(也即20)乘以 b 的值(也即10),再把运算结果(也即200)赋值给 a,此时 a 的值就变成了 200。
上述操作,可以理解为对变量本身进行某种运算。
在C语言中,对变量本身进行运算可以有简写形式。假设用 # 来表示某种运算符,那么
a = a # b
1
1
可以简写为:
a #= b
1
1
# 表示 +、-、*、/、% 中的任何一种运算符。
1
1
上例中a = a + 8可以简写为a += 8,a = a * b可以简写为a *= b。
下面的简写形式也是正确的:
int a = 10, b = 20;
a += 10; //相当于 a = a + 10;
a *= (b-10); //相当于 a = a * (b-10);
a -= (a+20); //相当于 a = a - (a+20);
1
2
3
4
1
2
3
4
注意:a #= b 仅是一种简写形式,不会影响程序的执行效率。
5. 函数名称c语言怎么写
C语言中,主函数命名内置为main()。不同的编译器,可以手工指定主函数名称。对于gcc来说,可以用以下的方法:gcc -nostartfiles -e <入口名> xx.c -o xx。
6. c语言函数名称的命名规则
Matlab文件的命名规则与windows下文件命名的规则不同,错误的命名规则将直接导致程序不能运行或错误的结果,而没有任何警告。
首字符不能是数字或下划线:如果首字母是数字或者下划线,MATLAB通常提示找不到该文件。
文件名命名要用英文字符, 不可以包含中文。
文件名不能与matlab的内部函数名相同:m文件名的命名尽量不要是简单的英文单词,最好是由大小写英文/数字/下划线等组成。原因是简单的单词命名容易与matlab内部函数名同名,结果会出现一些莫名其妙的错误;
m文件起名不能有空格:如three phase,应该写成three_phase或者ThreePhase,推荐后者,因为C++也是这样命名的。若需要用两个或以上单词组合作为文件名,各单词必须直接连接组合(可以把每个单词首字母大写以作区分,或者使用下划线)。如random walk,应该写成RandomWalk或者Random_Walk。
文件存储路径一定为英文路径:如果用带有中文的路径,某些情况下会出问题。
M文件名的命名最好是由大小写英文字母/数字/下划线等组成。如果出现相同MATLAB通常会提示。
7. c语言中函数名的命名规则
函数名: abort
功 能: 异常终止一个进程
用 法: void abort(void);
程序例:
#include
#include
int main(void)
{ printf("Calling abort()\n");
abort();
return 0; /* This is never reached */
}
函数名: abs
功 能: 求整数的绝对值
用 法: int abs(int i);
程序例:
#include
#include
int main(void)
{ int number = -1234;
printf("number: %d absolute value: %d\n", number, abs(number)); return 0;
}
函数名: absread, abswirte
功 能: 绝对磁盘扇区读、写数据
用 法: int absread(int drive, int nsects, int sectno, void *buffer); int abswrite(int drive, int nsects, in tsectno, void *buffer);
程序例:
/* absread example */
#include
#include
#include
#include
int main(void)
{ int i, strt, ch_out, sector;
char buf[512];
printf("Insert a diskette into drive A and press any key\n"); getch();
sector = 0;
if (absread(0, 1, sector, &buf) != 0)
{ perror("Disk problem");
exit(1);
}
printf("Read OK\n");
strt = 3;
for (i=0; i<80; i++)
{ ch_out = buf[strt+i];
putchar(ch_out);
}
printf("\n");
return(0);
}
函数名: access
功 能: 确定文件的访问权限
用 法:
- 相关评论
- 我要评论
-