国家开放大学电大专科《微积分初步》期末试题5

有以下程序

main()

{ int i,j,x=0;

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

{ x++;

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

{ if(j % 2) continue;

x++;

}

x++;

}

printf("x= % d\n",x);

}

程序执行后的输出结果是

A)x=4

B)x=8

C)x=6

D)x=12


正确答案:B
(32)B) 解析 : 此程序考察了 for 循环和 x++ 。 对于大循环 , 有两个 x++, 其中循环 3 次 , 对于小循环 , 循环三次 , 但是运行了两次 x++, 所以最后结果是 6+2=8 。


以下程序按下面指定的数据给 x 数组的下三角置数,并按如下形式输出,请填空。

4

3 7

2 6 9

1 5 8 10

#include <stdio.h>

main()

{ int x[4][4],n=0,i,j;

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

for(i=3;i>=j; 【 12 】 ) {n++;x[i][j]= 【 13 】 ; }

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

{ for(j=0;j<=i;j++) printf("%3d",x[i][j]);

printf("\n");

}

}


正确答案:


有以下程序 main(){intx[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) for(j=2;j>=i;j--) if(x[

有以下程序 main() { int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) for(j=2;j>=i;j--) if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;} for(i=0;i<3;i++) for(j=4;j<7-i;j++) if(x[j]>x[j+1]){ k=x[j];x[j];x[j+1];x[j+1]=k;} for(i=0;i<8;i++)printf("%d",x[i]); printf("\n"); } 程序运行后的输出结果是

A.75310246

B.1234567

C.76310462

D.13570246


正确答案:A
解析:主函数中定义了一个整型数组x,并初始化。接着执行了一个二重 for循环,在该二重循环的作用是将数组的前4个元素按从大到小排序,接着用了一个二重循环(也是冒泡算法)将数组的后4个元素按从小到大的顺序排序,故最后依次输出数组各元素的值为75310246。


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

A.x=4

B.x=8

C.x=6

D.x=12


正确答案:B


请选出以下程序段的输出结果______。includedefine MIN(x,y)(x)<(y)?(x):(y)main(){in

请选出以下程序段的输出结果______。 #include<stdio.h> #define MIN(x,y) (x)<(y)?(x):(y) main() { int i,j,k;i=10;j=15; k=10*MIN(i,j); printf("%d\n",k); }

A.15

B.100

C.10

D.150


正确答案:A


2027国家开放大学电大专科微积分初步期末试题及答案(试卷号:2437)H分评卷入选择每小1 4分共20分)的图形是关于()时林A.、 xGy W时.函教/(X)He#轴u坐坏原点/+. -r # 0做在r-0她走域-L 4 0A.0-Q23.下利拈婚中)本正谶在/姓不差炫则一定在次IH、可导& jr(r)dL/(” aajrx)ir-/u) + rH.若/(x)在“内俐有广小。*1在】内是箪胃卜降的 G町场成散的机值点一定震生在其仁点上 n /(x在姓连境,删一定在,处可微 卜列并式成立的压()A. j/(x)cU- /(X) ajd/(x)=/x)5. |分方程 = 的通*为( A- y e*评卷入二.增空(国小H I分.本网共20分)6. 5 JJ 4- i)= x1 I 2j 3,阳 /工)d7. liE 耍=&.nn发/(x十i在.2点的机率是9. ft | f(j)u 一 Hru +,删厂10. it 分方理 xy* 卜(y)PoM eLfKi 散勾计算ttWbm jj三计HUH*共5分.小 n分)W.6x + 812- ft y =c + 二.求 dy 11计算不定枳分I 2x-DHx.H.计算定税分得分评卷入16 分)1%用蜗板饵樗一个喜枳为的程为正方彩的无疆水场.巳馈停I阪径半方* 10 7C.fi?40元.同水踊的尺寸JD何逸择,可使急御最修,霞兑费是多少?试题答案及评分标准小 I 分.本共 20 |LC2. B3. D,A5.C.saiis小尊(分.我2。分)6.广T7.59.-x10.3三,做鼻(本共小分)11. 酒式J一2】1 分 i (j 3)x i) .“* 4U. II. L com 土Wd, (eltL* p)心II 分13. Mt I 2r- ncU gj m- DdClr- I.我(Zx1)+II 分H, n t f * xMifkrilx u XCOM f +cowicU _.iar I m 1H 分四.应用(本 16分)15. 没水1的底边长为x皿丸A .表面根为S .旦有人号所以SS)T W孕.SCrUr-片令 (了0.得工=2.10分因为本间m存在小值.且成故龄甚点缱一 所以.当x=2E】时水in的丧瓯以1小.1 怠9!用ftfi.16分此时的用为S X 10+40=160(元)

阅读下列函数说明和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)矩阵右边界递减。


