中国大学moocC语言程序设计董明 章节测试答案_第1页
中国大学moocC语言程序设计董明 章节测试答案_第2页
中国大学moocC语言程序设计董明 章节测试答案_第3页
中国大学moocC语言程序设计董明 章节测试答案_第4页
中国大学moocC语言程序设计董明 章节测试答案_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

titleC语言程序设计(董明)中国大学mooc答案100分最新版content第1周程序设计与C语言简介第1周单元测验1、通常把高级语言源程序翻译成目标程序的程序称为(

)。答案:编译程序2、一个算法应该具有”确定性”等5个特性,下面对另外4个特性的描述中错误的是()。

答案:有零个或多个输出3、结构化程序由三种基本结构组成,三种基本结构组成的算法,(

)。答案:可以完成任何复杂的任务4、C语言规定,在一个源程序中,main函数的位置()。答案:可以任意5、以下叙述正确的是()。答案:C语言本身没有输入输出语句6、一个C程序的执行是从()。答案:本程序的main函数开始,到main函数结束7、以下叙述中正确的是()。答案:C程序中注释部分可以出现在程序中任意合适的地方8、以下叙述正确的是(

)。答案:C语言允许直接访问物理地址,可以直接对硬件进行操作9、下面不是算法特征的是()。答案:继承性10、关于C语言,下面叙述不正确的是()。答案:不用编译可以直接运行11、下面选项()不属于结构化程序设计原则。答案:不限制GOTO语句使用12、下面选项中,()不属于程序的特性。答案:实用性13、计算机只能完成其能力范围内的计算工作,超出计算机能力范围的计算计算机将无法完成。答案:正确14、可计算问题的规模造成复杂度加大,理论上计算机可以完成的计算工作,实际计算机都可以完成。

答案:错误15、程序是计算机为完成某一任务所必须执行的一系列指令的有序集合。答案:正确16、高级语言是用接近自然语言的符号,按照一定的语法规则编写程序,需要编译程序翻译成机器指令才能被计算机执行。答案:正确17、编译方式下的程序当修改源程序后,需要重新编译才能够正确运行。答案:正确18、面向对象程序设计方法具有与人们的习惯与思维方法一致,便于解决复杂问题的特性。答案:正确19、C语言属于面向过程的优秀程序设计语言,既可作为系统设计语言,也可作为应用程序设计语言。答案:正确20、算法可以分为数值算法和非数值算法两大类。答案:正确21、对于同一个问题,只能有唯一的算法去解决。答案:错误22、C语言中不区分大小写字母。答案:错误23、程序中适当地添加注释,可以增加程序的可读性和清晰性。答案:正确24、在VC++6.0环境下,任何一个C程序都必须包含在一个工程项目中,而且只能有一个main函数。答案:正确25、经过编译、连接后的可执行程序可以多次运行。答案:正确26、C语言开发工具直接输入的程序代码是____文件,经过编译后生成的是目标程序文件,经过连接后生成的是可执行程序文件。

答案:(以下答案任选其一都对)源;

源程序27、C语言源程序的基本组成单位是_____。

答案:函数28、结构化程序设计所规定的三种基本控制结构是顺序结构、_____结构和循环结构。

答案:(以下答案任选其一都对)选择;

分支

29、算法的效率通常由_____

复杂度和空间复杂度衡量。

答案:时间30、描述算法的方法主要有_____、专用工具(传统流程图、N-S流程图)和伪代码等。

答案:自然语言31、计算机系统由硬件系统和______系统两部分组成。

答案:软件32、计算机语言分为:机器语言、汇编语言和___语言。

答案:高级33、程序的执行方式分为___和解释两种方式。

答案:编译34、衡量算法的时间复杂度是指对于相同规模的问题,算法的执行_的长短。

答案:时间

