当前位置:主页 > 问答百科 > 正文

2021智慧树知到(山东理工大学)《C语言编程新思路》第1-14章节测试答案(7)

时间:2021-11-29 来源:网络收集 作者:答题小能手

A、17

B、12

C、19

D、20

答案:B

12、以下程序的输出结果是()。 #include <stdio.h> int main() { int a=1,b=2,c=3,*p1,*p2,*p3; p1=&a; p2=&b; p3=&c; *p3=*p1; *p1=*p2; *p2=*p3; printf("a=%d,b=%d,c=%d\n",a,b,c); }

A、a=1,b=2,c=3

B、a=2,b=1,c=3

C、a=2,b=1,c=1

D、a=3,b=2,c=1

答案:B

13、以下程序的输出结果是 ()。 #include <stdio.h> int main() { int k=2,m=4,n=6; int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf("%d\n",n); return 0; }

A、4

B、6

C、8

D、10

答案:C

14、以下程序的输出结果是 ()。 #include <stdio.h> int main() { int **k, *a, b=100; a=&b;k=&a; printf("%d\n",**k); return 0; }

A、编译出错

B、100

C、a的地址

D、b的地址

答案:B

15、对于基类型相同的两个指针变量之间,不能进行的运算时()。

A、<

B、=

C、+

D、–

答案:C

16、若有int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*p)[3]=a; ,则能正确表示数组元素a[1][2]的是()。

A、*(*(p+1)+2)

B、*(p+1)+2

C、(p+1)[2]

D、p[1]+2

答案:A

17、对于语句int *p[5]; 的正确描述是()。

A、p是一个指向数组的指针,所指向的数组含有5个int型元素。

B、p是一个指向数组中第5个元素的指针,该元素是int型。

C、定义不合法

D、p是一个具有5个元素的指针数组,每个元素都是一个指向int型对象的指针变量。

答案:D

18、若有int a[10],*p=a;,下列不能表示a数组首元素地址的是()。

A、a

B、*p

C、p

D、&a[0]

答案:B

19、下列程序的运行结果是()。 #include <stdio.h> int main() { int a[5]={1,2,3,4,5},*p,**pp; p=a; pp=&p; printf("%d ",*(p+3)); printf("%d",**pp); return 0; }

A、4 1

B、3 1

C、4 4

D、3 4

答案:A

20、若有int a[10],*p;,则下列语句中正确的是()。

A、for(p=a; a<p+10 ; a++)

B、for(p=a; p<a+10 ; p++)

C、for(p=a; p<p+10 ; p++)

D、for(p=a; p<a+10 ; a++)

答案:B

第八章测试

1、函数strcmp("ABCDDCBA","ABCDE")的返回值是()。

A、0

B、正数

C、负数

D、随机值

答案:C

2、以下程序运行后的输出结果是()。 int main() { int i,j; char a[ ]={‘a’,‘b’,‘c’,‘d’, ‘e’, ‘f’, ‘g’,‘h’,‘\0’}; i=sizeof(a); // sizeof返回数组a在内存分配字节数 j=strlen(a); printf(“%d,%d\n”,i,j); }

A、9,9

B、8,9

C、1,8

D、9,8

答案:D

3、下列选项中,不正确的赋值方式是()。

A、char str[ ]={'s','t','r','i','n','g','\0'};

B、char str[7]={'s','t','r','i','n','g'};

C、char str1[10]; str1="string";

D、char str1[ ]="string",str2[ ]="12345678";

答案:C

4、若有以下的说明和语句, 则它与()中的说明是等价的。 char s[3][5]={"aaaa","bbbb","cccc"};

A、char s1[ ][ ] ={"aaaa","bbbb","cccc"};

B、char s2[3][] ={"aaaa","bbbb","cccc"};

C、char s3[ ][5]={"aaaa","bbbb","cccc"};

D、char s4[ ][4]={"aaaa","bbbb","cccc"};

答案:C

5、有以下程序: #include "stdio.h" #include "string.h" int main() { int i,j; char t[10],p[5][10]={"abc","aabdfg","abbd","dcdbe","cd"}; for(i=0;i<4;i++) for(j=i+1;j<5;j++) if(strcmp(p,p[j])>0) { strcpy(t,p); strcpy(p,p[j]); strcpy(p[j],t); } printf("%d\n",strlen(p[0])); } 程序运行后的输出结果是()。

A、6

B、4

C、5

D、3

答案:A

6、下列选项正确的语句组是 ()。

A、char s[8]; s={"China"};

B、char *s; s={"China"};

C、char s[8]; s="China";

D、char *s; s="China";

答案:D

7、下面程序的运行结果是 ()。 char c[6]={'a','b','\0','c','d','\0'}; printf("%s",c);

A、'a' 'b'

B、ab

C、ab c

D、ab cd

答案:B

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

A、gets(a,b);

B、scanf("%s%s",a,b);

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

D、gets("a"); gets("b");

答案:B

9、下面程序段的运行结果是()。 char a[7]= "abcdef"; char b[4]= "ABC"; strcpy(a,b); printf("%c",a[5]);

A、空格

B、c

C、e

D、f

答案:D

10、下面程序段的输出结果是()。 #include <stdio.h>int main(){ char str[]="I like swimming! ",*p=str; p=p+7; printf("%s",p);}

A、程序有错误

B、I like swimming!

C、swimming!

D、like swimming!

答案:C

以上相关的更多内容请点击C语言编程新思路查看,以上题目的答案为网上收集整理仅供参考,难免有错误,还请自行斟酌,觉得好请分享给您的好朋友们!



相关阅读