有以下程序: #include<stdio.h> #define N 3 void fun(int a[][N],int b[]) { int i,j; for(i=0;i<N;i++) { b[i]=a[i][0]; for(j=i;j<N;j++) if(b[i]<a[i][j]) b[i]=a[i][j]; } } main( ) { int x[N][N]={1,2,3,4,5,6,7,8,9},y[N],i; fun(x,y); for(i=0;i<N;i++)printf("%d,",y[i]); printf("\n"); } 程序运行后的输出结果是(,)。

A.2,4,8,

B.3,6,9,

C.3,5,7,

D.1,3,5,


正确答案:B
Fun函数功能是把数组a的每一行的最大值赋给b,a的第一行的最大值是3,第二行的最大值是6,第三行的最大值是9,所以答案是3,6,9。


以下程序的输出结果是includevoid main( ){int i,j,x=0;for(i=0;i<2;i++){x++;for(

以下程序的输出结果是 #include<iostream.h> void main( ) {int i,j,x=0; for(i=0;i<2;i++) { x++; for(j=0;j<3;j++) { if(j%2)continue; x++;} x++;} cout<< "x="<<x;}

A.x=4

B.x=8

C.x=6

D.x=12


正确答案:B
解析:该题是一个for循环嵌套语句。第一层for循环循环2次,第二层循环3次,但当j等于 0和1时,将执行continue语句,不执行x++运算,所以每次执行完内循环后,x的增量为1。最后一个x++运算将每次累加起来就是x的值。


有以下程序段:includedefine MAX(x,y)(x)>(y)?(x):(y)void main(){ int i,j,k; i=

有以下程序段: #include<iostream.h> #define MAX(x,y)(x)>(y)?(x):(y) void main() { int i,j,k; i=10; j=15;k=MAX(i,j)*10; cout<<k<<end1; } 程序执行后的输出结果是( )。

A.15

B.100

C.150

D.10


正确答案:C


有以下程序: include main ( ){int x[ ] = {1,3,5,7,2,4,6,0} ,i,j,k;for(i =0;i<3;i

有以下程序: #include <stdio. h> main ( ) { int x[ ] = {1,3,5,7,2,4,6,0} ,i,j,k; for(i =0;i<3;i ++ ) for (j =2;j> = i;j — ) if( x[j + 1 ] > x[j] ) { k = x[j] ;x[j] = x[j + 1 ] ;x[j + 1 ] = k; } for (i =0;i<3;i++) for(j =4;j <7-i;j ++) if(x[j] >x[j+1]){ k=x[j];x[j] =x[j+1];x[j+1] =k;} for (i=0;i<8;i ++) printf("%d" ,x[i]); prinff("\n" );}程序运行后的输出结果是( )。

A.75310246

B.1234567

C.76310462

D.13570246


正确答案:A
解析:本题考查的是排序算法。for(i=0;i3;i++)for(j=2;j>i;j--)if(x[j+1],x[j]){k=x[j];x[j];x[j+1);x[j+1]=k;}该段程序的作用是将数组元素x[0]~x[3]中的数由大到小排列,得到x[]{7,5,3,1,2,4,6,0}。for(i=0;i3;i++)for(j=4;j7-i;j++)if(x[j]>x[j+1]){k=x[j];x[j]=x[j+1];x[j+1]=k;}该段程序的作用是将数组元素x[4]~x[7]中的数由小到大排列,得到x[]={7,5,3,1,0,2,4,6}。因此输出结果为75310246。

更多 “国家开放大学电大专科《微积分初步》期末试题5” 相关考题
考题 有以下程序:main(){int x[]={1,3,5,7,2,4,6,0),i,j,k;for(i=0;i=i;j--)if( x[j有以下程序: main() { int x[]={1,3,5,7,2,4,6,0),i,j,k; for(i=0;i<3;i++) for(j=2;i>=i;j--) if( x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k; } for(i=0;i<3;i++) for(j=4;j<7-i;j++) if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k; } for(i=0;i<8;i++) printf("%d",x[i]); printf("\n"); } 程序运行后的输出结果是( )。A.7.53102e+007B.01234567C.7.63105e+007D.1.35702e+007正确答案:A解析:主函数中定义了一个整型数组x,并初始化。接着执行了一个二重for循环,该二重循环的作用是将数组的前4个元素按从大到小排序,接着用了一个二重循环(也是冒泡算法)将数组的后4个元素按从小到大的顺序排序,故最后依次输出数组的元素值为75310246,所以,4个选项中选项A符合题意。

考题 单选题设向量u(→)=3i(→)-4j(→),v(→)=4i(→)+3j(→),且二元可微函数f(x,y)在点P处有∂f/∂u(→)|P=-6,∂f/∂v(→)|P=17,则df|P=(  )。A 10dx+15dyB 15dx-10dyC 10dx-15dyD 15dx+10dy正确答案:D解析:{e(→)u={3/5,-4/5},e(→)v={4/5,3/5}。由∂f/∂u(→)|P=-6,∂f/∂v(→)|P=17,得∂f/∂x|P×(3/5)+∂f/∂y|P×(-4/5)=-6,∂f/∂x|P×(4/5)+∂f/∂y|P×(3/5)=17,所以∂f/∂x|P=10,∂f/∂y|P=15。故df|P=∂f/∂x|Pdx+∂f/∂y|Pdy=10dx+15dy。

考题 单选题函数f(x,y)=arctan(x/y)在点(0,1)处的梯度等于(  )。A i(→)B -i(→)C j(→)D -j(→)正确答案:A解析:由函数f(x,y)=arctan(x/y)得fx′=(1/y)/[1+(x2/y2)],fy′=(-x/y2)/[1+(x2/y2)],将(0,1)代入得fx′(0,1)=1,fy′(0,1)=0,故gradf(0,1)=1·i(→)+0·j(→)=i(→)。

考题 有以下程序main(){ int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) for(j=2;j>=i;j--) if(x[j+1]>x[j]) { k=x[j]; x[j]=x[j+1]; x[j+1]=k; } for (i=0;i<3;i++) for(j=4;j<7-i;j++) if(x[j]>x[j+1]) { k=x[j]; x[j]=x[j+1]; x[j+1]=k; } for (i=0;i<8;i++) printf("%d",x[i]); printf("\n");}程序运行后的输出结果是A.75310246 B.01234567 C.76310462 D.13570246正确答案:Afor(i=0;i<3;i++) for(j=2;j>=i;j--) if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}此段程序的作用是将数组x[0]~x[3]中的数由大到小进行排列,运行此段程序后,x[]中的值变为x[]={7,5,3,1,2,4,6,0}for(i=0;i<3;i++) for(j=4;j<7-i;j++) if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}此段程序的作用是将数组x[4]~x[7]中的数由小到大进行排列,运行此段程序后,x[]中的值变为x[]={7,5,3,1,0,2,4,6},最后通过一个循环将X[]中的数依次输出。

考题 一个系统的模块结构图如下所示,用{X,X,X}表示这个系统的测试模块组合。下面的选项中(20)表示自顶向下的测试,(21)表示三明治式测试。A.{A}{A,B,C,D,E}{A,B,C,D,E,F,G,H,I,J,K}B.{F}{G}{H}{I}{J}{K}{B,F,G}{C,H}{D,I,J}{E,K}{A,B,C,D,E,F,G,H,I,J,K}C.{K}{J}{I}{H}{G}{F}{B}{C}{D}{E}{A,B,C,D,E,F,G,H,I,J,K}D.{A}{F}{G}{H}{I}{J}{K}{B,F,G}{C,H}{D,I,J}{E,K}{A,B,C,D,E,F,G,H,I,J,K}正确答案:A解析:自顶向下的测试顺序是{A}{A,B,C,D,E}{A,B,C,D,E,F,G,H,I,J,K},即先测试A模块,然后再加入B,C,D,E模块,最后加入第三层的F,G,H,I,J,K模块。所谓三明治测试是由两组测试人员分别自顶向下和自底向上测试,中间夹心的是尚未测试的模块。根据定义应选择{A}{F}{G}{H}{I}{J}{K}{B,F,G}{C,H}{D,I,J}{E,K}{A,B,C,D,E,F,G,H,I,J,K}。

考题 有以下程序: main { int i,j,x=0; for(i=0;i<2;i++) { x++; for(j=0;j<=3;j++) {if(j=0;j<=3;j++) x++; } x++; } printf("x=%d\n",x); } 程序执行后的输出结果是( )。A. x=4B.x=8C.x=6D.x=12正确答案:B当i=0时,i<2成立,执行第一个for循环x自加为1,接着执行第二个for循环;j=0时j<=3成立,此时if不成立,执行x++后,x为2;接着j=1时,i<=3成立,继续循环,此时if成立,continue是跳出本次循环,继续下一次循环,不再执行x++了;接着j=2时,j<=3成立,此时if不成立,执行其后的语句;当j=4时,退出第二个循环,接着执行循环外部的x++,x为4;当i=1时,i<2成立,执行第一个循环,x=5,此时接着执行循环外部的语句,即第二个循环;j=0时j<3成立,此时if不成立,x++后,x为6,接着j为1时,j<=3成立,继续循环,此时if成立,不再执行x++了;接着J=2时,j<=3成立,此时if不成立,执行其后的x++,x为7;i=3时,j<=3成立,此时if成立,不再执行其后的语句了;当j=4时,退出第二个循环,执行循环外部的语句,最终x为8,故选B选项。

考题 G17G03I100.0J100.0F100.其中I及J表示起点到圆心X轴、Y轴的分向量。()正确答案:正确

考题 以下程序的输出结果是()。includevoid main(){int i, j,x=0;fof (i=0;i以下程序的输出结果是( )。 #include<iostream.h> void main() {int i, j,x=0; fof (i=0;i<2;i++= {x++; for(j=0;j<3;j++= {if(j%2)continue: x++; x++;} cout<<"x="<<x;=A.x=4B.x=8C.x=6D.x=12正确答案:B

考题 阅读以下说明和C语言函数,将应填入(n)处的语句写在对应栏内。【说明】下面的程序构造一棵以二叉链表为存储结构的二叉树。【函数】BitTree *createbt(BitTree *bt){BitTree *q;struct node *s[30];int j,i;char x;printf("i,x=");scant("%d,%c",&i,&x);while(i!=0 && x!='$'){q=(BitTree *}malloc(sizeof(BitTree));//生成一个结点(1);q->lchild=NULL;q->rchild=NULL;(2) ;if ((3)){j=i/2; // j为i的双亲结点if(i%2==0)(4); //i为j的左孩子else(5); //i为j的右孩子}printf("i,x=");scanf("%d,%c",&i,&x);}return s[i];}正确答案:(1)q->data=x (2)s[i]=q (3)i!=1(4)s[j]->lchild=q (5)s[j]->rchild=q(1)q->data=x (2)s[i]=q (3)i!=1(4)s[j]->lchild=q (5)s[j]->rchild=q 解析:本题考查二叉树的构造。 题目要求构造一棵二叉树,而二叉树的性质如下:如果对一棵有n个结点的完全二叉树的结点按层序编号(从第1层到第[log2n]+1层,每层从左到右),则对任一结点i(1≤i≤n),有: (1)如果i=1,则结点i无双亲,是二叉树的根;如果i>1,则其双亲是结点[i/2]。 (2)如果2i>n,则结点i为叶子结点,无左孩子:否则,其左孩子是结点2i。 (3)如果2i+1>n,则结点i无右孩子;否则,其右孩子是结点2i+1。 下面我们来看程序。程序中声明了一个结点指针数组,用来保存生成的树中结点。用从键盘输入的方式来确定要插入的字符x和此结点在二叉树中的位置i(这个位置是指在完全二叉树中编号的位置)。 第(1)空是在生成一个新结点后的操作,生成了一个新结点后,自然要将从键盘输入的字符x值存放进来,以及修改结点的两个指针域。程序中指针域都赋了空,因此,第(1)空的任务应该是将字符x写进来,因此,此空答案为q->data=x。 第(2)空是在对结点完成操作后的操作,根据题目意思,生成的结点应该要保存到数组s中,此数组是一个指针数组,保存结点时,是将结点的地址保存进数组中相应的位置,因此,此空答案为s[il=q。 第(3)空是条件判断语句的条件,结合下面的程序可以知道,此条件语句用来判断当前结点是不是根结点,如果不是,才执行条件语句中的内容。根据上面的分析,如果i=1,则结点i无双亲,是二叉树的根,因此,此空的答案为i!=1。 第(4)空处后面有注释,说明i是j的左孩子结点,这个时候我们应该让j结点的左孩子指针指向结点i,此空就是要实现这一功能。而结点,j被存放在数组s中的第j个位置,因此,此空答案为s[i]->lchild=q。 从程序中很容易看出,第(5)空与第(4)空功能相似,只是说i是j的右孩子结点,因此,让j结点的右孩子指针指向结点乙此空答案为s[j]->rchild=q。

考题 填空题已知列表x=[1,2,3]和y=[4,5,6],那么表达式[(i,j)for i,j in zip(x,y)if i==3]的值为()。正确答案:[(3, 6)]解析:暂无解析