c++语言面试,c语言面试问题

  c++语言面试,c语言面试问题

  当i==0时,I-,I变成-1,-1打印成%u,结果是4294967295

  示例6:

  #包含stdio.h

  #包含字符串. h

  int main()

  {

  char a[1000];

  int I=0;

  for(I=0;i 1000我)

  {

  a[I]=-1-I;

  }

  printf(%d\n ,strlen(a));//输出255

  //strlen()重点在于是否有\0,而\0的ASCII码值为0

  返回0;

  }

  示例7:

  #包含stdio.h

  int main()

  {

  无符号字符I=0;//i的范围是0~255

  for(I=0;i=255I )//所以循环条件不变

  {

  printf( hello world \ n );//无限循环打印

  }

  返回0;

  }

  【敲黑板】:以后使用无符号数一定要格外小心,需要慎重使用!

  2.浮点数在内存中的存储(简单理解,少测试)下面是一个简单的例子:

  #包含stdio.h

  int main()

  {

  int n=9;

  float * pFloat=(float *)n;

  printf( n的值为:%d\n ,n);

  printf( * p float 的值为:%f\n ,* p float);

  * pFloat=9.0

  printf( n的值为:%d\n ,n);

  printf( * p float 的值为:%f\n ,* p float);

  返回0;

  }看到上面的代码,我们一定都有自己的答案让我们看看正确答案是什么样的

  不意外,不意外,毛的回答为什么是这个样子?有问题就会有答案答案在后面

  浮点数的存储规则

  和n *pFloat在内存中显然是同一个数为什么浮点数和整数的解释结果差别这么大?要理解上述结果,就必须了解浮点数在计算机中的表示

  详细解释:根据国际标准IEEE(电气和电子工程协会)754,任何二进制浮点数V都可以用以下形式表示:

  (-1) s * m * 2 e (-1) s代表符号位,当S=0时,V为正;当S=1时,v为负,m代表有效数,大于等于1,小于22 e代表指数位

  例如:

  十进制的5.0,用二进制形式写就是101.0,相当于1.01 * 2 ^ 2根据上面V的格式,可以得出S=0,M=1.01,E=2

  IEEE754规定:

  对于32位浮点数,最高位是符号位S,接下来的8位是指数E,剩下的23位是有效数字m

  对于64位浮点数,最高位是符号位S,接下来的11位是指数E,剩下的52位是有效数字m

  当然,IEEE754对有效数字M和指数e有一些特殊的规定

  前面说过,M=1m ^ 2,M可以写成1xxxxx

  以xx的形式,其中

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: