在torque脚本中,以下非法的赋值语句是()A、$n=++$i;B、$n=$j++;C、$n=$i*$j;D、$n=$i-$j;

题目

在torque脚本中,以下非法的赋值语句是()

  • A、$n=++$i;
  • B、$n=$j++;
  • C、$n=$i*$j;
  • D、$n=$i-$j;
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序运行后的输出结果是【13】。

include<stdio.h>

main()

{ int n[2],i,j;

for(i=0;i<2;i++)n[i]=0;

for(i=0;i<2;i++)

for(j=0;j<2;j++)n[j]=n[i]+1;

printf("%d\n",n[1]);

}


正确答案:
3 解析:该题先是初始化数组n[2]中的元素全部赋值为0,然后执行两层for循环,当i=0,j=0,a[0]为1、a[1]为0,当j=1时,a[0]为1、a[1]为2;当i=1,j=0,a[0]为3、a[1]为2,当i=1,j=1时,a[0]为3、a[1]为3。

第2题:

执行下面程序段,语句3的执行次数为______。for(i=0;ii;j++)state;A.n(n+2)/2B

执行下面程序段,语句3的执行次数为______。 for(i=0;i<n-1;i++) for(j=n;j>i;j++) state;

A.n(n+2)/2

B.(n-1)(n+2)/2

C.n(n+1)/2

D.(n-1)(n+2)


正确答案:B
解析:本题考查如何衡量算法的复杂度,根据题目可以看出,两层循环每次执行的次数是不相等的,第一次循环执行了n次,第二次循环只执行了n-1次,直到最后一次循环,他执行了2次,这样就是一个等差数列的求和,可得到总的执行次数为(n-1)(n+2)/2。

第3题:

请补充main函数,该函数的功能是:输出一个NXN矩阵,要求非周边元素赋值0,周边元素赋值1。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。

试题程序:

include<stdio .h>

define N 10

main()

{

int bb[N] IN];

iht i,j,n;

clrscr 0;

printf (" \nInput n: \n");

scanf ("%d", &n);

for (i=0; i<n; i++ )

for (j=0; j<n; j++)

{

if(【 】)

bb[i] [j]=l;

else

【 】;

}

printf(" \n*** the result *** \n");

for (i=0; i<n; i++)

{

printf (" \n\n");

for (j=0; j<n; j++)

printf ("%4d",bb [i] [j ] );

}

}


正确答案:i==0‖i==n-1‖j==0‖j==n-1 bb[i][j]=0
i==0‖i==n-1‖j==0‖j==n-1 bb[i][j]=0 解析:第一空:用二维数组表示n×n矩阵时,周边元素是行下标为0或n-1,列下标为。或n-1的元素,判断时四个条件中只要有一个条件满足,则该元素就是周边元素,所以用“‖”运算符。第二空:题目要求将非周边元素赋值为0。

第4题:

阅读下列函数说明和C代码,填入(n)处。

[说明]

以下C语言程序实现了生成从里到外是连续的自然数排列的回旋矩阵,矩阵形式如下:

7 6 5 16

8 1 4 15

9 2 3 14

10 11 12 13

程序的变量说明如下:

x1:矩阵上边界;

x2:矩阵下边界;

y1:矩阵左边界;

y2:矩阵右边界;

s:数组元素升降标记,s等于1为升,s等于-1为降;

a[]:存放矩阵元素的数组。

仔细阅读C语言程序源码,将(n)处的语句补充完整。(注:每处仅一个语句)

[C程序]

include<stdio.h>

void main ( )

{

const int N=20;

int i=0,j=0,a[N][N],n;

int m,x1,x2,y1,y2,s;

while (1)

{

Printf ("\ninput matrix row N( N>=2): ");

scanf ("%d",&n);

printf ("\n");

if (n>=2)

break;

}

m=n*n;

x1=0; y1=0; x2=n; y2=n;

if(n%2==0)

{j=n-1; y2=n-1; s=1;}

else

{i=n-1; y1=1; s=-1; }

while (1)

{

if (s==1)

{

for (i; i<x2; i++) a[i][j]=m--;

i--;

j--;

(1)

for (j;j>=y1;j--) a[i][j]=m--;

j++;

i--;

y1++;

(2)

}

else

{

for (i;i>=x1;i--)

a[i][j]=m--;

i++;

j++;

(3)

for (j;j<y2;j++)

(4)

(5)

i++;

(6)

S=i;

}

if (m<1) break;

}

for (i=O;i<n; i++)

{

for (j=O;j<n;j++)

printf ("%6d",a[i][j]);

printf ("\n");

}

printf ("\n");

}


正确答案:(1)x2--; (2)s=-1; (3)x1++; (4)a[i][j]=m--; (5)j--; (6)y2--;
(1)x2--; (2)s=-1; (3)x1++; (4)a[i][j]=m--; (5)j--; (6)y2--; 解析:自然数排列的回旋矩阵是一个经典程序设计题目。本题中生成的是一个从里到外是连续的自然数排列的回旋矩阵。仔细阅读代码,能够发现(1)处应该为矩阵下边界递减;(2)处应该为数组元素递减状态,即为降;(3)处应该为矩阵上边界递增;(4)处应该为存放矩阵元素的数组中的数据递减;(5)处应该为数组元素的列序号递减,即j--;(6)矩阵右边界递减。

第5题:

请补充函数fun(),该函数的功能是:计算N×N维矩阵元素的方差,结果由函数返回。维数N在主函数中输入。例如:

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

试题程序:

include <stdio.h>

