C语言程序设计-福建师范大学中国大学mooc课后章节答案期末考试题库2023年_第1页
C语言程序设计-福建师范大学中国大学mooc课后章节答案期末考试题库2023年_第2页
C语言程序设计-福建师范大学中国大学mooc课后章节答案期末考试题库2023年_第3页
C语言程序设计-福建师范大学中国大学mooc课后章节答案期末考试题库2023年_第4页
C语言程序设计-福建师范大学中国大学mooc课后章节答案期末考试题库2023年_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计_福建师范大学中国大学mooc课后章节答案期末考试题库2023年设有数组inta[4][5],则该数组的第一个元素和最后一个元素分别为______、_____。

参考答案:

a[0][0]a[3][4]##%_YZPRLFH_%##a[0][0]a[3][4]##%_YZPRLFH_%##a[0][0],a[3][4]##%_YZPRLFH_%##a[0][0],a[3][4]##%_YZPRLFH_%##a[0][0],a[3][4]

若执行下述程序时,若从键盘输入6和8时,结果为_______#includeintmain(){inta,b,s;scanf("%d%d",&a,&b);s=a;if(a=b)s*=s;printf("%d",s);}

参考答案:

36

下面程序的运行结果是_________。#include#includeintmain(){chars[12]="abook!";printf("%d",strlen(s));}

参考答案:

7

阅读下面程序,在程序执行后的结果为______#includeintmain(){intc[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};printf("%x,%x\n",c[2][2],c[1][1]);}

参考答案:

3e,6##%_YZPRLFH_%##3e6##%_YZPRLFH_%##3e,6##%_YZPRLFH_%##3e6

以下各组选项中,均能正确定义二维实型数组a的选项是()。

参考答案:

floata[3][4];

staticfloata[][4]={{0},{0}};

若有定义:inta[5]={1,2,3,4,5};charb='c',c;则下面表达式中数值为2的是()。

参考答案:

a[b-'b']

下列正确的定义语句是()

参考答案:

intx=3,*p=0;

现有如下定义语句int*p,s[20],i;p=s;表示数组元素s[i]的表达式不正确的是()

参考答案:

*(s=s+i)

有以下程序#includestructSTU{charnum[10];floatscore[3];};intmain(){structSTUs[3]={{"20021",90,95,85},{"20022",95,80,75},{"20023",100,95,90},},*p=s;inti;floatsum=0;for(i=0;i<3;i++)sum=sum+p->score[i];printf("%6.2f\n",sum);}程序运行后的输出结果是_______

参考答案:

270.00

设有如下定义:strucksk{inta;floatb;}data;int*p;若要使P指向data中的a域,正确的赋值语句是()

参考答案:

p=&data.a

有如下定义structperson{charname[9];intage;};structpersonlass[10]={"John",17,"paul",19,"Mary",18,"Adam",16,};根据上述定义,能输出Mary中的字母M的语句是()

参考答案:

printf("%c\n",lass[2].name[0]);

以下程序输出的结果是()#includeintmain(){charw[][5]={"ABCD","EFGH","IJKL","MNOP"};intk;for(k=1;k<3;k++)printf("%s\n",w[k]+k);}

参考答案:

FGHKL

若有以下定义,则*(p+5)的值为()chars[]="Hello”,*p=s;

参考答案:

'\0'

下列语句定义p为指向float类型变量d的指针,其中正确的是()

参考答案:

floatd=0,*p=&d;

对以下说明语句的正确理解是()inta[10]={6,7,8,9,10};

参考答案:

将5个初值依次赋给a[0]至a[4]

以下合法的数组定义是()

参考答案:

chara[]={"0,1,2,3,4,5"};

以下对C语言字符数组描述错误的是()。

参考答案:

可以在赋值语句中通过赋值运算符”=”对字符数组整体赋值

阅读下列程序,则在执行后,程序的运行结果为()#include#includeintmain(){chara[30]="nicetomeetyou!";strcpy(a+strlen(a)/2,"you");printf("%s\n",a);}

参考答案:

nicetoyou

已知:chara[20]="abc",b[20]="defghi";则执行下列语句后的输出结果为()printf("%d",strlen(strcpy(a,b)));

参考答案:

6

下列选项中,合法的一组C语言数值常量是()

参考答案:

12.0xa234.5e0

在C语言中,下列类型属于基本类型的是()

参考答案:

整型、实型、字符型

下列字符串不属于标识符的是()

参考答案:

#dfg

10+'a'+1.5-567.345/'b’的结果是()型数据。

参考答案:

double

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

参考答案:

%

若num、a、b、c都是int变量,则执行表达式num=(a=4,b=16,c=32)后num的值是()

参考答案:

32

判断char型变量c1是否为大写字母的正确表达式是()。

参考答案:

