高级语言程序设计知到智慧树章节测试课后答案2024年秋温州医科大学_第1页
高级语言程序设计知到智慧树章节测试课后答案2024年秋温州医科大学_第2页
高级语言程序设计知到智慧树章节测试课后答案2024年秋温州医科大学_第3页
高级语言程序设计知到智慧树章节测试课后答案2024年秋温州医科大学_第4页
高级语言程序设计知到智慧树章节测试课后答案2024年秋温州医科大学_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

高级语言程序设计知到智慧树章节测试课后答案2024年秋温州医科大学第一章单元测试

C语言程序由()组成。

A:子程序B:主程序段程序C:过程D:函数

答案:函数以下叙述中错误的是()。

A:用C语言编写的源程序不能直接在计算机上运行B:C语言的可执行程序是由一系列机器指令构成的C:在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件D:通过编译得到的二进制目标程序需要连接才可以运行

答案:在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件C语言是一种具有某些低级语言特征的高级语言。()

A:错B:对

答案:对程序是一系列计算机指令的有序组合。()

A:错B:对

答案:对以下()不是C语言的应用领域。

A:嵌入式应用开发B:数据处理C:应用软件D:系统软件

答案:数据处理

第二章单元测试

intmain(void){

floata;intb=5;a=5/2;b=b/2*a;printf("%.1f,%d\n",a,b);return0;}上列程序段的输出结果是()。

A:2.5,5B:2.5,4C:2.0,4D:2,5

答案:2.0,4下列条件语句中,功能与其他语句不同的是()。

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

答案:if(a==0)printf("%d\n",x);elseprintf("%d\n",y);下列程序的运行结果是()。intmain(void){

inta,b,c;

a=20;b=30;c=10;

if(a<b)a=b;

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

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

return0;

}

A:a=20,b=20,c=10B:a=30,b=10,c=20C:a=30,b=10,c=30D:a=20,b=10,c=20

