admin 管理员组

文章数量: 1087139


2024年4月21日发(作者:霹雳布袋戏全集免费资源)

C试题

、选择题:

1、 以下对一维整型数组a的正确说明是

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];

2、 若有说明:int a[10];则对a数组元素的正确引用是

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

3、 在c语言中文,一维数组的定义方式为:类型说明符 数组名

A[常量表达式] B[整型表达式]C[整型常量]或[整型表达式]D[整型常量]

4、 以下能对二维数组a进行正确初始化的语句是

A int a[2][]={{1,0,1},{5,2,3}};

B int a[][3]={{1,2,3},{4,5,6}};

C int a[2][4]={{1,2,3},{4,5},{6}}

D int a[][3]={{1,0,1},{},{1,1}};

5、 若有说明:int a[3][4]={0};则下面正确的叙述是

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

B 此说明语句不正确

C 数组a中文各元素都可得到初值,但其值不一定为0

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

6、 以下各组选项中,均能正确定义二维实型数组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 float a[3][4]; D float a[3][4];

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

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

10、下面程序中文有错误的行是 (每行程序前面的数字表示行号)

1 main()

2 {

3 int a[3]={1};

4 int i;

5 scanf(“%d”,&a);

6 for (i=1;i<3;i++) a[0]=a[0]+a[i];

7 printf(“a[0]=%dn”,a[0]);

8 }

A 3 B 6 C 7 D 5

11、若二维数组a有m列,则计算机任一元素a[i][j]在数组中文位置的公式为 (假

设a[0][0]位于数组的第一个位置上。)

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

12、以下不正确的定义语句是

A double x[5]={2.0 ,4.0,6.0,8.0,10.0}; B int y[5]={0,1,3,5,7,9};

C char cl[]={„1‟,‟2‟,‟3‟,‟4‟,‟5‟}; D char c2[5]=”ABCDE”;

13、若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是]

A 2 B 3 C 4 D 无确定值

14、下面程序的运行结果是

main()

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

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

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

a[i][j]=(i/j)*(j/i);

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

{for (j=1;j<6;j++)

printf (“%2d”,a[i][j])

printf(“n”);}

}

A 11111 B 00001 C 10000 D 10001

11111 00010 01000 01010

11111 00100 00100 00100

11111 01000 00010 01010

11111 10000 00001 10001

15、下面程序段的运行结果是

char c[5]={„a‟,‟b‟,‟0‟,‟c‟,‟0‟};

printf (“%s”,c);}

A „a‟‟b‟ B ab C ab c D abc

16、有两个字符数组a、b,则以下正确的输入语句是

A gets (a,b); B scanf (“%s%s”,a,b); C scanf (“%s%s”,&a,&b); D get (“a”),gets

(“b”);

17、有下面的程序段

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

a=b;

printf(“%s”,a);

则 。

A 运行后将输出china B运行后将输出ch C 运行后将输出chi D 编译出

18、判断字符串a和b是否相等,应当使用

A if (a= =b) B if (a=b) C if (strcpy(a,b) ) Dif(strcmp(a,b))

19、下述对c语言字符数组的描述中错误的是

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

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

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

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

20、当运行以下程序时,从键盘输入:aa bb

cc dd

代表回车则下面程序的运行结果是

#include

main()

{ char al[5],a2[5],a3[5],a4[5];

scanf(“%s%s”,a1,a2);

gets (a3); gets (a4);

puts(a1); puts(a2);

puts(a3); puts(a4);

}

A aa B aa C aa D aa bb

bb bb bb cc

Cc cc dd dd

cc dd dd ee

21、当运行以下程序时,从键盘输入:ab

c

def

表示回车),则下面程序的运行结果是

#include

#define N 6

main()

{ char c[N];

int i=0;

for( ; i

for(i=0;i

}

A abcdef B a C b D ab

b c c

c d d

d

e

f

22、下面程序的运行结果是

#include

#include

main()

{char a[80]=”AB”,b[80]=”LMNP”;

int i=0;

strcat(a,b);

while (a[i++]!=‟0‟) b[i]=a[i];

puts(b);

}

A LB B ABLMNP C AB D LBLMNP

23、下面程序的运行结果是

#include

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

二、填空题

24、若有以下输入( 代表空格,代表回车换行符),则下面程序的运行结果是

1 4 2 3 3 4 1 2 3 3 2 2 2 3 3 1 1 1 4 1 1 1 -1

#define M 50

main()

{int a[M],c[5],I,n=0,x;

printf(Enter 0 or 1 or 2 or 3 or 4, to end with -1n”);

scanf(“%d”,&x);

while(x!=-1)

{if(x>=0&&x<=4)

{a[n]=x;n++;}

scanf(“%d”,&x);

}

for(I=i=0;i<5;i++) c[i]=0;

for(i=0;i

printf(The result is:n”);

for (i=1;i<=4;i++)printf(“%d:%dn”,i,c[i]”);

printf(“n”);

}

25、下面程序的运行结果是

main()

{int i,f[10];

f[0]=f[1]=1;

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

f[i]=f[i-2]+f[i-1];

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

{if(i%4= =0)printf(“n”);

printf(“%3d”,f[i]);}

26、下面程序的运行结果是

main()

{int a[10]={1,2,2,3,4,3,4,5,1,5};

int n=0,i,j,d,k;


本文标签: 数组 程序 字符 运行 字符串