2个回答
2015-07-12
展开全部
弱类型语言指的是一种没有很强类型概念的语言,如vb,而强类型语言指的是有很强类型概念的语言,如c(虽然c允许类型转换,但是相对来讲比vb要是强类型),弱类型的好处在于程序员不需要过多的着重与类型的转换,而强类型的好处在于程序可以有条不紊的执行,而且类型错误的出现率很低,即使有也很容易发现。
弱类型例子:(语言为vbscript)
var result=5+5; //两个数字之和
alert(result); //输出10
var result=5+'5'; //一个数字和一个字符之和
alert(result); //输出55
因此使用弱类型语言也要格外注意数据类型防止出错
而c语言相对来讲比vb更具有类型概念:
#include <stdio.h>
int main(void) {
int a = 5 + 5; //两个数字之和
printf("%d", a); //输出10
in b = 5 + '5'; //一个数字和一个字符之和
printf("%d", b); //输出106,因为字符'5'被隐式转换成了相应字符的虚拟键值(即101)再和数字5相加
return 0;
};
弱类型例子:(语言为vbscript)
var result=5+5; //两个数字之和
alert(result); //输出10
var result=5+'5'; //一个数字和一个字符之和
alert(result); //输出55
因此使用弱类型语言也要格外注意数据类型防止出错
而c语言相对来讲比vb更具有类型概念:
#include <stdio.h>
int main(void) {
int a = 5 + 5; //两个数字之和
printf("%d", a); //输出10
in b = 5 + '5'; //一个数字和一个字符之和
printf("%d", b); //输出106,因为字符'5'被隐式转换成了相应字符的虚拟键值(即101)再和数字5相加
return 0;
};
展开全部
计算机能执行的是机器语言,为了方便编程,设计了和计算机机器语言一一对应的汇编语言(低级语言,但执行效率高,编程相对麻烦),除了上述语言外其他都叫做高级语言。例如c语言在编译的时候就是把一条c语句编译成对应的多条机器语言(或者说是多条汇编代码),因而是典型的高级语言
但c语言比起其他语言来说对数据类型的处理更灵活,换句话来说就是数据类型检测没有像basic等其他高级语言强,这样的目的是可以更接近计算机硬件,需要编程者更清晰的理解数据在内存中的分布情况,代码的运行效率也会更高。最明显的特征是数组的边界不检测,这样就说明它是 弱 类型的高级语言,反之对数据类型进行严格检测的如basic就是强类型
个人理解,仅作参考,望采纳!
追答
上面的第二条把概念搞错了:应该是c语言比basic等高级语言的数据类型要求严格,c语言是强类型高级语言!c语言的数组越界检测没basic严格,这是语法检测问题,是为了灵活性和运行效率,不是强弱类型的区分点!举个例子如果我们在c语言中定义一个数值变量a我们需要明确a是具体什么类型,比如是有符号整型还是无符号整型,是浮点单精度还是双精度,因为不同类型在内存中的存储大小和意义是不同的,而有的高级语言,你定义a可以给它以正数,负数,整数或小数都可以,它是会自动帮你识别的!所以c是强类型,强类型执行效率高,难学
楼下的解释正确!不好意思,差点误人子弟了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询