当前位置:文档之家› 第4章 数组练习题答案

第4章 数组练习题答案

第4章 数组练习题答案
第4章 数组练习题答案

第4章数组练习题

一、选择题

1.在c语言中,引用数组元素时,其数组下标的数据类型允许是()。

A)整型常量 B)整型表达式C)整型常量或整型表达式 D)任何类型的表达式

2.要说明一个有10个int元素的数组,应当选择语句()。

A) int a[10]; B) int a(10); C) int a[9] D) int a[11]

3.对以下说明语句的正确理解是()。

int a[10]={6,7,8,9,10};

A)将5个初值依次赋给a[1]至a[5]

B)将5个初值依次赋给a[0]至a[4]

C)将5个初值依次赋给a[6]至a[10]

D)因为数组长度与初值的个数不相同,所以此语句不正确

4.已知:int a[10];则对a数组元素的正确引用是()。

A) a[10] B) a[3.5] C) a(5) D) a[10-10]

5.以下对一维整型数组a的正确说明是()。

A) int a(10); B)int n=10,a[n];

C) int n; D)#define SIZE 10;

scanf("%",&n); int a[SIZE];

int a[n];

6.要定义一个int型一维数组art,并使其各元素具有初值89,-23,0,0,0,不正确的定义

语句是()。

A) int art[5]={89,-23};

B) int art[ ]={89,-23};

C) int art[5]={89,-23,0,0,0};

D) int art[ ]={89,-23,0,0,0};

7.在C语言中,二维数组元素在内存中的存放顺序是()。

A)按行存放 B)按列存放 C)由用户自己定义 D)由编译器决定

8.以下对二维数组a的正确说明是()。

A)int a[3][] B) float a(3,4) C) double a[1][4] D) float a(3)(4) 9.已知:int a[3][4];则对数组元素引用正确的是()。

A)a[2][4] B)a[1,3] C) a[2][0] D) a(2)(1) 10.已知:int a[3][4]={0};则下面正确的叙述是()。

A)只有元素a[0][0]可得到初值0

B)此说明语句是错误的

C)数组a中的每个元素都可得到初值,但其值不一定为0

D)数组a中的每个元素均可得到初值0

11.以下各组选项中,均能正确说明二维实型数组a的是()。

A) float a[3][4]; B) float a(3,4);

float a[][4]; float a[3][4];

float a[3][]={{1},{0}}; float a[][]={{0},{0}};

C) f loat a[3][4]; D) float a[3][4];

float a[][4]={{0},{0}}; float a[3][];

float a[][4]={{0},{0},{0}}; float a[][4];

12.已知:int a[][3]={1,2,3,4,5,6,7};则数组a的第一维的大小是()。

A)2 B)3 C)4 D)无确定值

13.若二维数组a有m列,则在a[i][j]之前的元素个数为()。

A) j*m+i B) i*m+j C) i*m+j-1 D) i*m+j+1

14.要使字符数组str存放一个字符串"ABCDEFGH",正确的定义语句是()。

A) char str[8]={'A','B','C','D','E','F','G','H'};

B) char str[8]="ABCDEFGH";

C) char str[ ]={'A','B','C','D','E','F','G','H'};

D) char str[ ]="ABCDEFGH";

15.下面是对数组s的初始化,其中错误的是()。

A) char s[5]={"abc"} B) char s[5]={'a','b','c'};

C) char s[5]=""; D) char s[5]="abcde";

16.对两个数组a和b进行如下初始化

char a[]="ABCDEF";

char b[]={'A','B','C','D','E','F'};

则以下叙述正确的是()。

A) a与b数组完全相同 B) a与b长度相同

C) a和b中都存放字符串 D) a数组比b数组长度长

17.下面程序的运行结果是()。

char c[5]={'a','b','\0','c','\0'};

printf("%s",c);

A) 'a''b' B) ab C) ab c D) 以上三个答案均有错误

18.下面程序段运行的结果是()。

char s[]="a book!";

printf("%.4s",s);

A) a book! B) a bo

C) a boo D) 格式描述不正确,没有确定的输出

19.合法的数组定义是()。

A) int a[]="string"; B) int a[5]={0,1,2,3,4,5};

C) char a="string"; D) char a[]={'0','1','2','3','4','5'};

20.要使字符串数组STR含有"ABCD","EFG"和"xy"三个字符串,不正确的定义语句有()。

A)char STR[ ][4]={"ABCD","EFG","XY"};

B)char STR[ ][5]= {"ABCD","EFG","XY"};

C)char STR[ ][6]= {"ABCD","EFG","XY"};

D)char STR[ ][7]={{'A','B','C','D','\0'},"EFG","XY"};

21.有两个字符数组a、b,则以下正确的输入格式是()。

A) gets (a,b); B) scanf ("%s%s",a,b);

C) scanf ("%s%s",&a,&b); D) gets ("a"), gets ("b");

22.判断字符串a和b是否相等,应当使用()。

A) if (a==b) B) if (a=b)

C) if (strcpy(a,b)) D) if (strcmp(a,b))

23.下述对C语言字符数组的描述中错误的是()。

A)字符数组可以存放字符串

B)字符数组的字符串可以整体输入、输出

C)可以在赋值语句中通过赋值运算符"="对字符数组整体赋值

D)不可以用关系运算符对字符数组中的字符串进行比较

24.运行下面程序段的输出结果是()。

char s[12]="string";

printf("%d",strlen(s));

A) 12 B) 7 C) 6 D) 5

25.函数调用strcat ( strcpy ( str1,str2 ), str3 )的功能是()。

A)将字符串str1复制到字符串str2中,再连接到字符串str3之后

B)将字符串str1连接到字符串str2之后,再复制到字符串str3之后

C)将字符串str2复制到字符串str1中,再将字符串str3连接到字符串str1之后

D)将字符串str2连接到字符串str1之后,再将字符串str1复制到字符串str3之中

26.有下面的程序段

char a[3],b[]="china";

printf("%s",a);

则()。

A)运行后将输出ch B)运行后将输出Ch

C)运行后将输出chi D)编译出错

27.下面描述正确的是()。

A)两个字符串所包含的字符个数相同时,才能比较字符串

B)字符个数多的字符串比字符个数少的字符串大

C)字符串"STOP"与"STOP "相等

D)字符串"hat"小于字符串"het"

28.下面程序段的运行结果是()。

char c[]="\t\b\\\0will\n";

printf ( "%d", strlen (c));

A) 14 B) 3 C) 9 D) 字符串中有非法字符,输出值不确定

29.下面程序段的运行结果是()。(其中~表示空格)

char a[7]="abcdef",b[4]="ABC";

strcpy (a,b);

printf ("%c",a[5]);

A) ~ B) \0 C) e D) f

30.以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。

#define N 10

void arrin(int x[N])

{ int i=0;

while(i

scanf("%d", );

}

在下划线处应填入的是( )。

A) x+i B)&x[i+1] C)x+(i++) D)&x[++i]

二、填空题

1.构成数组的各个元素必须具有相同的数据类型。C语言中数组的下标必须是整正数、0

或整型表达式。如果一维数组的长度为n ,则数组下标的最小值为 0 ,最大值为n-1 。

2.在C语言中,一维数组的定义方式为:类型说说明符数组名 [常量表达式] 。

3.在C语言中数组名是一个地址常量,不能对其进行加、减及赋值操作。

4.已知数组T为一有10个单元的整型数组,正序输出T中的10个元素的值的语句为:

for (j=0;j<10;j++) printf(“%d”,T[j]);

下面的语句试图按相反的顺序显示输出T中的10个元素的相反数;请补充完整下面的语句:for( j=9 ; j>=0 ;j- -)printf(“%d”, T[j] );

5.字符数组是用来存放字符串的数组。字符数组中一个元素存放 1 个字符。

