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

下载本文档

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

文档简介

高级语言程序设计(c)智慧树知到期末考试答案+章节答案2024年陕西理工大学以下正确的描述是()。

答案:形式参数是局部变量;不同的函数中可以使用相同的变量名;一个函数内部定义的变量只能在本函数范围内有效以下叙述正确的是()

答案:一个C源程序必须包含一个main()函数;c程序的基本组成单位是函数;一个c源程序可由一个或多个函数组成for语句中的表达式可以部分或全部省略,但是两个分号不能省略。()

答案:对函数的嵌套调用是指被调用函数又调用另一个函数。()

答案:对C语言中,double类型的数据占字节数为8。()

答案:对以下叙述不正确的是()

答案:在对一个C程序进行编译的过程中,可发现注释中的拼写错误;在C程序中,main()函数必须位于程序的最前面;C程序的每行中只能写一条语句以下说法中错误的是()

答案:#define和printf都是C语句;#define是C语句而printf不是;printf是C语句,但#define不是算法的特征包括()。

答案:可行性;有穷性;确定性;输入和输出若有以下定义语句,structstudent{charname[12];charsex;intage;floatscore;};structstudentstd,*ps;ps=&std;则以下对age成员赋值的语句中正确的为()。

答案:(*ps).age=18;;std.age=18;;ps->age=18;以下选项中合法的用户标识符是()

答案:_243以下说法中不正确的是()

答案:在C语言程序中,要调用的函数必须在main()函数中定义;C语言程序中的main()函数必须放在程序的开始部分;C语言程序总是从第一个的函数开始执行设w=1,x=2,y=3,z=4,a=5,b=6,(a=w>x)&&(B=y>z);则执行一下语句后a、b的值分别为()

答案:0和6设intx=1,y=5;表达式(!x||y--||++x)的值是()。

答案:1若有定义:inta[10];。则以下表达式中不能代表数组元素a[1]的地址的是()

答案:&a[0]++#include<stdio.h>intmain(void){intn[2]={O},i,j,k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)n[j]=n[i]+1;printf(”%d\n”,n[k]);return0;}以上程序的输出结果是()

