程序设计基础(C语言)(山东联盟)智慧树知到课后章节答案2023年下青岛理工大学_第1页
程序设计基础(C语言)(山东联盟)智慧树知到课后章节答案2023年下青岛理工大学_第2页
程序设计基础(C语言)(山东联盟)智慧树知到课后章节答案2023年下青岛理工大学_第3页
程序设计基础(C语言)(山东联盟)智慧树知到课后章节答案2023年下青岛理工大学_第4页
程序设计基础(C语言)(山东联盟)智慧树知到课后章节答案2023年下青岛理工大学_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序设计基础(C语言)(山东联盟)智慧树知到课后章节答案2023年下青岛理工大学青岛理工大学

第一章测试

以下叙述中正确的是(

)。

A:用C程序实现的算法可以既没有输入也没有输出B:用C程序实现的算法可以没有输出但必须要有输入C:用C程序实现的算法必须要有输入和输出操作D:用C程序实现的算法可以没有输入但必须要有输出

答案:用C程序实现的算法可以没有输入但必须要有输出

以下不能定义为用户标识符的是(

)。

A:MainB:_scanfC:printfD:_10

答案:printf

按照C语言规定的用户标识符命名规则,不能出现在标识符中的是(

)。

A:下划线B:小写字母

C:数字字符D:连接符

答案:连接符

以下C语言用户标识符中,不合法的是(

)。

A:AaBcB:a--bC:_1D:a_b

答案:a--b

结构化程序由三种基本结构组成,三种基本结构组成的算法(

)。

A:

只能完成一些简单的任务B:可以完成任何复杂的任务C:只能完成符合结构化的任务D:只能完成部分复杂的任务

答案:可以完成任何复杂的任务

以下叙述中正确的是(

)。

A:C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束B:可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C:C语言程序将从源程序中第一个函数开始执行D:main可作为用户标识符,用以命名任意一个函数作为主函数

答案:C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束

C语言源程序名的后缀是(

)。

A:.obj

B:.exe

C:.cD:.cpp

答案:.c

以下叙述中错误的是(

)。

A:一个C程序中可以包含多个不同名的函数B:C程序在书写时,有严格的缩进要求,否则不能编译通过C:一个C程序只能有一个主函数D:C程序的主函数必须用main作为函数名

答案:C程序在书写时,有严格的缩进要求,否则不能编译通过

下列关于C语言用户标识符的叙述中正确的是(

)。

A:用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头B:用户标识符中不可以出现中划线,但可以出现下划线C:用户标识符中可以出现下划线,但不能放在用户标识符的开头D:用户标识符中可以出现下划线和中划线(减号)

答案:用户标识符中不可以出现中划线,但可以出现下划线

下列4个选项中,(

)是合法的用户自定义标识符。

A:_iswB:float

C:b-b

D:2a

答案:_isw

第二章测试

下列选项中,(

)可以将x、y定义成double类型变量,并赋同一初值3.14。

A:doublex,y=3.14;

B:doublex,y=2*3.14;C:doublex=3.14,y=3.14;

D:doublex=y=3.14;

答案:doublex=3.14,y=3.14;

若变量已正确定义并赋值,表达式(

)不符合C语言语法。

A:a*b/c

B:3.14%2C:a/b/cD:2,b

答案:3.14%2

下列表达式中值为0的是(

)。

A:3/5B:3.0/5C:3/5.0D:3%5

答案:3/5

以下选项中,(

)是不正确的字符常量。

A:"a"B:'5

'C:'103'

D:'A'

答案:"a"

以下选项中不正确的整型常量是(

)。

A:1,900B:-100C:82LD:253U

答案:1,900

以下正确的字符串常量是()。

A:HELLOB:"5111"C:'123456'D:q1234ty

答案:"5111"

假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式

的表达式是(

)。

A:1/(a*b*c)B:1/a/b/(float)cC:1/a*b*c

D:1.0/a/b/c

答案:1.0/a/b/c

以下能正确定义且赋初值的语句是(

)。

A:doublex=12.3E2.5;B:floatf=f+1.1;C:charch='A';D:intn1=n2=10;

答案:charch='A';

设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,32+z)后,x的值为(

)。

A:4B:32C:16D:48

答案:48

C语言中,运算对象必须是整型数的运算符是(

)。

A:%B:/C:*D:%

和/

答案:%

有以下程序main(){

chara1='M',a2='m';

printf("%c",(a1,a2));

}以下叙述中正确的是(

)。

