首页

文章

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是强类型,强类型执行效率高,难学

楼下的解释正确!不好意思,差点误人子弟了

视频相册制作软件如何做视频相册? 用word2007自动生成目录后,目录上始终有个“ 更新目录”的框,怎么去... Word2007目录怎么删除正文 手机不能横屏了是怎么回事? 庞贝柱的结构样貌是怎样的? 埃及庞贝柱景点描述 庞贝柱是怎样的历史? 埃及庞贝柱历史追溯 庞贝柱是个什么样的景点? 庞贝柱是为为了答谢谁而建的? 属蛇穿什么转运最旺运 属蛇什么颜色转运最旺 属蛇的人什么颜色转运最旺 英国查理一世时期君主专政的特征 增值税专用发票开错作废证明怎么写 女主为了救男主被拔掉指甲,被活埋,但男主却认错了人,这本小说叫... 什么地方能读到法拉奇的小说男子汉 高级职称有什么待遇 职称高级相当于什么? HUAWEI 华为 AM185 入耳式有线降噪耳机-适用对象 华为FreeBuds Pro有线充版-入耳式真无线动圈主动降噪蓝牙耳机(陶瓷白... HUAWEI 华为 FreeLace Pro 入耳式颈挂式动圈主动降噪蓝牙耳机 曜石黑... HUAWEI 华为 FreeBuds Pro 入耳式真无线动圈主动降噪蓝牙耳机 墨韵白推... 华为Freebuds 3 无线充版半入耳式真无线蓝牙耳机(碳晶黑)-详细介绍... HUAWEI 华为 FreeBuds 悦享版 入耳式无线蓝牙耳机-详细介绍 如何评价华为新旗舰tws耳机freebudspro? HUAWEI 华为 FreeBuds Pro 无线蓝牙耳机推荐 字符串"\\\"ABC\"\\"所占内存字节的长度 怎样挑选千元内的羊绒大衣? 现在思科的CCNA,CCNE,CCIP的考证费分别是多少啊,通过率怎样 长春小飞没有车没有房 碳钢的多久生锈 碳钢多久会生锈 碳钢多长时间会开始生锈 碳钢和铝哪个容易生锈 梦见天宫图是什么意思 光遇2023好友树解锁图鉴 光遇二级节点多少个 ...火柴小女孩》《词语手册》里有很多词语的意思的,求告知 暖融融解释 领淘通淘客助手这个软件怎么样? 淘宝客必备的九大工具有哪些? 电脑里硬盘如何共享怎么实现多台电脑共用一块硬盘 两台电脑一个硬盘两台电脑是否可以同时用一个硬盘 共享电脑硬盘怎样设置局域网电脑硬盘共享 现在下载歌曲好还是不下好 故障码P033D的含义解析 切菜机多功能型切菜机 scanbox三维扫描仪 苹果13没有删除的备忘录怎么恢复? iphone备忘录永久删除怎么恢复?iphone备忘录恢复最近删除文件方法介绍... C语言是中级语言还是高级语言 怎样修改帐号? 计算机C++语言是不是高级语言 设置错了怎么修改 C语言是高级语言? 微信下面的怎么更改呢 C语言是高级语言还是中级语言? c语言究竟是中级语言还是高级语言? 要怎么修改啊 C语言算是高级语言不? 怎么修改? C语言是一种什么语言? 怎么改第一次 为什么说c语言是高级语言 怎么改第一次 c语言属不属于高级语言? 新版微信,怎样修改 c语言是高级语言吗 C语言是高级语言吗? 微信可以更改了?怎么改啊? 不属于高级语言的是()。 A、C语言 B、汇编语言 C、机器语言 D、java 已设置过怎么改 怎样修改? 怎么才能学好c语言 如何学好C语言? C语言怎么零基础学? 怎么才能学好C语言~! 怎么才能学好C语言啊! 怎样才能学好c语言? 怎么样才能学好C语言 为什么很多人认为C语言难学?怎么才能学好呢? C语言怎么才能学好? 怎么样才能学好C语言啊... 大一计算机系学生怎样才能学好c语言 如何能学好c语言? 怎么才能学好C语言? 如何快速学好c语言 C语言该怎么才能学好? 怎样才能学好C语言 为什么很多人认为C语言难学,怎么才能学好
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com