高级语言程序设计(嵌入式C)知到智慧树章节测试课后答案2024年秋天水师范学院_第1页
高级语言程序设计(嵌入式C)知到智慧树章节测试课后答案2024年秋天水师范学院_第2页
高级语言程序设计(嵌入式C)知到智慧树章节测试课后答案2024年秋天水师范学院_第3页
高级语言程序设计(嵌入式C)知到智慧树章节测试课后答案2024年秋天水师范学院_第4页
高级语言程序设计(嵌入式C)知到智慧树章节测试课后答案2024年秋天水师范学院_第5页
已阅读5页,还剩12页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

高级语言程序设计(嵌入式C)知到智慧树章节测试课后答案2024年秋天水师范学院第一章单元测试

"程序=算法+数据结构"是()提出的。

A:帕斯卡

B:冯•诺依曼C:图灵D:尼古拉斯•沃斯

答案:尼古拉斯•沃斯下列内容,()不属于编程语言。

A:JavaB:CC:Hello

D:Python

答案:Hello

编程的关键在于选择恰当的数据结构,设计出解决问题的数学表达。()

A:错B:对

答案:对下列内容,()不属于算法描述方法。

A:自然语言B:调查研究法C:N-S图

D:流程图

答案:调查研究法自然语言就是人们日常用的语言,或者个人所能理解的符号体系。()

A:对B:错

答案:对下列步骤,()不属于四步法。

A:选定编程语言B:算法设计C:编写程序代码

D:规划程序

答案:选定编程语言在无代码编程阶段,重点需要考虑程序算法要表达的内容,并用自然语言、流程图或N-S图描述出来。()

A:错B:对

答案:对双分支选择结构是通过()来区分两条分支

A:条件表达式

B:逗号表达式

C:赋值表达式

D:算术表达式

答案:条件表达式

所谓混合结构的无代码编程,就是将()、选择、循环结构的无代码编程以某种组合的方式串起来。

A:反复

B:顺序

C:分支

D:综合

答案:顺序

循环结构嵌套选择结构可以用于筛选符合条件的数据。()

A:对B:错

答案:对

第二章单元测试

有如下程序

#include<stdio.h>

voidmain()

{floatx=5.0,y;

if(x<0.0)y=0.0;

elseif(x<10.0)y=1.0/x;

elsey=1.0;

printf("%f\n",y);

}

该程序的输出结果是_()

A:0.200000B:1.000000

C:0.50000

D:0.000000

答案:0.200000有如下程序:

#include<stdio.h>

voidmain()

{inta=2,b=-1,c=2;

if(a<b)

if(b<0)c=0;

elsec++;

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

}

该程序的输出结果是()

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

答案:2下列程序执行后的输出结果是

voidmain()

{intx,y=1,z;

if((z=y)<0)x=4;

elseif(y==0)x=5;

elsex=6;

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

}()

A:出错信息

B:4,1C:5,0D:6,1

答案:6,1有如下程序

#include<stdio.h>

voidmain()

{intx=1,a=0,b=0;

switch(x)

{

case0:b++;

case1:a++;

case2:a++;b++;

}

printf("a=%d,b=%d\n",a,b);

}

该程序的输出结果是()

A:a=1,b=1B:a=1,b=0C:a=2,b=1D:a=2,b=2

答案:a=2,b=1下面程序的输出结果是

#include<stdio.h>

voidmain()

{inta=-1,b=1,k;

if((++a<0)&&(b--<=0))

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

else

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

}()

A:00

B:10C:01D:-11

答案:10以下程序的输出结果是

main()

{inta=100;

if(a>100)printf("%d\n",a>100);

elseprintf("%d\n",a<=100);

}()

A:a<=100B:0C:100D:1

答案:1

若执行下面的程序从键盘上输入9,则输出结果是.

#include<stdio.h>

voidmain()

{intn;

scanf("%d",&n);

if(n++<10)printf("%d\n",n);

elseprintf("%d\n",n--);}()