A:程序输出小写字母mB:程序输出大写字母M

C:格式说明符不足,编译出错D:程序运行时产生出错信息

答案:程序输出小写字母m

在C语言中,下列属于构造类型的是(

)。

A:整型B:数组类型C:字符型

D:实型

答案:数组类型

设d为字符型变量,下列表达式不正确的是(

)。

A:d=’3’B:d=’a’

C:d=”a”D:d=99

答案:d=”a”

A:3.600000,5.800000B:输出符号不够,输出不正确值C:3.600000

D:5.800000

答案:5.800000

表达式(double)(20/3)的值为(

)。

A:6B:6.0C:2D:3

答案:6.0

表达式3.6-5/2+1.2+5%2的值是(

)。

A:3.8

B:4.3C:3.3D:4.8

答案:3.8

表达式sizeof("hello")的值为(

)。

A:7B:6

C:5D:4

答案:6

设整型变量a值为9,则下列表达式中使b的值不为4的表达式(

)。

A:b=a/2

B:b=8-(3,a-5)

C:b=a%2

D:b=a-5

答案:b=a%2

已知ch是字符型变量,下面不正确的赋值语句是(

)。

A:ch=7+9;B:ch=‘a+b’;C:ch=‘7’+‘9’;D:ch='m';

答案:ch=‘a+b’;

有以下定义语句,编译时会出现编译错误的是(

)。

A:chara='aa';

B:chara='0';C:chara='a';D:chara='-';

答案:chara='aa';

第三章测试

若变量已正确定义并赋值,下面符合C语言语法的表达式是(

)。

A:a=b=c+2B:a=a+7=c+bC:int18.5%3

D:a:=b+1

答案:a=b=c+2

设变量已正确定义并赋值,表达式(

)不符合C语言语法。

A:++a

B:a=b=5C:int(3.14)

D:a=4,3

答案:int(3.14)

下列关于自增运算符++和自减运算符--的叙述中正确的是(

)。

A:它们的运算对象可以是char型变量和int型变量,但不能是float型变量B:它们的运算对象可以是int型变量,但不能是double型变量和float型变量C:它们的运算对象可以是char型变量、int型变量和float型变量D:它们的运算对象可以是任何类型的变量和常量

答案:它们的运算对象可以是char型变量、int型变量和float型变量

若变量a、i已正确定义,且i已正确赋值,则合法的语句是(

)。

A:a+2=1

B:a=int(i);C:a=a++=5;D:++i;

答案:++i;

设x为int型变量,则执行以下语句后,x的值为(

)。x=10;

x+=x-=x+x;

A:10B:-20C:20D:0

答案:-20

以下叙述中正确的是(

)。

A:在C语言中,整数可以以十二进制、八进制或十六进制的形式输出B:使用putchar函数时,必须在之前包含头文件stdio.hC:调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码D:调用printf函数时,必须要有输出项

答案:使用putchar函数时,必须在之前包含头文件stdio.h

以下程序的输出结果是(

)。#include"stdio.h"

main(){

inta=10;

a=(3*5,a+4);

printf("a=%d",a);}

A:a=15B:a=14C:a=18D:a=19

答案:a=14

以下不能输出字符A的语句是(注:字符A的ASCIl码值为65,字符a的ASCIl码值为97)()。

A:printf("%c",'a'-32);

B:printf("%c",65);C:printf("%d",'A');

D:printf("%c",'B'-1);

答案:printf("%d",'A');

若有以下定义和语句:charc1='c',c2='g';printf("%d,%c",c2-c1,c2-'a'+'A');则输出结果是(

)。

A:5,G

B:3,GC:4,GD:输出项与对应的格式控制不一致,输出结果不确定

答案:4,G

以下程序段的输出结果是(

)。

floatm=34.567;

printf("%3.2f",m);

A:提示出错、无结果B:34.57C:34.567D:34.5

答案:34.57

以下程序的输出结果是(

)。

#include"stdio.h"

main()

{

charc='z';

printf("%c",c-25);

}

A:z-25B:aC:yD:Z

答案:a

以下程序的输出结果是(

)。

#include"stdio.h"

main()

{

int

k=27;

printf("%d,%o,%x",k,k,k);

}

A:27,33,1bB:27,033,0x1bC:27,27,27D:27,0x1b,033

答案:27,33,1b

以下程序的输出结果是(

)。

