高级语言程序设计(c)知到智慧树章节测试课后答案2024年秋陕西理工大学_第1页
高级语言程序设计(c)知到智慧树章节测试课后答案2024年秋陕西理工大学_第2页
高级语言程序设计(c)知到智慧树章节测试课后答案2024年秋陕西理工大学_第3页
高级语言程序设计(c)知到智慧树章节测试课后答案2024年秋陕西理工大学_第4页
高级语言程序设计(c)知到智慧树章节测试课后答案2024年秋陕西理工大学_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

高级语言程序设计(c)知到智慧树章节测试课后答案2024年秋陕西理工大学第一章单元测试

1.以下叙述正确的是()

A:C语言编写时字母的大小写可以相互替代

B:C程序是由一个或多个函数构成

C:C程序书写时,main函数必须写在程序的最前面

D:C程序的每行只能写一条语句

答案:C程序是由一个或多个函数构成

设:inta;floatb;charc;doubled;则表达式1.3*a+2*b*c+d*(int)2.6值的类型为()。

A:doubleB:int

C:floatD:char

答案:doubleC语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()

A:可以是字母、数字和下划线中任一种字符

B:必须为下划线

C:必须为字母或下划线

D:必须为字母

答案:必须为字母或下划线

以下不正确的C语言用户标识符是()。

A:void

B:abcC:ABCD:a_bc

答案:void

以下字符中,不正确的C语言转义字符是()

A:‘\Xaa’B:‘\t’

C:‘\018’D:‘\\’

答案:‘\018’下列运算符中优先级最高的是()

A:+B:&&C:!=

D:<

答案:+以下选项中属于C语言中合法关键字的是()

A:FloatB:abcC:intD:CASE

答案:int若x、i、j和k都是int型变量,

x=(i=4,j=16,k=32)

计算上面表达式后,x的值为()

A:16B:32C:52

D:4

答案:32在C语言中,要求数据必须是整型的运算符是()

A:%

B:!=C:++D:/

答案:%

若整型变量x的值为8,则下列表达式中值为1的表达式是()

A:x/=x+x

B:x%=x-1

C:x%=x%=3

D:x+=x-=x

答案:x%=x-1

第二章单元测试

算法是对特定问题()的一种描述()。

A:本质结构

B:数据类型

C:数据组织形式

D:求解步骤

答案:求解步骤

流程图中用来表示判断的图形符号为()。

A:圆形

B:平行四边形

C:矩形

D:菱形

答案:菱形

著名计算机学家沃斯提出:程序=算法+数据结构。()

A:对B:错

答案:对使用流程图和N-S描述算法的优点之一是方便算法的修改。()

A:错B:对

答案:错结构化的三种基本结构只能用来表示简单的算法,不能表示复杂的算法。()

A:对B:错

答案:错在编写程序之前,一定要确定算法。()

A:错B:对

答案:对编制好的程序不需要经过调试,可以直接提过给用户使用。()

A:错B:对

答案:错下列使用N-S图表示的当型循环结构的是(

)。

A:B:C:D:

答案:

第三章单元测试

执行以下程序段后,

inta=1,b=2,c=3,t;

t=a;

a=b;

b=c;

c=t;

变量a、b、c的值分别为()。

A:1、3、2

B:1、2、3

C:2、3、1

D:3、2、1

答案:2、3、1

若x,y,z均为int型变量,

x=(y=(z=10)+5)-5;

printf(“x=%d,y=%d,z=%d\n”,x,y,z);

y=(z=x=0,x+10);

printf(“x=%d,y=%d,z=%d\n”,x,y,z);

则执行以下语句后的输出为()。

A:x=10,y=15,z=10

x=10,y=10,z=0

B:x=10,y=15,z=10

x=0,y=10,z=0

C:x=10,y=10,z=10

x=0,y=10,z=0

D:x=10,y=10,z=10

x=0,y=10,z=10

答案:x=10,y=15,z=10

x=0,y=10,z=0

已知有变量定义:inta;charc;用scanf(“%d%c”,&a,&c);语句给a和c输入数据,使30存入a,字符‘b’存入c,则正确的输入是()。

A:30‘b’<回车>

B:30b<回车>

C:30b<回车>

D:30<回车>b<回车>

答案:30b<回车>

已知有变量定义:doublex;longa;要分别给a和x输入数据,并且输出a和x的值,正确的输入输出语句是()。

A:scanf(“%ld%lf”,&a,&x);printf(“%ld,%lf”,a,x)

B:scanf(“%ld%lf”,&a,&x);printf(“%ld,%f”,a,x)

C:scanf(“%d%f”,&a,&x);printf(“%d,%f”,a,x)

D:scanf(“%ld%f”,&a,&x);printf(“%ld,%f”,a,x)

答案:scanf(“%ld%lf”,&a,&x);printf(“%ld,%lf”,a,x)

若有定义doublex=1,y;

y=x+3/2;printf(“%f”,y);

则以下的语句执行的结果是()。

A:2

B:2.5

C:2.000000

D:2.500000

答案:2.000000

若a为整型变量,