答案:不确定的值main(){inta=18;a+=a-=a*a;printf("%d",A.;}以上程序输出的结果是()

答案:-612#include"stdio.h"intabc(intu,intv);voidmain(){inta=24,b=16,c;c=abc(a,b);printf('%d\n",c);}intabc(intu,intv){intw;while(v){w=u%v;u=v;v=w}returnu;}求上述程序的运行结果()

答案:8main(){intx=12,y=012;//012是一个八进制数printf("%d%d\n",x--,--y);}以上程序的输出结果是()

答案:129已知字符A的ASCII码为十进制的65,#include<stdio.h>voidmain(){charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}上面程序的输出是()

答案:67,D若用数组名作为函数调用时的实参,则实际上传递给形参的是()。

答案:数组的首地址若有说明:intn=17,*p=&n,*q=p;,则以下非法的赋值语句是()

答案:n=*q;定义如下变量和数组:inti;intx[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++)printf("%d",x[i][2-i]);输出结果是()

答案:357若有定义:intaa[8];。则以下表达式中不能代表数组元aa[1]的地址的是()

答案:&aa[0]++C语言的程序一行写不下时,应该()。

答案:用回车符换行请读程序:#include"stdio.h"voidFUN(intS[]){staticintJ=0;do{S[J]+=S[J+1];}while(++J<2);}main(){intK,A[10]={1,2,3,4,5};for(K=1;K<3;K++)FUN(A);for(K=0;K<5;K++)printf("%d",A[K]);}上面程序输出结果是()

答案:35745执行语句:for(i=1;i<4;i++);后,变量i的值是()

答案:4设正x、y均为整型变量,且x=10y=3,printf("%d,%d\n",x--,--y);则以上语句的输出结果是()

答案:10,2#include<stdio.h>voidmain(){intk=17;printf("%d,%o,%x\n",k,k,k);}以上程序的输出结果是()

答案:17,21,11#include<stdio.h>voidmain(){ints,t,a,b;scanf("%d,%d",&a,&B);s=1;t=1;if(A<0)s=s+1;if(A>B)t=s+1;elseif(A==B)t=5;elset=2*s;printf("t=%d\n",t);}在执行以上程序时,为了使输出结果为t=4,则给a和b输入的值应满足的条件是()

答案:a<b<0执行下列语句后,main(){inta=5;printf(“%d\n”,(A=3*5,a*4,a+5));}a的值为()

答案:20当说明一个结构体变量时系统分配给它的内存是()

答案:各成员所需内存量的总和下列各选项中,合法的c语言关键字是()。

答案:void有如下程序段int*p,a=10,b=1p=&a;a=*p+b;执行该程序段后,a的值为()

答案:11有以下程序main(){inta[]={0,1,2,3,4,5,6,7,8,9},*p;for(p=&a[9];p>=a;p--)printf("%d,",*p);}程序运行后的输出结果是()

答案:9,8,7,6,5,4,3,2,1,0,有以下程序,main(){intx,i;for(i=1;i<=50;i++){x=i;if(x%2==0)if(x%3==0)if(x%7==0)printf("%d",i);}}其输出结果是()

答案:42#include<stdio.h>intmain(void){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++)t=t+b[i][b[j][j]];printf("%d\n",t);return0;}以上程序的输出结果是()

答案:4读程序:main(){intnum=0;while(num<=2){num++;printf("%d",num);}}上面程序的输出结果是()

答案:123若有说明:inta[10];,则对a数组元素的正确引用是()

答案:a[10-10]若有定义:“int*p[4];”,则标识符p是()

答案:一个指针数组名对于基类型相同的两个指针变量之间,不能进行的运算是()

答案:+当顺利执行了文件关闭操作时,fclose函数的返回值是()。

答案:0下列运算符中优先级最高的是()

答案:+下列函数调用语句中的fun函数实参个数为2fun((A+b,x,y),fun(x,(x+z)));()

答案:对设inta=20;则执行表达式:a/=a+a后,a的值是1。()

答案:错若有以下程序段:TypedefstructNODE{intnum;structNODE*next;}OLD;则以下叙述中正确的是()。

答案:OLD是一个结构体类型;用OLD定义的变量可作为单链表的结点变量在结构化程序设计中,常用的算法的描述方法有()。

答案:伪代码;盒图(N-S图);流程图以下叙述中正确的是()

答案:C语言的可执行程序是由一系列机器指令构成的;用C语言编写的源程序不能直接在计算机上运行;通过编译得到的二进制目标程序需要连接才可以运行以下程序段的功能是,输入一个两位整数,求每位数字对应的数字字符的ASCII码值之和。例如,输入12<回车>,则输出字符“1”、“2”的ASCII码值49、50之和99。#include<stdio.h>main(){inta,x;scanf(“%d”,&a);x=(AB)+();printf(“a=%d,x=%d\n”,a,x);return0;}()

答案:a%10+‘0’;a%10+48函数是由()构成

答案:函数首部;函数体若w=1,x=2,y=3,z=4,则条件表达式“w>x?w:y<z?y:z”的值是3。()

答案:对如果已经定义符号常量#defineN5,则下面数组定义错误的是()。

答案:charstr[N-5];;shortz[n];fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是读或读写。()

答案:对下列选项中说法不正确的是()

答案:C语言程序总是从第一个定义的函数开始执行;C语言中main函数一定在程序的开始部分;C程序的每行中只能写一条语句若已定义:inta[]={0,1,2,3,4,5,6,7,8,9],*p=a,i;其中0≤i≤9,则对a数组元素正确的引用是()

答案:a[p-a];*(&a[i]);p[i]下列运算符中,优先级最高的是()

答案:!;++以下字符中,正确的C语言转义字符是()

答案:‘\t’;\\’;‘\Xaa’有以下程序,main(){inti=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d%d%d\n",i,j,k);}程序运行后的输出结果是()

答案:233以下关于for语句的说法正确的是()

答案:for循环是先判断表达式,后执行循环体语句;for循环中,可以用break语句跳出循环体;for循环体语句中,可以包含多条语句,但要用花括号括起来。若有说明:inta[][4]={0,0};,则下面正确的叙述是()

答案:数组a的每个元素都可得到初值0;二维数组a的第一维大小为1;因为二维数组a中初值的个数不能被第二维大小的值整除,则第一维的大小等于所得商数再加1,故数组的行数为1结构化程序设计的核心思想包括()。

答案:自顶向下;模块化设计;逐步细化;结构化编码判断两个字符串S1和S2相等的正确语句是()

答案:if(strcmp(S1,S2)==0)若有数组定义为inta[3][4];则数组a中元素引用正确的是()。

答案:a[0][2*1]=10;a[4-2][0]=10;a[1][1*3]=10structperson{charname[9];intage;};structpersonclass[10]={"John",17,"Paul",19,"Mary",18,"adam",16};根据上面的定义,能打印出字母M的语句是()

答案:printf("%c\n",class[2].name[0]);#include<stdio.h>intmain(void){inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d,",x[i][2-i]);return0;}以上程序的输出结果是()

答案:3,5,7,在c语言中,一维数组的定义方式为:类型说明符数组名()

答案:[常量表达式]语句:printf("%d\n",12&&12);的输出结果是().

答案:1可在C程序中用作用户标识符的一组标识符是()

答案:as_b3_123If(1)intmain(void)(2){(3)inta[3]={1};(4)inti;(5)scanf(”%d”,&a);(6)for(i=1;i<3;i++)a[0]=a[0]+a[i];(7)prinff(”%f\n”,a[0]);(8)return0;(9)}上面程序中有错误的行是()

答案:5#include<stdio.h>intmain(void){inti,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];for(i=0;i<4;i+=2)printf("%d",p[i]);return0;}以上程序的输出结果是()

答案:53以下程序中函数sort()的功能是对数组a中的数据进行由大到小的排序。#include<stdio.h>voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}intmain(void){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i<10;i++)print("%d,",aa[i]);printf("\n");return0;}程序运行后的输出结果是()

答案:1,2,3,8,7,6,5,4,9,10,有如下程序main(){inta=2,b=-1,c=2;if(A<B)if(B<0)c=0;elsec++;printf("%d\n",C);}该程序的输出结果是()

答案:2若二维数组a有m列,则在a[i][j]之前的元素个数为()

答案:i*m+jC语言程序的基本单位是()。

答案:函数有以下程序viodfun(inta,intb,intc){a=456;b=567;c=678;}main(){intx=10,y=20,z=30;fun(x,y,z);printf("%d,%d,%d\n",x,y,z);}输出结果是()

答案:10,20,30为避免嵌套的条件分支语句if…else的二义性,C语言规定,C程序中的else总是与()组成配对关系。

答案:其上面距它最近的,并且没有其他else与其配对的if相配对如果k为整数,k=10;while(0)k=k-1;则while循环执行次数()。

答案:一次都不执行在下列选项中,构成死循环的程序段是()

答案:for(;;);C语言规定:在一个源程序中,main()函数的位置()

答案:可以任意inti=-1;if(i<=0)printf("****\n");elseprintf("%%%%\n");执行上面语句后的输出为()

答案:****有以下程序:fun(inta,intB.{if(A>B.returna;elsereturnb;}main(){intx=3,y=8,z=6,r;r=fun(x,y+z);printf("%d\n",r);程序运行后的输出结果是()

答案:14#include<stdio.h>voidmain(){inta=-1,b=1;if((++a<0)&&!(B--<=0))printf("%d%d\n",a,B);elseprintf("%d%d\n",b,A);}以上程序的输出结果是()

答案:10#include<stdio.h>f(intb[],intm,intn){inti,s=0;for(i=m;i<n;i=i+2)s=s+b[i];returns;}intmain(void){intx,a[]={1,2,3,4,5,6,7,8,9};x=f(a,3,7);printf(”%d\n”,x);return0;}以上程序的输出结果是()

答案:10如intx=14;下列求商y(需小数结果)的表达式哪一个不对()

答案:y=x/5*1.0#include<stdio.h>voidmain(){inta,b,s;scanf("%d%d",&a,&B);s=a;if(A<B)s=b;s=s*s;printf("%d\n",s);}若执行上面的程序从键盘输入3和4,则输出是()

答案:16为表示关系-1≤x≤1应使用的c语言表达式是()

答案:x>=-1&&x<=1main(){intx=3,y=6,a=0;while(x++!=(y-=1)){a+=1;if(y<x)break;}printf("x=%d,y=%d,a=%d\n",x,y,A);}上面程序的输出是()

答案:x=5,y=4,a=1若有以下定义:doublea;intb;floatc;chard;则表达式a*b/d+(d-C)值的类型为()

答案:double假定a和b为int型变量,

a=1;b=10;do

{

b=b-a;

a++;

}while(B>0);则执行以上语句后b的值为()

答案:0#include<stdio.h>voidmain(){intm=5;if(m++>5)printf("%d\n",m);elseprintf("%d\n",m--);}以上程序输出结果是()

答案:6如intk=11;则执行语句k=1/3*++k;后k取值为()

答案:0下面程序执行后,#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中的内容是()。

答案:hello标准库函数fgets(s,n,f)的功能是()。

答案:从文件f中读取长度不超过n-1的字符串存入指针s所指的内存中C语言中系统的标准输入文件是指鼠标。()

答案:错当已存在一个test.txt文件时,执行函数fopen("test.txt","r+")的功能是()。

答案:打开test.txt文件,只能读取原有内容,但不能写数据已只写方式打开文本文件a.txt,可以使用FILE*fp;fp=fopen(“a.txt”,”w”);()

答案:对文件的操作必须先打开文件。()

答案:对文件的读函数是从输入文件中读取信息,并放在内存中。()

答案:对printf函数和scanf函数的读写对象是文件,fprintf函数和fscanf函数的读写对象是终端。()

答案:错在C程序中,可以将整型数以二进制形式存放到文件中的函数是()。

答案:fwrite()若有以下程序段:uniondata{inti;charc;floatf;}a;intn;则以下语句正确的是()。

答案:printf(“%d”,a);设struct{inta;charb;}q,*p=q;则错误的表达式是()。

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

答案:typedefchar*STP;下面对typedef的叙述中不正确的是()。

答案:用typedef可以增加新类型#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);}以上程序的输出结果是()。

答案:48unionmyun{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);}以上程序的输出结果是()。

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

答案:先定义该类型结构体变量,再声明结构体类型设有以下说明语句,structabc{intm;intn;}stype;则下面的叙述不正确的是()。

答案:abc是用户定义的结构体类型名若有语句“inta[3][4]={{1,3,5,7},{2,4,6,8}};”,则*(*a+1)的值为()。

答案:3变量的指针是指变量的()。

答案:名已定义以下函数fun(int*p){return*p;}该函数的返回值是()。

答案:形参p所指存储单元中的值下列选项中正确的语句组是()。

答案:chars[8];s="Beijing";若有语句“inta[10];int*p=a;”,则以下错误的表达式是()。

答案:a=p+a;对于以下递归函数f,调用f(4),intf(intn){if(n)returnf(n-1)+n;elsereturnn;}其返回值为()。

答案:10被调函数返回给主调函数的值称为()。

答案:返回值文件中定义的全局变量的作用域为()。

答案:从定义该变量的位置开始到本文件结束当一个函数无返回值时,函数的返回类型应为()。

答案:void函数定义如下:voidf(intb){b=9;}实参数组及函数调用如下:inta[5]={1};f(a[1]);printf(”%d”,a[1]);则以下输出语句的结果为()

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

答案:递归函数的运行速度很快。关于数组名作为函数的说法错误的是()。。

答案:在函数调用期间,形参数组和实参数组对应的是不同的数组chars[]="abcd";printf("%d\n",strlen(s));上面程序段的输出结果是()。

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

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

答案:intd[5]={1};数组d中的值全为1定义了int型二维数组a[4][4]后,则数组元素a[3][3]前的数组元素个数为()。

答案:15下列程序段是给数组中所有元素赋值,inta[10];for(i=0;i<=9;i++)scanf(“%d”,);应在下划线上填入的是()。

答案:&a[i]doublea[][5]={1,2,3,4,5,6};printf("%d\n",sizeof(a));上面的程序段将输出()。

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

答案:6个字节#include<stdio.h>intmain(){inta=3;do{printf("%d",a);a--;}while(a);return0;}以上程序段的输出结果是()。

答案:321若定义inti;for(i=2;i==0;)printf("%d",i--);则以下循环语句的循环执行次数是()。

答案:0intn=10;while(n>7){printf("%d,",n);n--;}以上程序段的输出结果是()。

答案:10,9,8,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);}以上程序运行后的输出结果是()

答案:6,5语句while(!y)中的!y等价于y==0。()

答案:对若定义inti;for(i=1;i<10;i++){if(i%3)i++;++i;printf("%d",i);}则以下for语句的执行结果是()。

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

答案:错列定行号intx=0,y=10;2switch(x)3{case3:4case–1:y=y-2;break;5casey+1:x+=5;6default:printf(“%d,%d”,x,y);}以上程序段中,有错误的行是()。

答案:5main(){inta=2,b=3,c;c=a;if(a>b)c=1;elseif(a==b)c=0;elsec=-1;printf(“%d\n”,c);}以上程序的运行结果是()

答案:-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);}上面程序的输出结果是()

答案:1,2以下程序实现:输入三个整数,按从大到小的顺序进行输出。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后面的括号中填入的正确内容分别是()

答案:y<zx<zx<y若x=12则表达式x>12?x+10:x-10的值是()

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

答案:2已知intx=10,y=20,z=30;if(x>y)z=x;x=y;y=z;以上语句执行后x,

温馨提示

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

评论

0/150

提交评论