A:9B:10C:11D:8

答案:10以下程序输出结果是

#include<stdio.h>

voidmain()

{intm=4;

if(++m>5)printf("%d\n",m--);

elseprintf("%d\n",--m);

}()

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

答案:4

有以下程序

#include<stdio.h>

voidmain()

{inta,b,c=246;

a=c/100%9;

b=(-1)&&(-1);

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

}

输出结果是()

A:2,-1

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

答案:2,1运行下面程序时,若从键盘输入数据为"123",

则输出结果是

#include"stdio.h"

voidmain()

{intnum,i,j,k,place;

scanf("%d",&num);

if(num>99)

place=3;

elseif(num>9)

place=2;

else

place=1;

i=num/100;

j=(num-i*100)/10;

k=(num-i*100-j*10);

switch(place)

{case3:printf("%d%d%d\n",k,j,i);

break;

case2:printf("%d%d\n",k,j);

break;

case1:printf("%d\n",k);

}

}()

A:123B:1,2,3C:321D:3,2,1

答案:321执行下列程序后的输出结果是

#include<stdio.h>

voidmain()

{intk=4,a=3,b=2,c=1;

printf("%d\n",k<a?k:c<b?c:a);

}()

A:3B:1

C:4D:2

答案:1

第三章单元测试

以程序编译层面划分程序的组成结构可分为:程序预编译块;主函数块;子函数块。()

A:错B:对

答案:对函数内划分程序结构可分为:定义及初始化与数据输入块、数据计算块、输出及结果块。()

A:错B:对

答案:对运行下面程序后,输出是

#include<stdio.h>

voidmain()

{intk=-3;

if(k<=0)printf("****\n");

elseprintf(";#\n")

}()

A:;#

B:有语法错误不能通过编译

C:;#****

D:****

答案:有语法错误不能通过编译

执行下面程序的输出结果是

#include<stdio.h>

voidmain()

{inta=5,b=0,c=0;

if(a=a+b)printf("****\n");

elseprintf(";#\n");

}()

A:能通过编译,但不能通过连接

B:输出****

C:输出;#

D:有语法错误不能编译

答案:输出****

报错信息调试中包括错误信息和警告信息在内。()

A:错B:对

答案:对语句预设调试是IDE编程平台所提供的调试功能。()

A:错B:对

答案:错语句预设调试是一种语句级别的调试方法。()

A:对B:错

答案:对循环结构的程序无法使用单步调试。()

A:对B:错

答案:错程序暂停在断点处时,无法知道各个变量的当前值。()

A:对B:错

答案:错在调试状态下执行程序时,会在设置的最后一个断点处暂停。()

A:对B:错

答案:错

第四章单元测试

要求下面的程序运行后,显示如下结果:

21046

1523

2478

5132

则程序中的划线处应填入

#include<stdio.h>

voidmain()

{inta[4][4]={________};

inti,j;

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

{for(j=0;j<4;j++)printf("%4d",a[i][j]);

printf("\n");}

}()

A:{5,1,3,2},{2,4,7,8},{1,5,2,3}

B:{1,5,2,3},{2,4,7,8},{5,1,3,2}

C:{2,10,4,6},{1,5,2,3},{2,4,7,8},{5,1,3,2}

D:{2,1,2,5},{10,5,4,1},{4,2,7,3},{6,3,8,2}

答案:{2,10,4,6},{1,5,2,3},{2,4,7,8},{5,1,3,2}

给出以下定义:

charx[]="abcdefg";

chary[]={'a','b','c','d','e','f','g'};

则正确的叙述为()

A:数组x的长度小于数组y的长度

B:数组x的长度大于数组y的长度

C:数组x和数组y等价

D:数组x和数组y的长度相同

答案:数组x的长度大于数组y的长度

定义如下变量和数组:

inti;

intx[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};

则下面语句的输出结果是