6.在C语言中存放字符'A'需要占用 1 个字节,存放字符串"A"需要占用 2 个字节。

7.当需要接受用户从键盘输入的含有空格的字符串时,应使用gets()函数。

8.以下语句的输出结果是 c:\winxp\time.exe 。

printf("%s\n","c:\\winxp\\time.exe");

9.执行“ static int b[5],a[][3]={1,2,3,4,5,6} ” 后,b[4]=( 0 ),a[1][2]=( 6 )。

10.若在程序中用到“ putchar() ”函数时,应在程序开头写上包含命令

(#include),若在程序中用到“strlen() ”函数时,应在程序开头写上包含命令(#include )。

三.完善程序题。

1.下面的程序是求出数组a的两条对角线上的元素之和。

#include "stdio.h"

{ int a[3][3]={{1,3,6},{7,9,11},{14,15,17}},sum1=0,sum2=0,i,j;

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

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

if (i==j) sum1=sum1+a[i][j];

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

for ( j=2 ; j>=0 ; j--)

if (i+j==2)

sum2=sum2+a[i][j];

printf("sum1=%d,sum2=%d\n",sum1,sum2);

}

2.下面的程序段的功能是产生如下形式的杨辉三角形。

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

...... ......

#define N 11

main()

{ int a[N][N],i,j;

for (i=1;i

{ a[i][1]=1;

a[i][i]=1;

}

for ( i=1 ; i

for (j=2; j

a[i][j]= a[i-1][j-1] +a[i-1][j];

...... ......

}

3.下面程序的功能是输出数组s中最大元素的下标,请填空。

main()

{ int k,p;

int s[]={1,-9,7,2,-10,3};

for(p=0,k=p;p<6;p++) if (s[p]>s[k])( k=p; )

printf("%d\n",k);

}

4.下面程序的功能是将一个字符串str的内容颠倒过来,请填空。

#include "string.h"

main( )

{ int i,j,( k );

char str[]={"1234567"};

for(i=0,j=strlen(str),( j=j-1 );i

{ k=str[i];str[i]=str[j];str[j]=k;}

}

5. 以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串。例如,输入字符串:abc123edf456gh,执行程序后输出:123456。请填空。

#include

#include

main()

{ char s[80], d[80]; int i, j;

gets(s);

for(i=j=0; s[i]!=…\0?; i++)

if(_s[j]>=?0?&& s[j]<=?9?__) { d[j]=s[i]; j++;}

d[j]=…\0?;

puts(d);

}

四.阅读程序题

1.以下程序执行时输入Language Programming的结果是( str= Language )。

#include

main()

{ char str[30];

scanf("%s",str);

printf("str=%s\n",str);

}

2.以下程序执行时输入Language Programming的结果是(str= Language Programming )。 #include

main()

{ char str[30];

gets(str);

printf("str=%s\n",str);

}

3.以下程序执行的结果是( s=1234 )。

#include

main()

{ int a[]={1,2,3,4},i,j,s=0;

j=1;

for(i=3;i>=0;i--) { s=s+a[i]*j;j=j*10;}

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

}

4.以下程序执行的结果是( 123 )。

#include

main()

{ char str[]={" 1a 2b 3c "};

int i;

for(i=0;str[i]!='\0';i++)

if(str[i]>='0'&&str[i]<='9') printf("%c",str[i]);

printf("\n");

}

5.以下程序执行的结果是( s=15 )。

#include

main()

{ int a[3][3]={1,2,3,4,5,6,7,8,9},i,s=0;

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

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

}

6.以下程序执行的结果是( (1,1)=-5 )。

#include

main()

{ int i,j,row=0,col=0,m;

static int a[3][3]={1,-2,0,4,-5,6,2,4};

m=a[0][0];

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

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

if(a[i][j]

{m=a[i][j];

row=i;

col=j; }

printf("(%d,%d)=%d\n",row,col,m);

}

7.以下程序执行的结果是( 4, some string * test )。

#include

main()

{ static char s1[50]={"some string * "};

static char s2[]={"test"};

printf("%d,",strlen(s2));

strcat(s1,s2);

printf("%s\n",s1);

}

8.下列程序段的输出结果是__ Hello _______。

main()

{ char b[]=”Hello,you”;

b[5]=0;

printf(“%s \n”, b );

}

9. 若有以下程序

main()

{ int a[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};

int i,j,s=0;

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

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

{ if(a[i][j]<0)continue;

if(a[i][j]==0)break;

s+=a[i][j];

}

}

printf("%d\n",s);

}

执行后输出的结果是____58___。

10. 若有以下程序

void prnt(int n, int aa[ ])

{ int i;

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

{ printf(“%6d”, aa[i]);

if( !(i%5) ) printf(“\n”);

}

printf(“\n”);

}

若变量n中的值为24,则prnt函数共输出 5 行,最后一行有 4 个数。

三、编写程序题

1.从键盘上输入5个数,输出最大、最小的元素以及它们的下标

#define N 5

#include

main( )

{ int i,j,k, max,min; static int a[5];

for (i=0;i<5;i++) scanf("%d",&a[i]);

max=min=a[0]; /*假定第一个元素既是最大的,也是最小的*/

j=k=0; /*对分别记录最大,最小元素下标的变量j,k初始化 */

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

{ if (max

else if (min>a[i]){ min=a[i];k=i;}

}

printf("max:a[%d]=%d,min:a[%d]=%d",j,max,k,min);

2.在一个已经排好序(假定为升序)的整型数组中插入一个数,使之仍然有序。

【分析】本题有两个关键:

一是要找到插入位置;

二是要将插入位置及以后的元素向后平移一个元素,最后才能在插入位置插入该数。

程序如下。

main()

{ int a[11]={3,5,8,11,15,16,19,23,26,33},i,j,x;

/*定义数组预留一个插入位置*/

printf("输入1个数:");

scanf("%d",&x); /*输入要插入的数 */

for(i=0;i<10;i++) /*寻找插入位置 */

if(a[i]>=x) break;

for(j=9;j>=i;j--) a[j+1]=a[j];

/*将插入位置及以后的元素向后平移*/

a[i]=x; /*插入数 */

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

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

printf("\n");

}

3.将任意一个十进制数转换成二进制数,然后以二进制数形式输出。

算法分析:

将十进制数n转换成二进制数,用整除2求余法。十进制数整除2得到的余数就是对应的二进制数的最低位,得到的商所对应的二进制数,恰好等于原二进制数去掉最低位后的剩余部分;

然后再用上述方法将商再整除2得到商对应的二进制数的最低位,即原二进制数的次低位;反复这样处理就可以从低位到高位,找到对应的二进制数的所有位。输出时二进制数的位必须按从高位到低位输出,所以必须将求出的二进制位用数组保存起来。可以定义一个一维数组d,将用整除2求余法得到的二进制位按d[0],d[1],…d[k] 的顺序保存。输出时,再按相反的顺序d[k], …d[1],d[0]输出。

处理时,存储当前二进制位的元素下标用变量i表示。程序如下:

main()

{

int i=0,n,d[40];

scanf("%d",&n);

while(n>0)

{

d[i++]=n%2; /* 整除2求余 */

n=n/2; /* 整除2求商 */

}

for(i--;i>=0;i--) printf("%1d",d[i]);

printf("\n");

}

运行结果:

87<回车>

1010111

4.用选择法对10个数排序

排序过程:

(1)首先通过n-1次比较,从n个数中找出最小的,将它与第一个数

交换—第一趟选择排序,结果最小的数被安置在第一个元素位置上(2)再通过n-2次比较,从剩余的n-1个数中找出关键字次小的记录,

将它与第二个数交换—第二趟选择排序

(3)重复上述过程,共经过n-1趟排序后,排序结束

#include

main()

{ int a[11],i,j,k,x;

printf("Input 10 numbers:\n");

for(i=1;i<11;i++)

scanf("%d",&a[i]);

printf("\n");

for(i=1;i<10;i++)

{ k=i;

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

if(a[j]

if(i!=k)

{ x=a[i]; a[i]=a[k]; a[k]=x;}

}

printf("The sorted numbers:\n");

for(i=1;i<11;i++)

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

}

5.输出扬辉三角形。

扬辉三角形是(a+b)n展开后各项的系数。如:(a+b)4展开后各项的系数为 1, 4, 6, 4, 1 。输出的扬辉三角形为:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

它的特点是:

0列和对角线元素都是1。其它元素均为上一行的同列元素与前一列元素之和。按此规律编写程序如下:

# define N 6

main()

{

int i, j, y[N][N];

for(i=0;i

{

y[i][0]=1; /* 0列元素置1 */

y[i][i]=1; /* 对角线元素置1 */

}

for(i=0;i

{

for(j=1;j

和*/

for(j=0;j<=i;j++) printf("%5d", y[i][j]);

printf("\n");

}

}

为了节省存储单元,也可以改用一维数组来实现,各行共同使用一个一维数组。先将0号元素置1,其它元素置0,一维数组中存储的是首行的值,输出该行。再以此行的值为基础,从后向前计算下一行的每个元素值,它等于此元素原值与前一元素值之和,一直计算到1号元素,这样整行元数都成为就下一行的新值,输出此行。然后,再在新行的基础上再计算和输出下一行,如此反复,直到所有行输出完为止。

程序如下:

# define N 6

main()

{

int i, j, a[6]={1}; /* 定义数组,0号元素置1其它元素置0*/

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

{

for(j=i;j>0;j--) /* 从后向前 */

a[j]= a[j]+ a[j-1]; /*此元素与前一元素之和*/

for(j=0;j<=i;j++) printf("%5d", a[j]);

printf("\n");

}

}

运行结果:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

6.从键盘输入8个学生三门课程的成绩求每个学生各门课的平均分,并按平均分从高到低的顺

序输出每个学生各门课程的成绩和平均成绩。

(1)定义数组 int s[N][3]; 存储三门课程的成绩。

数组 float a[N]; 存储平均成绩。

(2)用for循环从键盘按行输入每个学生各门课的成绩,计算出平均成绩并存入数组a对应下

标的数组元素。

(3)用选择排序对平均成绩排序,交换时应整行交换。

(4)按要求输出。

程序如下:

# define N 8

main( )

{ int i,j,k,m,s[N][3]; /* 定义数组和变量 */

float t,a[N];

printf(" Input 10 student's scores:\n");

for (i=0; i

scanf("%d%d%d",&s[i][0],&s[i][1],&s[i][2]);

for (i=0; i

a[i]=(s[i][0]+s[i][1]+s[i][2])/3.0;

for (i=0; i

{ for (j=i+1; j

if (a[j]>a[i]) /* 成绩高者交换到i */

{ for (k=0; k<3; k++)

{ m=s[i][k];

s[i][k]=s[j][k];

s[j][k]=m;

}

t=a[i];

a[i]=a[j];

a[j]=t;

}

}

printf("the sorted scores: \n");

for (i=0; i

printf("%8.1f\n", a[i]);

}

}

为了减少交换次数,可以用变量k存储第i趟成绩最高者的下标,这样,每趟最多交换一次。可将排序部分的程序改为:

for (i=0; i

{

k=i; /* 用k存储第i趟成绩最高者的下标 */ for (j=i+1; j

if (a[j]> a[k]) k=j;

if (k!=i) /* 将第i趟成绩最高者交换到i行 */ {

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

{

m=s[i][j];

s[i][j]=s[k][j];

s[k][j]=m;

}

t=a[i];

a[i]=a[k];

a[k]=t;

}

}

运行结果:(略)

7.由键盘任意输入一字符串和一个字符,要求从该串中删除所指定的字符。

程序如下:

main()

{ char x,s[20];

int i,j;

gets(s);

printf("deldte ? \n");

scanf("%c",&x);

for(i=j=0;s[i]!='\0';i++)

if(s[i]!=x)

s[j++]=s[i];

s[j]='\0';

puts(s);

}

程序运行时若由键盘输入:how do you do?

显示屏幕显示:deldte ?

由键盘又输入:o

则运行结果为:hw d yu d?

8.从键盘上输入两个字符串,不用字符串函数strcmp()比较两者的大小

分析:

(1)输入两个字符串,分别存放在str1与str2中;

(2)设计函数compstr()比较两字符,返回ASCII 码之差,赋给主函数的变量flag;

(3)用do……while循环依次比较两个字符串的对应字符,结束的条件是两字符串至少有一个结束,或者比较字符不相等。

(4)当循环结束时flag 的值为0或为第一个不相等的字符的ASCII码值之差,由此可以判断出字符串的大小。

#include

main( )

{int i,flag;

int compstr(char, char );

char str1[80],str2[80];

gets(str1); gets(str2);

i=0;

do

{ flag=compstr(str1[i],str2[i]);/*数组元素作实参*/

i++;

}while((str1[i]!='\0')&&(str2[i]!='\0')&&(flag==0));

/*只要有一个字符串到了末尾比较结束*/

if (flag==0) printf("%s = %s",str1,str2);

else if (flag>0) printf("%s > %s",str1,str2);

else printf("%s < %s",str1,str2);

}

int compstr (char c1, char c2)

{ int t;

t=c1-c2;

return t;

}

9.输入一串字符,判断该字符串是否是回文。

【分析】回文字符串具有中心对称性,从左往右读和从右往左读相同。例如:“ABCCBA”,“上海自来水来自海上”等都是回文。判断回文即是根据这一特性,从左右两边字符开始进行比较,相同则逐渐向中间靠拢,直到遇到不同字符或全部比较完为止。

程序如下。

#include

#include

main()

{char str[20];

int i, j;

gets(str);

j=strlen(str)-1;

for(i=0;i

if(i>=j) printf("该字符串是回文!\n");

else printf("该字符串不是回文!\n");

}

10.打印 y=exp(-x)*cos(x) 函数曲线,其中x从0 变化到3.5π间距为π/18。

定义一个二维字符数组s[23][68],函数坐标点用*号表示,纵坐标在0列,横坐标在22行。

程序如下:

# include "math.h"

main()

{

int i,j;

char s[36][68];

float x=0.0,h=3.14159265/18;

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

{

s[i][0]='|';

s[i][67]='\0';

for(j=1;j<67;j++)

s[i][j]=' ';

}

s[22][0]='+';

for(j=1;j<66;j++) s[22][j]='-';

s[22][66]='>';

s[23][66]='x';

printf("exp(-x)*cos(x)\n ^\n");

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

{

i=(int)(22.5-22*exp(-x/6.0)*cos(x));

s[i][j]='*';

x+=h;

}

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

printf(" %s\n",s[i]);

}

运行结果如图7.5所示。

exp(-x)*cos(x)

^

*

|*

| *

|

|

| *

|

| *

|

|

| *

|

|

| *

| ***

| ** **

| * * *

| * *

| *

| * * *

| * *

| *

+--------*-----------------*-----------------*-----------------*--> | * ** x | * * *

| * ** **

| * ** ***

| * * ***

|

| *

| *

| *

| * *

| *

| * **

| ***

图7.5 y=exp(-x)*cos(x) 函数曲线输出结果

06087工程项目管理2016年4月真题及答案

2016年4月高等教育自学考试统一命题考试 工程项目管理试卷 (课程代码 06087) 本试卷满分100分,考试时间l50分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸。2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。3.第二部分为非选择题。必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。4.合理安排答题空间,超出答题区域无效。 第一部分选择题 一、单项选择题(本大题共l0小题,每小题2分。共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡” 的相应代码涂黑。未涂、错涂或多涂均无分。 1.按一个总体设计进行的单项工程的总体称为 A.建设项目 B.施工项目 C.单位工程 D.分部工程 2.下列属于建筑分项工程的是 A.基础工程 B.楼地面工程 C.抹灰工程 D.排水工程 3.政府机关建设项目投资主要资金来源渠道是 A.股票 B.银行信贷资金 C.债券 D.国家财政资金 4.项目部中,项目经理属于管理层的 A.决策层 B.协调层 C.执行层 D.作业层 5.BOT是指 A.总承包管理 B.项目管理承包 C.三角管理 D.公共工程特许权 6.下列属于流水施工时间参数的是 A.施工过程 B.施工段 C.流水步距 D.工作面 7.排列图法中累计频率0—80%的属于质量的 A.主要因素 B.次要因素 C.一般因素 D.C类因素 8.不能降低风险发生概率或消除风险的风险应对方式是 A.风险回避 B.风险转移 C.风险缓解 D.风险自留 9.下列属于生产性项目的是 A.工业建设 B.办公用房 C.住宅D.公共绿地 10.通过一定的权力和影响力,对资源进行配置表述的是 A.组织机构 B.组织结构 C.组织行为 D.组织调整 二、多项选择题(本大题共l0小题,每小题3分,共30分) 在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。未涂、错涂、多涂或少涂均无分。 11.下列属于项目特征的有 A.一次性 B.约束性 C.不可逆性 D.可逆性

数组练习题及答案

第五章数组练习题及答案 一、选择题 1、判断字符串a和b是否相等,应当使用() A、if(a==b) B、if(a=b) C、if(strcpy(a,b)) D、if(strcmp(a,b)) 2、以下正确的定义语句是() A、int a[1][4]={1,2,3,4,5}; B、float x[3][]={{1},{2},{3}}; C、long b[2][3]={{1},{1,2},{1,2,3}}; D、double y[][3]={0}; 3、以下各组选项中,均能正确定义二维实型数组a的选项是() A、float a[3][4]; float a[ ][4]; float a[3][ ]={{1},{0}}; B、float a(3,4); float a[3][4]; float a[ ][ ]={{0},{0}}; C、float a[3][4]; static float a[ ][4]={{0},{0}}; auto float a[ ][4]={{0},{0},{0}}; D、float a[3][4]; float a[3][ ]; float a[ ][4]; 4、下面程序的运行结果是() 1—5 DDCBA 6—10 BDABB 11—15 CCCBC 16—20 DDCBB 21—25 BBAAA 26—30 DBDDB #include "stdio.h" main() { char str[]="SSSWLIA",c; int k; for(k=2;(c=str[k]!='\0');k++) { switch(c) {case 'I':++k;break; case 'L':continue; default:putchar(c);continue; } putchar('*'); } } A、SSW* B、SW* C、SW*A D、SW 5、下面程序段是输出两个字符串中对应相等的字符。横线处应填入() char x[]="programming"; char y[]="Fortran"; int i=0;

软件项目管理 答案

1. 下面活动属于项目的是( ) A .上课 B .社区保安 C.新型轿车研发 D.卫生保洁 2. 下列生存期模型中项目被分解为子项目阶段提交的是( ) A .渐进式模型 B.V 型模型 C.原型模型 D.螺旋型模型 3. 下列属于医疗信息系统非功能需求的是( ) A .在2分钟内给出季度统计报告 B.提供病历查询功能 C.提供病历信息录入 D.提供统计与打印功能 4. 下列属于面向对象需求分析方法的是( ) A .流程图分析方法 B.数据流图分析方法 C.协作图分析方法 D.功能列表方法 5. 下列属于项目间接成本的是( ) A . 质量成本 B. 管理成本 C .开发成本 D.房租 6. 下列成本估算方法中对象点估算的是( ) A . 类比估算 B.自下而上估算 C .PROBE 方法 D.专家估算 7. 下列进度管理图中能反映任务之间逻辑依赖关系的是( ) A . 甘特图 B. 资源图 C .里程碑图 D.网络图 8. 下列属性属于软件产品转移质量的是( ) A . 灵活性 B. 可理解性 C .可用性 D.互运行性 9. 利用软件程序量来对软件产品进行规模估算的方法是基于( )的估算方法。 A . 软件程序量 B. 功能点 C .对象点 D.代码行 10. 时间分配不合理属于( ) A . 技术风险 B. 项目风险 C .商业风险 D.可预测风险 11. 下列理论中认为人的天性是喜欢挑战的是( ) A . 需求层次理论 B. X 理论 C .Y 理论 D.期望理论 12. 风险对于不同的主体有着不同的被容忍程度是指( ) A . 客观性 B. 不确定性 C .相对性 D.可变性 13. 挣值分析中用来表示进度性能指标的量是( ) A . CPI B. SV C .SPI D.CV 一、单项选择题(每小题 1 分,共 13 分) 在下列每小题的四个备选答案中选出一个正确的答 案,并将其字母标号填入题干的括号内。

第4章 串与数组 习题参考答案

习题四参考答案 一、选择题 1.下面关于串的叙述中,哪一个是不正确的?(B ) A.串是字符的有限序列 B.空串是由空格构成的串 C.模式匹配是串的一种重要运算 D.串既可以采用顺序存储,也可以采用链式存储 2.串的长度是指( A ) A. 串中包含的字符个数 B. 串中包含的不同字符个数 C. 串中除空格以外的字符个数 D. 串中包含的不同字母个数 3.设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为( C )A.求子串B.联接C.模式匹配D.求串长 4.设主串的长度为n,模式串的长度为m,则串匹配的KMP算法时间复杂度是( C )。 A. O(m) B. O(n) C. O(n + m) D. O(n×m) 5. 串也是一种线性表,只不过( A )。 A. 数据元素均为字符 B. 数据元素是子串 C. 数据元素数据类型不受限制 D. 表长受到限制 6.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主进行存储,a11为第一元素, 其存储地址为1,每个元素占一个地址空间,则a85的地址为( B )。 A. 13 B. 33 C. 18 D. 40 7. 有一个二维数组A[1..6, 0..7] ,每个数组元素用相邻的6个字节存储,存储器按字节编址, 那么这个数组占用的存储空间大小是(D )个字节。 A. 48 B. 96 C. 252 D. 288 8.设有数组A[1..8,1..10],数组的每个元素占3字节,数组从内存首地址BA开始以列序 为主序顺序存放,则数组元素 A[5,8]的存储首地址为( B )。 A. BA+141 B. BA+180 C. BA+222 D. BA+225 9. 稀疏矩阵的三元组存储表示方法( B ) A. 实现转置操作很简单,只需将每个三元组中行下标和列下标交换即可 B. 矩阵的非零元素个数和位置在操作过程中变化不大时较有效 C. 是一种链式存储方法 D. 比十字链表更高效 10. 用十字链表表示一个稀疏矩阵,每个非零元素一般用一个含有( A )域的结点表示。 A.5 B.4 C. 3 D. 2 二、填空题 1. 一个串的任意连续字符组成的子序列称为串的子串,该串称为主串。2.串长度为0的串称为空串,只包含空格的串称为空格串。 3. 若两个串的长度相等且对应位置上的字符也相等,则称两个串相等。 4. 寻找子串在主串中的位置,称为模式匹配。其中,子串又称为模式串。 5. 模式串t="ababaab"的next[]数组值为-1001231,nextval[]数组值为-10-10-130。 6. 设数组A[1..5,1..6]的基地址为1000,每个元素占5个存储单元,若以行序为主序顺序 存储,则元素A[5,5]的存储地址为1140。

(实验四)符数组与字符串

实验四字符数组与字符串 一、实验目的 ●了解并掌握一维数组与二维数组的定义方法 ●了解并掌握一维数组与二维数组的初始化方法及元素的引用方法 ●了解并掌握字符串、字符串数组以及字符串函数的使用方法 二、实验环境 ●个人计算机一台,PIII500(或同等性能)以上CPU,128MB以上内存,500MB以 上硬盘剩余空间。 ●Windows2000、Windows XP或Win 7操作系统 ●Code::Blocks(版本12.11或近似版本,英文版) 三、实验内容 1. 冒泡排序 编写程序,实现如下功能:从键盘上输入整数n(n<=100),再输入n个整数,以冒泡排序算法将n个整数按从小到大的顺序进行排序。 /*example-14.c*/ #include "stdio.h" int main() { int num[100], n, i, j, t; /*输入整数的数量n*/ printf("Input n(<=100):"); scanf("%d", &n); /*输入n个整数*/ printf("Input %d numbers:\n", n); for(i=0; i

/*输出排序后的数据*/ printf("After sorting:\n"); for(i=0; i

项目管理真题及答案

1、下列不属于施工项目生产要素的是( D )。 A、劳动力 B、材料 C、技术 D、合同 2、施工项目资源管理内容中,( D )是获取其他资源的基础,是所有项目活动的基础。 A、劳动力 B、材料 C、技术 D、资金 3、施工项目的管理主体是(C )。 A、建设单位 B、监理单位 C、建筑企业 D、设计单位、 4、一般适用于小型、专业性较强、不需要涉及众多部门的施工项目的项目管理组织形式是( D )。 A、工作队式 B、直线职能式 C、矩阵式 D、部门控制式 6、加强施工项目过程控制的措施不包括( B )。 A、人员控制 B、经济控制 C、材料控制 D、工艺控制 7、下列不属于施工现场噪声的控制措施的是( D )。 A、声源控制 B、传播途径的控制 C、接受者的保护 D、停止造成噪声的施工作业 8、事业部式适用于( A )经营性企业的工程承包,特别是适用于远离公司本部的工程承包。 A、大型 B、中型 C、小型 D、微型 1、下列属于规费的是( ABDE )。 A、工程排污费 B、养老保险 C、施工组织措施费 D、失业保险 E、医疗保险 2、下列费用中,属于企业管理费的有( BCDE )。 A、材料保管费 B、工器具使用费 C、劳动保护费 D、检验试验费 E、职工教育经费 3、工程项目的建设周期可划分为( ABCD )阶段。 A、工程项目策划和决策阶段 B、工程项目准备阶段 C、工程项目实施阶段 D、工程项目竣工验收和总结评价阶段 E、工程项目销售阶段 4、环境噪声,是指在工业生产、交通运输、( C )和社会生活中所产生的干扰周围生活环境的声音。 A、人类活动 B、农业生产 C、建筑施工 D、商业活动 5、施工项目质量控制的具体控制任务是保证(D )等级的实现。

第4章 数组练习题答案

第4章数组练习题 一、选择题 1.在c语言中,引用数组元素时,其数组下标的数据类型允许是()。 A)整型常量 B)整型表达式C)整型常量或整型表达式 D)任何类型的表达式 2.要说明一个有10个int元素的数组,应当选择语句()。 A) int a[10]; B) int a(10); C) int a[9] D) int a[11] 3.对以下说明语句的正确理解是()。 int a[10]={6,7,8,9,10}; A)将5个初值依次赋给a[1]至a[5] B)将5个初值依次赋给a[0]至a[4] C)将5个初值依次赋给a[6]至a[10] D)因为数组长度与初值的个数不相同,所以此语句不正确 4.已知:int a[10];则对a数组元素的正确引用是()。 A) a[10] B) a[3.5] C) a(5) D) a[10-10] 5.以下对一维整型数组a的正确说明是()。 A) int a(10); B)int n=10,a[n]; C) int n; D)#define SIZE 10; scanf("%",&n); int a[SIZE]; int a[n]; 6.要定义一个int型一维数组art,并使其各元素具有初值89,-23,0,0,0,不正确的定义 语句是()。 A) int art[5]={89,-23}; B) int art[ ]={89,-23}; C) int art[5]={89,-23,0,0,0}; D) int art[ ]={89,-23,0,0,0}; 7.在C语言中,二维数组元素在内存中的存放顺序是()。 A)按行存放 B)按列存放 C)由用户自己定义 D)由编译器决定 8.以下对二维数组a的正确说明是()。 A)int a[3][] B) float a(3,4) C) double a[1][4] D) float a(3)(4) 9.已知:int a[3][4];则对数组元素引用正确的是()。 A)a[2][4] B)a[1,3] C) a[2][0] D) a(2)(1) 10.已知:int a[3][4]={0};则下面正确的叙述是()。 A)只有元素a[0][0]可得到初值0 B)此说明语句是错误的 C)数组a中的每个元素都可得到初值,但其值不一定为0 D)数组a中的每个元素均可得到初值0 11.以下各组选项中,均能正确说明二维实型数组a的是()。 A) float a[3][4]; B) float a(3,4); float a[][4]; float a[3][4]; float a[3][]={{1},{0}}; float a[][]={{0},{0}}; C) f loat a[3][4]; D) float a[3][4]; float a[][4]={{0},{0}}; float a[3][]; float a[][4]={{0},{0},{0}}; float a[][4]; 12.已知:int a[][3]={1,2,3,4,5,6,7};则数组a的第一维的大小是()。 A)2 B)3 C)4 D)无确定值 13.若二维数组a有m列,则在a[i][j]之前的元素个数为()。 A) j*m+i B) i*m+j C) i*m+j-1 D) i*m+j+1 14.要使字符数组str存放一个字符串"ABCDEFGH",正确的定义语句是()。 A) char str[8]={'A','B','C','D','E','F','G','H'};

