百韵网 >>  正文

请问一下c语言编程中#include和void(还有其他相同作用的语言)后面在什么时候填写什么内容?? 请问c语言中#include 后面的“”和<>有什么区别?谢...

来源:www.baiyundou.net   日期:较早时间
1.
#include<stdio.h>
是头文件包含声明,stdio.h是标准输入输出头文件,它给了程序操作的可能性,使得程序的标准输入输出操作函数有意义,printf,scanf,putchar,getchar等,不然编译器会报错;头文件其实就是定义了这些函数的文件,它是系统提供给我们的接口。
亦如:
#include<conio.h>
#include<math.h>

2.
main()
是主函数声明;
main(void)
后面的void是修饰符即说明主函数无参数传递;

#include <stdio.h> //#include后面跟.h文件
int main(){
return 0;
}

请问c语言中#include 后面的“”和<>有什么区别?谢谢!~

即先找库中的头文件,如果库中没有,则找用户自定义的头文件;
‘’正好相反

就是一个先后问题。可以通用,尽量区别开

1.概述
许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并

详述void及void指针类型的使用方法与技巧。

2.void的含义
void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。

void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义:

void a;

这行语句编译时会出错,提示“illegal use of type 'void'”。不过,即使void a的编译不会出错,它也没有任何实际意义。

void真正发挥的作用在于:
(1) 对函数返回的限定;
(2) 对函数参数的限定。

我们将在第三节对以上二点进行具体说明。

众所周知,如果指针p1和p2的类型相同,那么我们可以直接在p1和p2间互相赋值;如果p1和p2指向不同的数据类型,则必须使用强制类型

转换运算符把赋值运算符右边的指针类型转换为左边指针的类型。

例如:
float *p1;
int *p2;
p1 = p2;

其中p1 = p2语句会编译出错,提示“'=' : cannot convert from 'int *' to 'float *'”,必须改为:
p1 = (float *)p2;
而void *则不同,任何类型的指针都可以直接赋值给它,无需进行强制类型转换:
void *p1;
int *p2;
p1 = p2;

但这并不意味着,void *也可以无需强制类型转换地赋给其它类型的指针。因为“无类型”可以包容“有类型”,而“有类型”则不能包

容“无类型”。道理很简单,我们可以说“男人和女人都是人”,但不能说“人是男人”或者“人是女人”。下面的语句编译出错:
void *p1;
int *p2;
p2 = p1;

提示“'=' : cannot convert from 'void *' to 'int *'”。

3.void的使用

下面给出void关键字的使用规则:
规则一 如果函数没有返回值,那么应声明为void类型

在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。但是许多程序员却误以为其为void类型。例如:
add ( int a, int b )
{
return a + b;
}
int main(int argc, char* argv[])
{
printf ( "2 + 3 = %d", add ( 2, 3) );
}

程序运行的结果为输出:
2 + 3 = 5
这说明不加返回值说明的函数的确为int函数。

林锐博士《高质量C/C++编程》中提到:“C++语言有很严格的类型安全检查,不允许上述情况(指函数不加类型声明)发生”。可是编译

器并不一定这么认定,譬如在Visual C++6.0中上述add函数的编译无错也无警告且运行正确,所以不能寄希望于编译器会做严格的类型检查。

因此,为了避免混乱,我们在编写C/C++程序时,对于任何函数都必须一个不漏地指定其类型。如果函数没有返回值,一定要声明为void类

型。这既是程序良好可读性的需要,也是编程规范性的要求。另外,加上void类型声明后,也可以发挥 代码的“自注释”作用。代码的“自注

释”即代码能自己注释自己。

规则二如果函数无参数,那么应声明其参数为void

在C++语言中声明一个这样的函数:
int function(void)
{
return 1;
}

则进行下面的调用是不合法的:
function(2);

因为在C++中,函数参数为void的意思是这个函数不接受任何参数。

我们在Turbo C 2.0中编译:
#include "stdio.h"
fun()
{
return 1;
}
main()
{
printf("%d",fun(2));
getchar();
}

编译正确且输出1,这说明,在C语言中,可以给无参数的函数传送任意类型的参数,但是在C++编译器中编译同样的代码则会出错。在C++

中,不能向无参数的函数传送任何参数,出错提示“'fun' : function does not take 1 parameters”。

所以,无论在C还是C++中,若函数不接受任何参数,一定要指明参数为void。

规则三 小心使用void指针类型