#include"stdio.h"

main()

{

doubled=3.2;

intx,y;x=1.2;y=(x+3.8)/5.0;printf("%d",d*y);

}

A:3B:0C:3.07D:3.2

答案:0

下列程序执行后的输出结果是(小数点后只写1位)(

)。

#include"stdio.h"

main()

{

doubled;

floatf;

longk;

inti;i=f=k=d=20.0/3;printf("%d%ld%.1f%.1f",i,k,f,d);

}

A:666.06.7

B:666.06.0

C:666.76.7D:666.76.0

答案:666.06.7

x、y、z被定义为double型变量,若从键盘上给x、y、z输入数据,则正确的输入语句是(

)。

A:scanf("%d%d%d",&x,&y,&z);B:scanf("%lf%lf%lf",&x,&y,&z);C:scanf("%.2lf%.2lf%.2lf",&x,&y,&z);D:scanf("%f%f%f",&x,&y,&z);

答案:scanf("%lf%lf%lf",&x,&y,&z);

设i是int型变量,f是float型变量,若要通过语句“scanf("i=%d,f=%f",&i,&f);”给i赋值100,f赋值765.12,则正确的输入为()。

A:100765.12B:i=100f=765.12C:i=100,f=765.12D:100,765.12

答案:i=100,f=765.12

设有以下定义inta=0;doubleb=1.25;charc='A';#defined2则下面语句中错误的是(

)。

A:b++;

B:a++;C:d++;

D:c++;

答案:d++;

有以下程序

#include"stdio.h"

main()

{inta,b,d=25;

a=d/10%9;

b=a-1;

printf("%d,%d",a,b);

}

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

)。

A:2,0B:6,1

C:2,1

D:6,0

答案:2,1

有以下程序

#include"stdio.h"

main()

{charc1='1',c2='2';c1=getchar();

c2=getchar();

putchar(c1);putchar(c2);

}

当运行时输入:ab<回车>

后,以下叙述正确的是(

)。

A:变量c1被赋予字符a,c2被赋予字符bB:变量c1被赋予字符a,c2中将无确定值C:程序将等待用户输入第2个字符D:变量c1被赋予字符a,c2中仍是原有字符2

答案:变量c1被赋予字符a,c2被赋予字符b

下列程序的输出结果是16.00,请在程序中填空。

#include"stdio.h"

main()

{

inta=9,b=2;

floatx=________,y=1.1,z;

z=a/2+b*x/y+1/2;

printf("%5.2f",z);

}

A:6.05B:5.5C:7.7D:6.6

答案:6.6

第四章测试

若x=3,y=z=4,则下列表达式的值分别为(

)。

(1)z>=y>=x?1:0

(2)z>=y&&y>=x

A:

1

0B:

1

1C:

0

1D:

0

0

答案:

0

1

在嵌套使用if语句时,C语言规定else总是(

)。

A:和之前的第一个if配对B:和之前与其最近的且不带else的if配对

C:和之前与其具有相同缩进位置的if配对D:和之前与其最近的if配对

答案:和之前与其最近的且不带else的if配对

判断字符型变量ch为大写字母的表达式是(

)。

A:(ch>=’A’)AND(ch<=’Z’)B:(ch>=’A’)||(ch<=’Z’)C:(ch>=’A’)&&(ch<=’Z’)

D:

’A’<=ch<=’Z’

答案:(ch>=’A’)&&(ch<=’Z’)

逻辑运算符的运算对象的数据类型(

)。

A:任何类型的数据B:只能是.T.或.F.C:只能是整型或字符型

D:只能是0或1

答案:任何类型的数据

以下是if语句的基本形式:

if(表达式)语句

其中“表达式”(

)。

A:必须是关系表达式B:必须是逻辑表达式或关系表达式

C:必须是逻辑表达式

D:可以是任意合法的表达式

答案:可以是任意合法的表达式

下列条件语句中,功能与其他语句不同的是(

)。

A:if(a==0)printf("%d",y);elseprintf("%d",x);B:if(a!=0)printf("%d",x);elseprintf("%d",y);C:if(a==0)printf("%d",x);

elseprintf("%d",y);D:if(a)printf("%d",x);elseprintf("%d",y);

答案:if(a==0)printf("%d",x);

elseprintf("%d",y);

以下程序段中与语句“k=a>b?(b>c?1:0):0;”功能等价的是(

)。

A:if(a<=b)

k=0;

else

