C语言为什么是一个 弱 类型的高级语言?
发布网友
发布时间:2022-02-28 09:44
我来回答
共2个回答
热心网友
时间:2022-02-28 11:14
弱类型语言指的是一种没有很强类型概念的语言,如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;
};
热心网友
时间:2022-02-28 12:32
计算机能执行的是机器语言,为了方便编程,设计了和计算机机器语言一一对应的汇编语言(低级语言,但执行效率高,编程相对麻烦),除了上述语言外其他都叫做高级语言。例如c语言在编译的时候就是把一条c语句编译成对应的多条机器语言(或者说是多条汇编代码),因而是典型的高级语言
但c语言比起其他语言来说对数据类型的处理更灵活,换句话来说就是数据类型检测没有像basic等其他高级语言强,这样的目的是可以更接近计算机硬件,需要编程者更清晰的理解数据在内存中的分布情况,代码的运行效率也会更高。最明显的特征是数组的边界不检测,这样就说明它是 弱 类型的高级语言,反之对数据类型进行严格检测的如basic就是强类型
个人理解,仅作参考,望采纳!
追答上面的第二条把概念搞错了:应该是c语言比basic等高级语言的数据类型要求严格,c语言是强类型高级语言!c语言的数组越界检测没basic严格,这是语法检测问题,是为了灵活性和运行效率,不是强弱类型的区分点!举个例子如果我们在c语言中定义一个数值变量a我们需要明确a是具体什么类型,比如是有符号整型还是无符号整型,是浮点单精度还是双精度,因为不同类型在内存中的存储大小和意义是不同的,而有的高级语言,你定义a可以给它以正数,负数,整数或小数都可以,它是会自动帮你识别的!所以c是强类型,强类型执行效率高,难学
楼下的解释正确!不好意思,差点误人子弟了
C语言为什么是一个 弱 类型的高级语言?
1. C语言被归类为高级语言,但与汇编语言相比,它提供了更接近硬件层面的操作能力。2. 在C语言中,数据类型的检测不如其他一些高级语言(如BASIC)那样严格,这使得C语言在处理数据类型时显得更加灵活。3. C语言的一个显著特点是对数组边界不进行检测,这是其“弱类型”特征的体现。4. 由于C语言允许...
C语言为什么是一个 弱 类型的高级语言?
计算机能执行的是机器语言,为了方便编程,设计了和计算机机器语言一一对应的汇编语言(低级语言,但执行效率高,编程相对麻烦),除了上述语言外其他都叫做高级语言。例如c语言在编译的时候就是把一条c语句编译成对应的多条机器语言(或者说是多条汇编代码),因而是典型的高级语言 但c语言比起其他语言来说...
C语言为什么是一个 弱 类型的高级语言?
弱类型语言指的是一种没有很强类型概念的语言,如vb,而强类型语言指的是有很强类型概念的语言,如c(虽然c允许类型转换,但是相对来讲比vb要是强类型),弱类型的好处在于程序员不需要过多的着重与类型的转换,而强类型的好处在于程序可以有条不紊的执行,而且类型错误的出现率很低,即使有也很容易...
C语言最不擅长的是什么
1.C语言的缺点主要表现为数据的封装性弱,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。2.C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。也就是说,对用C语言的人,要求对程序设...
C++和C有什么区别?
函数重载是C++的一个独特功能,允许具有相同名称但参数列表不同的函数,这使得C++代码更加灵活和简洁。C语言不支持这一特性。在类型安全方面,C++提供了更高的保障,能够更严格地检查变量类型,降低类型错误发生概率,提高了代码的稳定性和可靠性。而C语言在类型检查上较为宽松。标准模板库(STL)和模板是...
c语言是什么意思?
1、C语言的缺点主要表现为数据的封装性弱,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。2、C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。也就是说,对用C语言的人,要求对程序...
c语言的特点是什么?
首先c语言是一种面向过程的语言。主要优点就是可以直接和汇编语言交互,因为更接近底层,所以运行速度快。就语言本身而言最大的优点就是弱类型化,指针啥都能干,但是最大的问题也是指针,初学者连复杂的指针定义都识别不了,更别说使用了。
c语言是强类型还是弱类型,有定论吗
强制定义就手把以前定义好的数据类型强制转换为另一种类型,正常情况下我们是定义一种数据类型,如chari,当我们要把它变为int时,就要用(int)i了。强制转换就是我们可以把我们以前定义好的数据类型转换为我们要用的令一种类型!
c语言与c++差别很大吗
1,全新的程序 程序思维,C 语言是面向过程的,而 C++ 是面向对象的。2,C 语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而 C++ 对于大多数的函数都是有集成的很紧密,特别是 C 语言中没有的 C++ 中的 API 是对 Window 系统的大多数 API 有机的组合,是一个集体...
c语言是静态语言吗
强类型语言:例如Java/C#语言,强类型定义语言是类型安全的语言,是由编译器以及编译器生成的中间代码来保证类型安全。弱类型语言:例如C/C++/Javascript语言,其类型安全由程序员来保证,Javascript语言的安全由程序员来保证。无类型语言:是动态语言,变量中既可以存放数据又可以存放代码。C语言简介:C语言...