C语言练习题集(带答案解析)

精品文档 1. ( A )是构成C 语言程序的基本单位。 A 、函数 B 、过程 C 、子程序 D 、子例程 2. C 语言程序从 ____ C ________ 开始执行。 A ) 程序中第一条可执行语句 B )程序中第一个函数 C )程序中的main 函数 D )包含文件中的第一个函数 3、以下说法中正确的是( C )。 A 、 C 语言程序总是从第一个定义的函数开始执行 B 、 在 C 语言程序中,要调用的函数必须在 main ()函数中定义 C 、 C 语言程序总是从 main ()函数开始执行 D 、 C 语言程序中的 main ()函数必须放在程序的开始部分 4. 下列关于C 语言 的说法错误的是( B ) 。 A ) C 程序的工作过程是编辑、编译、连接、运行 B ) C 语言不区分大小写。 C ) C 程序的三种基本结构是顺序、选择、循环 D ) C 程序从main 函数开始执行 5. 下列正确的标识符是(C )。 A. -a1 B.a[i] C.a2_i 6. 下列C 语言用户标识符中合法的是( B )。 A) 3ax B)x C)case D)-e2 E)u nion 7. 下列四组选项中,正确的 C 语言标识符是 (C )。 A ) %x B ) a+b C ) a123 D ) 8、 下列四组字符串中都可以用作 A 、print _3d db8 aBc B C 、str_1 Cpp pow while D 9. C 语言中的简单数据类型包括( A 、整型、实型、逻辑型 C 、整型、字符型、逻辑型 C 语言程序中的标识符的是( A ) 、I\am one_half start$it 3pai 、Pxq My->book line# His.age D )。 B 、整型、实型、逻辑型、字符型 D 、整型、实型、字符型 10. 在C 语言程序中,表达式 5%2的结果是—C_ A)2.5 B)2 C)1 D)3 11. 如果int a=3,b=4 ;则条件表达式"a

软件项目管理案例教程(第四版)课后习题答案

项目管理案例教程(第四版)习题及答案 第一章软件项目管理概述 一、填空题 1、敏捷模型包括4个核心价值,对应12个敏捷原则。 2、项目管理包括(启动过程组)、(计划过程组)、(执行过程组)、(控制过程组)、(收尾过程组)5个过程组。 二、判断题 1、搬家属于项目。(对) 2、项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的永久性的努力。(错) 3、过程管理目的是要让过程能够被共享、复用,并得到持续的改进。(对) 4、项目具有临时性的特征。(对) 5、日常运作存在大量的变更管理,而项目基本保持连贯性的。(错) 6、项目开发过程中可以无限制地使用资源。(错) 7、(对)参见教材p20 三、选择题 1、下列选项中不是项目与日常运作的区别的是(C) A. 项目是以目标为导向的,日常运作是通过效率和有效性体现的。 B. 项目是通过项目经理及其团队工作完成的,而日常运作是职能式的线性管理。 C.项目需要有专业知识的人来完成,而日常运作的完成无需特定专业知识。 D.项目是一次性的,日常运作是重复性的。 2、以下都是日常运作和项目的共同之处,除了(D) A.由人来做 B.受限于有限的资源 C.需要规划、执行和控制 D.都是重复性工作 3、(A) 4、下列选项中属于项目的是(C) A.上课 B.社区保安 C.野餐活动 D.每天的卫生保洁 5、下列选项中正确的是(C) A.一个项目具有明确的目标而且周期不限 B.一个项目一旦确定就不会发生变更 C.每个项目都有自己的独特性 D.项目都是一次性的并由项目经理独自完成 6、(B)是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力。 A.过程 B.项目 C.项目群 D.组合 A.人力资源管理 B.项目管理 C.软件项目管理 D.需求管理 7、(c) 8、下列活动中不是项目的是(C) A.野餐活动 B.集体婚礼 C.上课 D.开发操作系统 9、下列选项中不是项目的特征的是(C) A.项目具有明确的目标 B.项目具有限定的周期 C.项目可以重复进行 D.项目对资源成本具有约束性

最新数据结构练习题 第三章 栈、队列和数组 习题及答案

1 第三章栈、队列和数组 2 一、名词解释: 3 1.栈、栈顶、栈底、栈顶元素、空栈 2.顺序栈 3.链栈 4.递归 5.队列、队尾、4 队头6.顺序队7.循环队8.队满9.链队10.随机存储结构11.特殊矩阵12.稀疏矩5 阵13.对称方阵14.上(下)三角矩阵 6 二、填空题: 7 1.栈修改的原则是_________或称________,因此,栈又称为8 ________线性表。在栈顶进行插入运算,被称为________或________,在 栈顶进行删除运算,被称为________或________。 9 10 2.栈的基本运算至少应包括________、________、________、11 ________、________五种。 12 3.对于顺序栈,若栈顶下标值top=0,此时,如果作退栈运算,则产13 生“________”。 14 4.对于顺序栈而言,在栈满状态下,如果此时在作进栈运算,则会 发生“________”。 15 16 5.一般地,栈和线性表类似有两种实现方法,即________实现和17 ________实现。 6.top=0表示________,此时作退栈运算,则产生“________”; 18 19 top=sqstack_maxsize-1表示________,此时作进栈运算,则产生20 “________”。 7.以下运算实现在顺序栈上的初始化,请在________处用适当的句 21 22 子予以填充。

23 int InitStack(SqStackTp *sq) 24 { ________; 25 return(1);} 26 8.以下运算实现在顺序栈上的进栈,请在________处用适当的语句27 予以填充。 28 Int Push(SqStackTp *sq,DataType x) 29 { if(sp->top==sqstack_maxsize-1}{error(“栈满”);return(0);} 30 else{________________: 31 ________________=x; 32 return(1);} 33 34 } 35 9.以下运算实现在顺序栈上的退栈,请在________________用适当36 句子予以填充。 37 Int Pop(SqStackTp *sq,DataType *x) 38 {if(sp->top==0){error(“下溢”);return(0);} 39 else{*x=________________; 40 ________________; 41 return(1);}

最新项目管理试题及答案精选

项目管理题库精选: 判断题: 1.项目是由临时性的组织来完成的。() 2.项目的选择包括评估各种需求和机会,评估必须是有形和定量的。() 3.在双代号图中,每一事件(圆圈)必须有惟一的事件序号,即网络图中不会出现相同的事件序号。() 4.根据项目生命周期可知,不同项目各阶段资源投入强度不同。通常是前期投入低,逐渐增加达到高峰后开始降低。()5.具有正总时差路径被称为关键路径。() 6.申请书是一份推销文件,而不是技术报告。() 7.某项活动的最早开始时间和最早结束时间是通过网络图反向推算得到的。() 8.在绘制网络图时,把活动画在一个闭路中是不允许的,因为它描述的是不断自我重复的活动路径。() 9.项目必须完成的整个时间段被定义为从预计开始时间到要求完工时间。() 10.某项活动的浮动时间为负值,表明该项活动花费的时间可以延长。() 答案:1.√ 2.× 3.√ 4. √ 5. × 6. √7. ×8. √9. √10. × 多选题: 1.项目进度计划的输出形式包括:BC A.资源负荷图 B.甘特图 C.网络图 D.费用累积曲线 5.工期优化的主要方法包括:ABC A.强制缩短 B.调整工作关系 C.关键路径的转移 D.延长工期要求 6.以下哪些是项目工作相互关系的内容:ABD A.逻辑关系 B.组织关系 C.产品结构关系 D.外部制约关系 8.以下哪些方法是项目进度管理经常使用的方法:AB A.关键路径方法 B.甘特图 C.控制图 D.组织结构图 9.以下哪些内容是项目的属性。ABD A.独特 B.多目标 C.无限 D.冲突 1.创造项目产品的过程是实施项目产品()的过程。

项目管理试题及答案

《项目管理》期末复习题 更新了部分习题 一、判断题(正确画√,错误画×) 1.项目是由临时性的组织来完成的。( T) 2.项目的选择包括评估各种需求和机会,评估必须是有形和定量的。( F ) 3.在双代号图中,每一事件(圆圈)必须有惟一的事件序号,即网络图中不会出现相同的事件序号。(T ) 4.根据项目生命周期可知,不同项目各阶段资源投入强度不同。通常是前期投入低,逐渐增加达到高峰后开始降低。( T ) 5.具有正总时差路径被称为关键路径。( F ) 6.申请书是一份推销文件,而不是技术报告。( T) 7.某项活动的最早开始时间和最早结束时间是通过网络图反向推算得到的。( F ) 8.在绘制网络图时,把活动画在一个闭路中是不允许的,因为它描述的是不断自我重复的活动路径。( T ) 9.项目必须完成的整个时间段被定义为从预计开始时间到要求完工时间。(T ) 10.某项活动的浮动时间为负值,表明该项活动花费的时间可以延长。( F ) 二、单项选择题 1. 项目生命周期四个阶段中,第二阶段结束于( A ) A)签订合同 B)需求建议书的发布 C)申请书的提交 D)项目结束 2.固定价格合同对于客户和承约商来说,风险分别是(B ) A)低低 B)低高 C)高低 D)高高 3.进度偏差SV<0(为负值)时,表示(B ) A)进度提前 B)表示进度延误 C)实际消耗工时(或成本)低于预算值,即项目有结余或效率高 D)实施成本过高,即实际消耗工时(或成本)超过预算值,即项目超支 4.右图是一个单代号图,表示( A ) A)活动A结束10天以后,活动B才能开始 B)活动A开始10天以后,活动B才能开始 C)活动A结束10天以后活动才能结束 D)活动A开始10天以后活动B才能结束 5.准备需求建议书的目的是从( C )的角度全面、详细地阐述为了满足识别需求所要做的工作。 A)项目参与人员 B)项目经理 C)客户 D)项目承约商

