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

B、30

内容来自cainiaojianzhan.com

C、21

本文来自菜鸟建站网

D、31

cainiaojianzhan.com

答案:C 内容来自cainiaojianzhan.com

6、假设整型变量a的值为12,变量a的地址为2000,若欲使p为指向a的指针变量,则以下赋值正确的是()。 内容来自cainiaojianzhan.com

A、&a=p; cainiaojianzhan.com

B、*p=12;

cainiaojianzhan.com

C、*p=2000 内容来自cainiaojianzhan.com

D、p=&a; cainiaojianzhan.com

答案:D

内容来自cainiaojianzhan.com

7、若有定义:int b,*pb;则下面正确的赋值表达式是()。 cainiaojianzhan.com

A、pb=&b cainiaojianzhan.com

B、pb=b cainiaojianzhan.com

C、*pb=&b cainiaojianzhan.com

D、*pb=*b 本文来自菜鸟建站网

答案:A 本文来自菜鸟建站网

8、设int a[10],*p=a; ,则下面()不是对a[3]的正确引用。

内容来自cainiaojianzhan.com

A、*(a+3)

cainiaojianzhan.com

B、p+3 本文来自菜鸟建站网

C、p[3]

本文来自菜鸟建站网

D、*(p+3) 本文来自菜鸟建站网

答案:B

内容来自cainiaojianzhan.com

9、若有如下定义:int a[10]={10,20,30,40,50,60,70,80,90,100},*p=a; ,则执行p=p+5后,*p的值是()。 本文来自菜鸟建站网

A、10

内容来自cainiaojianzhan.com

B、50 本文来自菜鸟建站网

C、60 内容来自cainiaojianzhan.com

D、100

cainiaojianzhan.com

答案:C 本文来自菜鸟建站网

10、若int *p,i;执行i=100; p=&i; i=*p+10; 后,*p的值是()。 cainiaojianzhan.com

A、100

内容来自cainiaojianzhan.com

B、10

内容来自cainiaojianzhan.com

C、0 cainiaojianzhan.com

D、110

cainiaojianzhan.com

答案:D 内容来自cainiaojianzhan.com

11、以下程序的输出结果是()。 #include <stdio.h> int main() { int a[ ]={2,4,6,8,10},y=0,i,*p; p=a; for(i=0;i<3;i++) y+=*(p+i); printf("%d\n",y); }

cainiaojianzhan.com

A、17

本文来自菜鸟建站网

B、12 本文来自菜鸟建站网

C、19 本文来自菜鸟建站网

D、20

cainiaojianzhan.com

答案: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); }

cainiaojianzhan.com

A、a=1,b=2,c=3 cainiaojianzhan.com

B、a=2,b=1,c=3 内容来自cainiaojianzhan.com

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

cainiaojianzhan.com

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

cainiaojianzhan.com

答案: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 内容来自cainiaojianzhan.com

B、6

cainiaojianzhan.com

C、8

本文来自菜鸟建站网

D、10

内容来自cainiaojianzhan.com

答案:C

内容来自cainiaojianzhan.com

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

A、编译出错 内容来自cainiaojianzhan.com

B、100 内容来自cainiaojianzhan.com

C、a的地址

内容来自cainiaojianzhan.com

D、b的地址 本文来自菜鸟建站网

答案:B 内容来自cainiaojianzhan.com

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

A、<

内容来自cainiaojianzhan.com

B、=

本文来自菜鸟建站网

C、+ 本文来自菜鸟建站网

D、–

本文来自菜鸟建站网

答案:C

cainiaojianzhan.com

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

内容来自cainiaojianzhan.com

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

本文来自菜鸟建站网

B、*(p+1)+2 cainiaojianzhan.com

C、(p+1)[2] cainiaojianzhan.com

D、p[1]+2 内容来自cainiaojianzhan.com

答案:A

本文来自菜鸟建站网

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

本文来自菜鸟建站网

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

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

内容来自cainiaojianzhan.com

C、定义不合法

本文来自菜鸟建站网

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

本文来自菜鸟建站网

答案:D

内容来自cainiaojianzhan.com

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

cainiaojianzhan.com

A、a

cainiaojianzhan.com

B、*p

本文来自菜鸟建站网

C、p

本文来自菜鸟建站网

D、&a[0]

内容来自cainiaojianzhan.com

答案: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; } cainiaojianzhan.com

A、4 1

cainiaojianzhan.com

B、3 1 内容来自cainiaojianzhan.com

C、4 4

cainiaojianzhan.com

D、3 4 本文来自菜鸟建站网

答案:A

cainiaojianzhan.com

20、若有int a[10],*p;,则下列语句中正确的是()。 内容来自cainiaojianzhan.com