(c1>='A')&&(c1<='Z')

若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是()。

参考答案:

!(num%2)

()是C语言提供的合法的数据类型关键字。

参考答案:

signed

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

参考答案:

'abc'

在C语言中,程序运行期间,其值不能被改变的量叫______

参考答案:

常量

在C语言中,用来标识变量名、符号变量名,函数名,数组名,类型名,文件名的有效字符序列称为______

参考答案:

标识符

若有说明语句:charch1='\065',则ch1中包含字符个数_______

参考答案:

1##%_YZPRLFH_%##1个

在C语言中,char型数据在内存中的存储形式是_________

参考答案:

ASCII码##%_YZPRLFH_%##ASCII

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

参考答案:

任意类型

下列程序打印输出CLanguageProgramming#includeintmain(){printf("CLanguageProgramming\n");return0;}程序的运行结果是:

参考答案:

CLanguageProgramming

要输出结果4*4=16,下列语句不正确的是()

参考答案:

printf("4*4=%d,16");

已知在ASCH字符集中、数字0的字号为48,下面程序的输出结果为()。#includeintmain(){charx,y;x='0';y='9';printf("%d,%d\n",x,y);}

参考答案:

48,57

以下程序的运行结果是()#includeintmain(){intc,x,y;x=l;y=1;c=0;c=x++||y++;printf("\n%d%d%d\n",x,y,c);}

参考答案:

211

以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错,出错的原因是()。#includeintmain(){intr;floats;scanf("%d",&r);s=*p*r*r;printf("s=%f\n",s);}

参考答案:

s=*p*r*r;语句中使用了非法的表达式

在C语言中,一个语句()为结束标志。

参考答案:

分号

已有定义intk=2,*ptr1,*ptr2;且ptrl和ptr2均已指向变量k,下面不能正确执行的赋值语句是()。

参考答案:

ptr2=k

()是C程序的基本构成单位。

参考答案:

函数

关于C程序的叙述正确的是()

参考答案:

一条语句可以写成多行,多条语句也可以写在一行

以下程序运行后的输出结果是()。#includeintmain(){inty=10;while(y--);printf("y=%d\n",y);}

参考答案:

y=-1

在32位机,VC编译器下,以下程序的运行结果是________________#includeintmain(){structdate{intyear,month,day;}today;printf("%d\n",sizeof(structdate));}

参考答案:

12

以下程序的执行结果是:_________________________#includeintmain(){inta=5,b=60,c;if(a){c=a*b;printf("%d*%d=%d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d\n",b,a,c);}}

参考答案:

60*5=300##%_YZPRLFH_%##60*5=300

语句for(表达式1;;表达式3)等价于()

参考答案:

for(表达式1;1;表达式3)

以下程序段描述正确的是()for(m=1;m<=100;m++){scanf("%d",&y);if(y<0)continue;printf("%3d",m);}

参考答案:

最多允许输出100个非负整数

以下不会构成无限循环的语句或语句组是()。

参考答案:

n=0;do{++n;}while(n<=0);

下列各数据类型不属于构造类型的是()

参考答案:

枚举型

已知学生记录描述为:structstudent{intno;charname[20],sex;struct{intyear,month,day;}birth;};structstudents;设变量s中的“生日”是“1984年11月12日”,对“birth”正确赋值的程序段是()

参考答案:

s.birth.year=1984;s.birth.month=11;s.birth.day=12;

已知有如下定义:structa{charx;doubley;}data,*t;若有t=&data,则对data中的成员的正确引用是()

参考答案:

(*t).x

C语言结构体类型变量在其有效作用域内,且在程序运行期间()

参考答案:

所有的成员一直驻留在内存中

下面程序的运行结果是___________#includeintmain(){intm=0;while(m<=2){m++;printf("%d",m);}}

参考答案:

123

以下程序输出结果是_______。#includeintmain(){inti;for(i=0;i<3;i++)switch(i){case0:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}}

参考答案:

000122

下列叙述中错误的是()

参考答案:

使用3种基本结构构成的程序只能解决简单问题

在C语言中,每个语句和数据定义是用()结束。

参考答案:

分号

C语言规定,在一个源程序中,main函数的位置()

参考答案:

可以任意

若有程序段:intx=10;while(x=0)x=x-1;则循环体的执行次数是___________

参考答案:

0##%_YZPRLFH_%##0次##%_YZPRLFH_%##零次

若变量m已定义,以下程序段中的do-while循环次数是________m=-1;do{m=m*m;}while(!m);

参考答案:

1

下面能正确计算1*2*3*•••*10的程序段是()

参考答案:

k=1;n=1;do{n=n*k;k++;}while(k<=10);

下列程序段中是死循环的是()

参考答案:

intn=1;do{

n+1;}while(n)

