黑马程序员——C语言函数篇

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

函数的使用:

1、实参个数必须等于形参个数。

2、函数体内部不能定义和函数形参一样的变量。

3、如果是基本数据类型作为函数形参,纯粹是值传递。修改函数内部形参的值,不会影响外面实参的值。

4、一个函数可以没有形参,例如main函数。也可以有无限形参。

<span style="font-size:18px;">#include <stdio.h>
int sum(int num1, int num2)
{
  num1 = 50;   //不能写为 int num1 = 50; 
   ruturn num1 + num2;
}
int main()
{
int a = 100;
int b = 20;
int c = sum(a, b); // 调用函数求和
printf(“a = %d, b = %d, c = %d \n”, a, b, c);
return 0;

}  /*输出结果为a = 100,b = 20,c = 70,实参传递给形参,在函数内计算,然后返回函数值。 形参:定义函数时函数后面的参数。实参:函数调用时传入的具体数据。*/</span>

return的用法:

1、退出函数

2、返回一个具体值给函数调用者。

 若定义函数voidtest() 表示函数没有返回值。可以写成

<span style="font-size:18px;">void test()  
{   
return;  // 但不能写成return 0;
}</span><span style="font-size:14px;">
</span>

就算声明了返回值类型,也可以不返回任何值。

若不定义函数返回类型,默认为int型。


函数使用注意:

函数不能嵌套定义(即函数里面定义新函数)。 不允许函数名称一样。

 函数声明,要写在main函数前面。例如:

<span style="font-size:18px;">#include <stdio.h>
void test();   /*提前声明函数或者声明写在main函数中,但一定要在调用之前声明,才能将函数的定义写在main函数后面。可以重复声明。*/
int main()
{
  test();
return 0;
}
void test()
{
printf(“------------------\n”);
}</span><span style="font-size:14px; ">
</span>


#include <stdio.h> 的使用。

1、拷贝右边文件的所有内容到#include所在的位置。例如#include”ab.txt”。

2、义的文件用””。系统自带的文件用<> 。

3、#include<stdio.h>的目的是拷贝printf等函数的声明。

<span style="font-size:18px;">#include <stdio.h>
int main()
{
#include”ab.txt”  /*b.txt要和.c文件在一个文件夹内。否则要用根目录调用它,  这样就会把ab.txt里面的东西复制到这里并显示出来。*/
return 0;
}</span><span style="font-size:14px;">
</span>

多文件团队开发:

把项目中所有相关联的.o目标文件、c语言函数库合并在一起生成可执行文件。叫链接。

1、 函数的定义放.c文件,函数的声明放.h文件。

2、 如果要使用某个.c文件中定义的函数,只需要#include这个.c文件对应的.h文件。

3、.h的文件只有一个作用,被别人拷贝。编译链接的时候不用编译链接.h。

printf 的一个用法

<span style="font-size:18px;">#include<stdio.h>
int main()
{
   int a = printf(“haha\n”);
printf("a = %d",a);  /*结果为a = 5   printf返回字符串的字符长度,一个汉字占3个字符。\n为转义字符,占一个。例如\t,                        要输出双引号要用 \” */  。
return 0;
}</span><span style="font-size:24px;">
</span>

进制:

#include <stdio.h>
int main()
{
int num1 = 10; // 默认为十进制数
int num2 = 0b1010; // 带0b(B)的为二进制。
int num3 = 014; // 加0代表八进制。
int num4 = 0xc; // 加0x(X)为十六进制。
ruturn 0;
}

%d或者%i 十进制输出。%o 八进制输出。 %x十六进制输出。%c输出字符。%p输出地址。 %f输出小数。

 判断数字定义:15.4e6 ==15.4乘以10的六次方   

位运算实例:

#include <stdio.h>
int main()
{
 void printbits(int num);
  printbits(9);
return 0;
} 
void printbits(int num)
{
int i = (sizeof(num)<<3 ) - 1   /*先用sizeof求出num所占字节数,然后左移3位(即乘以8,一个字节占8位),再减去1*/
while(i>=0)
{
int j = (num>>i)&1;  // 右移i位然后与1按位与,即可得到本位。
printf(“%d”,j);  // 将这一位输出
i--;
if((i+1)%4 == 0)
{  printf(" ");} //满四位空一格
}
printf("\n");
}




 






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值