程序设计基础知到智慧树章节测试课后答案2024年秋山东女子学院_第1页
程序设计基础知到智慧树章节测试课后答案2024年秋山东女子学院_第2页
程序设计基础知到智慧树章节测试课后答案2024年秋山东女子学院_第3页
程序设计基础知到智慧树章节测试课后答案2024年秋山东女子学院_第4页
程序设计基础知到智慧树章节测试课后答案2024年秋山东女子学院_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

程序设计基础知到智慧树章节测试课后答案2024年秋山东女子学院第一章单元测试

C语言程序是由若干(

)组成的。

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

答案:函数C语言中,最简单的数据类型是(

)。

A:整型、实型、字符型B:整型、实型、逻辑型C:整型、字符型、逻辑型D:整型、实型、逻辑型、字符型

答案:整型、实型、字符型下列选项中可以作为C语言字符常量的是(

)。

A:”abc”B:‘M’C:13.8eD:‘12’

答案:‘M’已知字母‘b’的ASCII码值为98,如ch为字符型变量,则表达式ch=‘b’+’5’-’2’的值为(

)。

A:dB:102C:eD:100

答案:e已知各变量的定义如下:inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;则以下表达式中不符合C语言语法的表达式是(

)。

A:a=2*a=3;B:(int)x+0.4;C:k=i++;D:y+=x++;

答案:a=2*a=3;下列四个选项是对变量和常量的特点的叙述,正确的说法是(

)。

A:在C语言中,所有变量都必须在定义时进行初始化。B:宏常量有数据类型,编译器在宏替换时可以进行类型检查。C:不同类型的变量分配的存储空间大小都是相同的。D:C89规定所有变量必须在第一条可执行语句前定义。

答案:在C语言中,所有变量都必须在定义时进行初始化。设有语句“inta=3;”,执行语句“a+=a-=a*a;”后,变量a的值是(

)。

A:9B:-12C:3D:0

答案:-12在C语言中对下面的语句而言,哪个说法是错误的(

)?

inta,b;

A:变量a和b中都没有数值B:a和b都是整型变量C:变量a和b中的值都是未知的随机数D:变量a和b占用的内存空间的大小是相同的

答案:变量a和b中都没有数值设有如下定义:intx=1,y=-1;则语句:printf(“%d”,x--+(++y));的输出结果是(

)。

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

答案:1执行下面程序时,欲将25和2.5分别赋给a和b,正确的输入方法是(

)。inta;floatb;

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

A:25,2.5B:a=25,b=2.5C:a=25b=2.5D:252.5

答案:a=25,b=2.5

第二章单元测试

若有整型变量i、j,则以下程序段中内循环体的执行次数为(

)。for(i=1;i<=5;i++)for(j=0;j<4;j++){……}

A:24B:30C:25

D:20

答案:20

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

)。

A:('A'<=ch)AND('Z'>=ch)B:(ch>='A')&(ch<='Z')C:'A'<=ch<='Z'D:(ch>='A')&&(ch<='Z')

答案:(ch>='A')&&(ch<='Z')以下程序段的输出结果是(

)。main(){

intx=5;

if(x++>5)

printf(“%d”,x);

else

printf(“%d”,x--);}

A:7B:5C:4

D:6

答案:6设所有变量均已正确定义,并且已知a=4,b=3,c=2,d=1,则表达式d=a<b?a:c的结果是(

)。

A:3B:2

C:4D:1

答案:2

当a=1、b=3、c=5、d=4时,执行以下程序段后x的值是()。

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

答案:2如下程序

main()

{

intx=1,a=O,b=O;

switch(x)

{

case

0:b++;

case

1:a++;

case

2:a++;b++;

}

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

}

该程序的输出结果是(

)。

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

D:a=1,b=1

答案:a=2,b=1下面程序段intk=2;while(k=0){printf(“%d”,k);k--}则下面描述中正确的是(

)。

A:循环体无限循环B:while循环执行10次C:循环体语句执行一次D:循环体语句一次也不执行