include <conio.h>

include <stdlib.h>

include <math.h>

define N 20

double fun(【 】,int n)

{

int i,j;

int k;

double s=0.0;

double f=0.0;

double aver=0.0;

double sd=0.0;

for(i=0;i<n;i++)

for(j=0;j<n;j++)

s+=a[i][j];

aver=【 】;

for(i=0;i<n;i++)

for(j=0;i<n;j++)

f+=(a[i][j]-aver)*(a[i][j]-aver);

f/(n*n);

sd=【 】;

return sd;

}

main()

{

int a[N][N];

int n;

int i,j;

double s;

clrscr();

printf("***+Input the dimension of

array N*****\n");

scanf("%d",&n);

printf("***** The array *****\n");

for(i=0;i<n;i++)

{

for(j=0;j<n;j++)

{

a[i][j]=rand()%50;

while(a[i][j]=0)

a[i][j]=rand()%60;

printf("%4d",a[i][j]);

}

printf("\n\n");

}

s=fun(a,n);

printf("******* THE RESULT *******\n");

printf("%4.3f\n",s);

}


正确答案:int a[][N] s/(n*n) sqrt(f)
int a[][N] s/(n*n) sqrt(f) 解析:第一空;由主函数main()中对函数fun()的调用格式,可以知道,函数fun()的第一个参数是N×N的二维整型数组。第二空:平均值等于所有元素的累加和除以个数。第三空;根据公式,方差sd等于对变量f开平方,这里注意对数学库函数的调用。

第6题:

以下程序的输出结果是 ( ) main( ) { int n[3] [3],i,j; for (i=0;i<3;i+ +) for(j=0;i<3;++) n[i][j]=i+j; for(i=0;i<2;i++) for(j=0,j<2;j++) n[i+1][j+1]+=[i][j]; printf("%d\n",n[1][j]); }

A.14

B.0

C.6

D.值不确定


正确答案:C

第7题:

在以下选项中,不正确的赋值语句是( )。 A.i++;B.nl=(n2=(n3=0..;C.m+n=1;S

在以下选项中,不正确的赋值语句是( )。

A.i++;

B.nl=(n2=(n3=0..;

C.m+n=1;

D.i=k==j;


正确答案:C
赋值运算符的左边只能是变量,而不能是常量或表达式。

第8题:

执行下列语句后,变量n的值是______。

int n=0;

for(int i=1;i<=3;i++)

for(int j=1;j<<=i;j++)

n++;


正确答案:6
6 解析:当i=1时,内循环中的i的值为1,n目加一次,n=1;当i=2时,内循环中的j的值为i和2,n自加两次,n=3,当i=3时,内循环中的i的值为1、2、3,n自加三次,n=6。

第9题:

以下非法的赋值语句是( )。

A.n=(i=2,++i);

B.j++;

C.++(i+1);

D.x=j>0;


正确答案:C
解析:常量和表达式是不能被赋值的。选项A为复合表达式,首先计算(i=2,++i)的值,然后赋值给n,故选项A正确;选项B为简单自加运算,因为运算改变了变量j的内容,所以也算一种赋值语句,故选项B正确;选项c在表达式++(i+1);中,(i+1)不是变量,该表达式的值为常量,而在++运算中,其运算对象必须为变量,故选项C错误:选项D将逻辑表达式j>0的值赋给x,是合法的赋值语句。所以应当选择C。

第10题:

请补充函数fun(),该函数的功能是:按行统计N×N维矩阵元素中的最大值(均为整数),并把这些值按从小到大的顺序保存在数组b中。矩阵的维数在主函数中输入,并赋予随机数。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。

试题程序:

include<stdio.h>

include<conio.h>

include<stdlib.h>

define N 20

void fun(【 】)

{

int i j;

int t;

for(i=0;i<n;i++)

for(j=0;j<n;j++)

if(【 】)

b[i]=a[i][j];

for(i=0;i<n;i++)

{

for(j=0;i<n;j++)

if(【 】)

{

t=b[i];

b[i]=b[j];

b[j]=t;

}

}

}

main()

{

int a[N][N];

int b[N];

int n;

int i,j;

clrscr();

printf("*****Input the dimension of array N*****\n");

scanf("%d",&n);

printf("*****The array *****\n");

for(i=0;i<n;i++)

{

for(j=0;i<n;j++)

{

a[i][j]=rand()%20;

while(a[i][j]==0)

a[i][j]=rand()%30;

printf("%4d",a[i][j]);

}

printf(”\n\n”);

}

for(i=0;i<n;i++)

b[i]=0;

fun(a,b,n);

printf("***** THE RESULT *****\n");

for(i=0;i<n;i++)

printf(“%d”,b[i]);

}


正确答案:int a[][N]int b[]int n b[i]a[i][j] b[i]b[j]
int a[][N],int b[],int n b[i]a[i][j] b[i]b[j] 解析:第一空:根据主函数main()调用函数fun()的格式,可以知道函数fun()有3个参数,第一个参数是N×N整型二维数组,第二个参数是整型—维数组,第三个参数是整型变量。第二空:数组元素b[i]保存第i行的最大值,通过循环将第i行的各元素与b[i]进行比较,如果大于b[i],则将这个数赋给b[i].第三空:通过for循环嵌套,将数组b中的数按从小到大的顺序排列,依次将各元素与所有元素进行比较,如果有一个元素比当前元素大,就借助第三个变量交换这两个元素,最终使第一个元素保存数组中最小的数,最后一个元素保存数组中最大的数。

更多相关问题