C与VB

  • 格式:doc
  • 大小:95.00 KB
  • 文档页数:17

7月5日

VB与C 的区别 (2)

表格左边是VB内容,右边是C语言的内容,下同。

基本认识

VB是面向对象的,基于windows操作平台下的可视化编程语言。用户可以用鼠标编写代码。

C语言是面向过程的程序语言。

Turbo C是基于DOS平台的C编译系统。用户无法使用鼠标块操作。

Ctrl+KB块头标记;

Ctrl+KK块尾标记;Ctrl+KC块复制;

Ctrl+KH取消;Ctrl+KV块移动

快捷键

打开工程Ctrl+O

新建工程Ctrl+N

保存Form1:Ctrl+S

退出:Alt+Q

运行:F5 装载文件(Load ):F3 Alt+F5: 查看结果

保存(Save): F2 激活主菜单:F10

退出TC返回DOS(Quit): Alt+X

Ctrl+F9:编译+连接+运行

Esc: 返回上一级菜单

运算符

① 算术运算符(^幂 -取负 *乘法 /浮点除法 \整数除法 Mod取模 +加法 -减法)

② 字符串连接运算符(&、+)

③ 关系运算符(=相等 <>或>大于 <=小于或等于 >=大于或等于„„)

④逻辑运算符(Not And Or Xor Eqv Imp) C语言的运算符可分为以下几类:

①算术运算符:用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。

②关系运算符:用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(>=)、小于等于(<=)和不等于(!=)六种。

③逻辑运算符:用于逻辑运算。包括与(&&)、或(||)、非(!)三种。

④位操作运算符:参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。

C共有34种运算符。运算符丰富是C语言的一个很重要的特点。C把括号、赋值、强制类型转换等都作为运算符处理,从而使C的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其他高级语言中难以实现的运算。

⑤赋值运算符:用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。

⑥条件运算符:这是一个三目运算符,用于条件求值(?:)。

1234⑦逗号运算符:用于把若干表达式组合成一个表达式(,)。

⑧指针运算符:用于取内容(*)和取地址(&)二种运算。

⑨求字节数运算符:用于计算数据类型所占的字节数(sizeof)。

⑩特殊运算符:有括号(),下标[],成员(→,.)等几种。

注:VB中模运算符为Mod,在C语言中为%

VB中没有赋值运算符。C语言中“=”为赋值运算符,“==”为关系运算符(相当于VB中的“=”)。在其它高级语言中,赋值构成了一个语句,称为赋值语句。 而在C中,把“=”定义为运算符,从而组成赋值表达式。 凡是表达式可以出现的地方均可出现赋值表达式。

VB中用>表不等关系,C语言中用符号“!=”。

VB中逻辑运算符Not、And、Or对应C语言中的!、&&、||。

VB中And和Or可用于对数值(须转化为二进制数)进行位运算,分别为“逻辑与”和“逻辑或”。C语言中有专门的位运算符(《》~ | ^ &)。

变量的赋值

VB中不允许连等。

每次只能给一个变量赋值。 C语言中存在“赋值表达式”。

格式为:。

如“a=5“是个赋值表达式。

对赋值表达式求解的过程是:将赋值运算符右侧的“表达式”的值赋给左侧的变量。赋值表达式的值就是被赋值的变量的值。

实例:a=b=c=5(赋值表达式的值为5,a、b、c值均为5) a=(b=10)/(c=2)(表达式值为5,a等于5,b等于10,c等于2)。

数据类型

字符串型(String)是VB基本数据类型之一。字符串是放在双引号内的若干个字符,其中长度为0(即不含任何字符)的字符串称为空字符串。

实例:

“Hello! Good Morning!”

“123”

“”(空字符串) 字符型(char)是C语言基本数据类型之一。C的“字符常量”是用单撇号括起来的一个字符。字符型变量是用来存放字符常量的。

注意:字符变量只能存放一个字符,不能存放字符串。

另外,C语言还允许使用“字符串常量”。

字符串常量是一对双撇号括起来的字符串。不能把一个字符串赋给一个字符变量。

C规定:在每一个字符串的结尾加一个“字符串结束标志\0“,以便系统据此判断字符串是否结束。字符串长度不包括那个结束标志。

C语言中没有专门的字符串变量(不同于VB),若想将一个字符串存放在变量中,必须使用字符型数组。字符型数组元素可以整体访问。非字符型数组元素不可以整体访问。

