C学习随笔

1.数据类型的长度是由谁决定的?

首先与CPU有关,其次与编译系统和适用平台也有关。最直接的使用,长度有编译系统决定。而不是有操作系统决定。

2.

32位机

32位机

类型最小范围
char0~127
signed char-127~127
unsigend char0~254
short int-32767~32767
unsigned short int0~65535
int-32767~32767
unsigned int0~65535
long int-2147483647~2147483647
unsigned long int0~4294967295

3.编写一段代码,可在两台机器上实现无修改移植,这两台机器的区别为:

a机器:缺省类型为16位,长整形为32位

b机器:缺省类型为32位,长整形为64位

其它具体情况:程序所使用的有些变量的值并不太大,足以保存与任何一台机器的缺省整形变量中,但有些变量较大,必须32位才能保存。


解决方案分析:

1.可以将所有数据统一定义为32位long型,但是,这对与那些只需要16位就可定义的数据来说,对系统时间和空间的浪费不可忽视。所有此法不可取;

2.可以尝试使用头文件,在自己定义的头文件中,将16位,32位数据类型使用typedef重新定义声明,将两种平台的数据类型整合到一个头文件下,到时候各取所需。这也是现在嵌入式编程的常用方式。

引用-----声明整型变量名,使变量的类型必须有一个确定的长度(如int8,int16,int32)。对于你希望成为缺省长度的整数,根据它所容纳的最大值,使用类似defint8,defint16,defint32这样的名字。然后为每台机器创建一个名为int_size.h的文件,它包含一些typedef声明,为你创建的类型名字选择最合适的整形长度。

在一个典型的32位机器上,这个文件包括:

typedef  signed char     int8;
typedef  short int            int16;
typedef  int                      int32;     
typedef  int                      defint8;
typedef  int                      defint16;
typedef  int                      defint32;
在一个16位机器上,这个文件包括:

typedef  signed char     int8;
typedef  short int            int16;
typedef  long int             int32;     
typedef  int                      defint8;
typedef  int                      defint16;
typedef  int                      defint32;
这样,就可以统一使用。


4.枚举存在的意义

随着计算机的不断普及,程序不仅只用于数值计算,还更广泛地用于处理非数值的数据。例如:性别、月份、星期几、颜色、单位名、学历、职业等,都不是数值数据。 在其它程序设计语言中,一般用一个数值来代表某一状态,这种处理方法不直观,易读性差。如果能在程序中用自然语言中有相应含义的单词来代表某一状态,则程序就很容易阅读和理解。也就是说,事先考虑到某一变量可能取的值,尽量用自然语言中含义清楚的单词来表示它的每一个值,这种方法称为枚举方法,用这种方法定义的类型称枚举类型















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mathcad 是一种功能强大的数学软件,它可以让我们非常方便地进行数学计算和分析。学习使用Mathcad 对我来说是一种挑战,但同时也是一次非常有意义的经历。 首先,通过学习Mathcad,我深刻认识到数学公式和计算的重要性。在过去,我常常依赖计算器和纸笔进行数学计算,但这种方式往往效率不高,并且难以避免出错。而Mathcad 提供了一个直观且可视化的界面,让我们可以更加直观地理解和应用数学原理。 其次,学习Mathcad 也提高了我的数学建模和问题解决能力。在学习过程中,我发现Mathcad 的强大之处在于它能够将数学公式和实际问题相结合。通过输入不同的数学公式和数据,我可以揭示和解决一些实际世界中的问题,例如电路分析、力学运动、概率统计等,这为我提供了宝贵的数学建模实践经验。 此外,通过学习Mathcad,我也掌握了一种全新的数学表达方式。通过使用Mathcad的函数和符号库,我可以更加准确地表达数学概念和计算过程。这种表达方式简洁明了,易于理解和阅读,有助于提高我的数学思维能力和表达能力。 尽管学习Mathcad可能会遇到一些挑战,例如复杂的函数和符号操作,对于初学者来说不太友好,但通过不断实践和学习,我相信我可以克服这些问题,并不断进步。 总的来说,学习Mathcad 是一次充满挑战和收获的过程。它帮助我提高了数学知识和技能,提升了我的数学建模和问题解决能力。我相信在未来的学习和工作中,Mathcad 将成为我强大的数学工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值