答案:a=30,b=10,c=30下列程序的功能是()。intmain(void){

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

s+=i+1;

/*

等价于

s=s+(i+1)

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

return0;

}

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

答案:自然数1~10中的偶数之和设变量已正确定义,则以下能正确计算f=n!的程序段是()。

A:f=1;for(i=n;i>1;i++)

f=f*i;B:f=1;for(i=n;i>=2;i--)

f=f*i;C:f=1;for(i=1;i<n;i++)

f=f*i;D:f=0;for(i=1;i<=n;i++)

f=f*i;

答案:f=1;for(i=n;i>=2;i--)

f=f*i;

第三章单元测试

已知intx=10,y=20,z=30;语句if(x>y)z=x;x=y;y=z;执行之后x,y,z的值是()

A:x=20,y=30,z=20B:x=10,y=20,z=30C:x=20,y=30,z=30D:x=20,y=30,z=10

答案:x=20,y=30,z=30若变量c为char类型,能正确判断出c为小写字母的表达式是()。

A:(c>='a')||(c<='z')B:('a'<=c)and('z'>=c)C:(c>='a')&&(c<='z')D:'a'<=c<='z'

答案:(c>='a')&&(c<='z')阅读下面的程序,如果输入24,则输出结果为()。

intmain(void){

ints,t,a,b;

scanf(“%d%d”,&a,&b);s=1;t=1;if(a>0)

s=s+1;if(a>b)

t=s+t;else

if(a==b)t=5;else

t=2*s;printf(“s=%d,t=%d”,s,t);

return0;}

A:s=1,t=2B:s=2,t=5C:s=2,t=4D:s=1,t=5

答案:s=2,t=4能正确表示a和b同时为正或同时为负的逻辑表达式是()。

A:(a>0&&b>0)||(a<0&&b<0)B:(a+b>0)&&(a+b<=0)C:(a>=0||b>=0)&&(a<0||b<0)D:(a>=0&&b>=0)&&(a<0&&b<0)

答案:(a>0&&b>0)||(a<0&&b<0)若a=6,b=4,c=3,则表达式a&&b+c||b-c的结果是真。()

A:对B:错

答案:对

第四章单元测试

int

x=23;

do{

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

}while(!x);

以上程序段的输出结果是()。

A:321B:22C:死循环D:23

答案:23ints=0,a=1,n;

scanf("%d",&n);

do{

s+=1;a=a-2;

}while(a!=n);

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

以上程序段若要使输出值为2,则应该从键盘给n输入的值是()。

A:0B:-5C:-1D:-3

答案:-3若变量已正确定义,要求程序段完成求5!的计算,以下不能完成此操作的是()。

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

答案:for(i=1,p=1;i<=5;i++)p*=i;执行下面的程序后变量a的值为()。

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

答案:5下列程序段的输出结果是()。

inti,j,x=0;

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

{

x++;

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

{if(j%2)continue;

x++;}

x++;

}

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

A:x=12B:x=8C:x=4D:x=6

答案:x=8以下程序段的输出结果是()。

inti=0,s=0;

do{

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

i++;s+=i;

}while(i<7);

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

A:16B:21C:12D:28

答案:16运行以下程序后,如果从键盘上输入6514<回车>,则输出结果为()。

intmain(void){

int

m,n;

printf("Enterm,n;");

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

while(m!=n)

{

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

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

}

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

return0;}

A:m=2B:m=1C:m=3D:m=5

答案:m=1

第五章单元测试

以下叙述中不正确的是()。

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

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

MyFunction(intPar);intmain(void){

intentry=12345;printf("%5d",MyFunction(entry));

return0;}intMyFunction(intPar){

intresult;result=0;do{result=result*10+Par%10;Par/=10;}while(Par);returnresult;}上列程序的输出结果是()。

A:12345B:5432C:54321D:543

答案:54321intfun3(intx){

staticinta=3;a=a+x;return(a);

}intmain(void){

intk=2,m=1,n;n=fun3(k);

n=fun3(m);printf("%d\n",n);

return0;

}上列程序的输出结果是()。

A:9B:4C:3D:6

答案:6intx1=30,x2=40;void

sub(intx,inty){

x1=x;

x=y;

y=x1;

}intmain(void){

intx3=10,x4=20;sub(x3,x4);sub(x2,x1);printf("%d,%d,%d,%d\n",x3,x4,x1,x2);return0;

}下列程序的运行结果是()。

A:20,10,30,40B:10,20,40,30C:10,20,40,40D:10,20,30,40

答案:10,20,40,40有以下函数定义:voidfun(int

n,

double

x)

{……},若以下选项中的变量都已正确定义并赋值,则对函数fun()的正确调用语句是()

A:fun(x,n);

B:voldfun(n,x);C:k=fun(10,12.5);

D:fun(inty,doublem);

答案:fun(x,n);

第六章单元测试

设floatx=2.5,y=4.7;inta=7;printf("%.1f",x+a%3*(int)(x+y)%2/4);的结果是()。

A:2.5B:3.8C:2.8D:3.5

答案:2.5执行下列程序段的输出结果是()。

intnum=1234,s=0;

while(num!=0){

s+=num%10;

num/=10;

}

printf("%d",s);

A:1234B:10C:4321D:0

答案:10设inta=5,b=6;则表达式(++a==b--)?++a:--b的值是()。

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

答案:7设以下变量均为int类型,表达式的值不为9的是()。

A:(y=8,y+1,x=y,x+1)B:(x=y=8,x+y,x+1)C:(x=y=8,x+y,y+1)D:(x=8,x+1,y=8,x+y)

答案:(x=8,x+1,y=8,x+y)运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为()。

#include<stdio.h>

intmain()

{

intc1=0,c2=0;

charch;

while((ch=getchar())!='#')

switch(ch){

case'a':

case'h':c1++;

default:c2++;

}

printf("c1=%d,c2=%d\n",c1,c2);

}

A:c1=2,c2=3B:c1=1,c2=2C:c1=2,c2=5D:c1=1,c2=3

答案:c1=2,c2=5

第七章单元测试

已知inta[10];则对a数组元素引用不正确的是()。

A:a[10]B:a[10-10]C:a[3+5]D:a[5]

答案:a[3+5]以下程序的输出结果是()。

intmain(void){

intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;while(i++<7)if(p[i]%2)

j+=p[i];printf("%d\n",j);

return0;}

A:56B:42C:45D:60

答案:45下列程序的输出结果是()。intmain(void){

intn[3],i,j,k;for(i=0;i<3;i++)

n[i]=0;k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)

n[j]=n[i]+1;printf("%d\n",n[1]);

return0;

}

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

答案:3下列程序的运行结果是()。

intmain(void){

inta[3][3]={{1,2,3},{4,6,2},{9,3,6}},s=0;inti,j,k=1;for(i=0;i<3;i++){for(j=0;j<3;j++)a[i][j]=a[i][j]/k;k++;}for(i=0;i<3;i++)s+=a[i][i];printf("%d",s);return0;}

A:6B:14C:7D:3

答案:6下面程序的运行结果是()。

intmain(void)

{

chara[]={"Time"},b[]={"Tom"};

int

i;

for(i=0;a[i]!='\0'&&b[i]!='\0';i++)

if(a[i]==b[i])

if(a[i]>='a'&&a[i]<='z')

printf("%c",a[i]-32);

//转换成大写字母

else

printf("%c",a[i]+32);

else

printf("*");

return0;

}

A:t*mB:tMC:T*MD:t*M

答案:t*M下面程序的运行结果是(

)。intmain(void)

{

charch[7]={"12ab56"};

int

i,s=0;

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

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

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

return0;

}

A:1B:1256C:12ab56D:1256

答案:1

第八章单元测试

若有定义:intx,*pb;则在以下正确的赋值表达式是()。

A:*pb=&xB:pb=&xC:*pb=*xD:pb=x

答案:pb=&x设有如下程序段

chars[20]="Beijing",*p;p=s;

则执行p=s;语句后,以下叙述正确的是()。

A:s和p都是指针变量B:数组s中的内容和指针变量p中的内容相同C:可以用*p表示s[0]D:s数组中元素个数和p所指字符串长度相等

答案:可以用*p表示s[0]以下程序的输出结果是()。

intmain(){

inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;printf("%d\n",*p+*q);return0;}

A:10B:6C:16D:8

答案:10以下程序运行结果是()。

#include<stdio.h>

voidfun(float*a,float*b){float

w;

*a=*a+*a;w=*a;*a=*b;*b=w;}intmain()

{floatx=2.0,y=3.0;

float*px=&x,*py=&y;fun(px,py);

printf(“%2.0f,%2.0f”,x,y);}

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

答案:3,4给出下列程序的运行结果()。

#include<stdio.h>intmain(){

staticchara[]="language",b[]="program";char*ptr1=a,*ptr2=b;intk;for(k=0;k<7;k++)if(*(ptr1+k)==*(ptr2+k))printf("%c",*(ptr1+k));}

A:gaeB:languageC:有语法错误D:ga

答案:ga

第九章单元测试

下列程序的输出结果是()。

structstu{

intnum;

charname[10];

intage;

};voidfun(structstu*p){

printf("%s\n",(*p).name);

}intmain(void){

structstu

students[3]={{9801,"Zhang",20},{9802,"Wang",19},{9803,"Zhao",18}};fun(students+2);

}

A:ZhaoB:WangC:18D:Zhang

答案:Zhao设有如下定义,

structss

{

charname[10];

int

age;

char

sex;}std[3],*p=std;

下面各输入语句中错误的是()。

A:scanf("%c",&std[0].sex);B:scanf("%d",&(*p).age);C:scanf("%s",&);D:scanf("%c",&(p->sex));

答案:scanf("%s",&);structS{

int

n;

int

a[20];};voidf(int*a,intn){

inti;for(i=0;i<n-1;i++)

a[i]=a[i]+i;

}intmain(void){

inti;

structSs={10,{2,3,1,6,8,7,5,4,10,9}};f(s.a,s.n);for(i=0;i<s.n;i++)

printf("%d,",s.a[i]);}

上列程序的输出结果是()。

A:2,4,3,9,12,12,11,11,18,9,B:3,4,2,7,9,8,6,5,11,10,C:2,3,1,6,8,7,5,4,10,9,D:1,2,3,6,8,7,5,4,10,9,

答案:2,4,3,9,12,12,11,11,18,9,对于结构数组s,可以引用数组的元素s[i],但不可以引用s[i]中的结构成员。()

A:错B:对

答案:错#include<stdio.h>#include<string.h>structstu{

charname[9];

charsex;

floatscore[2];};voidf(structstua){

structstub={"Zhao",'m',85.0,90.0};

inti;

strcpy(,);

a.sex=b.sex;

for(i=0;i<2;i++)a.score[i]=b.score[i];}intmain(void){

structstuc={"Qian",'f',95.0,92.0};

f(c);

printf("%s,%c,%2.0f,%2.0f\n",,c.sex,c.score[0],c.score[1]);

return0;}上列程序的输出结果是(

)。

A:Zhao,f,95,92

B:Qian,f,95,92C:Zhao,m,85,90

D:Qian,m,85,90

答案:Qian,f,95,92

第十章单元测试

下列关于C语言数据文件的叙述正确的是()。

A:文件由ASCII码序列组成,C语言只能读写文本文件B:文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件C:文件由二进制数据序列组成,C语言只能读写二进制文件D:文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件

答案:文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件下列关于typedef的叙述错误的是()。

A:用typedef可以增加新类型B:用typedef为类型说明一个新名,通常可增加程序的可读性C:用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名D:typedef值是将已存在的类型用一个新的名字来代表

答案:用typedef可以增加新类型在C程序中,可把整型数以二进制形式存放到文件中的函数是()。

A:fread函数B:fprintf函数C:fputc函数D:fwrite函数

答案:fwrite函数若要打开A盘上user子目录下名为abc.txt的文本文件进行读写操作,下面符合此

温馨提示

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

评论

0/150

提交评论