a=-2L;printf(“%d\n”,a);

则以下语句()。

A:输出值为2

B:赋值不合法

C:输出值为-2

D:输出为不确定的值

答案:输出值为-2

第四章单元测试

当a=3,b=6时,表达式a==b的值为()。

A:0

B:6

C:3

D:1

答案:0

设有:inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为()。

A:2

B:4

C:1

D:3

答案:2

能表示x为偶数的表达式是()

A:x%2!=0

B:x%2==0

C:x%2==1

D:x%2

答案:x%2==0

若x=12则表达式x>12?x+10:x-10的值是()

A:12

B:2

C:0

D:22

答案:2

已知intx=10,y=20,z=30;

if(x>y)z=x;x=y;y=z;

以上语句执行后x,y,z的值是()。

A:x=20,y=30,z=30

B:x=20,y=30,z=20

C:x=10,y=20,z=30

D:x=20,y=30,z=10

答案:x=20,y=30,z=30

以下程序实现:输入三个整数,按从大到小的顺序进行输出。

main()

{intx,y,z,c;

scanf(“%d%d%d”,&x,&y,&z);

if()

{c=y;y=z;z=c;}

if()

{c=x;x=z;z=c;}

if()

{c=x;x=y;y=c;}

printf(“%d,%d,%d”,x,y,z);

在if后面的括号中填入的正确内容分别是()

A:y<zx<zx>y

B:y>zx>zx<y

C:y>zx>zx>y

D:y<zx<zx<y

答案:y<zx<zx<y

main()

{inta=2,b=3,c;

c=a;

if(a>b)c=1;

elseif(a==b)c=0;

elsec=-1;

printf(“%d\n”,c);

}

以上程序的运行结果是()

A:2

B:-1

C:0

D:1

答案:-1

#include<stdio.h>

voidmain()

{inti,x=1,y=0,a=0,b=0;

switch(x)

{case1:b++;

case2:a++;b++;break;

case3:a++;b++;

}

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

}

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

A:2,2

B:2,1

C:4,2

D:1,2

答案:1,2

列定行号intx=0,y=10;

2switch(x)

3{case3:

4case–1:y=y-2;break;

5casey+1:x+=5;

6default:printf(“%d,%d”,x,y);}

以上程序段中,有错误的行是()。

A:5

B:无错误

C:4

D:3

答案:5

第五章单元测试

语句while(!y)中的!y等价于y==0。()

A:对B:错

答案:对for语句中的表达式可以部分或全部省略,但是两个分号不能省略。()

A:错B:对

答案:对循环嵌套中,用break直接结束内外两层循环。()

A:对B:错

答案:错

#include<stdio.h>

intmain()

{inta=3;

do

{printf("%d",a);

a--;

}while(a);

return0;}

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

A:32

B:321

C:不输出任何内容

D:3

答案:321

intn=10;

while(n>7)

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

n--;

}

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

A:10,9,8,

B:10,9,8,7,

C:9,8,7,

D:9,8,7,6,

答案:10,9,8,

若定义inti;

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

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

则以下循环语句的循环执行次数是()。

A:2

B:1

C:0

D:无限次

答案:0

若定义inti;

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

{if(i%3)i++;

++i;

printf("%d",i);

}

则以下for语句的执行结果是()。

A:258

B:35811

C:2468

D:369

答案:369

intmain()

{inti,j,k=0,m=0;

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

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

k++;

}

m=i+j;

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

}

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

A:5,5

B:6,5

C:5,7

D:6,7

答案:6,5

第六章单元测试

数组初始化为inta[10]={1,2,3};则该数组包含的元素个数是()。

A:3

B:4

C:9

D:10

答案:10

下列程序段是给数组中所有元素赋值,

inta[10];

for(i=0;i<=9;i++)scanf(“%d”,);

应在下划线上填入的是()。

A:&a[10]

B:a[i]

C:&a[i]

D:a

答案:&a[i]

以下关于一维数组定义或初始化的描述,错误的是()。

A:intd[5]={1};数组d中的值全为1

B:intd[5]={1};数组d中的值第1个为1,其余均为0

C:intd[5];数组d中的值是不确定的。

D:intd[5]={0};数组d中的值全为0

答案:intd[5]={1};数组d中的值全为1

定义了int型二维数组a[4][4]后,则数组元素a[3][3]前的数组元素个数为()。

A:16

B:15

C:8

D:9

答案:15

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

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

上面的程序段将输出()。

A:80

B:120

C:48

D:40

答案:80

设数组定义为:chararray[]="China";则数组array所占的空间为()。

A:7个字节

B:5个字节

C:6个字节

D:4个字节

答案:6个字节

chars[]="abcd";

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

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

A:0

B:4

C:1

D:5

答案:4

第七章单元测试

当一个函数无返回值时,函数的返回类型应为()。

A:char

B:void

C:int

D:任意

答案:void

被调函数返回给主调函数的值称为()。

A:参数

B:返回值

C:实参

D:形参

答案:返回值

函数定义如下:

voidf(intb){b=9;}

实参数组及函数调用如下:

inta[5]={1};