一个C程序可以包含任意多个不同名的函数,但有且仅有一个().一个C程序总是从此开始执行。

参考答案:

主函数

若y是整型变量,语句while(!y)语句1;若要执行语句1,则表达式!y成立等价于()

参考答案:

y==0

若k为整型变量,则以下for循环的执行次数是若k为整型变量,则以下for循环的printf执行次数是_______for(k=2;k==0;)printf("%d",k--);

参考答案:

0##%_YZPRLFH_%##零##%_YZPRLFH_%##0

阅读如下程序段,则程序在先后输入love和china后,输出结果是()#include#includeintmain(){chara[30],b[30];intk;gets(a);gets(b);k=strcmp(a,b);if(k>0)puts(a);elseif(k<0)puts(b);}

参考答案:

love

假设array是一个已定义好的,有10个元素的整型数组,则下列写法中正确的是()。

参考答案:

array[0]=10;

下列关于charstr[3][100]说法不正确的是()

参考答案:

可以通过puts(str)一次性输入数组的全部内容

以下程序的输出结果是:()#includeintmain(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf("%f\n",y);}

参考答案:

0.500000

下列程序的输出结果是()。#includeintmain(){inta=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n",d);elseif(c-1>=d)printf("%d\n",d+1);elseprintf("%d\n",d+2);}

参考答案:

3

以下程序运行时,若从键盘输入9,则输出结果是()。#includeintmain(){inta=1;scanf("%d",&a);if(a++<9)printf("%d\n",a);elseprintf("%d\n",a);}

参考答案:

10

请阅读以下程序:#includeintmain(){inta=5,b=0,c=1;if(a=b+c)printf("***\n");elseprintf("$$$\n");}以上程序()

参考答案:

输出***

若intk=8;则执行下列程序后,变量k的正确结果是____#includeintmain(){intk=8;switch(k){case9:k+=1;case10:k+=1;case11:k+=1;break;default:k+=1;}printf("%d\n",k);}

参考答案:

9

现有如下程序段,此程序段编译有错误,则程序段的错误出在()#includeintmain(){inta=30,b=40,c=50,d;d=a>30?b:c;switch(d){casea:printf("%d,",a);caseb:printf("%d,",b);casec:printf("%d,",c);default:printf("#");}}

参考答案:

casea:printf("%d,",a);caseb:printf("%d,",b);casec:printf("%d,",c);这三个语句

设变量x和y均已正确定义并赋值,则以下if语句中,在编译时将产生错误信息的是()。

参考答案:

if(x>0)x--

elsey++;

设intx=1,y=1;表达式(!x||y--)的值是()

参考答案:

1

关于inta[2][4]={1,2,3,4,5,6};说法不正确的是()

参考答案:

它的等价形式之一是inta[2][]={{1,2,3,4},{5,6,0,0}}

若已定义:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素不正确的引用是()

参考答案:

a[10]

阅读以下程序,输出结果为_________#include#includevoidfun(chars[]);intmain(){chara[]="abcde";intk;fun(a);puts(a);return0;}voidfun(chars[]){intx,y;charc;x=0;y=(strlen(s)-1)/2;for(;x

参考答案:

cbade

下列程序的输出结果是________structabc{inta,b,c,s;};intmain(){structabcs[2]={{1,2,3},{4,5,6}};intt;t=s[0].a+s[1].b;printf("%d\n",t);}

参考答案:

6

下面合法的C语言字符常量是________。

参考答案:

'\t'

表达式:10!=9的值是__________。

参考答案:

1

假定等级和分数有以下对应关系:等级:A分数:85~100等级:B分数:60~84等级:C分数:60以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是__________.

参考答案:

switch(grade)