if(b<=c)

k=1;

B:if((a>b)&&(b>c))

k=1;else

k=0;

C:f((a>b)||(b>c))

k=1;

else

k=0;

D:if(a>b)

k=1;

elseif(b>c)

k=1;

elsek=0;

答案:if((a>b)&&(b>c))

k=1;else

k=0;

下面程序的输出结果是(

)。#include"stdio.h"main(){

intx=40,y=4,z=4;

x=y==z;

printf("%d",x);

x=x==(y-z);

printf("%d",x);}

A:1

0B:1

1C:4

0

D:4

1

答案:1

0

下列各语句序列中,能够将变量u和s中的较大值赋值到变量t中的是(

)。

A:if(u>s)t=s;elset=u;

B:t=s;if(u>s)t=u;C:t=u;if(u>s)t=s;D:if(u>s)t=u;t=s;

答案:t=s;if(u>s)t=u;

以下程序执行后的输出结果是(

)。#include"stdio.h"main(){inta=5,b=4,c=3,d=2;

if(a>b>c)

printf("%d",d);

elseif((c-1>=d)==1)

printf("%d",d+1);

else

printf("%d",d+2);

}

A:2B:4C:编译时有错误,无结果D:3

答案:3

以下程序执行后的输出结果是(

)。#include"stdio.h"main(){

charx='d';

x=(x>='a'&&x<='z')?(x-32):x;

printf("%c",x);}

A:aB:zC:DD:d

答案:D

若有定义:floatx=1.5;inta=1,b=3,c=2;,则正确的switch语句是(

)。

A:switch(x)

{

case1.0:printf("*");

case2.0:printf("**");}

B:switch((int)x);{

case1:printf("*");

case2:printf("**");}

C:switch(a+b){

case1:printf("*");

case1+2:printf("**");}

D:switch(a+b){

case1:printf("*");

casec:printf("**");}

答案:switch(a+b){

case1:printf("*");

case1+2:printf("**");}

以下程序的输出结果是(

)。#include"stdio.h"main(){

inta=2,b=2,c;

c=a>=b;

printf("c=%d",c);}

A:不确定B:c=0C:c=2D:c=1

答案:c=1

下列程序执行后的输出结果是(

)。#include"stdio.h"main(){

intn=0,m=1,x=2;

if(!n)x-=1;

if(m)x-=2;

if(x)x-=3;

printf("%d",x);}

A:-1B:1C:-3

D:-4

答案:-4

以下程序执行后的输出结果是(

)。#include"stdio.h"main(){

intp,a=5;

if(p=a!=0)

printf("%d",p);

else

printf("%d",p+2);}

A:5

B:3C:0D:1

答案:1

以下程序的运行结果是(

)。#include"stdio.h"main(){

inta=2,b=3,c;

c=a;

if(a>b)c=1;

elseif(a==b)

c=0;

else

c=-1;

printf("%d",c);}

A:0B:2C:1D:-1

答案:-1

有以下程序#include"stdio.h"main(){intx;scanf("%d",&x);if(x>15)printf("%d

",x-5);if(x>10)printf("%d

",x);if(x>5)printf("%d\n",x+5);}若程序运行时从键盘输入12<回车>,则输出结果为(

)。

A:12

17B:17C:7D:12

答案:12

17

若有表达式(p)?(--x):(++y),则其中与w等价的表达式是(

)。

A:p==0B:p==1C:p!=0D:p!=1

答案:p!=0

有以下程序#include"stdio.h"main(){

inta,b,c;

a=10;b=50;c=30;

if(a>b)a=b,b=c;c=a;

printf("a=%db=%dc=%d",a,b,c);}程序的输出结果是(

)。

A:a=10b=30c=10

B:a=10b=50c=10

C:a=10b=50c=30D:a=50b=30c=50

答案:a=10b=50c=10

有以下程序#include"stdio.h"main(){

intx=1,y=2,z=3;

if(x>y)

if(y<z)

printf("%2d",z+1);

else

printf("%2d",y+1);

printf("%2d",x+1);}

程序的运行结果是(

)。

A:3

2B:4

2C:2D:1

答案:2

第五章测试

以下叙述中正确的是(

)。

A:用do-while语句构成的循环,在while后的表达式为零时结束循环。B:do-while语句构成的循环只能用break语句退出。C:用do-while语句构成的循环,在while后的表达式为非零时结束循环。D:do-while语句构成的循环不能用其他语句构成的循环来代替。

