2021-12-04 15:59:50|已浏览:342次
入门C语言基础问答
1、C语言是强类型的语言,这是什么意思?
任何程序都要处理数据,计算机可以处理的数据有多种类型。在C语言程序中,用来保存数据的变量必须事先定义才能在程序中使用。对于程序中使用到的常量、变量的类型要事先进行定义才能使用,这是保证程序可靠性的手段之一。早期的一些计算机程序设计语言不要求对变量的类型进行定义,因此,一个变量的类型在程序运行期间是不确定的,这将会降低程序的可靠性。2、如何理解变量与常量?
变量与常量相当于数据的可读可写与只读,常量是数据的一种保护机制。在内存分配给程序的内存块中有专门的常量(只读)存储区。
3、字符型数据与整型数据、浮点型数据为什么可以直接运算?
字符型数据用于表示ASCII字符。由于ASCII字符在内存中是以ASCII编码的形式存储的,因此可以将字符型数据看作一个整数与整型数据、浮点型数据直接进行算术运算,而这在其他的计算机语言中是不允许的。
4、如何理解逗号运算符和逗号表达式?
逗号表达式是C语言中特有的一种运算符。在C语言的所有运算符中,逗号运算的优先级最低。逗号运算符使用逗号将多个表达式连接起来,按照从左到右的顺序依次计算其中的各个表达式的值,整个逗号表达式的值是最右端即最后计算的表达式的值。逗号表达式常用于在一条语句中连续完成多个计算或操作。例如,t=x;x=y;y=t;将会被作为三条语句处理,而t=x,x=y,y=t;则将被当作是一条语句处理。
5、整型数据的溢出问题
任何一种数据类型的数据在计算机中都有它确定的数值表示范围,一旦超出这个范围,就会产生溢出问题。
6、对于浮点型数据执行相等比较为什么有时会出现问题?
在C语言中,只有整型数据和字符型数据是精确表示的。浮点型数据采用的是指数表示形式,数据的有效位数是有限的,因此浮点型数据是不精确的。对于浮点型数据进行相等比较时,有时两个相等的数进行比较也有可能出现不相等的情况。
为了解决浮点数相等比较时的误差问题,可以规定当两个数相减之后的绝对值小于一个足够小的数时即认为它们相等。
7、没有初始化的变量的初始值是什么?
如果该变量是静态存储类型的变量,系统编译时会自动地赋初值0(对数值型变量)、空字符(对字符变量)、或者空指针(对指针型变量);而如果变量是动态存储类型,则在没有赋初值的情况下,将会有一个不确定的值(垃圾值,单元格使用过后遗留下的历史值)充当其初值,这是非常危险的,尤其是对于一个不确定的指针来说,修改它所指向存储单元的值可能会造成巨大危害。因此,一般都要求程序员为变量赋予合理的初值。
8、C语言中逻辑值1和0是如何判断的?
C语言中,一般在进行逻辑运算时,将所有非零值都作为1,也就是逻辑真;而只有本身为0的值才当做0,也就是逻辑假参加判断。
9、求解逻辑表达式时“有解即停”(短路求值)是什么意思?
当需要判断多个条件同时成立或至少有一个成立时,需要使用逻辑运算符&&和||。表达式A && B表示当A与B均为真时,条件为真;表达式A || B表示当A与B至少一个为真时,条件为真。 当求解 A && B时,只要A为假则整个表达式一定为假,此时不需要求解表达式B。而对于表达式 A || B,只要表达式A为真,则整个表达式一定为真,此时不需要求解表达式B。10、穷举法的基本思想是什么?
传统的数学解题方法通常有列方程、寻找简便算法等,那是因为人脑不能进行大量、高速的运算。在计算机数据处理中,可以通过循环程序让计算机对一个问题的所有的可能情况进行判断,从而得出那些满足问题的约束条件的各种可能情况,这些可能的情况就是实际问题的解。由于计算机的高速度和机器性,能够在程序的控制下自动连续地重复执行相同的处理,因此“穷举法”在程序设计中具有广泛应用。例如“鸡兔同笼”的问题就可以通过穷举法来解决。
本文由培训无忧网达内教育课程顾问老师整理发布,更多课程信息可关注C语言培训或添加老师微信:15033336050
注:尊重原创文章,转载请注明出处和链接 https://www.pxwy.cn/news-id-6296.html 违者必究!部分文章来源于网络由培训无忧网编辑部人员整理发布,内容真实性请自行核实或联系我们,了解更多相关资讯请关注c语言频道查看更多,了解相关专业课程信息您可在线咨询也可免费申请试课。关注官方微信了解更多:150 3333 6050