技术宅的结界

 找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 75|回复: 0
收起左侧

【VFB】复制C代码(C与FB的差异)(VFB教程3-7)

[复制链接]

47

主题

63

帖子

570

积分

用户组: 大·技术宅

UID
3260
精华
7
威望
12 点
宅币
447 个
贡献
1 次
宅之契约
0 份
在线时间
17 小时
注册时间
2017-12-26
发表于 2018-2-27 10:18:21 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有帐号?立即注册→加入我们

x

此处为VisualFreeBasic编程教程(从零开始学或VB进阶)的子章节部分,全部目录点链接。

高深的,有料的,大多是C语言,但C语言与B语言的语法相差甚远,我们必须基本了解下

就可以无障碍的复制C语言的代码来,自己改B语言使用了。

不过有一点好消息,C语言的数据类型,绝大多少可以直接复制来用,不用修改。

变量声明

[Visual Basic] 纯文本查看 复制代码
C/C++[/p]int a;
int a, b, c;
FreeBASIC
dim a as integer
dim as integer a, b, c

未初始化的变量

[Visual Basic] 纯文本查看 复制代码
int a;[/p]------------------------------------
dim a as integer

零初始化变量

[Visual Basic] 纯文本查看 复制代码
int a = 0;[/p]-------------------------------
dim a as integer

初始化变量

[Visual Basic] 纯文本查看 复制代码
int a = 123;[/p]-------------------------------------
dim a as integer = 123

数组

[Visual Basic] 纯文本查看 复制代码
int a[4];[/p]a[0] = 1;
---------------------------------------
dim a(0 to 3) as integer
a(0) = 1

指针

[Visual Basic] 纯文本查看 复制代码
int a;[/p]int *p;
p = &a;
*p = 123;
-------------------------------------------
dim a as integer
dim p as integer ptr
p=@a
*p = 123

结构,用户定义类型

[Visual Basic] 纯文本查看 复制代码
struct UDT {[/p]int myfield;
}
-------------------------------------
type UDT
     myfield as integer
end type

typedef,别名

[Visual Basic] 纯文本查看 复制代码
typedef int myint;[/p]------------------------------
type myint as integer

结构指针

[Visual Basic] 纯文本查看 复制代码
struct UDT x;[/p]struct UDT *p;
p = &x;
p->myfield = 123;
-------------------------------------
dim x as UDT
dim p as UDT ptr
p = @x
p->myfield = 123

函数声明

[Visual Basic] 纯文本查看 复制代码
int foo( void );[/p]----------------------------------------
function foo( ) as integer

函数体

[Visual Basic] 纯文本查看 复制代码
int foo( void ) {[/p]  return 123;
}
---------------------------------
function foo( ) as integer
    return 123
end function

过程声明

[Visual Basic] 纯文本查看 复制代码
void foo( void );[/p]------------------------------
sub foo( )

过程体

[Visual Basic] 纯文本查看 复制代码
void foo( void ) {[/p]}
----------------------------------
sub foo( )
end sub

Byval参数

[Visual Basic] 纯文本查看 复制代码
void foo( int param );[/p]foo( a );
-------------------------------------------
sub foo( byval param as integer )
foo( a )

byref参数

[Visual Basic] 纯文本查看 复制代码
void foo( int *param );[/p]foo( &a );
 
void foo( int& param );
foo( a );
---------------------------------
sub foo( byref param as integer )
foo( a )

语句分隔符

[Visual Basic] 纯文本查看 复制代码
;   分号[/p]----------------------------------
:   冒号

for循环

[Visual Basic] 纯文本查看 复制代码
for (int i = 0; i < 10; i++) {[/p]...
}
-----------------------------------
for i as integer = 0 to 9     还可以带声明 I 的,省了 DIM i as integer
...
next

while循环

[Visual Basic] 纯文本查看 复制代码
while (condition) {[/p]...
}
-------------------------------
while condition
...
wend

do-while循环

[Visual Basic] 纯文本查看 复制代码
do {[/p]...
} while (condition);
--------------------------------------
do
...
loop while condition

IF ELSE

[Visual Basic] 纯文本查看 复制代码
if (condition) {[/p]...
} else if (condition) {
...
} else {
...
}
-------------------------------------
if condition then
...
elseif condition then
...
else
...
end if

切换,选择

[Visual Basic] 纯文本查看 复制代码
switch (a) {[/p]case 1:
...
break;
case 2:
case 3:
...
break;
default:
...
break;
}
----------------------------------
select case a
case 1
...
 
 
case 2, 3
...
 
case else
...
 
end select

字符串文字,字符串

[Visual Basic] 纯文本查看 复制代码
char *s = "Hello!";[/p]char s[] = "Hello!";
-----------------------------------------------
dim s as zstring ptr = @"Hello!"
dim s as zstring * 6+1 = "Hello!"

调试输出

[Visual Basic] 纯文本查看 复制代码
#include <stdio.h>[/p]int main() {
printf("Hello!\n");
return 0;
}
-------------------------------
print "Hello!"

注释

[Visual Basic] 纯文本查看 复制代码
// foo[/p]/* foo */
------------------------------------
' foo
/' foo '/

编译时检查

[Visual Basic] 纯文本查看 复制代码
#if a [/p]#elif b 
#else
#endif
------------------------------------------
#if a 
#elseif b 
#else
#endif

编译时目标系统检查

[Visual Basic] 纯文本查看 复制代码
#ifdef _WIN32[/p]--------------------------------------------
#ifdef __FB_WIN32__

模块/头文件名

[Visual Basic] 纯文本查看 复制代码
foo.c, foo.h[/p]---------------------------------------------
foo.bas, foo.bi

典型的编译器命令创建可执行文件

[Visual Basic] 纯文本查看 复制代码
gcc foo.c -o foo[/p]-----------------------------------
fbc foo.bas





本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|技术宅的结界 ( 滇ICP备16008837号|网站地图

GMT+8, 2018-5-25 18:53 , Processed in 0.085107 second(s), 15 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表