自定义数据类型的定义

格式:

Type 自定义数据类型名

成员名1 As 类型名

成员名2 As 类型名

„„

成员名n As 类型名

End Type

实例:

Type Student

num As String*6

name As String*8

sex As String*1

age As Integer

End Type 格式:

①先定义结构,再说明结构变量。

struct 结构体名

{类型名 成员名1;

类型名 成员名2;

类型名 成员名n;}

②在定义结构类型的同时说明结构变量。

struct 结构名

{成员表列

}变量名表列;

③直接说明结构变量。

struct

{成员表列

}变量名表列;

易混淆语句

用DefType语句定义变量类型:

格式:DefType 字母范围

注意:Def和类型标志之间不要有空格。字母范围用“字母—字母”的形式表示。

实例:DefDbl A-B, X-Z把以字母A、B、X、Y、Z开头的所有变量名定义为双精度类型。

用typedef声明新的类型名来代替已有的类型名。

实例:typedef int INTEGER;

typedef float REAL;

则:以下两行等价:

a) int i, j; float a, b;

b) INTER|GER i, j; REAL a, b;

用typedef亦可声明结构体类型。

注释语句

注释部分对程序的运行不起作用。

VB中的注释是“Rem”或一个撇号“’”。 注释部分必须用“/*”和“*/”括起来。

“/*”和“*/”必须成对地出现,“/”和“*”之间不可有空格。可多行注释。

程序语句的书写格式

在一般情况下,程序语句要按照“一行一句,一句一行”的规则书写。

但VB允许使用复合语句行,即把几个语句放在一行中,各语句之间用冒号(:)隔开。在输入程序时,也可以通过续行符把程序分别放在几行中。VB中续行符是下划线(_)。注意:续行符与它前面的字符之间至少要有一个空格。 C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。C程序没有行号。

标点

一般在一行输入一条语句,每条语句行以回车键结束。Print方法:

格式: [对象名.]Print[表达式表][,|;]

使用逗号:标准输出格式,又称分区输出版式,以14个字符宽度划为一个区段,每个数据项位置占一个区段。

使用分号:以紧凑输出格式输出,每个数值数据前面有一个符号位,后面有一个空格。

每个语句和数据定义的最后必须有一个分号。

分号是C语句的必要组成部分。分号不可少。即使是程序中最后一个语句也应包含分号。

关于标点的几个注意事项

注意:参数缺省时逗号不可丢。

MsgBox ( “除数为0”, , “运算提示”)

提示信息 图标按钮类型值缺省 标题 注意:不要在不该加分号的地方加分号。在if、for、while语句中,不要画蛇添足多加分号。

错误:if (a>b);„

for (; ; );…

while (i<100);…

注:表达式省略标点符号不可丢 for(; ;)语句

输入输出方式

VB中数据的输入输出有:

Print方法,Debug.Print,

MsgBox语句,InputBox函数,

等方式。 C语言本身设有输入输出语句。C对输入输出实行“函数化”。

C语言函数库有有一批“标准输入输出函数”,其中有:

putchar(输出字符),getchar(输入字符),printf(格式输出), scanf(格式输入),

puts(输出字符串), gets(输入字符串)。

数据类型转换

数据类型转换函数:

CInt(x) CLng(x) CDbl(x) CSng(x)

常用字符串函数:Str$(num) Val(str) 强制类型转换:可以利用强制类型转换运算符将一个表达式转换成所需类型。

格式:(类型名)(表达式)

实例:(double) a ( int )( x + y ) (float)(5%3)

除法

整数除法(注意和浮点除法区分):格式:a\b

当除数或被除数带有小数时,先四舍五入为整数或长整数,再进行整除运算。其运算结果被截断为整数,不进行舍入处理。5\3=1 “/”除法运算符:两整数相除结果为整数。如5/3=1舍去小数部分。

取模运算

取模运算:结果为一整型数值,这个值是整数除法的余数。

31.77 mod 5.88 = 2

(32) (6) 32 \ 6=5 余2 此时C语言不进行自动类型转换,因此要强制类型转换。

“%”运算符要求其两侧均为整型量。

若x为float型,则“x % 3”不合法,必须用“(int)x %3”。

(强制类型转换运算,优先于%运算)。