您的位置:

参数辨识c语言,c++判断参数类型

本文目录一览:

c与c++语言编译器是如何识别关键字

根据编译器的不同,有不同的识别方式,例如VC6.0使用系统内建关键字列表,如果用户定义变量的时候使用了系统默认的关键字,则会在编译的时候产生错误。

附上:

C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。

1 数据类型关键字(12个):

(1) char :声明字符型变量或函数

(2) double :声明双精度变量或函数

(3) enum :声明枚举类型

(4) float:声明浮点型变量或函数

(5) int: 声明整型变量或函数

(6) long :声明长整型变量或函数

(7) short :声明短整型变量或函数

(8) signed:声明有符号类型变量或函数

(9) struct:声明结构体变量或函数

(10) union:声明联合数据类型

(11) unsigned:声明无符号类型变量或函数

(12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)

(2)控制语句关键字(12个):

A循环语句

(1) for:一种循环语句(可意会不可言传)

(2) do :循环语句的循环体

(3) while :循环语句的循环条件

(4) break:跳出当前循环

(5) continue:结束当前循环,开始下一轮循环

B条件语句

(1)if: 条件语句

(2)else :条件语句否定分支(与 if 连用)

(3)goto:无条件跳转语句

C开关语句

(1)switch :用于开关语句

(2)case:开关语句分支

(3)default:开关语句中的“其他”分支

D

return :子程序返回语句(可以带参数,也看不带参数)

3 存储类型关键字(4个)

(1)auto :声明自动变量 一般不使用

(2)extern:声明变量是在其他文件正声明(也可以看做是引用变量)

(3)register:声明积存器变量

(4)static :声明静态变量

4 其它关键字(4个):

(1)const :声明只读变量

(2)sizeof:计算数据类型长度

(3)typedef:用以给数据类型取别名(当然还有其他作用

(4)volatile:说明变量在程序执行中可被隐含地改变

c语言定义函数它只识别数字吗

C源程序是由函数组成的。最简单的程序有一个主函数 main(),但实用程序往往由多个函数组成,由 主函数调用其他函数,其他函数也可以互相调用。函数是C源程序的基本模块,程序的许多功能是通过对 函数模块的调用来实现的,学会编写和调用函数可以提高编程效率。

函数的定义通常包含以下内容:

返回值类型 函数名(形参表说明) /*函数首部*/

{

说明语句 /*函数体*/ 报考指南

执行语句

}

对上面的定义形式进行以下说明:

(1)“返回值类型”是指函数返回值的类型。函数返回值不能是数组,也不能是函数,除此之外任何合法的数据类型都可以是函数的类型,如:int,long,float,char 等。函数类型可以省略,当不指明函数类型时,系统默认的是整型。

(2)函数名是用户自定义的标识符,在 C 语言函数定义中不可省略,须符合 C 语言对标识符的规范, 用于标识函数,并用该标识符调用函数。另外函数名本身也有值,它代表了该函数的入口地址,使用指针 调用函数时,将用到此功能。

(3)形参又称为“形式参数”。形参表是用逗号分隔的一组变量说明,包括形参的类型和形参的标识 符,其作用是指出每一个形参的类型和形参的名称,当调用函数时,接收来自主调函数的数据,确定各参 数的值。

(4)用{ }括起来的部分是函数的主体,称为函数体。函数体是一段程序,确定该函数应完成的规定的 运算,应执行的规定的动作,集中体现了函数的功能。函数内部应有自己的说明语句和执行语句,但函数 内定义的变量不可以与形参同名。花括号{ }是不可以省略的。

根据函数定义的一般形式,可以定义一个最简单的函数:

这是 C 语言中一个合法的函数,函数名为 add。它的函数返回值为int,没有形参表,同时函数体内只有一条因为返回值为int而必须有的返回值语句。实际上函数 add 不执行任何操作和运算,它是一个空函数,在一般情况下是没有用途的,但 在程序开发的过程中有时是需要的,常用来代替尚未开发完毕的函数。

计算机如何识别整型和浮点型

1楼的在胡扯。32位的就是浮点型么??。32位系统中,整型就是32位的,浮点型是64位的。

事实上,计算机根本无法识别是什么类型。在汇编层,数据本来也无“类型”可言,关键看程序怎么去处理数据。如果程序设计者把这段32位的内存块当作一个整型,那么它就是整型,如果当作一个串(比如4个元素的单字节的数组),那么它就是一个串。。

----------------------------------

就是说。计算机看待内存本来是没有数据类型的,他只知道,内存是一字节一字节的....数据类型是人为的划分,是程序员定义的。

比如: int a;

char b[4];

wchar c[2];

上面的代码,在32位系统中,他们都是定义一块内存,大小都是4个字节,对于计算机来说,他们事实上没有任何区别,但是对于程序员来说,他们的区别很大。

当访问时:

a = 0;

b[0] = 'a', b[1] = 'b', b[2] = 'c', b[3] = 0;

c[0] = L'a', c[1] = L'b';

在C语言中,他们是有区别的,如上。

但是在汇编层他们都会被翻译成如下形势的代码:

MOV [ DDD + XXX ], YYY

如果代码在某函数中,DDD是堆栈指针,XXX是便宜,YYY是操作数。

----------------------------

你可以做一下这样的测试(把一个整型值当作一个字符串来打印)

int a = 0;

a = ( (int)'a' 24 ) + ( (int)'b' 16 ) + ( (int)'c' 8 );

printf(( char * ) a );