c语言判断题

1.一个C程序可以没有main()函数。 ()
2.语句printf(“%.2f”,1/4+2.75);的运行结果是3。 ()
3.指针变量在使用之前可以不赋初值。 ()
4.定义结构类型,需使用关键字struct。 ()
5.若有定义int a[10];,则该数组中最后一个元素为a[10]。 ( )
6.语句a==3;,是关系表达式。 ( )
7.fclose()是关闭文件函数。 ( )
8.若a=3,则语句 a*=3+2; 的值是11。 ( )
9.strcopy()是字符串拷贝函数。 ( )
10.double x; 该语句将变量x定义为单精度变量。 ( )

第1个回答  2011-07-20
1。正确,一个程序中必须有主函数main(),而且有且只有一个。
2.正确。在计算表达式的时候,低的数据类型会自动转化为高的数据类型再计算,所以int类型的1/4 会转换为float类型,结果为0.25,加上2.75,值为3
3.错误。如果指针在使用时没有赋值,那么它所指向的地址为随机值,那个随机值很可能是被系统用了,如果你再用它,就会改掉系统设置,严重错误。
4.正确。这是定义
5.错误。这表明,定义了一个有10个元素的int类型数组。它的下标是从0到9,没有10
6.正确。是比较它们的大小,而a=3是赋值表达式
7.正确。这是定义
8.错误。编译系统会默认为a*=(3+2),所以值为15
9。正确。这是定义,而strcat()是字符串连接函数
10.错误。float才是定义单精度,而double是定义双精度
第2个回答  2011-07-20
楼主他的问号写错了。正确应该是这个样子的,他要表示的是
*p(这个代表数组指针,指向x这个数组)
**p(这个是二维指针,指向的是p这个地址指针)
??他估计是想表达*号。不过肯定不能这样打的。

所以上面就很显然了,
第一个是*(p++)
++是先运算后加1
所以*(p++)相当于首地址。所以是2
因为P++。所以p=p+1了,所以是第二个地址。
而**P指的就是p,所以结果为4.
2 4
第3个回答  2011-07-20
1、错,不能没有main
2、错,结果是3.0
3、对
4、对
5、错,最后是a[9]
6、对
7、错,fclose()是关闭一个流
8、错,值是15
9、错,拷贝是strcpy
10、错,单精度是float,double是双精度本回答被网友采纳
第4个回答  2011-07-20
1错2错3对4对5错6对7对8错9对10错

我的答案,仅供参考
相似回答