for(i=0;i<4;i++)printf("%3d",x[i][3-i]);()

A:481216

B:15913C:471013D:161116

答案:471013下面程序输出的结果是

#include<stdio.h>

voidmain()

{inti,j,x=0;

staticinta[6]={1,2,3,4,5,6};

for(i=0,j=1;i<5;++i,j++)x+=a[i]*a[j];

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

}()

A:数组a中首尾的对应元素的乘积之和

B:数组a中相邻各元素的乘积之和

C:数组a中首尾的对应元素的乘积

D:数组a中相邻各元素的乘积

答案:数组a中相邻各元素的乘积之和

若希望下面的程序运行后输出45,程序空白处的正确选择是

#include<stdio.h>

voidmain()

{inti,j=10,a[]={1,3,5,7,9,11,13,15};

for(____________)

j+=a[i];

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

}()

A:i=0;i<7;++i

B:i=2;i<6;++i

C:i=5;i>=1;--iD:i=5;i>1;i--

答案:i=5;i>=1;--i若有以下说明:

chars1[]={"tree"},s2[]={"flower"};,

则以下对数组元素或数组的输出语句中,正确的是()

A:printf("%s%s",s1[5],s2[7]);

B:puts(s1);puts(s2);

C:puts(s1,s2);

D:printf("%c%c",s1,s2);

答案:puts(s1);puts(s2);

下列程序的输出结果是

#include<stdio.h>

voidmain()

{charb[]="ABCDEFG";

charp=0;

while(p<7)

putchar(b[p++]);

putchar('\n');

}()

A:BCDEFG

B:GFEDCBAC:ABCDEFGD:GFEDCB

答案:ABCDEFG下述对C语言字符数组的描述中错误的是()

A:字符数组中的字符串可以整体输入、输出

B:字符数组可以存放字符串

C:不可以用关系运算符对字符数组中的字符串进行比较

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

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

以下程序的输出结果是

#include<stdio.h>

voidmain()

{inti,x[3][3]={1,2,3,4,5,6,7,8,9};

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

printf("%d,",x[i][i]);

printf("\n");

}()

A:3,6,9,

B:3,5,7,C:1,5,9,D:1,4,7,

答案:1,5,9,如有定义语句inta[]={1,8,2,8,3,8,4,8,5,8};,则数组a的大小是()

A:11B:8C:10D:不定

答案:10设有如下定义:

charaa[2][20]={"abcd","ABCD"};

则以下说法中错误的是()

A:aa是个二维数组,可以存放2个19个字符以下的字符串

B:aa[0]可以看作是一维数组名

C:aa[0][0]可以看作是一维数组名

D:aa是个二维数组,每行中分别存放了字符串"abcd"和"ABCD"

答案:aa[0][0]可以看作是一维数组名

以下对C语言函数的有关描述中,正确的是()

A:函数必须有返回值,否则不能使用函数

B:在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

C:C程序中有调用关系的所有函数必须放在同一个源程序文件中

D:C函数既可以嵌套定义又可以递归调用

答案:在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

有如下说明:inta[10]={0,1,2,3,4,5,6,7,8,9};

则数值不为9的表达式是()

A:a[9]-a[0]

B:a[9]-0C:a[10-1]D:a[8]

答案:a[8]设有数组定义:chararray[]="China";则数组array所占的存储空间为()

A:6个字节B:7个字节

C:5个字节

D:4个字节

答案:6个字节下面程序的输出是

#include<stdio.h>

intm=13;

intfun2(intx,inty)

{intm=3;

return(x*y-m);

}

voidmain()

{inta=7,b=5;

printf("%d\n",fun2(a,b)/m);

}()

A:1B:10

C:2D:7

答案:2请读程序:

#include<stdio.h>

f(intb[],intn)

{inti,r=0;

for(i=0;i<=n;i++)r=r+b[i];

returnr;

}

voidmain()

