C语言,有图,基础比较差,希望过程详细一些?
结果是142。
步骤1:int x[5][5]={{6,7,8,9,10},
{12,14,16,18,20},
{21 , 22 , 23,24,25},
{1,2,3,4,5},
{3,5,7,9,11}};这句是定义了一个二维数组x,并给初值(每一大括号里一组数字就是对于数组的一行)。
步骤2:printf("% d\n",Sum(x));调用Sum函数并将x的地址传递给Sum函数,之后打印Sum的返回值。
步骤3:执行Sum,
for(i=0;i<5;i++)
for(j=i+1;j<5;j++)
s+=a[i][j];
就是一个两层循环,每执行一次i循环,就完整地执行一个j循环周期,而每执行一次j循环就取出a[i][j]的值并累加到变量s中,最后返回s的值。
这里j循环的初值是受i影响(j=i+1),所以循环顺序:
第一次i循环:i取0,之后执行j循环,j分别取值1,2,3,4,s=s+a[0][1]+a[0][2]+a[0][3]+a[0][4]=0+7+8+9+10=34(s初值0)。
第二次i循环:i取1,之后执行j循环,j分别取值2,3,4,s=s+a[1][2]+a[1][3]+a[1][4]=34+16+18+20=88。
第三次i循环:i取2,之后执行j循环,j分别取值3,4,s=s+a[2][3]+a[2][4]=88+24+25=137。
第四次i循环:i取3,之后执行j循环,j分别取值4,s=s+a[3][4]=137+5=142。
第五次i循环:i取4,j循环不执行。
步骤4:循环结束返回s的值142,并在main函数中打印。
注意:x数组作为参数传递,传的是地址,虽然本题没有改变数组值,但是如你在Sum中改变a数组某个元素值,你会发现x数组也改变。
还有你printf语句少了斜杠printf("% d\n",Sum(x));
计算结果是1+0+2大于等于3。
是为真。
但是c语言没布尔值。0是假,非零为真。所以都对。
单选。选一。多选就都选上
2021-03-05
在c语言中,基本的运算包括有算术运算、逻辑运算和关系运算。您这当中就包括有算术运算和关系运算。其中算术运算有+、-、*、\、%等,*、\、%运算的优先级别是一样的,都是高于+、-。且同一个运算级别是从左到右运算。关系运算有>,<,==,>=,<=,!=,其中大于,大于等于,小于,小于等于的优先级别一样,且高于等于和不等于。关系运算的结果只有两种情况,若是运算符两边的数据满足运算符的含义,那么结果就为真,在c需要中用1表示,否则就是为假,用0表示。
那么有了上面说明之后,再来计算表达式,那么就是先计算c/b=1,再计算a%c=0(取余运算,只能在整型变量中进行),再来计算前面结果加b,得到为3。最后来计算3>=c的值,因为c的值为3,所以满足3>=3,那么这个表达式的结果就为真,所以是用1表示,答案就应该选A。