Java数组练习题(带答案)

一填空题 1)数组的元素通过下标来访问,数组Array的长度为Array.length 。 2)数组复制时,"="将一个数组的引用传递给另一个数组。 3)JVM将数组存储在栈(堆或栈)中。 4)数组的二分查找法运用的前提条件是数组已经排序。 5)Java中数组的下标的数据类型是整型。 6)数组最小的下标是0 。 7)arraycopy()的最后一个参数指明复制元素的个数。 8)向方法传递数组参数时,传递的是数组的引用。 9)数组初始化包括数组的申明,创建和初始化。 10)数组下标访问超出索引范围时抛出数组越界异常 11)浮点型数组的默认值是0.0f 。 12)数组创建后其大小不能改变。 二选择题 1.下面错误的初始化语句是_ABD__ A. char str[]="hello"; B. char str[100]="hello"; C. char str[]={'h','e','l','l','o'}; D. char str[]={'hello'}; 2.定义了一维int型数组a[10]后,下面错误的引用是_B__ A. a[0]=1; B. a[10]=2; C. a[0]=5*2; D. a[1]=a[2]*a[0]; 3.下面的二维数组初始化语句中,正确的是____ A. float b[2][2]={0.1,0.2,0.3,0.4}; B. int a[][]={{1,2},{3,4}}; C. int a[2][]= {{1,2},{3,4}}; D. float a[2][2]={0}; 4.引用数组元素时,数组下标可以是_D___ A. 整型常量 B. 整型变量 C. 整型表达式 D. 以上均可 5.定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为____ A. 24 B. 25 C. 18 D. 17 6.下列初始化字符数组的语句中,正确的是__B__ A. char str[5]="hello"; B. char str[]={'h','e','l','l','o','\0'}; C. char str[5]={"hi"}; D. char str[100]=""; 7.数组在Java中储存在 C 中 A. 栈 B. 队列 C. 堆 D. 链表 8.下面程序的运行结果是____ main() { int a[][]={{1,2,3},{4,5,6}}; System.out.printf("%d", a[1][1]); } A. 3 B. 4 C. 5 D. 6 9.下面程序的运行结果是_C___ main() {

C语言数组练习及答案

C语言数组练习及答案集团文件版本号:(M928-T898-M248-WU2669-I2896-

第四部分数组 4.1 选择题 1. 以下关于数组的描述正确的是(c )。 A. 数组的大小是固定的,但可以有不同的类型的数组元素 B. 数组的大小是可变的,但所有数组元素的类型必须相同 C. 数组的大小是固定的,所有数组元素的类型必须相同 D. 数组的大小是可变的,可以有不同的类型的数组元素 2. 以下对一维整型数组a的正确说明是(d )。 A.int a(10); B. int n=10,a[n]; C.int n; D. #define SIZE 10 scanf("%d",&n); int a[SIZE]; int a[n]; 3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是(c )。 A. 整型常量 B. 整型表达式 C. 整型常量或整型表达式 D. 任何类型的表达式 4. 以下对一维数组m进行正确初始化的是(c )。 A. int m[10]=(0,0,0,0) ; B. int m[10]={ }; C. int m[ ]={0}; D. int m[10]={10*2}; 5. 若有定义:int bb[ 8];。则以下表达式中不能代表数组元bb[1]的地址的是(c )。 A. &bb[0]+1 B. &bb[1] C. &bb[0]++ D. bb+1 6. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是(d )。 A. 3 B. 6 C. 10 D. 20 7. 若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g;

项目管理作业四题目及参考答案范文

兵团广播电视大学“开放教育试点”《项目管理》作业(四)(第12章——第17章) 一、判断题 1、项目风险管理是对项目的风险进行识别和分析,并对项目风险进行控制的系统过程。(√) 1、应急储备可以用来减轻项目的风险。(√) 2、转移风险从长期来看总是有益的。(×) 4、相对正式沟通而言,非正式沟通的沟通效果好。(×) 5、冲突的强度越高,就说明它越重要,应该尽快解决。(×) 5、项目进度冲突往往是由于项目经理的权力受限而发生的。(√) 7、项目人力资源管理的特点主要是由项目的特点来决定的。(√) 8、人力资源的综合平衡是指项目人员需求总量和人员的供给总量的平衡。(×) 9、项目的人员是不能事先指定的。(×) 10、项目的进度、成本和质量三者之间的关系是对立统一的。(√) 11、项目整体管理贯穿于项目的整个寿命期。(√) 12、项目整合是由项目高级管理者来完成的。(×) 13、在一定的业务范围内,单位变动成本一般会随业务量变化而相应变动。(×) 14、一般来说,盈亏平衡点越高,拟建项目投产后适应市场的能力越大,抗风险能力越强。 × () 15、所谓保本是指企业的贡献毛益与固定成本相等。(√) 16、固定成本的降低额即是目标利润的增加额。(×) 17、项目发起人一般需要以直接担保或间接担保的形式为厦门公司提供一定的信用支持。(×) 18、贷款人原则上对项目发起人拥有的项目之外的资产有无限追索权。(×) 19、BOT融资特许期满后,投资者获得该项目的所有权。(×)

二、单选题 1、下面四个选项中哪一项与风险影响分析有关(C) A 风险管理B风险识别C风险评估D风险减轻 2、风险识别应最先解决的是(C) A影响程度高,发生概率较小的风险 B影响程度低,发生概率较小的风险 C影响程度高,发生概率较大的风险 D影响程度低,发生概率较大的风险 3、如果一项商业投资有60%的机会赚得200万元,也是40%的可能损失150万元,那么,这次投资的预期货币价值为(D) A5万B30万C50万D60万 4、下面作为风险识别输入的历史资料中,相对来讲,最不可靠的历史资料有(C) A 项目原始文件 B 公用数据库 C 项目团队成员的经验D吸取教训的 数据库 5、下列选项中不是项目风险评估影响因素的是(B) A 风险事件B保险费C项目的性质D风险概率 6、现代观点认为冲突(B ) A是破坏性的 B如果处理得当,可能是有益的 C可能是有益的,但取决于和谁发生冲突 D以上皆是 7、除了防范之外,(A)是项目经理最常用的解决方法 A 正视B缓和 C 竞争D回避 8、项目经理应当(B) A 控制所有信息 B 努力控制沟通 C 授权沟通的控制 D 拥有沟通系统中各种冲突的信息 9、缺乏沟通和未解决的争端意味着(C ) A 项目复杂 C 项目团队效率低下B 进度计划失败 D 项目团队的职责界定不明确 10、下列关于面试的表述错误的是( C ) A 如果问题准备充分,设计得当,面试应该是一种可信度较高的方式 B 面试官提出的问题具有一定的随机性 C面试一般能对应聘者进行全面、公平的评价 D对应聘者的第一印象可能会左右面试官的判断

工程项目管理第四版答案

工程项目管理第四版答案 2.什么是工程项目的唯一性?它对项目管理有什么影响? 答:任何工程项目作为总体来说是一次性的,不重复的,即使在形式上极为相似的项目,也必然存在着差异和区别,例如实施时间不同、环境不同、项目组织不同、风险不同等。所以它们之间无法等同、无法替代。工程项目的一次性是项目管理区别于企业管理最显著的标志之一。工程项目的一次性决定了项目管理也是一次性的,任何项目都有一个独立的管理过程,它的计划、控制、组织都是一次性的。工程项目的一次性特点对项目的组织和组织行为的影响尤为显著。 6.项目组织有哪些不足之处? 答:项目组织的应用存在着一些问题,这些问题主要是由项目的特点引起的,主要有以下几点:(1)由于项目是一次性的,它的计划、控制和组织无继承性和可用的参照系,任务承担者的最终成果难以评价,所以容易导致不平衡和低效率;(2)每个项目都是一个新的组织,则组织摩擦大,雇用的人员效率低下,组织内部及与环境之间沟通困难;(3)需要项目参加者讲究诚实信用,需要完备的规章制度和明确的责任和权力的分配,但这常常是困难的;(4)项目需要高层领导的不断支持,需要各个部门的积极配合。 7.简述正式沟通的方式。 答:正式沟通的方式:(1)项目手册;(2)各种书面文件;(3)协调会议;(4)各种工作检查,特别是工程成果的检查验收。(5)其他沟通方式,如建议制度、申诉和请求程序等。 2.什么是WBS? 答:项目是由许多互相联系、互相影响、互相依赖的活动组成的行为系统,它具有系统的层次性、集合性、相关性、整体性特点。按系统工作程序,在具体的项目工作,如设计、计划和实施之前必须对这个系统作分解,将项目范围规定的全

第4章_数组c++_习题答案解析

习题4 一、单项选择题 1.若有说明inta[3][4];则a数组元素的非法引用是【】 A.a[0][2*1] B.a[1][3] C.a[4-2][0] D.a[0][4] 【答案】D 【解析】数组下标从0开始,a[0][4]的列下标越界。 2.在C++语言中,引用数组元素时,其数组下标的数据类型允许是【】 A.整型常量 B.整型表达式 C.整型常量或整型表达式 D.任何类型的表达式 【答案】C 3.以下不正确的定义语句是【】 A.doublex[5]={2.0,4.0,6.0,8.0,10.0}; B.inty[5]={0,1,3,5,7,9}; C.charc1[]={′1′,′2′,′3′,′4′,′5′}; D.charc2[]={x1′0′x,a′′x,8′′}; 【答案】B 【解析】初始值的个数大于数组的大小,系统会出现编译错误。 4.对以下说明语句的正确理解是【】 inta[10]={6,7,8,9,10}; A.将5个初值依次赋给a[1]至a[5] B.将5个初值依次赋给a[0]至a[4] C.将5个初值依次赋给a[6]至a[10] D.因为数组长度与初值的个数不相同,所以此语句不正确 【答案】B 5.若有说明:inta[][4]={0,0};则下面不正确的叙述是【】 A.数组a的每个元素都可得到初值0 B.二维数组a的第一维大小为1 C.当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小 D.只有元素a[0][0]和a[0][1]可得到初值,其余元素均得不到确定的初值 【答案】D 【解析】二维数组初始化时,行大小可以省略,被省略的大小根据初值的个数系统来确定,本题中,有2个初值说明是1行4列,所以第一维为1。元素a[0][0]和a[0][1]赋初值为0,其余元素初值系统默认为0。 6.以下能对二维数组c进行正确的初始化的语句是【】 A.intc[3][]={{3},{3},{4}}; B.intc[][3]={{3},{3},{4}}; C.intc[3][2]={{3},{3},{4},{5}};

C语言复习题及答案 第七章 数组

第七章数组 (8学时) 学习目的与要求: 1 、重点掌握一维数组的定义和引用; 2 、基本掌握二维数组的定义和引用; 3 、重点掌握字符型数组的定义与引用; 4 、能正确使用字符串处理函数; 5 、学会使用数组解决实际问题。 重点: 1 、一维数组的定义与引用; 2 、二维数组的定义与引用; 3 、字符数组的定义与引用; 第1讲 知识归纳: 1、一维数组的定义:类型说明符数组名[ 常量表达式] ; (1) (1)数组名后必须用方括弧[ ] ,用其他括弧均错误; (2) 方括弧中的常量表达式表示数组的元素个数; (3) 方括弧中的常量表达式,必须是能计算出具体数值,且不改变的常量,不能是变量; 2、一维数组的引用: 数组名[ 下标] //下标从0开始,可以是整型常量或整型表达式; (1) 注意:数组元素引用时,不要超出数组范围; 如int a[10] ; //可以引用的数组元素为a[0]……a[9] , a[10] 不是本数组元素; 3、一维数组的初始化: (1) (1)可以在定义数组后,立刻赋值;如int a [3] = { 1,3, 5} ; 但下面这样是错误的: int a[3] ; a = { 1,3, 5} ; (2) (2)可以给数组的部分元素赋值,不赋值的元素,默认值为int 0, char, …?, float 0.0 ; 如int a [3]= {1,3 } ; //a[0] =1 ; a[1]= 3 ; a[2]= 0 ; (3) 在对数组全部元素赋初值时,可以不指定元素个数; (4) 可以在循环控制下,给数组各元素赋值; 如:int a[10] ; for ( i=0 ; i <10 ;i ++ ) a [ i ] = i ; 基础训练(A) 一、选择题 1、在c语言中,引用数组元素时,其数组下标的数据类型允许是()。 A)整型常量B)整型表达式 C)整型常量或整型表达式D)任何类型的表达式 2、要说明一个有10个int元素的数组,应当选择语句()。 A) int a[10]; B) int a(10); C) int a[9] D) int a[11] 3、以下对数组的正确定义是:()。 A) float b[5.0] B) float b[5] C) float b(5) D) float b[] 4、对以下说明语句的正确理解是()。 int a[10]={6,7,8,9,10}; A)将5个初值依次赋给a[1]至a[5]

项目管理作业4参考答案

一、名词解释 1. 项目沟通管理: 答:项目沟通管理,就是为了确保项目信息合理收集和传输,以及最终处理所需实施的一系列过程。包括为了确保项目信息及时适当的产生、收集、传播、保存和最终配置所必须的过程。 项目沟通管理把成功所必须的因素--人、想法和信息之间提供了一个关键连接。 2.风险定性分析: 答: 一种对风险和条件进行定性分析,并按影响大小排列它们对项目目标的影响顺序的分析方法。 3. 项目采购: 答: 是指在整个项目过程中从外部寻求和采购各种项目所需资源的管理过程。 4. 项目绩效报告: 答: 记载项目预算的实际执行情况的资料,它主要内容包括项目各个阶段或各项工作的完成情况,是否超出了预算分配的预算. 5. 项目风险识别: 答:项目风险是指可能导致项目损失的不确定性,美国项目管理大师马克思·怀德曼将其定义为某一事件发生给项目目标带来不利影响的可能性。 二、单项选择 1. 项目沟通规划所用的工具是(A ) A.项目干系人分析 B.信息检索系统 C.项目沟通方式 D.信息发布系统 2. 与项目干系人沟通的最好办法是(B ) A.烟雾信号 B.面对面 C.电子邮件 D.电话 3. 风险所产生的影响程度是通过(D)来计算的 A.将风险发生的概率和风险影响程度相乘 B. 将风险发生的概率和风险的个数相乘 C. 将风险个数和风险影响程度相乘 D. 以上皆是 4. 下面所列方法中属于风险定性分析的方式是(C) A.敏感性分析

B.决策树法 C.风险分类 D.模拟法 5. 某公司生产产品每年需要某零件300件,如果自制,该零件增加公司的固定成本为300元,该零件的自制的单位变动成本为7元,如果外购,则每件零件的单价为8元,则公司应该( C ) A. 自制 B. 外购 C. 两者小郭一样 D. 不能确定励 三、多项选择1. 非正式沟通的有点有( AC) A.灵活、方便 B.约束力较强 C.速度快 D.可以使沟通保持权威性 2.项目沟通规划就是针对项目干系人的沟通需求进行分析,它主要包括(ABCD) A.确定向谁沟通信息 B.沟通什么信息 C.什么时候沟通信息 D.采取何种方式的可行性 3.导致项目风险造成的影响程度从(BCD)方面来衡量 A.风险影响程度的大小 B.风险影响程度的性质 C.项目风险的影响程度 D.风险影响程度的时间性 4.下列有关回避风险的面熟正确的是(ABC) A.回避风险有可能会产生新的风险 B.回避风险可以完全消除该风险带来的各种损失 C.如果风险影响程度比较严重,就可以采用回避风险的方法 D.所有项目风险都是可以回避的 5.成本补偿合同包括(ABC) A.成本加成合同 B.成本加固定费合同

相关主题
文本预览