第四章语句十个问题

来源:互联网 发布:mac快速认证 编辑:程序博客网 时间:2024/06/07 13:30

1  什么是布尔变量

   布尔型变量是有两种逻辑状态的变量,它包含两个值:真和假。如果在表达式中使用了布尔型变量,那么将根据变量型的真假而赋予整型值10.要把一个整型变量转换成布尔型变量,如果整型值为0,则其布尔型值为假,反之如果整型值为非0,则其布尔型值为真

 

2浮点变量与零值比较,如果用x==0格式,会产生什么错误

  类似float,double类型的数据在内存中可能并不是你输入的值,会存在一定的误差,所以在显示或比较的时候都不能直接用它。浮点数不能和0直接比较,是因为浮点表示法的问题,最低有效位以下没有意义,误差越来越大,最后的有效位可能越来越小。

 

3  goto该如何谨慎使用

   C语言中不推荐使用goto,会造成混乱,但goto在有些情况下使用是很好的。1在多重循环时需要退出循环时,而使用goto可以直接跳出;2作为一种条件,直接跳转。

    原则上是最好不要用,因为程序要讲究结构性,可读性,goto语句会破坏这一点

 

4.  for语句可以代替while语句吗

   for,while,do while都可以完全相互替换,只不过为了可读性,人为区分而已。但一般而言,不要混用,还是按照推荐的使用好。想先执行支持操作然后再判断外部条件,可以用do  while形式,一般在线程体中尤其是一直循环运行的线程体都会用while,对数组的遍历一般都用for

 

5. 怎样提高循环语句的效率

   程序要简短,程序的效率本质是执行可执行代码(汇编指令)的次数,程序越简短,其可执行代码就越少,就越有效率。因此,在编写程序时,要尽量改进我们的算法,让语句最少,源程序语句可以导致可执行代码减少。

   减少循环内操作,首先要尽可能减少循环次数,减少循环次数,可以减少程序运行时间,第二,尽量减少循环内无用操作,能在循环外执行的语句,就在循环外执行,第三,尽量减少嵌套循环,因为循环中的循环是两循环次数相乘的关系

 

6. switch语句与if语句有什么区别

   switch语句只能处理等值条件判断情况,而且条件只能是整型变量或字符型变量;

   多重if选择结构的限制,特别适合某个变量处于某个连续区间时的情况。

但是它们处理的都是多分支类型的结构

 

7. 字符型变量如何与零值比较   

   字符型是无法直接和零值比较的。可以将字符型变量强制类型转换,转换为整型,与零值比较。

 

8. 空语句如何实现延时

   标准的C语言中没有空语句,但在单片机的C语言编程中,经常需要用几个空指令产生短延时的效果。这在汇编语言中很容易实现,写几个nop就行了

 

  

9. CPU跨切循环体对运行有什么影响

由外层循环进入内层循环是要重新初始化循环计数器的,包括保存外层循环的计数器和加载内层循环计数器,退出内层的时候再恢复外层循环计数器。

在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数   

 

10. 嵌入式中对C语言语句方面的要求

    嵌入式系统用的最多的还是Linux系统,嵌入式方面C语言是功底。对选择,判断,循环熟练掌握就可以,会指针最好。

 

原创粉丝点击