答案:用do-while语句构成的循环,在while后的表达式为零时结束循环。

以下程序执行后的输出结果是(

)。#include"stdio.h"main(){

intx=0,y=5,z=3;

while(z>0&&x<5)

{y=y-1;z--;x++;}

printf("%d,%d,%d",x,y,z);

}

A:3,2,0

B:5,2,5C:3,2,-1D:4,3,-1

答案:3,2,0

以下程序执行后的输出结果是(

)。#include"stdio.h"main(){inti;

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

switch(i)

{

case1:printf("%d",i);

case2:printf("%d",i);break;

default:printf("%d",i);

}}

A:012B:120

C:011D:0112

答案:0112

以下程序执行后的输出结果是(

)。#include"stdio.h"main(){inti=0,s=0;

do{

if(i%2){i++;continue;}

i=i+2;

s+=i;

}while(i<7);

printf("%d",s);}

A:20B:28

C:21D:12

答案:20

下面的程序运行后,输出的结果是(

)。#include"stdio.h"main(){

intx=3;

do

{

printf("%d",x-=2);

}

while(!(--x));}

A:3和0

B:死循环C:1

D:1和-2

答案:1和-2

下面的程序运行后,输出的结果是(

)。#include"stdio.h"main(){

intn=5,s=0;

while(n)

{

s+=n;

n--;

}

printf("%d",s);}

A:0B:15

C:5D:10

答案:15

以下程序执行后的输出结果是(

)。#include"stdio.h"main(){inti,s=0;

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

printf("%d",s);}

A:自然数1~9中的奇数之和

B:自然数1~10中的偶数之和C:自然数1~9的累加和

D:自然数1~10的累加和

答案:自然数1~10中的偶数之和

以下程序执行后的输出结果是(

)。#include"stdio.h"main(){inti,n=0;

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

{do

{if(i%3)continue;

n++;

}while(!i);

n++;

}

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

}

A:n=4B:n=5C:n=3

D:n=2

答案:n=4

下面程序的功能是输出以下形式的图案,应在下划线处填入的是(

)。****

************#include"stdio.h"main(){inti,j;

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

{

for(j=1;j<=

;j++)

printf("*");

printf("");

}

}

A:2*i-1B:i+2C:iD:2*i+1

答案:2*i-1

以下程序运行后的输出结果是(

)。#include"stdio.h"main(){

inti=0,s=0;

for(;;)

{if(i==3||i==5)continue;

if(i==6)break;

i++;

s+=i;

}

printf("%d",s);

}

A:21

B:13C:程序进入死循环D:10

答案:程序进入死循环

以下程序的输出结果是(

)。#include"stdio.h"main()

{

inti;

for(i='A';i<'I';i++,i++)

printf("%c",i+32);

printf("");

}

A:acegB:编译不通过,无输出C:acegi

D:abcdefgh

答案:aceg

运行以下程序后,如果从键盘上输入“65,14<Enter>”,则输出结果为(

)。#include"stdio.h"main(){

intm,n;

printf("Enterm,n;");

scanf("%d,%d",&m,&n);

while(m!=n)

{while(m>n)m-=n;

while(n>m)n-=m;

}

printf("m=%d",m);}

A:m=1B:m=3

C:m=0D:m=2

答案:m=1

若变量已正确定义,要求程序段完成求6!的计算,不能完成此操作的程序段是(

)。

A:i=1;p=1;do{p*=i;i++;}while(i<=6);B:for(i=1;i<=6;i++){p=1;p*=i;}C:for(i=1,p=1;i<=6;i++)p*=i;D:i=1;p=1;while(i<=6){p*=i;i++;}

答案:for(i=1;i<=6;i++){p=1;p*=i;}

设x和y均为int型变量,则执行以下的循环后,y值为(

)。for(y=1,x=1;y<=50;y++){if(x==10)

break;

if(x%2==1)

{x+=5;continue;}

x-=3;}

A:7B:6

C:5

D:4

答案:6

设j为int型变量,则下面for循环语句的执行结果是(

)。

for(j=10;j>3;j--)

{

if(j%3)j--;

--j;--j;

printf("%d

",j);

}

A:

6

2B:

6

3

C:

7

4

D:

7

3

答案:

7

4

有以下程序#include"stdio.h"main(){

inta=1,b;

for(b=1;b<=3;b++)

{

if(a%2==1){a+=3;continue;}

a-=2;

}

printf("%d",a);}程序运行后的输出结果是(

)。