按照ANSI(American National Standards Institute)标准,不能对void指针进行算法操作,即下列操作都是不合法的:
void * pvoid;
pvoid++; //ANSI:错误
pvoid += 1; //ANSI:错误
//A

相关要点总结:

13984873540:C语言编程中请问b[a[i]]++;是什么意思呀?能详细解释一下吗?
羿闸答:a有十个数字,a[i]就是遍历a中的每一个数字 b[i]表示数字i出现的次数,所以b[a[i]]就是数字a[i]出现的次数 所以 b[a[i]]++的意思就是,当数字a[i]出现一次,在b数组中对应位置的计数加一 设5在a数组中出现了5次,即a[i]出现了5次,而当a[i]=5时,b[5]的值就加一,则遍历结...

13984873540:请问一下c语言编程中#include和void(还有其他相同作用的语言)后面在...
羿闸答:1.include<stdio.h> 是头文件包含声明,stdio.h是标准输入输出头文件,它给了程序操作的可能性,使得程序的标准输入输出操作函数有意义,printf,scanf,putchar,getchar等,不然编译器会报错;头文件其实就是定义了这些函数的文件,它是系统提供给我们的接口。亦如:include<conio.h> include<math.h> 2....

13984873540:C语言在编程的时候应注意什么问题?
羿闸答:在程序开发的过程中,上机调试程序是一个不可缺少的重要环节。“三分编程七分调试”,说明程序调试的工作量要比编程大得多。这里以如何上机调试C程序来说明C语言的学习方法。 第一步、验证性练习 在这一步要求按照教材上的程序实例进行原样输入,运行一下程序是否正确。在这一步基本掌握C语言编程软件的使用方法(包括...

13984873540:请问C语言中的buf一般指什么
羿闸答:buf是英文buffer的缩写,意思是缓冲区, 它本质上就是一段存储数据的内存。1、在C语言编程中一般用数组来表示一个缓冲区。如下:char buf[256] = {0}; //定义一个数组作为缓冲区。scanf("%s", buf); //向缓冲区中输入数据printf("%s", buf); //输出缓冲区的内容2、C语言编译器生...

13984873540:请教一下编程C语言题,使用函数方程求出总键盘输入的任意两个整数的平均...
羿闸答:首先,你需要通过键盘然后,计算这两个整数的平均值,并保留两位小数输出。下面是一个使用C语言实现的示例代码:c#include <stdio.h> // 函数,用于计算两个整数的平均值 double average(int a, int b) { return (double)(a + b) / 2;} int main() { int num1, num2;// 从键盘输入两...

13984873540:我是刚开始学c语言的! 想问一下在c语言的编程中什么时候用到include"ma...
羿闸答:用到以下函数的时候包含math.h 1、 三角函数 正弦 余弦 正切 2 、反三角函数 3 、双曲三角函数 4 、指数与对数 5 、取整 6 、绝对值 7 、标准化浮点数 8 、取整与取余 9 、其他

13984873540:请问一下大佬们,这道C语言编程题我为什么错,还有这些监测点的划分依据是...
羿闸答:C语言中一般int为32位,最大只能表示12的阶乘,超过12就会产生溢出,而题目中明确说明了数据会在double范围内,就是有可能超过int所表示范围。需要改为double类型。监测点划分依据:Cmn表示从n中选m个有多少情况,通过数学分析我们知道,当m=n/2时取得最大值。因为我们有公式只要m1+m2=n那Cm1n=Cm2n...

13984873540:在C语言中,计算机程序通常有哪几种错误?
羿闸答:1、系统错误:这是指程序没有语法错误和逻辑错误,但程序的正常运行依赖于某些外部条件的存在,如果这些外部条件缺失,则程序将不能运行。2、语法错误:这是指程序中含有不符合语法规定的语句,例如关键字或符号书写错误(将printf写成print、将数组元素引用写成a(2)等)、使用了未定义的变量、括号不配对...

13984873540:求教 谁能解释一下编程语言中的 类。 c语言中有 类 的概念吗?_百度知 ...
羿闸答:没有!C中只有结构体…而类,是C++中相似于结构体但又比结构体要强大…类是一种很抽象的概念,有点难说明,还是自己去找教材来看看的好!

13984873540:我想问一下,在单片机C语言编程中是否可以直接通过十进制数来控制?_百 ...
羿闸答:是的 ;它只认二进制, 0xFF和255的二进制标示是一样的 所以结果也一样。 (不过 某些时候和编译器还有关系)

(编辑:本站网友)
相关推荐
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图
@ 百韵网