图解C编程智慧树知到期末考试答案2024年_第1页
图解C编程智慧树知到期末考试答案2024年_第2页
图解C编程智慧树知到期末考试答案2024年_第3页
图解C编程智慧树知到期末考试答案2024年_第4页
图解C编程智慧树知到期末考试答案2024年_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

图解C编程智慧树知到期末考试答案2024年图解C编程在for循环中,不能用break语句跳出循环体。

A:对B:错答案:对在函数的调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则称为函数的循环调用。

A:对B:错答案:错在C语言源程序中,一个变量代表内存中的一个存储单元。

A:错B:对答案:对在定义一维数组时可以只给一部分元素赋初值。

A:错B:对答案:对在C语言的赋值表达式中,赋值号左边必须是一个变量。

A:对B:错答案:对函数的形参都属于全局变量。

A:对B:错答案:错用C语言实现的算法必须要有输入输出操作。

A:对B:错答案:错C语言中的文件又被称为流式文件。

A:对B:错答案:对C语言只能处理文本文件。

A:错B:对答案:错在C语言中,&运算符作为单目运算符时表示的是取地址运算。

A:错B:对答案:对花括号“{”和“}”只能作为函数体的定界符。

A:对B:错答案:错C语言源程序的基本单位是语句。

A:正确B:错误答案:错误在C语言中,二维数组元素在内存中的存放是按照若干行、若干列的形式存放的。

A:对B:错答案:错赋值表达式c=b=a=5是错误的。

A:错B:对答案:错单目运算符++的运算对象可以是char型变量、int型变量和float型变量。

A:正确B:错误答案:正确两个字符串所包含的字符个数相同时,才能比较字符串。

A:错误B:正确答案:错误C语言的编译预处理就是对源程序进行初步的语法检查。

A:错B:对答案:错循环结构在满足条件时反复执行循环体。

A:错B:对答案:对sizeof(float)是一个单精度型表达式。

A:对B:错答案:错有两个字符数组a、b,正确的输入格式为()。