A:3B:4C:0D:2

答案:0

有以下程序段

int

n,t=0,s=0;

scanf("%d",&n);

do

{s=s+t;t=t-2;}

while(t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是(

)。

A:任意负偶数B:任意正奇数C:任意正偶数D:任意负奇数

答案:任意负偶数

要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是(

)。

A:while((ch=getchar())==′N′)printf("%c",ch);B:while(ch=getchar()!=′N′)printf("%c",ch);C:while(ch=getchar()==′N′)printf("%c",ch);

D:while((ch=getchar())!=′N′)printf("%c",ch);

答案:while((ch=getchar())!=′N′)printf("%c",ch);

有以下程序#include<stdio.h>main(){inti,j,n=0;for(i=3;i>=1;i--)for(j=1;j<=2;j++)n++;printf("%d",n);}

程序的运行结果是()。

A:6B:2

C:0

D:3

答案:6

有以下程序#include<stdio.h>main(){

inti=5;

do

{

if(i%3==1)

if(i%5==2)

{printf("*%d",i);break;}

i++;

}

while(i!=0);

printf("");}

程序的运行结果是(

)。

A:*3*5B:*2*6C:*5D:*7

答案:*7

第六章测试

若有以下说明:

inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};

charc='a',d,g;则数值为4的表达式是(

)。

A:a['d'-'c']

B:a['d'-c]C:a[g-c]

D:a[4]

答案:a['d'-c]

若有定义语句:intm[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是(

)。

A:m[m[0]]B:m[--i]

C:m[m[i]]D:m[2*2]

答案:m[m[0]]

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

)。

A:int

a[];B:intn;scanf("%d",&n);inta[n];C:#defineSIZE10

inta[SIZE];D:intn=10,a[n];

答案:#defineSIZE10

inta[SIZE];

若要定义一个具有5个元素的整型数组,以下错误的定义语句是(

)。

A:int

b[]={0,0,0,0,0};

B:int

c[2+3];

C:int

a[5]={0};D:int

i=5,d[i];

答案:int

i=5,d[i];

给出以下定义:charx[]="abcdefg";chary[]={'a','b','c','d','e','f','g'};则正确的叙述为()。

A:数组X和数组Y等价

B:数组X的长度大于数组Y的长度

C:数组X的长度小于数组Y的长度D:数组x和数组Y的长度相同

答案:数组X的长度大于数组Y的长度

下列字符串赋值语句中,不能正确把字符串Cprogram赋给数组的语句是()。

A:chara[10];strcpy(a,"Cprogram");B:chara[10];a="Cprogram";C:chara[]={'C','','p','r','o','g','r','a','m',''};D:chara[10]={"Cprogram"};

答案:chara[10];a="Cprogram";

下面程序段的运行结果是()。charc[5]={'a','b','\0','c','\0'};printf("%s",c);

A:abB:'a''b'C:abc

D:abc

答案:ab

若有如下定义和语句:

chars[12]="abook!";

printf("%d",strlen(s));则输出结果是(

)。

A:7B:8C:12D:9

答案:7

以下定义数组的语句中错误的是(

)。

A:intnum[]={1,2,3,4,5,6};B:intnum[][4]={1,2,3,4,5,6};C:intnum[][3]={{1,2},3,4,5,6};D:intnum[2][4]={{1,2},{3,4},{5,6}};

答案:intnum[2][4]={{1,2},{3,4},{5,6}};

执行下面的程序段后,变量k中的值为(

)。intk=3,b[10]={1};b[0]=k;k=b[1]*10;

A:不定值

B:30

C:10D:0

答案:0

以下程序的输出结果是(

)。#include"stdio.h"main(){

int

n[5]={0},i,k=3;

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

n[i]=n[i]+1;

printf("%d\n",n[k]);}

A:不确定的值B:2

C:1D:0

答案:0

以下程序的输出结果是(

)。#include"stdio.h"main(){

int

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

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

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

printf("%d",s);}

A:19

B:21C:20D:18

答案:18

以下程序执行后的输出结果是(

)。#include"stdio.h"main(){chara[]="abcdefg",b[10]="abcdefg";

printf("%d%d",sizeof(a),sizeof(b));}

A:1010B:77C:88D:810

答案:810

当执行下面的程序且输入ABC时,输出的结果是(

)。#include<stdio.h>#include<string.h>main(){

