-
在第一个问题中,void fun(int,int*) 中的第一个参数是一个整数变量,第二个参数是一个整数指针变量,实际上是一个地址,所以在传递参数时,第一个参数是整数,第二个参数是地址。
在第二个问题中,将浮点型变量与浮点型(4 字节)变量相乘将增加结果的宽度,这可能会超出浮点型可以表示的范围。 将两个 int(2 字节)变量相乘不会超过浮点数的大小(书籍中通常使用 16 位机器),因此 b 是正确的。
第三个问题,for 循环总共运行了 8 次。 从宏观定义中,我们知道 m=n+1,mun=(m+1)*m 2=(n+1+1)*n+1 2=4*2+1 2=8。 请注意,宏定义只是宏替换。
第四,程序是求5以上的素数,函数isprime(m)是确定m是否为素数,如果是非零值,如果不是,则返回值0。 main 函数中的 while 用于确定质数并打印输出。
-
fun(int,int*);第二个参数 (int*) 是指针,因此只能将参数 (&j) 传递给地址。
2.我个人认为应该是精度的原因,因为在c中单个精度的精度不高,在机器中它的值是一个近似的浮点数*浮点数的结果应该是一个近似值,为了得到准确的值,所以用int
#define n 2
#define m n+1
#define num (m+1)*m/2
num (m+1)*m 2 替换为 n (n+1+1)*n+1 2,结果是 8
4.按照你写的程序,这样。
Isprime(M)) 通过它称为 IsPrime
for(i=2;m%i!=0;i++)
return (i==m);因为 i=2 m=5 isprime 返回 0
也就是说,while 语句不执行退回邮件。
结果不是!5
-
这个问题测试了动态规划的思想。
**思路如下:
假设我们想铺设 10 的长度,那么我们如何铺设呢? 有两种类型的铺路。
长度为 9,长度为 1。
长度为 8,加上一块长度为 2。
由此我们可以看出,商店 n 的情况等于商店 n 1 的情况和商店 n 2 的情况。
公式:f(n) f(n 1) + f(n-2).
-
斐波那契数列。
f(n) = f(n-1) +f(n-2)
覆盖 n 个图块的方法数 = 覆盖 n-1 个图块的方法数 + 覆盖 n-2 个图块的方法数。
-
7.这是常识,选择A,即用0-255之间的数字来表示字符。
8.因为 while 循环的循环体只有一个语句,sum +=a; 由于 A 在循环体中不自加,因此 A 的值将始终为 10,因此循环不会结束,因此选择了 D
9,!像 i 这样的表达式意味着当 i 为 0 时表达式为 true,当 i 为非零时表达式为 false,因此它与 c 选项相同。
数组元素会产生溢出,并且不能将 5 个元素保留为 4 个大小的数组。
b:应该使用 {} 而不是 ()。
c:正确,只赋值数组 s 的前三个元素,后两个元素默认为 0d:错误原因与 a 相同。
6:a-=a-5,即a=a-(a-5),a的值为5,即c的值为5,然后执行(a=b,b+3); 所以 b 的值赋值给 a,所以 a 的值变为 1,而 b 没有赋值,所以它仍然是 1,所以答案是 a
-
a 未解释。
d while 语句只执行它下面的大括号中的语句,或者语句 sum+=a 后面跟着一个分号,语句到此结束,所以如果你不执行 a++,你就不能跳出循环。
c i 为真,或 i 为假。 然后是比较语句,即作业。
c 未解释。
答:这个问题比较麻烦,是测试的逗号表达式,逗号表达式是先计算前面的公式,再计算后面的公式,整数就是后面的公式。
首先,这个方程不是 c= 而是 ,(a=b,b+3),因为等号的优先级高于逗号。
那么对于a-=a-5,减号优先级高于赋值,先做减法,结果为5,即c=a=5
然后 (a=b, b+3),a=b=1,然后是 b+3,但这对整个值没有影响。
-
基础知识,没有为什么。
A++在循环外执行,a在循环中始终为10,跳出循环的条件永远不满足。
楼上说错了,而(i)表示执行循环时i不等于0,!是一个负号,所以它是 i==0
A 和 D 中元素过多是违法的,将 B 括号改为大括号是合适的。
首先看第一句c=(a-=a-5),右边组合,先看最右边的a-5=-4(但a还是1),相当于c=(a-=-4); 然后 a-=-4 给出 a=5(此时 a 为 5),则 c=a,c 等于 5。 然后往下看,a=b,其中 b 为 1,所以 a 再次变为 1。 然后看 b+3,结果是 4,但没有给 b 赋值,所以 b 还是 1。
所以最终结果是 1, 1, 5
-
7、A:字符用ASCII码表示。
8、a:问题条件不对,应为a=sum=0;
9,a:!I 是在我不是 0 时形成的。
10、C:A被定义了太多的元素,B不是一个集合形式,D是同一个元素被定义太多了。
a:a、b不变,c按右绑定集计算c=1-(-4)=5;
如果你不明白,你可以打我。
前两个程序是 ++i 和 i++ 之间的区别。
i。就是将i加一,然后进行运算,如i = 0,j = 0; j = ++i;最后 i = 1;j = 1;因为 i 加 1 先执行,j 在执行中赋值; >>>More
对于 23 了解 %s 和 get %s 是输出字符串,对应的变量应该是数组名称,所以它应该是 not &a 或 a >>>More
我在下面对此发表了评论。
先做for循环,完成while循环,最后做while循环do is do first再判断,所以比第一个for循环多一个。 >>>More