c语言什么时候用
1. c语言中 什么时候用void 什么时候用int
在c语言中,有返回值的就用int,没有返回值就用void。
在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。即不加返回值说明的函数为返回为int的函数。
如果函数没有返回值,一定要声明为void类型。这既是程序良好可读性的需要,也是编程规范性的要求。另外,加上void类型声明后,也可以发挥代码的“自注释”作用。代码的“自注释”即代码能自己注释自己。
(1)c语言什么时候用扩展阅读:
给定一个正整数,如果除以100,看得到的余数是否大于50。如果大于等于50,则用int函数(注意,int函数具有向下取整的特性)对商取整,并加1,得到结果乘以100即可;如果余数小于50,则用int函数对商取整,直接乘以100。
int函数是取整函数,其的语法是int(数字),函数将对括号中的数字向下取整,如int(6.9)=6, int(-6.9)=-7。
mod函数是取余函数,其的语法是mod(数字,除数),函数将对商进行取余处理。注意,当数字为负数时,其同样的除数结果可能不同,具体在Excel中参考mod函数的帮助。
2. c语言中什么时候用"->"什么时候用"."
假如结构体
struct
a{int
num};
struct
a
*p,则p->num;
struct
a
p,则
p.num;
当结构体定义的那个变量是指针的时候用->如果定义的是一个变量,则用“.”;
3. 谁知道C语言里什么时候用Printf,什么时候用Scanf,他俩有嘛区别啊!
printf()产生格式化输出的函数,printf()函数实际上是将所有参数的类型输出显示出来,
至于scanf函数,与printf函数一样,都被定义在stdio.h里,因此在使用的时候头文件要加上#include<stdio.h>。它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中
他们两个最末一个字母f即为“格式”(format)之意。就是按指定的类型输入输出!
4. 在C语言里,什么时候用scanf函数
scanf
的意思是把输入的值给送到地址,因此,如果参数已经是地址了,那么不需要
&,否则
需要用&取一下地址
scanf
格式输入函数
函数作用:按照变量在内存的地址将变量值存进去。
一般格式:scanf(格式控制,地址表列)
其中,格式控制:
%d:以带符号的十进制形式输出整数
%o:以八进制无符号形式输出整数
%x:以十六进制无符号形式输出整数
%u:以无符号十进制形式输出整数
%c:以字符形式输出,只输出一个字符
%s:输出字符串
%f:以小数形式输出单,双精度数,隐含输出六位小数
%e:以指数形式输出实数
%g:选用%f或%e格式中输出宽度较短的一种格式,不输
出无意义的0
在格式控制的字母前面可以用几种常见的格式符的修饰符,作用如下:
L:用于长整型整数,可加在格式符d,o,x,u前面
M(代表一个正整数):数据最小宽度
N(代表一个正整数):对实数,表示输出n位小数;
对字符串,表示截取的字符个数
地址列表:是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址
举例:
用scanf函数输入数据。
#include
void
main()
{
int
a,b,c;
scanf(“%d%d%d”,&a,&b,&c);
printf(“%d,%d,%d\n”,a,b,c);
}
运行情况:3
4
5
(回车)
(输入a,b,c的值)3,4,5
(输出a,b,c的值)
使用scanf函数时应注意的问题
:
(1)scanf函数中的“格式控制”后面应当是变量地址,而不应
是变量名。
(2)
如果在“格式控制”字符串中除了格式说明以外还有其他字符,
则在输入数据时在对应位置应输入与这些字符相同的字符。
(3)
在用“%c”格式输入字符时,空格字符和“转义字符”都作为
有效字符输入
(4)
在输入数据时,遇以下情况时认为该数据结束。
①
遇空格,或按“回车”或“跳格”(Tab)键;
②
按指定的宽度结束,如“%3d”,只取3列;
③
遇非法输入。
5. c语言什么时候用lf什么时候用f
f就是float,lf就是long float,所以当你要输入float类型的数值时就用%f,当你要输入double类型数值时就用%lf
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
6. C语言中什么时候用 &
1、取变量地址的时候用。
2、运算符,按位与运算符。
7. C语言中什么时候用int型什么时候用double型
当需要存储含小数点的小数时就可以用double数据类型,存储小数也可以用floor数据类型,不过它的存储范围没有double数据类型的存储范围大,尽管计算机里存储小数从绝对意义来讲都是一个近似值,但因为double的存储范围比floor的存储范围大,可以说用double来表示一个小数相对更准确一些。
8. 在C语言中,什么时候用void main,什么时候用main
就是子函数的返回值,main主函数也是有返回值的,但是一般用不到,都忽略掉了
所以说,一般来说的返回值就是子函数的返回值
还有一点一定要注意,就是一个子函数一定是只能返回一个值,多了不可以。只能用数组或指针来完成
函数的返回值一般有两种,无论有无返回值,都需要标类型
一个是void型的。这个一般也不用,他是空返回值。也就是当不需要返回值的时候,函数的类型标void。其实这个也是会返回一个值,好像是调用成功返回1,不成功返回0
另一种是非void型的。就是在函数前面写上类型,如int,float,char等,这个就是函数的返回值类型。这个一般在子函数的末尾或者程序的某个部位有个return返回一个。但是遇到return子函数一定是要结束的。
其实还有一种返回值,就是scanf和printf等系统带的函数,这个我知道printf的返回值是他打印的字符的数量。
9. c语言 什么时候 用到
如果你的程序要解决数学问题,比如说求平方pow(x,2); 或者求平方根sqrt(x);或者求绝对值fabs(x); 这一类的函数在math.h中有声明,便可直接调用,所以要用到。
10. c语言什么时候使用数组,什么时候使用指针
任何时候都可以使用数组,使用指针。
定义时,通常只有字符指针,和字符数组指针直接定义。用来表示字符串或字符串数组。
其他一般定义数组。操作时用指针或数组。
其他指针,多半用在参数传递,数据结构内部(不确定需要内存的大小,或者链表,二叉树等链式结构)的时候。
还有一种是有些函数参数就是指针,这时定义一个指针,来操作传进来的指针参数比较好。
指针作为参数,有一下几种用法,
1)当作数组用,用来获取或设置数组元素。
2)把一个比较长的数据结构传入函数,只需要一个指针就够了。
3)传入变量的地址,用来读取或修改变量的值,主要是为了修改用。
直接定义一个不指向任何对象的指针,并且也从不给他赋值,没什么意义;
指针要么指向数组,要么指向变量,要么动态申请内存。
NULL指针,只是一个方便的指针,表示不指向任何对象。
真正有用的还是指向具体对象的指针。
如果定义了一个指针,使用时要让他指向一个具体对象,当需要他不指向什么对象的时候,给他赋值为NULL;
PS:
C语言,数组名只是一个指针常量而已,离开定义可见处,数组大小的信息就不存在了。
只有定义完全可见的地方,才可以获得数组的大小。
数组作为函数的参数,和外部引用声明都不能获得数组的大小。
参数只能传递指针,参数的大小只是指针的大小;
只能看到声明的地方,获取数组大小的努力,只能换来错误。
void fun1(int a[10]) //<==> void fun1(int a[]) <==>void fun1(int *a)
{
}
void fun2(int [10][10])// <==>void fun2(int a[][10])<==> void fun2(int (*a)[10])
{
}