第2周变量及表达式第2周单元测验1、关于变量定义,下面说法错误的是()。答案:确定了变量中的内容2、sizeof(float)的执行结果是()。答案:一个整型表达式3、若有floatx=2,y=5.6;则表达式(int)x%(int)y将完成(

)。答案:将x和y的的表达式的类型转换为整型,完成求余运算4、下列叙述正确的是(

)。答案:C语言中的数据的类型不同,在内存中占据不同长度的存储单元5、下列关于C语言用户标识符的叙述中正确的是(

)。答案:用户标识符中不可以出现中划线,但可以出现下划线6、下列转义字符中,错误的是(

)。答案:‘\0xa5’7、字符串“\\abcd\\”在内存中占用的字节数是(

)。答案:108、已知梯形的上底为a,下底为b,高为h,用C语言书写的正确的面积公式是(

)。答案:1.0/2(a+b)h9、与k=n++完全等价的表达式是(

)。答案:

k=n,n=n+110、下面关于C语言标识符的命名规则叙述中不准确的是()。答案:不区分大小写字母11、关于定点数和浮点数的说法,下列说法错误的是()。答案:浮点数表示的数即是数值的精确值12、以下哪种运算能从变量x中取得十进制最低位的数字()。答案:x%1013、以下哪个数字占据的空间最大(

)。答案:32768.014、以下哪个字母不能在常量数字后面表示类型(

)。答案:X15、以下哪个数字的值最大()。答案:0x1016、下列哪个不是有效的字符常量(

)。答案:“1”17、C语言的关键字是由C语言规定的、具有特定功能的固定字母组合,也称为保留字,共计32个。答案:正确18、变量是在程序执行期间其值可以改变的量,必须先定义后使用。答案:正确19、变量被定义后没有赋值,其单元内容不可以使用,是内存中的随机数。答案:正确20、变量的初始化是指在定义时对其赋值。答案:正确21、变量的名字代表内存中的存储单元;变量名和内存中的存储单元相对应,通过变量名来存、取存储单元的内容。答案:正确22、定义变量时的变量的类型决定变量占据存储单元的大小和数据的表数范围。答案:正确23、变量中只能存放指定类型的数据,程序运行过程中可以改变变量的类型。答案:错误24、当存储单元溢出时,数据的值不会受到影响,只会丢掉超过的部分。答案:错误25、当有若干运算符同时出现在表达式中时,运算符的优先级规定了运算的先后次序。答案:正确26、当若干具有相同优先级的运算符相邻出现在表达式中时,结合性规定了运算的先后次序。

答案:正确27、在C语言中,对于整型变量采用有符号数和___数两种存储形式。

答案:无符号28、当赋值语句右边表达式类型与左边变量类型不一致时,以_类型为准。

答案:左边变量29、若有定义:charc=’\010′;

则变量C中包含的字符个数为_____个。

答案:130、若有变量定义:charw;intx;floaty;doublez;则表达式w*x+z-y的结果为_____类型。

答案:(以下答案任选其一都对)double;

双精度31、设intw=5;w+=-2;

则w的值为_____。

答案:332、已知i=5;写出语句i+=012;

执行后整型变量i的十进制值是_____。

答案:1533、在C语言中的实型变量分为float型和double型,按浮点数进行存储,分为数符、_和尾数几部分。

答案:阶码34、设k=a=5,b=3,a*b,则表达式的值为_____。

答案:1535、设有变量定义:inti=3,j=5;floatx=2.5;

doubley=5.0;则表达式

y+=i-=j*=++x;的计算结果为__。

答案:(以下答案任选其一都对)-9.0;

-9.00000036、设有变量定义:chara=’a’;

inti=3,j=5;则表达式

a=a+i,a+j

的值为__。

答案:10537、C语言中用一个符号代表一个常量的量称为__常量。

答案:符号38、设有变量定义:floatx=2.5;doubley=5.0;则表达式

(int)x/(int)y+y的值为______。

答案:5.0