{

case'A':printf("85--100\n");break;

case'B':printf("60--84\n");break;

case'C':printf("60以下

\n");break;

default:printf("等级错误!\n");

}

设有如下函数定义:intf(chars[]){inti=0;while(s[i++]!='\0');return(i-1);}如果在主程序中用下面的语句调用上述函数,则输出结果为________。printf("%d\n",f("goodbey!"));

参考答案:

8

下面程序的运行结果是_____________#includeintmain(){intb[10]={1,2,3,4,5,6,7,8,9,10};int*q=b;printf("%d\n",*(q+2));return0;}

参考答案:

3

有以下程序#includeintmain(){char*p="abcde\0fghjik\0";printf("%d\n",strlen(p));}程序运行后的输出结果是______

参考答案:

5

以下关于数组的描述正确的是________.

参考答案:

数组的大小是固定的,所有数组元素的类型必须相同。

请在程序中2个划线处填入适当的语句,使得下面程序实现功能:计算并输出下列级数的前n项之和Sn,直到Sn大于q为止,q的值通过形参传入。Sn=2/1+3/2+4/3+……+(n+1)/n例如,若q的值为50.0,则函数值为50.416695。#includefloatfun(floatq){intn;floats;n=2;s=2.0;while(s______q){s=s+(float)(n+1)/n;______;}returns;}intmain(){printf("%f\n",fun(50));}

参考答案:

<=n++

调用函数时,当实参和形参都是简单变量时,它们之间数据传递的过程是_______.

参考答案:

实参将其值传递给形参,调用结束时形参并不将其值回传给实参

以下叙述中,不正确的是_______.

参考答案:

在main函数体内定义的变量是全局变量

下面函数的功能是_______。intsss(s,t){chars[],t[];inti=0;while((s[i])&&(t[i])&&(t[i]==s[i]))i++;return(s[i]-t[i]);}

参考答案:

比较两个字符串的大小

在C程序中,判逻辑值时,用“非0”表示逻辑值“真”,又用“0”表示逻辑值“假”。在求逻辑值时,用_____表示逻辑表达式值为“真”,又用_____表示逻辑表达式值为“假”。

参考答案:

10##%_YZPRLFH_%##1和0##%_YZPRLFH_%##1与0##%_YZPRLFH_%##1、0

执行以下程序段后,输出结果是______。#includeintmain(){inta=3,b=5,c=7;if(a>b)a=b;c=a;if(c!=a)c=b;printf("%d,%d,%d\n",a,b,c);}

参考答案:

3,5,3

以下程序的输出结果是______.#includeintmain(){inta[4][4]={{1,3,5,},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);}

参考答案:

0650

若有说明charc[7]={'s','t','r','i','n','g'};则对元素的非法引用是______.

参考答案:

c[4*2]

以下叙述正确的是_______。

参考答案:

只能在循环体内和switch语句体内使用break语句

若有以下结构体定义:structexample{intx;inty;}v2;则()是正确的引用或定义

参考答案:

examplev2;v2.x=10;

若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为_________。

参考答案:

0

阅读以下程序,写出输出结果______#includeintf(intx);intmain(){intn=1,m;m=f(f(n));printf("%d\n",m);return0;}intf(intx){returnx*2;}

参考答案:

4

设有如下程序段:intk=10;while(k==0)k--;则下述说明中正确的是_________。

参考答案:

循环体一次也不执行

从循环体内某一层跳出,继续执行循环外的语句是________。

参考答案:

break语句

设有语句:intk=1,*p1=&k,*p2=&k;,以下不能正确执行的赋值语句是()

参考答案:

p1=k;

阅读下面的程序#includevoidmain(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是________。

参考答案:

9,11,9,10

阅读下面的程序,写出程序的运行结果_______#includeintmain(){inti,j;i=010;j=9;printf("%d,%d",i-j,i+j);}

参考答案:

-1,17##%_YZPRLFH_%##-1,17##%_YZPRLFH_%##-117

若执行下述程序时,若从键盘输入6和8时,结果为_______#includeintmain(){inta,b,s;scanf("%d%d",&a,&b);s=a;if(a=b)s*=s;printf("%d",s);}

参考答案:

36

设有以下语句:intx=10;x+=3+x%(3),则x的值是:_______

参考答案:

14

以下程序的输出结果是________.#includevoidfun(){staticinta=0;a+=2;printf("%d",a);}intmain(){intcc;for(cc=1;cc<4;cc++)fun();printf("\n");}

参考答案:

246

请在画线的地方填入适当的语句使程序能够正确运行。以下给定程序的功能是:统计整数n的各个位上出现数字1、2、3的次数,并通过外部(全局)变量c1、c2、c3返回主函数。例如,当n=123114350时,结果应该为:c1=3c2=1c3=2。#includeintc1,c2,c3;voidfun(longn){c1=c2=c3=0;while(n){switch(_________){case1:c1++;break;case2:c2++;break;case3:c3++;}n/=10;}}intmain(){intn=123114350;fun(n);printf("\nn=%dc1=%dc2=%dc3=%d\n",n,c1,c2,c3);}

参考答案:

n%10##%_YZPRLFH_%##n%10##%_YZPRLFH_%##n%10##%_YZPRLFH_%##n%10

阅读程序,若从键盘输入16,程序的输出结果是_________________#includeintmain(){intx,y,i,a[8],j,u;scanf("%d",&x);y=x;i=0;do{u=y/2;a[i]=y%2;i++;y=u;}while(y>=1);for(j=i-1;j>=0;j--)printf("%d",a[j]);}

参考答案:

10000

阅读以下程序,写出程序的输出结果________#includestructVALUE{intx;charc;};voidfunc(structVALUEb){b.x-=100;b.c+=4;}intmain(){structVALUEa={100,'A'};func(a);

温馨提示

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

评论

0/150

提交评论