A、for(p=a; a<p+10 ; a++) 内容来自cainiaojianzhan.com

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

内容来自cainiaojianzhan.com

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

cainiaojianzhan.com

D、for(p=a; p<a+10 ; a++) 本文来自菜鸟建站网

答案:B

cainiaojianzhan.com

第八章测试

cainiaojianzhan.com

1、函数strcmp("ABCDDCBA","ABCDE")的返回值是()。 内容来自cainiaojianzhan.com

A、0

本文来自菜鸟建站网

B、正数

cainiaojianzhan.com

C、负数

内容来自cainiaojianzhan.com

D、随机值 cainiaojianzhan.com

答案:C cainiaojianzhan.com

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); } 内容来自cainiaojianzhan.com

A、9,9 内容来自cainiaojianzhan.com

B、8,9

内容来自cainiaojianzhan.com

C、1,8

内容来自cainiaojianzhan.com

D、9,8

cainiaojianzhan.com

答案:D

cainiaojianzhan.com

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

本文来自菜鸟建站网

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

cainiaojianzhan.com

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

本文来自菜鸟建站网

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

本文来自菜鸟建站网

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

cainiaojianzhan.com

答案:C

cainiaojianzhan.com

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 内容来自cainiaojianzhan.com

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])); } 程序运行后的输出结果是()。 cainiaojianzhan.com

A、6

cainiaojianzhan.com

B、4 本文来自菜鸟建站网

C、5 cainiaojianzhan.com

D、3 cainiaojianzhan.com

答案:A

cainiaojianzhan.com

6、下列选项正确的语句组是 ()。 内容来自cainiaojianzhan.com

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

内容来自cainiaojianzhan.com

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

本文来自菜鸟建站网

C、char s[8]; s="China"; 内容来自cainiaojianzhan.com

D、char *s; s="China"; 内容来自cainiaojianzhan.com

答案:D 本文来自菜鸟建站网

7、下面程序的运行结果是 ()。 char c[6]={'a','b','\0','c','d','\0'}; printf("%s",c); 本文来自菜鸟建站网

A、'a' 'b' cainiaojianzhan.com

B、ab

cainiaojianzhan.com

C、ab c

cainiaojianzhan.com

D、ab cd 内容来自cainiaojianzhan.com

答案:B

本文来自菜鸟建站网

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

cainiaojianzhan.com

A、gets(a,b);

本文来自菜鸟建站网

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

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

本文来自菜鸟建站网

D、gets("a"); gets("b"); 内容来自cainiaojianzhan.com

答案:B

内容来自cainiaojianzhan.com

9、下面程序段的运行结果是()。 char a[7]= "abcdef"; char b[4]= "ABC"; strcpy(a,b); printf("%c",a[5]); 本文来自菜鸟建站网

A、空格

内容来自cainiaojianzhan.com

B、c

cainiaojianzhan.com

C、e

本文来自菜鸟建站网

D、f

cainiaojianzhan.com

答案:D cainiaojianzhan.com

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

A、程序有错误 内容来自cainiaojianzhan.com

B、I like swimming! 本文来自菜鸟建站网

C、swimming! 本文来自菜鸟建站网

D、like swimming!

cainiaojianzhan.com

答案:C

本文来自菜鸟建站网

11、下面哪个选项不能将"hello"字符串存入字符数组str中()。 内容来自cainiaojianzhan.com

A、char str[]="hello" ; 本文来自菜鸟建站网

B、char str[30]; strcpy(str, "hello");

本文来自菜鸟建站网

C、char str[30];str="hello"; cainiaojianzhan.com

D、char str[30],*ps=str; strcpy(ps,"hello");

cainiaojianzhan.com

答案:C 内容来自cainiaojianzhan.com

12、有以下定义,不能表示字符 'C' 的表达式是()。char str[]="ABCDEFG",*p=str;

内容来自cainiaojianzhan.com

A、*(p+2) cainiaojianzhan.com

B、str[2]

cainiaojianzhan.com

C、*(str+2)

cainiaojianzhan.com

D、*p+2 cainiaojianzhan.com

答案:D

内容来自cainiaojianzhan.com

13、程序段char c[]="abcdefg "; printf("%s",c+4);的运行结果是()。

内容来自cainiaojianzhan.com

A、abcd 内容来自cainiaojianzhan.com

B、efg

本文来自菜鸟建站网

C、abcdefg

本文来自菜鸟建站网

D、defg

内容来自cainiaojianzhan.com

答案:B 内容来自cainiaojianzhan.com

14、有如下定义,不能给数组a输入字符串的是()。char a[20],*p=a;

cainiaojianzhan.com

A、gets(p)

内容来自cainiaojianzhan.com

B、gets(a[0]) 内容来自cainiaojianzhan.com

C、gets(&a[0])

