1、当调用函数时,实参是一个数组名,则向被调用函数传送的是?数组的首地址;
2、在C语言中,变量名必须以字母或下划线开头。
3、C语言中的基本数据类型有整型、实型、浮点型。
4、设a=1,b=2,则表达式a>b?a:b+1的值是3。
5、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻
辑表达式(m=a>b)&&(n=c>d)运算后,n的值为2?。
首先,我们分析逻辑表达式?
(m=a>b)&&(n=c>d)
。
- 表达式?
(m=a>b)
?可以分为两部分:
a>b
?的结果是假(因为 5 不大于 6)。- 因此,
m=a>b
?的结果是 0(假),并且 m 的值被赋值为 0。- 表达式?
(n=c>d)
?可以分为两部分:
c>d
?的结果是假(因为 7 不大于 8)。- 因此,
n=c>d
?的结果是 0(假),并且 n 的值被赋值为 0。- 由于逻辑与运算?
&&
?要求所有条件都为真(T)时才返回真(T),由于?m=a>b
?和?n=c>d
?都为假(F),整个表达式的结果也是假(F)。- 由于?
n=c>d
?的结果为假,n 的值保持不变,仍然是 2。所以,n 的值是 2。
6、已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1&&y+z/2的值是0。
已知?
int x=3,y=4,z=5;
,我们要计算表达式?!(x+y)+z-1 && y+z/2
?的值。首先,按照逻辑运算的优先级,我们先处理括号和逻辑否定?
!
,然后进行加法和减法运算。
x+y
?的结果是 7。!(x+y)
?是对?x+y
?的否定,所以?!(x+y)
?的结果是 0(假)。z-1
?的结果是 4。y+z/2
?的结果是 6(因为 z/2 的结果是2.5,但int型相加会取整为2)。现在我们使用逻辑与?
&&
?运算:
- 因为?
!(x+y) + z-1
?的结果是 0(假),而?y+z/2
?的结果也是 6(真),所以整个逻辑表达式的结果是 0(假)。因此,表达式?
!(x+y)+z-1 && y+z/2
?的值是 0。
7、外部数据文件是指存储在外存储器上的数据的集合。