感觉挺好的C语言联系题,含答案 下载本文

? for(j=0;j<4;j++) ?? {??i=j; if(i>2)??i=3-j; ????? s+=b[i][j]; ?? } ? return?s; }

main(?)

{? int?a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}}; ? printf(\

}???

执行后的输出结果是:( )

A、12????? B、11????? 答案:D 16、有以下程序 void?sort(int?a[],int?n) {??in t?i,j,t;

???for(i=0;i

}

main()

{? int?aa[10]={1,2,3,4,5,6,7,8,9,10},i; ? sort(aa,10);

? for(i=0;i<10;i++)???? printf(\? printf(\}???

其输出结果是:( )

A、1,2,3,4,5,6,7,8,9,10,????????? C、9,2,7,4,5,6,3,8,1,10,????????? 答案:C 17、有以下程序 void?f(int?a[],int?i,int?j) {??int??t; ??if(i

??{??t=a[i];?a[i]=a[j];a[j]=t; f(a,i+1,j-1); ???} }

main(?)

{??int?i,aa[5]={1,2,3,4,5}; ???f(aa,0,4);

C、18????? D、16 B、10,9,8,7,6,5,4,3,2,1, D、1,10,3,8,5,6,7,4,9,2, ???for(i=0;i<5;i++)??? printf(\printf(\}??

执行后输出结果是:( )

A、5,4,3,2,1,? ?B、5,2,3,4,1,?? C、1,2,3,4,5,?? D、1,2,3,4,5, 答案:A

18、 以下程序的输出结果是:( ) main()

{ char cf[3][5]={\

printf(\ }

A、\ B、 \ C、 \ D、 \ 答案:B

19、 以下程序的输出结果是:( ) main()

{ int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0;i<3;i++)

for(j=i;j<=i;j++) t=t+b[i][b[j][j]]; printf(\

}

A、 3 B、 4 C、 1 D、 9 答案:B

20、有以下程序 main()

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

for(i=0;i<4;i++) s+=aa[i][1]; printf(\ }

程序运行后的输出结果是:( )

A、 11 B、 19 C、 13 D、、20 答案:B

21、若有以下定义语句:

char s[10],s=”abcd”;printf(“%s\\n”,s); 则运行结果是:( )

A、输出abcd B、输出a C、输出ab cd D、编译不通过 答案:D

22、不能把字符串“Hello!”赋给数组b的语句是:( )

A、char b[10]={‘H’,’e’,’l’,’l’,’o’,’!’}; B、char b[10];b=”Hello!”; C、char b[10]; strcpy(b,”Hello!”); D、char b[10]=”Hello!”; 答案:B

23、若有以下程序段:

char str[]=”ab\\n\\012\\\\\\””; printf(“%d”,strlen(str));

该程序段的输出结果是:( )

A、 3 B、 4 C、 6 D、12 答案:C

24、函数调用strcat(strcpy(str1,str2),str3)的功能是_:( ) A、将串str1复制到串str2中后在连接到串str3之后

B、将串str1连接到串str2之后再复制到串str3之后

C、将串str2复制到串str1中后再将串str3连接到串str1之后 D、将串str2连接到串str1中后再将串str1复制到串str3中 答案:C

25、下列程序的输出结果是:( ) main()

{ char ch[7]={“65ab21”};

int j,s=0;

for(j=0;ch[j])>=?0?&&ch[j]<=?9?;j+=2) s=10*s+ch[j]-?0?; printf(“%d\\n”,s);

}

A、12ba56 B、66521 C、6 D、62 答案:C

26、设已定义char s[]=”\\”Name\\\\Address\\”\\n”;,则字符串s所占的字节数是:( A、19 B、18 C、15 D、14

答案:C

27、设已定义char c[8]=”Tianjin”和int j,则下面的输出函数调用中错误的是:( A、printf(“%s”,c); B、for(j=0;j<8;j++) printf(“%c”,c[j]); C、puts(c); D、for(j=0;j<8;j++) puts(c[j]);

答案:D

28、设已定义char a[10]和 int j,则下面输入函数调用中错误的是:( ) A、scanf(“%s”,a); B、for(j=0;j<9;j++) scanf(“%c”,a[j]); C、gets(a); D、for(j=0;j<9;j++) scanf(“%c”,&a[j]); 答案:B

29、设已定义char x[8]和int j,为了给该数组赋值,下面语句中正确的是:( )A、x[8]=”Turbo C”; B、x=” Turbo C”;

C、x[]=”Turbo C”; D、for(j=0;j<7;j++) x[i]=getchar(); 答案:D 30、有如下程序, main()

{ int n[5]={0,0,0},j,k=2; for(j=0;j

}

该程序的输出结果是:( )

A、不确定的值 B、2 C、1 D、0 答案:D

在C语言中,一维数组的定义方式为:类型说明符 数组名( )。

) ) A.[常量表达式] B.[整型表达式]

C.[整型常量]或[整型表达式] D.[整型常量] 答案:A

若有说明:int a[10];,则对a数组元素的正确引用是:( )。 A.a[10] B.a[3.5] C.a(5) D.a[10-10]

答案:D

在C语言中,引用数组元素时,其数组下标的数据类型允许是:( )。 A.字符常量 C.整型常量或整型表达式 答案:C

下列数组定义、初始化或赋值语句中,正确的是:( )。 A.int x[5]={1,2,3,4,5,6}; C.int a[8]; a[8]=100; 答案:D

B.int n=8; int score[n]; D.int x[]={1,2,3,4,5,6}; B.浮点型常量

D.任何类型的表达式

合法的数组说明语句是:( )。 A.int a[]=“string”; B.char a[]={0,1,2,3,4,5};

C.char a =“string”; D.int a[5]={0,1,2,3,4,5}; 答案:B

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

B.3

C.4

D.无确定值

若有说明:int a[3][4];,则对a数组元素的非法引用是:( )。 A.a[0][2*1] B.a[1][3] C.a[4-2][0] D.a[0][4] 答案:D

已有定义:char a[]=\,以下叙述中正确的是:( )。 A.数组a和数组b的长度相同 C.a数组长度大于b数组长度

B.a数组长度小于b数组长度 D.数组a和数组b等价

答案:C

对两个数组a和b进行如下初始化: char a[]=“ABCDEF”;

char b[]={?A?, ?B?, ?C?, ?D?, ?E?, ?F?}; 则以下叙述正确的是:( )。 A.数组a与数组b完全相同 C.数组a与数组b中都存放字符串 答案:D

有下面的程序段: char a[3],b[]=“China”; a=b;

printf(“%s”,a);

A.运行后将输出China C.运行后将输出Chi

B.数组a与数组b长度相同 D.数组a比数组b长度长

B.运行后将输出Ch D.编译出错

答案:D

下面程序的运行结果是:( )。 char c[5]={?a?, ?b?, ?\\0?, ?c?, ?\\0?};