cainiaojianzhan.com

D、gets(a)

内容来自cainiaojianzhan.com

答案:B

cainiaojianzhan.com

15、下面说法正确的是()。

本文来自菜鸟建站网

A、若定义char s[]="well"; char t[]={'w','e','l','l'};,则数组s与数组t中内容相同。 内容来自cainiaojianzhan.com

B、当两个字符串所包含的字符个数相同时,才能比较两个字符串的大小。 本文来自菜鸟建站网

C、函数strcpy(str1,str2); 的功能是将str2中字符串复制到str1中。

内容来自cainiaojianzhan.com

D、定义char a[30], b[]="China"; 后,可执行a=b; 将数组b中的字符串赋值给数组a。 内容来自cainiaojianzhan.com

答案:C

本文来自菜鸟建站网

16、接受用户输入含有空格的字符串时,应使用()。

本文来自菜鸟建站网

A、getchar() 内容来自cainiaojianzhan.com

B、gets() 本文来自菜鸟建站网

C、scanf() cainiaojianzhan.com

D、printf()

内容来自cainiaojianzhan.com

答案:B 本文来自菜鸟建站网

17、列描述中错误的是 ()。

cainiaojianzhan.com

A、可以对字符数组进行整体输入、输出。 本文来自菜鸟建站网

B、字符串可以存储在字符数组中。 cainiaojianzhan.com

C、不能对字符数组存储的字符串进行更改。

cainiaojianzhan.com

D、不能使用赋值运算符“=”,直接对字符数组名进行赋值。 cainiaojianzhan.com

答案:C 内容来自cainiaojianzhan.com

18、执行以下程序段后,输出结果是()。 char str[20]="door",t; int i,j; i=0; j=strlen(str)-1; t=str; str=str[j]; str[j]=t; puts(str); 内容来自cainiaojianzhan.com

A、door

本文来自菜鸟建站网

B、dood

cainiaojianzhan.com

C、rood

cainiaojianzhan.com

D、roor cainiaojianzhan.com

答案:C

内容来自cainiaojianzhan.com

19、若有如下定义char a[30],b[30],则以下正确的输入语句是()

cainiaojianzhan.com

A、gets(a,b);

cainiaojianzhan.com

B、gets(a); gets(b); 本文来自菜鸟建站网

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

本文来自菜鸟建站网

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

内容来自cainiaojianzhan.com

答案:B

cainiaojianzhan.com

20、执行以下程序段后,输出结果是() 。 char s[20]= "Good",t[]="Moring!"; strcat(s,t); puts(s);

内容来自cainiaojianzhan.com

A、GoodMoring!

本文来自菜鸟建站网

B、Moring! cainiaojianzhan.com

C、Good

本文来自菜鸟建站网

D、Moring!Good

本文来自菜鸟建站网

答案:A

cainiaojianzhan.com

第九章测试 本文来自菜鸟建站网

1、在c语言中以下不正确的说法是()。 cainiaojianzhan.com

A、实参可以是常量、变量、或表达式  本文来自菜鸟建站网

B、形参可以是常量、变量或表达式 cainiaojianzhan.com

C、实参可以为任意类型 cainiaojianzhan.com

D、形参应与其对应的实参类型一致 本文来自菜鸟建站网

答案:B 内容来自cainiaojianzhan.com

2、以下程序有语法性错误,有关错误原因的正确说法是()。  #include <stdio.h> int main(void)     {  int G=5,k;  void  prt_char();  ……    k=prt_char(G);    …… return 0; }  cainiaojianzhan.com

A、语句void prt_char();有错,它是函数调用语句不能用void说明

cainiaojianzhan.com

B、变量名不能使用大写字母

cainiaojianzhan.com

C、函数说明和函数调用语句之间有矛盾 内容来自cainiaojianzhan.com

D、函数名不能使用下划线

cainiaojianzhan.com

答案:C 本文来自菜鸟建站网

3、下述函数定义形式正确的是()。 本文来自菜鸟建站网

A、int f(int x;int y)

内容来自cainiaojianzhan.com

B、int f(int x,int y)

cainiaojianzhan.com

C、int f(int x,y)

本文来自菜鸟建站网

D、int f(x,y:int)

cainiaojianzhan.com

答案:B

cainiaojianzhan.com

4、以下所列的各函数首部中,正确的是()。 cainiaojianzhan.com

A、void play(int a,b) cainiaojianzhan.com

B、void play(var :Integer,var b:Integer) cainiaojianzhan.com

C、void play(int a,int b)

cainiaojianzhan.com

D、Sub play(a as integer,b as integer)

以上相关的更多内容请点击智慧树知到查看,该题目的答案为网上收集整理仅供参考!

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

大家都在搜

相关推荐:

猜您喜欢