{

intx,a[]={2,3,4,5,6,7,8,9};

x=f(a,3);

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

上面程序的输出结果是()

A:9B:5

C:20D:14

答案:14若函数调用时用数组名作为函数参数,以下叙述中,不正确的是()

A:实参与其对应的形参共占用同一段存储空间

B:在调用函数中必须说明数组的大小,但在被调函数中可以使用不定尺寸数组

C:实参将其地址传递给形参,结果等同于实现了参数之间的双向值传递

D:实参与其对应的形参分别占用不同的存储空间

答案:实参与其对应的形参分别占用不同的存储空间

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

A:使用floatb定义的外部变量存放在内存中的动态存储区

B:使用staticfloatc定义的内部变量存放在内存中的静态存储区

C:使用floatd定义的内部变量存放在内存中的动态存储区

D:使用staticfloata定义的外部变量存放在内存中的静态存储区

答案:使用floatb定义的外部变量存放在内存中的动态存储区

如果一个函数位于C程序文件的上部,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量()

A:为局部变量,只在该函数内有效

B:为全局变量,在本程序文件范围内有效

C:定义无效,为非法变量

D:为局部变量,只在该复合语句中有效

答案:为局部变量,只在该复合语句中有效

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

A:实参将其地址传递给形参,调用结束时形参再将其地址回传给实参

B:实参将其地址传递给形参,并释放原先占用的存储单元

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

D:实参将其值传递给形参,调用结束时形参再将其值回传给实参

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

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

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

B:形参是局部变量,函数调用完成即失去意义

C:在同一C程序文件中,不同函数中可以使用同名变量

D:若同一文件中全局变量和局部变量同名,则全局变量在局部变量作用范围内不起作用

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

若函数调用时参数为基本数据类型的变量(俗称简单变量),以下叙述正确的是()

A:实参将数据传递给形参后,立即释放原先占用的存储单元

B:实参与其对应的形参分别占用不同的存储单元

C:实参与其对应的形参共占存储单元

D:只有当实参与对应的形参同名时才共占存储单元

答案:实参与其对应的形参分别占用不同的存储单元

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

A:由实参传给形参,再由形参传回实参

B:地址传递C:传递方式由用户指定

D:单向值传递

答案:单向值传递

以下函数fun形参的类型是

fun(floatx)

{floaty;

y=3*x-4;

returny;}()

A:intB:voidC:不确定D:float

答案:float

C语言中规定函数的返回值的类型是由()

A:return语句中的表达式类型所决定

B:调用该函数时的主调用函数类型所决定

C:在定义该函数时所指定的类型所决定

D:调用该函数时系统临时决定

答案:在定义该函数时所指定的类型所决定

第五章单元测试

两个变量交换数据算法的要领是借助第三方变量作为中转“场地”。()

A:错B:对

答案:对累加算法的关键在于,构造形如“Sum=Sum+N”的累加式,此式必须出现在循环中才能被反复执行,从而实现累加功能。()

A:对B:错

答案:对累乘算法的核心内容是:构造形如“Mul=Mul+New”的累加算式,此式必须在循环中才能被反复执行,从而实现累乘功能。()

A:错B:对

答案:错整数各数位拆数算法的核心是:利用“任何正整数整除10的余数即得该数个位上的数字”的特点,用循环从低位到高位依次取出整数的每一数位上的数字。()

A:对B:错

答案:对辗转相除算法的核心是:求两个正整数为a和b的最大公约数,从a和b的除法开始,当余数不为0时,反复用上一次的除数与余数相除,直到余数为0为止。()

A:对B:错

答案:对素数又称质数,即“只能被1、2和自身整除的大于1的自然数”。()

A:错B:对

答案:错穷举算法也称为“枚举法”,即将可能出现的每一种情况一一测试,判断是否满足条件,一般采用循环来实现。()

A:错B:对

答案:对常用的数据查找算

温馨提示

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

评论

0/150

提交评论