第3周数据的输入与输出第3周单元测验1、若变量已正确定义,执行语句scanf(“%d,%d,%d

“,&k1,&k2,&k3);时,正确的数据输入方法是(

)。答案:20,30,402、printf(“a\rHappi\by”);在屏幕上正确的输出形式是(

)。

答案:Happy3、若定义字符变量c1的值是’A’,c2的值是’D’,执行语句printf(“%d,%d”,c1,c2-2);后,输出结果是(

)。

答案:65,664、以下程序的输出结果是()。intmain(){

floatx=3.6;

inti;

i=(int)x;

printf(“x=%f,i=%d”,x,i);

return0;}答案:x=3.600000,i=35、已定义doublea;int

i;选择正确的输入格式为(

。答案:scanf(“%6lf%3d”,&a,&i);6、已有定义chars1,s2;,下面正确的语句是(

)。答案:scanf(“%c%c”,&s1,&s2);7、为下面的程序输入数据,使得i=10,k=’a’,j=15,正确的键盘输入方法是(

)。

#include<stdio.h>

intmain()

{

inti,j,k;

scanf(“%d%c%d”,&i,&k,&j);

printf(“i=%d,k=%c,j=%d”,i,k,j);

return0;

}答案:10a15<回车>8、运行下面的程序,正确的输出结果是(

)。#include<stdio.h>

intmain()

{

double

x=68.7563,y=-789.127;

printf(“%f,%10.2f”,x,y);

return0;

}答案:68.756300,□□□-789.139、已知floatx=2.23,y=4.35;,根据下面的输出结果,正确的程序段是(

)。x=2.230000,y=4.350000

y+x=6.58,y-x=2.12答案:printf(“x=%8.6f,y=%8.6f”,x,y);

printf(“y+x=%4.2f,y-x=%4.2f”,y+x,y-x);10、C语言中本身没有提供专门的输入输出语句,输入输出通过调用函数完成。

答案:正确11、输入数据时不能指定数据的精度。答案:正确12、输入数据时不可以指定数据的宽度。答案:错误13、混合输入数值型数据和字符型数据时,数据之间不能加空格。答案:正确14、使用getchar()函数可以一次接受多个字符。答案:错误15、在使用标准的输入/输出库函数时,应该在程序的开头使用编译预处理命令“#include<stdio.h>”。答案:正确16、字符型数据存储其ASCII码值,占一个字节,在ASCII范围内与整数通用。答案:正确17、输入数据时可以有多种方法分隔多个输入数据。答案:正确18、程序的顺序结构是指按照解决问题的顺序写出相应的语句,程序执行顺序按照自上而下,依次按顺序执行。答案:正确19、若在输入格式控制字符串中包含普通字符,则输入时必须照原样输入普通字符,否则将导致输入错误。答案:正确20、getchar()函数只能接收一个_____。

答案:字符21、下列语句输出的结果是_____。

charch=’b’;

printf(“%c,%d”,ch,ch);

答案:b,9822、用scanf函数输入数据,使得x=1.23,y=67.1234。#include<math.h>#include<stdio.h>intmain(){

double

x,y,z;

scanf(”

“,&x,&y);

z=2*x+y/sin(3.1415/4);

printf(“z=%6.2f”,z);

return0;}

答案:%lf%lf23、完善下列程序:#include

<

>intmain(){

charstr;

str=getchar();

putchar(str);

return0;}

答案:stdio.h24、根据下面的输出结果,完善程序。

s1=C,ASCIIis67

x=655.35,y=765.43#include<stdio.h>

intmain()

{

doublex=655.3524,y=765.4271;

chars1=’C’;

printf(

,

s1,s1,x,y);

return0;

}

答案:(以下答案任选其一都对)”s1=%c,ASCIIis%d\nx=%6.2f,y=%6.2f”;

“s1=%c,ASCIIis%d\nx=%.2f,y=%.2f”;

“s1=%c,ASCIIis%d\nx=%6.2lf,y=%6.2lf”;

“s1=%c,ASCIIis%d\nx=%.2lf,y=%.2lf”;