f(a[1]);

printf(”%d”,a[1]);

则以下输出语句的结果为()

A:0

B:9

C:其他都不对

D:1

答案:0

关于数组名作为函数的说法错误的是()。。

A:参数传递时,实参数组的首地址传递给形参数组实参

B:通过数组名作为函数参数,可以达到返回多个值的目的参数

C:在函数调用期间,形参数组的改变就是实参数组的改变

D:在函数调用期间,形参数组和实参数组对应的是不同的数组

答案:在函数调用期间,形参数组和实参数组对应的是不同的数组

下列说法正确的是()。

A:用户自定义函数的类型若未指出,则系统默认为void

B:实参可以是任意合法表达式

C:全局变量不能与局部变量同名

D:被调用函数必须先调用,后声明

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

关于递归函数以下叙述错误的是()。

A:递归函数占用较多的存储空间。

B:递归函数是自己调用自己。

C:递归函数的运行速度一般比较慢。

D:递归函数的运行速度很快。

答案:递归函数的运行速度很快。

文件中定义的全局变量的作用域为()。

A:函数内全部范围

B:本程序全部范围

C:本文件全部范围

D:从定义该变量的位置开始到本文件结束

答案:从定义该变量的位置开始到本文件结束

对于以下递归函数f,调用f(4),

intf(intn)

{if(n)returnf(n-1)+n;

elsereturnn;

}

其返回值为()。

A:4

B:10

C:没有正确的

D:0

答案:10

第八章单元测试

变量的指针是指变量的()。

A:地址

B:值

C:内存单元

D:名

答案:名

下列选项中正确的语句组是()。

A:char*s;s={"Beijing"};

B:chars[8];s={"Beijing"};

C:char*s;s="Beijing";

D:chars[8];s="Beijing";

答案:chars[8];s="Beijing";

已定义以下函数

fun(int*p){return*p;}该函数的返回值是()。

A:形参p所指存储单元中的值

B:形参p的地址值

C:形参p中存放的值

D:不确定的值

答案:形参p所指存储单元中的值

若有语句“inta[3][4]={{1,3,5,7},{2,4,6,8}};”,则*(*a+1)的值为()。

A:3

B:2

C:4

D:1

答案:3

若有语句“inta[10];int*p=a;”,则以下错误的表达式是()。

A:p=a+5;

B:*p=a[0];

C:a[2]=p[4];

D:a=p+a;

答案:a=p+a;

第九章单元测试

下面对typedef的叙述中不正确的是()。

A:用typedef可以定义多种类型名,但不能用来定义变量

B:用typedef只是将已存在的类型用一个新的标识符来代表

C:使用typedef有利于程序的同样和移植

D:用typedef可以增加新类型

答案:用typedef可以增加新类型

若要说明一个类型名STP,使定义语句STPs等价于char*s,以下选项中正确的是()。

A:typedefSTPchar*s;

B:typedefstp*char;

C:typedefchar*STP;

D:typedef*charSTP;

答案:typedefchar*STP;

以下结构体变量的定义方式不正确的是()。

A:声明无名结构体类型的同时直接定义结构体类型变量

B:先声明结构体类型,再定义该类型的结构体变量

C:声明结构体类型的同时定义该类型结构体变量

D:先定义该类型结构体变量,再声明结构体类型

答案:先定义该类型结构体变量,再声明结构体类型

设有以下说明语句,

structabc{intm;intn;}stype;

则下面的叙述不正确的是()。

A:stype是用户定义的结构体变量名

B:struct是结构体类型的关键字

C:m和n都是结构体成员

D:abc是用户定义的结构体类型名

答案:abc是用户定义的结构体类型名

设struct{inta;charb;}q,*p=q;则错误的表达式是()。

A:p->a

B:(*p).b

C:q.a

D:*p.b

答案:(*p).b

若有以下程序段:

uniondata{inti;charc;floatf;}a;

intn;

则以下语句正确的是()。

A:printf(“%d”,a);

B:a=5;

C:a={2,’a’,1.2};

D:n=a;

答案:printf(“%d”,a);

unionmyun{struct{intx,y,z;}u;intk;}a;

voidmain(){a.u.x=4;a.u.y=5;a.u.z=6;a.k=0;printf(“%d\n”,a.u.x);}

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

A:6

B:5

C:4

D:0

答案:6

#include<stdio.h>

voidmain()

{

union{struct{intx,y;}in;inta,b;}e;

e.a=1;

e.b=2;

e.in.x=e.a*e.b;

e.in.y=e.a+e.b;

printf(“%d%d”,e.in.x,e.in.y);

}

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

A:44

B:24

C:22

D:48

答案:48

第十章单元测试

下面程序执行后,

#include<stdio.h>

voidfun(char*filename,char*str)

{

FILE*fp;

inti;

fp=fopen(filename,"w");

for(i=0;i<strlen(str);i++)

fputc(str[i],fp);

fclose(fp);

}

voidmain()

{

fun("test.txt","newworld");

fun("test.txt","hello");

}

文件test.txt

温馨提示

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

评论

0/150

提交评论