A:scanf("%s%s”,&a,&b);B:gets(a,b);C:gets(“a”),gets(“b”);D:scanf("%s%s”,a,b);答案:gets(a,设int*ptr,x,array[5]={5,4,3,2,1};ptr=array;则能使x的值为3的语句是()

A:x=*(array+3);B:array+=2;x=*array;C:x=array[3];D:x=*(ptr+2)答案:x=*(ptr+2)设int*p,a[10];p=a;则下列等式错误的是()。

A:a[2]==*(p+2)B:p++==a++;C:*p==a[0];D:p==&a[0];答案:p++==a++;()不是C语言提供的关键字。

A:caseB:printC:defaultD:continue答案:print关于以下一段程序的理解错误的是()。FILE*fp;if((fp=fopen("D:\\test.txt","w"))==NULL){printf("Cannotopenthefile!\n");exit(0);}

A:fopen函数打开文件失败后的返回值为NULLB:if语句表示调用fopen函数以只读的形式打开D盘根目录下的文件test.txtC:通过调用fopen函数,使文件指针fp指向文件test.txt在内存中的缓冲区D:FILE*fp;表示定义一个文件指针fp答案:if语句表示调用fopen函数以只读的形式打开D盘根目录下的文件test.txt下列程序的运行结果是()。intmain(){intx=2,y=-1,z=2;if(yelsez+=1;printf("%d\n",z);return0;}

A:3B:2C:0D:1答案:0以下程序的输出为()#defineM(x,y,z)x/y+zvoidmain(){inta=1,b=2,c=3;printf("%d\n",M(a+b,b+c,c+a));}

A:5B:8C:4D:9答案:9C语言提供的关键字是()。

A:breakB:procedureC:beginD:append答案:break假设有如下定义:char*s[2]={"Ilove","china"};则以下说法正确的是():

A:s数组的两个元素分别存放了字符'I'和'c'B:s数组元素的值分别是"Ilove"和"china"C:s是指针变量,它指向含有两个数组元素的字符型一维数组D:s数组的两个元素分别存放的是两个字符串的首地址答案:s数组的两个元素分别存放的是两个字符串的首地址语句if(a>b)k=0;elsek=1;

(其中a,b,k为int)等价于(

)。

A:k=a>b;B:k=(a>b)?0:1;C:其他均不是D:k=(a>b)?1:0;答案:k=a设x和y均为int型变量,则语句x+=y;y=x-y;x-=y;的功能是()。

A:交换x和y的值B:把x和y按从小到大排列C:把x和y按从大到小排列D:无确定结果答案:交换x和y的值设已知一个文件中存放若干学生记录,其数据结构如下:structst{charnum[10];intage;floats[5];}定义一个数组:structsta[10];假定文件已正确打开,则不能正确从文件中读出10个学生数据到数组中的是()。

A:for(i=0;iB:for(i=0;iC:fread(a,sizeof(structst),10,fp);D:for(i=0;i答案:for(i=0;iC语言中,每个语句和数据定义是用()结束的。

A:句号B:逗号C:双引号D:分号答案:分号在C语言中,以下不能正确进行赋值、赋初值的语句(组)是()

A:char*s="china";B:chars[6];s="china";C:chars[5]={'c','h','i','n','a'};D:chars[6]="china";答案:a设有定义doublea[10],*s=a;,以下能够代表数组元素a[3]的是()

A:*(s+3)B:*s[3]C:*s+3D:(*s)[3]答案:*(s+3)设有代码段:inta[4]={2,3,4},i;i=a[0]*a[1]+a[2]*a[3];则执行结束后变量i的值为()

A:6B:不确定C:10D:4答案:6当变量i=3时,表达式++i,i++的值分别是()。

A:4,3B:4,4C:3,4D:3,3答案:4,3当说明一个结构体变量时系统分配给它的内存是()。

A:各成员所需内存量的总和B:结构中最后一个成员所需内存量C:结构中第一个成员所需内存量D:成员中占内存量最大者所需的容量答案:各成员所需内存量的总和设有以下程序片段:inta[10],*p;p=a;则p+5表示()。

A:元素a[5]的值B:元素a[5]的地址C:元素a[6]的地址D:元素a[6]的值答案:元素a[5]的地址设有如下定义,则st1中x成员的正确引用是()structstru{intx;Floaty;}st1,*p;p=

A:p->xB:p->st1.xC:*p.xD:(*p).st1.x答案:(*p).x设有下列语句structdate{intyear,month,day;}today;假设一个int型数据用2个字节存储,则表达式sizeof(structdate)的值为()

A:8B:3C:1D:6答案:6设有程序段如下:intk=5;while(k=0)k=k-1;则下面描述中正确的是()。

A:循环是无限循环B:循环体语句执行一次C:while循环执行5次D:循环体语句一次也不执行答案:循环体语句一次也不执行下列说法不正确的是()。

A:形式参数是局部变量。B:在一个函数的内部,可以在复合语句中定义变量。C:不同的函数中,可以使用相同名字的变量。D:主函数main中定义的变量在整个文件或者程序中都有效答案:a运行下面程序时,若从键盘输入"5"(表示回车),则程序的输出结果是()。#includevoidmain(){inta;scanf("%d",&a);if(a++>5)printf("%d\n",a);elseprintf("%d\n",a--);}

A:4B:6C:7D:5答案:6如果inta=3,b=4;则条件表达式a

A:1B:0C:4D:3答案:3阅读以下程序:intmain(){FILE*fp;charch;if((fp=fopen("D:\\test.txt","w"))==NULL){printf("Cannotopenthefile!\n");exit(0);}ch=getchar();while(ch!='#'){fputc(ch,fp);ch=getchar();}fclose(fp);return0;}关于上述程序的分析错误的是()。

A:ch=getchar();在程序中出现了2次,可以删除其中一处B:程序使用到fopen,fputc,fclose三个处理test.txt文本文件的函数C:程序功能是从键盘输入一串以#作为结束的字符,将该字符串保存到text.txt文本中D:ch是内存中的一个变量,通过调用getchar函数从键盘缓冲区获取数据,赋值给ch答案:ch=getchar();在程序中出现了2次,可以删除其中一处已有定义:inta[10]={1,2,3},*p;,则不合法的赋值语句是()。

A:p=&a[9];B:p=a[9];C:p=a+1;D:p=a;答案:p=a[9];在C语言函数的定义和引用中,以下描述正确的是()

A:数组名不能作为形式参数B:可以有也可以没有形式参数C:函数的定义和调用可以嵌套D:不同函数中,不能使用重名的形式参数答案:可以有也可以没有形式参数函数fseek(pFile,0L,SEEK_CUR)中的SEEK_CUR代表的起始点是(

)。

A:文件当前位置B:文件末尾C:其他都不对D:文件开始答案:文件当前位置下列程序段执行后s值为()。#includeintmain(){inti=5,s=0;do{if(i%2==0)s+=i;}while(--i);printf("%d",s);return0;}

A:6B:其他均不是C:9D:15答案:6设有以下定义语句,则能给数组x中下标为8的元素读入数据的正确语句是()

doublex[20],*p=x;

A:scanf("%lf",p+8);B:scanf("%f",&p[8]);C:scanf("%lf",*(x+8));D:scanf("%f",&x[8]);答案:AI参考:正确选项是D:scanf("%f",&x[8]);\n\n解释如下:\n\n题目中给出了一个数组x,大小为20个double类型元素。p是指向数组x的指针。因此,我们可以将p视为一个数组指针,通过指针可以访问数组中的元素。\n\n选项A中的scanf语句是错误的,因为它试图读取一个数组指针+8个元素的值,这在C语言中是不合法的。\n\n选项B中的scanf语句试图读取p[8]这个元素的值,但由于p是指向数组x的指针,p[8]实际上是指向数组之外的非法内存位置,因此会导致未定义的行为。\n\n选项C中的scanf语句试图读取*(x+8)这个元素的值,但在这种情况下,由于数组名在C语言中是指向数组第一个元素的指针,所以*(x+8)实际上是指向数组之外的非法内存位置,同样会导致未定义的行为。\n\n只有选项D中的scanf语句是正确的,因为它试图读取数组x中下标为8的元素的值。&x[8]表示的是数组x中下标为8的元素的地址,scanf函数可以读取该地址处的值。因此,选项D是正确的。'以下哪一个是判断字符型变量ch为小写字母的表达式()。

答案:"AI参考:选项C是正确的。表达式应该是`ch>=a&&ch<=z`。这个表达式表示判断字符型变量ch是否在字母表的小写字母范围内,即a到z之间。如果ch的值在这个范围内,那么它就是小写字母。"下列语句正确的是()

A:charstring[]="china";B:charstring[];string="china";C:charstring1[],string2[];string2={"china"};strcpy(string1,string2);D:charstring1[5],string2[]={"china"};string1=string2;答案:AI参考:正确选项是:D:charstring1[5],string2[]={"china"};string1=string2;\n\n解释:\n\nA选项中,字符串字面量应该被包含在引号内,所以应该是charstring[]="china";。\n\nB选项中,应该先声明变量,然后再赋值,所以应该是charstring[];string="china";。\n\nC选项中,两个字符串数组的声明之间应该用逗号隔开,并且字符串字面量应该被包含在引号内,所以应该是charstring1[],string2[]={"china"};。\n\nD选项是正确的,它声明了两个字符数组变量string1和string2,并使用等号将它们进行了赋值。其中string2是一个字符串字面量,它被存储在string2的数组中。因此,string1被赋值为string2的值。注意,这里使用了strcpy函数来复制string2的内容到string1中。\n\n因此,正确选项为D:charstring1[5],string2[]={"china"};string1=string2;。'以下函数正确的是()。

A:intfun(intx,inty){intz;z=x+y;returnz;}B:C)fun(intx,inty){doublez;z=x+y;returnz;}C:intfun(intx,y){intz;returnz;}D:doublefun(intx,inty){intx,y;doublez;z=x+y;returnz;}答案:AI参考:正确选项是【B】\n\n函数定义中应该包括返回类型和函数名,同时参数类型也需要和返回类型匹配。在选项B中,函数返回类型为double,并且使用了double类型的变量z来存储结果,所以是正确的。其他选项中存在以下问题:\n\n*选项A中,返回类型为int,但是返回值为double,不符合题目要求。\n*选项C中,函数定义缺少参数类型和变量x、y的定义,不符合题目要求。\n*选项D中,函数返回类型为double,但是参数类型为int,不符合题目要求。'已知有以下声明语句,则以下对结构体变量cmp中成员No的引用方式正确的是()

structcompany{

intNo;

charName[50];

}comp,*ptr;

ptr=∁

A:ptr->cmp.NoB:*ptr.NoC:ptr-

温馨提示

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

评论

0/150

提交评论