“s1=%c,ASCIIis%d\nx=%6.2f,y=%6.2f\n”;

“s1=%c,ASCIIis%d\nx=%.2f,y=%.2f\n”;

“s1=%c,ASCIIis%d\nx=%6.2lf,y=%6.2lf\n”;

“s1=%c,ASCIIis%d\nx=%.2lf,y=%.2lf\n”25、用scanf函数输入数据,使得下面程序运行结果为a=2,b=’x’,c=’z’#include<stdio.h>intmain(){

inta,b;

scanf(“%d%c”,&a,&b);

printf(”

“,a,b,b+2);

return0;}

答案:(以下答案任选其一都对)a=%d,b=’%c’,c=’%c’;

a=%d,b=\’%c\’,c=\’%c\’26、下面程序的运行结果是:

。#include<stdio.h>intmain()

{

charstr=65;

printf(“str=%c,ASCII=%d”,str,str);

return0;

}

答案:str=A,ASCII=6527、在格式说明符中,当%后边出现______,表示要跳过相应的数据,是附加说明符。

答案:(以下答案任选其一都对)*;

星号28、若要将数据以指数形式输出,应该选择______格式符。

答案:(以下答案任选其一都对)e;

E

第4周选择结构程序设计第4周单元测验1、下列运算符优先级最高的是()。

答案:+2、若给定条件表达式(m)?(a++):(a–),则其中表达式m()。答案:和(m!=0)等价3、C语言中以下几种运算符的优先次序()的排列是正确的。答案:由高到低为:!,算术运算符,关系运算符,&&,||,赋值运算符4、C语言中,switch后的括号内表达式(

)。答案:只能为整型,字符型或枚举型5、C语言的switch语句中case后边(

)。答案:只能为常量或常量表达式6、执行下面程序段后,k的值是:()。intk=2;switch(k+1){

case3:k+=1;

case4:k–;break;

case5:k*=3;

case6:++k;}答案:27、执行下面程序段后,ch的值是()。charch=’a’;ch=(ch>=’A’&&ch<=’Z’)?(ch+32):ch;答案:a8、若在程序运行时,输入:43,则执行下面程序输出的结果是()。#include<stdio.h>intmain(){

inta,b,s;

scanf(“%d%d”,&a,&b);

s=a;

if(a>b)s=b;

s=s*s;

printf(“%d”,s);

return0;}答案:99、下列表达式中,值为0的表达式是(

)。答案:

6>5>410、下列表达式中,结果为1的表达式是(

)。答案:

!0==1

11、设inta=3;,则表达式a<1&&–a>1的运算结果和a的值分别是(

)。答案:0和312、设整型变量x、y、z的值分别为3、2、1,则下列程序段的输出是(

)。if(x>y)

x=y;

if(x>z)

x=z;

printf(“%d,%d,%d”,x,y,z);答案:1,2,113、判断char型变量ch是否为小写字母的正确表达式是()。答案:(ch>=’a’)&&(ch<=’z’)14、能正确表达逻辑关系“0<a<1并且0<b<1”的表达式是(0<a<1)&&(0<b<1)。答案:错误15、所有逻辑运算符的优先级都高于关系运算符。答案:错误16、在switch语句中,switch与case后的表达式可以为任意类型。答案:错误17、在if语句中,if后面的表达式可以是关系表达式与逻辑表达式,而不能是算术表达式。答案:错误18、

在逻辑表达式的求解过程中,并非所有的逻辑运算符都被执行。答案:正确19、switch语句嵌套使用时,一条break语句可用于跳出所有嵌套switch语句。答案:错误20、在a>b?a+b:a-b