答案:循环体语句一次也不执行以下程序中while循环的循环次数为(

)。main(){

inti=0;

while(i<10)

{

if(i<1)continue;

if(i==5)break;

i++;

}

}

A:1B:10C:死循环,不确定次数D:6

答案:死循环,不确定次数假定a和b均为int型变量,则执行以下语句后b的值为(

)。a=1;b=10;do{b-=a;a++;}while(b--<0);

A:-2B:9

C:-1D:8

答案:8在语句while(!E);括号中的表达式!E等价于()。

A:E==0B:E==1C:E!=0D:E!=1

答案:E==0

第三章单元测试

若有定义int

a[10];则数组元素的下标的下限和上限分别是(

)。

A:1和9B:0和1

C:0和9D:1和10

答案:0和9定义如下变量和数组,则下列程序段的输出结果是(

)。inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)

if(i%2!=1)printf("%d",x[i][i]);

A:17B:39C:37D:19

答案:19

下面一段程序是有关字符串操作的,该段程序的输出结果是(

)。#include<stdio.h>#include<string.h>main(){

charp1[10]="abc",p2[]="ABC";

strcat(p1,p2);

printf("%s",p1);}

A:abc

B:abcabc

C:ABC

D:abcABC

答案:abcABC

下列四个选项中能正确定义一维数组的语句是(

)。

A:intnum[0…2017];B:intN=2017;intnum[N];C:intnum[];D:#defineN2017

intnum[N];

答案:#defineN2017

intnum[N];若有以下说明,则数值为4的表达式是(

)。inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc='a',d,g;

A:a['d'-c]

B:a['d'-'c']C:a[4]

D:a[g-c]

答案:a['d'-c]

以下是有关二维数组定义和初始化的语句,其中错误的是(

)。

A:intx[][3]={{1,2,3},{4,5,6}};B:intx[][3]={0};

C:intx[2][3]={1,2,3,4,5,6};D:intx[2][3]={{1,2},{3,4},{5,6}};

答案:intx[2][3]={{1,2},{3,4},{5,6}};以下关于C语言字符数组的描述中错误的是(

)。

A:字符数组中的内容不一定是字符串B:不可以用赋值语句给字符数组名赋字符串C:可以用输入语句把字符串整体输入给字符数组D:字符数组只能存放字符串

答案:字符数组只能存放字符串设有chararray[]=“China”;则数组array所占的空间字节数是(

)。

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

答案:6如下程序段是对字符串的操作,运行后的结果为(

)。

chara[3],b[]=“China”;

a=b;

printf(“%s”,a);

A:运行后将输出chB:运行后将输出ChiC:运行后将输出ChinaD:编译出错

答案:编译出错有以下有关字符串操作的程序,程序运行后的输出的结果是(

)。main(){

chars[]=“012xy8s34f4w2”;

inti,n=0;

for(i=0;s[i]!=0;i++)

if(s[i]>=‘0’&&s[i]<=‘9’)

n++;

printf(“%d”,n);}

A:7B:3C:0D:8

答案:8

第四章单元测试

C语言程序中可以有多个函数,但只能有一个主函数。

A:错B:对

答案:对函数的实参可以是常量,变量或表达式。

A:错B:对

答案:对递归调用算法与相同功能的非递归算法相比,主要问题在于重复计算太多,而且调用本身需要分配额外的空间、传递数据和控制,所以时间和空间开销通常都比较大。

A:对B:错

答案:对在一个被调用函数中,关于return语句使用的描述,错误的是(

)。

A:被调用函数中,一个return语句可以返回多个值给调用函数B:被调用函数中,如果有返回值,就一定要有return语句C:被调用函数中可以不用return语句D:被调用函数中可以使用多个return语句

答案:被调用函数中,一个return语句可以返回多个值给调用函数C语言中函数返回值的类型是由(

)决定的。

A:return语句中的表达式类型B:定义函数时所指定的函数类型C:调用该函数的主调函数的类型D:调用函数时临时决定

答案:定义函数时所指定的函数类型有如下函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));则该函数调用语句中,含有的实参个数是(

)。

