下载此文档

学习C语言百问.doc


文档分类:IT计算机 | 页数:约19页 举报非法文档有奖
1/19
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/19 下载此文档
文档列表 文档介绍
学****C 语言百问
问题 1:什么是分程序(复合语句)?
分程序是指一对大括号 {} 之间的一段 C 语言程序。每一个 C 函数的函数体都是包括在一对
大括号中, switch 语句所有取值情况的列举也是包括在一对大括号中
break 语句,此时都会结束 switch
语句的处理。
问题 5:怎样判断循环是否提前结束?在多循环条件下,又如何知道是因为哪个条件不满足而使循环提前结束的?
解决这种问题通常是在循环语句的后面再用一个或多个判断语句检查循环变量的取值, 从而确知循环是正常结束还是提前结束, 如循环条件是由多个循环变量构成, 则可以对各个变量分别进行判断。例如:
#include <math.h>
void isprime(int num)
{ int s; for(s=2;s<=sqrt(num);s++)
if(num % s = =0) flag=0; if(s>sqrt(num)) return(1);
else return(0);
}
以上的例子用于判断给定的数是否为素数,
函数中的循环语句正常结束是当
s 的取值大于给
定数的平方根, 但只要该数能够被某一个大于
1 而小于其平方根的数整除,
即说明该数不是
素数,循环提前结束,于是在循环语句后面加一个判断,以得出正确结果。
问题 6:什么叫左子值?数组名为什么不能作为左子值?
左子值是指可以被赋值的表达式,
即可以出现在赋值符号的左侧的表达式。
同理出现在赋值
符号右侧的称为右子值,
每一个赋值语句都必须有一个左子值和一个右子值。
左子值必须是
内存的一个存储单元(在程序中通常表现为一个变量)
,而不能是一个常量。我们知道数组
名在 C 语言中,代表的是数组所分配的存储单元的起始地址,而
C 语言中数组不可以在程
序运行的过程进行移动,
也就是说, 数组一旦定义,其所占据的存储单元是固定的,也即他
的起始地址也是固定不变,所以
C 语言在的数组名被当作是一个常量,也因此不能作为左
子值。
问题 7: ++var 和 var++ 有什么区别?
“++ ”运算符在 C 语句中的使用可以说多得不能胜数,但是要真正掌握它的运算却也并非
易事, 尤其是在多个运算符混合使用的情况下更是如此。
“ ++”有前辍运算 ( ++var )和后辍
运算( var++)两种,大家都知道前者在表达式中是先把
var 加 1,而后引用 var 的值,后者
是先引用 var 的值,而后 var 加 1,但在如下的运用中,就很难用这种规则来解释了:
如: int x=10;y=x+++x++;
经以上运算
y 的值是多少呢?答案是
20,这里首先要确定各运算
符的运算关系,按
C 语言确定运算符的规则(从左至右取尽量多的字符构成一个运算符)

以上表达式相当
y=(x++)+(x++)
,其中有两个后辍运算的自加运算,值得注意的是,引用时
先把 x 的值在整个表达式中使用,而后进行两次加
1 操作,所以
y 后来的取值为 20,而 x
的值为 12,不理解的话,很容易得出
y 的值最后是
21 的错误结果。
再如: int x=5; printf(
“,%d n”,x++,x++);输出的究竟是“ 5,6”,或“ 6,5”,还是“ 5,5”,
再或者是其他取值呢?按照一般的思路要得出正确结果还是颇费周折的,
正确结果是 “6,5”,
这里牵涉到 C 语言实参的求值顺序(自右至左计算各实参表达式) 。
问题 8:变量存储在内存中的什么地方?
变量名是一个符号地址, 代表内存中的某个内存单元, 那么它究竟存储在什么位置呢?对于
一般程序设计人员, 并不需要具体知道变量的存储位置, 但应该根据变量的存储属性判断变
量的存储区域。
第一种是在函数外部定义的变量(全局变量或静态外部变量)和在函数内部定义的 static 变
量,其生存期是程序运行的全过程, 这些变量被存储在数据段中。 数据段是在内存中为这些
变量留出的一段大小固定的空间。
第二种是在函数内部定义的 auto 变量(不加关键字 static 的变量) 的生存期从程序开始执行
其所在的程序块代码时开始, 到程序离开该程序块时为止, 即定义该变量的函数的部。 作为
函数参数的变量只在

内容来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数19
  • 收藏数0 收藏
  • 顶次数0
  • 上传人 fkh4608
  • 文件大小424 KB
  • 时间2022-01-26