表达式中,若a>b,则条件表达式的值为a+b的值,否则为a-b的值。答案:正确21、条件运算符的优先级低于算术运算符、关系运算符及逻辑运算符,高于赋值运算符和逗号运算符。答案:正确22、同一个switch语句中各个常量表达式的值必须互不相等,且只能是常量。答案:正确23、C语言没有逻辑型数据,关系表达式的真、假是以数值“1”代表“真”,以“0”代表“假”,即非0为真(true),0为假(false)。答案:正确24、并非所有的if语句都有等价的switch语句,switch语句只能用来实现以相等关系作为选择条件的多分支结构。答案:正确25、已知

a=10,b=15,c=1,d=2,e=0,则表达式c==b>e的值为_____。

答案:126、intx=2,y=3,z=4;

则表达式x+y&&(x=y)的值为_____。

答案:127、intx=4,y=4,z=2;x=y==z;则x的值为_____。

答案:028、假设变量a,b均为整型,表达式

(a=5,b=2,a>b?a++:b++,a+b)

的值是_____。

答案:829、当a=1,b=2,c=3时,执行以下程序段后b的值为_____。

if(a>c)

b=a;

a=c;

c=b;

答案:230、已知a=13,b=2,表达式b||++a,运算结果a的值是_____。

答案:1331、当a=3,b=2,c=1;时,执行以下程序段后,a=_____。if(a>b)a=b;if(b>c)b=c;elsec=b;c=a;

答案:232、c语言表达式5>2>7>8的值是_____。

答案:033、为了避免嵌套条件语句的二义性,C语言规定else与其前面最近的_____语句配对。

答案:if

第5周循环结构程序设计第5周单元测验1、下面程序的运行结果是(

)。#include<stdio.h>intmain(){

inti=5;while(i>0);

printf(“%d”,i–);

return0;}答案:死循环‍2、执行语句for(i=1;i++<4;);后变量i的值是(

)。答案:53、关于下面程序段,正确的是(

)。intk=10;while(!k)

k–;答案:循环体一次也不执行4、下面程序的运行结果是(

)。#include<stdio.h>intmain(){

intx=3;

do{

printf(“%3d”,x-=2);

}while(!(–x));

return0;}答案:1-25、下面程序的运行结果是(

)。#include<stdio.h>intmain(){

inti=0,sum=0;

while(i++<6)

sum+=i;

printf(“%d”,sum);

return0;}答案:216、下面程序的运行结果是(

)。#include<stdio.h>intmain(){

inti=10;

while(i–>0);

printf(“%d“,i);

return0;}答案:-17、已定义intj;下面程序段的输出结果是(

)。for(j=7;j<10;j++)

printf(“%d”,j);答案:7898、下面程序的输出结果是(

)。#include<stdio.h>intmain(){

inti,j,s=0;

for(j=1,i=7;j<=i;j++,i–)

s=s+i+j;

printf(“%d”,s);

return0;}答案:329、下面程序的输出结果是(

)。#include<stdio.h>intmain(){

intj,s;

for(j=1;j<=7;j++)

s=s+j;

printf(“%d”,s);}答案:不确定10、已定义intj,s;则下面程序段的输出结果是(

)。intj,s;for(j=1,s=0;j<=5;j++)

s*=j;printf(“%d”,s);答案:011、while循环语句至少无条件执行一次循环体。答案:错误12、for循环语句只能用于循环次数已经确定的情况。答案:错误13、dowhile循环语句中,根据情况可以省略关键字while。答案:错误14、dowhile循环语句至少无条件执行一次循环体。答案:正确15、for循环语句先判断循环条件是否成立,然后再决定是否执行循环体。答案:正确16、do-while循环由do开始,while结束,在while(表达式)后面加分号。答案:正确17、for循环的三个表达式中间用逗号相分隔,并且不能省略。答案:错误18、dowhile循环语句的特点是先执行循环体,然后判断循环条件是否成立。答案:正确19、while循环语句和dowhile循环语句在任何情况下都可以互换。答案:错误20、for循环的三个表达式中间用分号相分隔,第一个表达式执行一次。答案:正确21、下面程序用来计算自然数1-10之和,请完善程序。#include<stdio.h>

温馨提示

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

评论

0/150

提交评论