charss[10]="123456789";

gets(ss);

printf("%s",ss);}

A:ABC456789B:ABCC:123456ABCD:ABC9

答案:ABC

以下程序执行后的输出结果是(

)。#include"stdio.h"main()

{char

ch[20]={"7856ab21"};

inti,s=0;

for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)

s=10*s+ch[i]-'0';

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

}

A:785

B:752C:7856

D:75

答案:75

以下程序运行的输出结果是(

)。#include"stdio.h"main()

{charch[2][5]={"789","256"};

inti,j,s=0;

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

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

s=10*s+ch[i][j]-'0';

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

}

A:7825B:72C:789D:7889256

答案:7825

以下程序的输出结果是(

)。#include<stdio.h>main(){inti,k,a[10],p[3];

k=5;

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

a[i]=i;

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

p[i]=a[i*(i+1)];

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

k+=p[i]*2;

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

A:20B:23C:21D:22

答案:21

有以下程序#include<stdio.h>main(){inti,t[][3]={9,8,7,6,5,4,3,2,1};

for(i=0;i<3;i++)printf("%d",t[2-i][i]);}程序执行后的输出结果是(

)。

A:357

B:369

C:751D:753

答案:357

设有定义语句:inta[][3]={{0},{1},{2}};,则数组元素a[1][2]的值为(

)。

A:2B:1C:不确定D:0

答案:0

有以下程序#include<stdio.h>#include<string.h>main(){chars[]="12345";

printf("%d,%d",strlen(s),sizeof(s));}执行后输出结果是(

)。

A:6,6B:赋初值的字符串有错

C:6,7D:5,6

答案:5,6

第七章测试

下列各函数首部中,正确的是(

)。

A:voidplay(inta,b)B:Subplay(aasinteger,basinteger)C:voidplay(inta,intb)D:voidplay(var:Integer,varb:Integer)

答案:voidplay(inta,intb)

在C语言中,函数值类型的定义可以是默认类型,此时函数值的默认类型是(

)。

A:doubleB:void

C:int

D:float

答案:int

在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(

)。

A:传递方式由用户指定B:地址传递C:单向值传递D:由实参传给形参,再由形参传回实参

答案:单向值传递

在C语言程序中,有关函数的叙述正确的有(

)。

A:函数的定义和调用均可以嵌套B:函数的定义可以嵌套,但函数的调用不可以嵌套C:函数的定义不可以嵌套,但函数的调用可以嵌套D:函数的定义和调用均不可以嵌套

答案:函数的定义不可以嵌套,但函数的调用可以嵌套

以下叙述中不正确的是(

)。

A:在一个函数内定义的变量只在本函数范围内有效B:函数中的形式参数是局部变量C:在一个函数内的复合语句中定义的变量在本函数范围内有效D:在不同的函数中可以使用相同名字的变量

答案:在一个函数内的复合语句中定义的变量在本函数范围内有效

有如下函数调用语句:func(recl,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是(

)。

A:3B:4C:5

D:有语法错误

答案:3

以下叙述中正确的是(

)。

A:全局变量的作用域一定比局部变量的作用域范围大B:静态(static)类别变量的生存期贯穿于整个程序的运行期间C:函数的形参都属于全局变量D:未在定义语句中赋初值的auto变量和static变量的初值都是随机值

答案:静态(static)类别变量的生存期贯穿于整个程序的运行期间

以下程序的运行结果是(

)。#include"stdio.h"main()

{

inta=24,b=16,c;

c=abc(a,b);

printf("%d",c);}intabc(intu,intv){

intw;

while(v)

{w=u%v;u=v;v=w;}

returnu;}

A:7B:6C:9D:8

答案:8

以下程序的运行结果是(

)。#include"stdio.h"intf1(intx,inty){

returnx>y?x:y;}intf2(intx,inty){

returnx>y?y:x;}main(){

inta=4,b=3,c=5,d,e,f;

d=f1(a,b);d=f1(d,c);

e=f2(a,b);e=f2(e,c);

f=a+b+c-d-e;

printf("%d,%d,%d",d,f,e);}

A:5,4,3B:3,5,4C:5,3,4D:3,4,5

答案:5,4,3

以下程序的运行结果是(

)。#include"stdio.h"voidf(intx,inty){intt;

if(x<y){t=x;x=y;y=t;}}main(){inta=5,b=6,c=7;

f(a,b);f(a,c);f(b,c)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论