A:3B:有语法错C:5D:4

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

)。#include<stdio.h>intfunc(inta,intb){

return(a+b);

}intmain(){

intx=2,y=5,z=8,r;

r=func(func(x,y),z);

printf("%d",r);

return0;}

A:15B:14C:12

D:13

答案:15C语言规定,程序中各函数之间(

)。

A:不允许直接递归调用也不允许间接递归调用B:不允许直接递归调用允许间接递归调用C:允许直接递归调用不允许间接递归调用D:既允许直接递归调用也允许间接递归调用

答案:既允许直接递归调用也允许间接递归调用若有以下调用语句,则不正确的fun()函数的首部是(

)。main(){

inta[50],n;

fun(n,&a[9]);

}

A:voidfun(intn,inta)B:voidfun(intp,int*s)C:voidfun(intm,intx[])D:voidfun(ints,inth[41])

答案:voidfun(intn,inta)函数的实参传递到形参有两种方式:值传递和地址传递。

A:错B:对

答案:对

第五章单元测试

变量的指针,其含义是指该变量的(

)。

A:值B:一个标志C:名D:地址

答案:地址若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是(

)。

A:a,point,*&aB:&*a,&a,*pointC:&a,&*point,pointD:*&point,*point,&a

答案:&a,&*point,point若有以下定义和语句,且0<=i<10,则对数组元素地址的正确表示是(

)。int

a[]={0,1,2,3,4,5,6,7,8,9},*p;p=a;

A:&(a+1)B:&p[i]C:a++D:&p

答案:&p[i]char

s[10]="ABCDEFGH",*p=s;不能表示字符C的是(

)。

A:s[3]B:s[2]C:s['c'-'a']D:*(p+2)

答案:s[3]有下列程序:func(intx,inty,int*jia,int*jian){

*jia=x+y;

*jian=x-y;

}main(){

inti=10,j=3,x1,x2;

func(i,j,&x1,&x2);

printf("%d,%d",x1,x2);}则运行结果是(

)。

A:10,3B:0,0C:13,7D:7,13

答案:13,7下列定义中,不是指针数组定义的是(

)。

A:char*w[7]B:float*q[4]C:int*p[5];D:int(*r)[6]

答案:int(*r)[6]下列程序的运行结果是(

)。#defineN9fun(chars[]){

char*p=s+4,*q=s;

inti;

for(i=0;i<4;i++,p++,q++)

{

s[i]=*p;

s[i+4]=*q;

}}main(){

charss[N]="ABCDEFGH";

fun(ss);

printf("%s",ss);}

A:EFGHEFGHB:ABCDEFGHC:EFGHABCDD:ABCDABCD

答案:EFGHEFGH设有声明语句inta[2][3],(*p)[3]=a;则对a数组元素正确的引用的是(

)。

A:*(p[1]+1)B:p[1]+2C:(p+1)[0];D:*(*(p+2)+1)

答案:*(p[1]+1)以下选项中,对指针变量p的正确操作是(

)。

A:inta[5];int*p,p2=a;*p=*p2;B:inta[5],*p;p=&a;

C:inta[5];int*p=a[5];D:inta[5],*p;p=a;

答案:inta[5],*p;p=a;在说明语句“int*f();”中,标识符f代表是(

)。

A:一个返回值为指针型的函数名B:一个用于指向一维数组的行指针C:一个用于指向整型数据的指针变量D:一个用于指向函数的指针变量

答案:一个返回值为指针型的函数名

第六章单元测试

结构体类型本身不占用内存空间,结构体变量占用内存空间。

A:错B:对

答案:对结构体成员的类型必须是基本数据类型。

A:错B:对

答案:错结构体变量可以作数组元素。

A:错B:对

答案:对指向结构体变量的指针可以作函数参数,实现传址调用。

A:对B:错

答案:对用链表代替数组进行数据操作时,查询更加方便。

A:对B:错

答案:错有如下定义:struct

Student{

char

name[10];

int

age;

char

gender;}std[3],

*p=std;则以下各输入语句中错误的是(

)。

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

温馨提示

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

评论

0/150

提交评论