C语言程序设计智慧树知到期末考试答案章节答案2024年西安工商学院_第1页
C语言程序设计智慧树知到期末考试答案章节答案2024年西安工商学院_第2页
C语言程序设计智慧树知到期末考试答案章节答案2024年西安工商学院_第3页
C语言程序设计智慧树知到期末考试答案章节答案2024年西安工商学院_第4页
C语言程序设计智慧树知到期末考试答案章节答案2024年西安工商学院_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计智慧树知到期末考试答案+章节答案2024年西安工商学院下列条件语句中,输出结果与其他语句不同的是()。

答案:if(a==0)printf("%d\n",x);elseprintf("%d\n",y);下列关于数组概念的描述中,错误的是()

答案:数组定义后,它的元素个数是可以改变的‏已知inta[3][2]={3,2,1};则表达式“a[0][0]/a[1][0]”的值是()。‏

答案:3‌以下合法的数组定义是()。

答案:chara[]="CProgramLanguage.";有以下程序:intfun(intn);intfun(intn){if(n==2)return1;returnfun(n-1)+1;}intmain(){printf("%d\n",fun(5));return0;}下列程序的运行结果是:()

答案:4有以下程序:#include<stdio.h>intsub(inta,intb){intc;c=a-b;returnc;}voidprint(intz){printf("z=%d\n",z);}intmain(){intx,y,z;x=10;y=5;z=sub(x,y);print(z);return0;}程序的运行结果是:()

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

答案:233若已定义a为int型变量,则()是对指针变量p的正确说明和初始化。

答案:int*p=&a;C语言中基本数据类型包括()。

答案:整型、实型、字符型以下对结构体类型变量td的定义中,错误的是()。

答案:struct{intn;floatm;}aa;structaatd;请读取以下程序:intmain(){inta[]={0,1,2,3,4,5},*k=a,i=0;while(i<3){printf("%d",k[i]);i++;}return0;}上列程序的运行结果是()。

答案:012有函数定义:voidfun(intn,doublex){……}若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是()。

答案:fun(n,x);#include<stdio.h>main(){intx=8;for(;x>0;x--){if(x%3){printf("%d,",x--);continue;}printf("%d,",--x);}}程序的运行结果是()。

答案:8,5,4,2以下选项中不属于字符常量的是()。

答案:"C"以下关于C语言的叙述中正确的是()。

答案:在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是()

答案:&a,&*point,point若有语句inta[10],*p=a;下面均代表元素值的一组选项是()

答案:*a,*p,p[0]若有说明;int*p,m=5,n;以下正确的程序段的是()

答案:p=&n;scanf("%d",p);当变量c的值不为2、4、6时,值也为“真”的表达式是()。

答案:(c>=2&&c<=6)‖(c!=3)‖(c!=5)voidfun(intx,int*y){printf("%d%d",x,*y);x=5;*y=6;}intmain(){intx=1,y=2;fun(y,&x);printf("%d%d",x,y);return0;}上述程序的运行结果是()。

答案:2162以下叙述中正确的是()。

答案:break语句只能用在循环体内和switch语句体内main(){inta=2,b=7,c=5;switch(a>0){case1:switch(b<0){case1:switch(“@”);break;Case2:printf(“!”);break;}case0:switch(c==5){case0:printf(“*”);break;case1:printf(“#”);break;case2:printf(“$”);break;}default:printf(“&”);}printf(“\n”);}以上程序的运行结果是()。

答案:#&inti=0,a=0;while(i<10){for(;;){if(i%2==0)break;elsei--;}i+=2;a+=i;}printf("%d",a);以上程序的运行结果是()。

答案:30有以下程序:‍‌#include<stdio.h>intmain()‍‌{‍‌inti,j,s=0;inta[3][3]={1,2,3,0,2,4,3,6,9};for(j=0;j<3;j++){i=j;if(i>1)i=2-j;s+=a[i][j];}printf("%d\n",s);‍}以下程序执行后的输出结果是()。

答案:‍6若运行时给变量x输入10,main(){intx,y;scanf(“%d”,&x);y=x>12?x+10:x-10;printf(“%d\n”,y);}则以上程序的运行结果是()。

答案:0如果在一个函数中的复合语句中定义了一个变量,以下正确的说法是()。

答案:该变量只在该复合语句中有效一个指针变量加1表示将该指针变量的原值(地址)加1。()

答案:错有如下程序段:inti,j=2,k,*p=&i;k=*p+j;这里出现的两个“*”号,含义是一样的。()

答案:错凡在函数中未指定存储类别的变量,其隐含的存储类别是void类型。()

答案:错指针变量里存放的是地址值,因此指针变量只能是int型的。()

答案:错一个变量的指针就是该变量的地址。()

答案:对voidmain(){inta=1,b=0;if(--a)b++;elseif(a==0)b+=2:elseb+=3:printf("%d\n",b);}程序运行后的输出结果是()。

答案:2关于实参与形参,以下说法正确的是()。

答案:‏实参和与其对应的形参各占用独立的存储单元下面描述正确的是:()

答案:字符串"That"小于字符串"The"已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是()。

答案:!(kk>='A'‖kk<='Z')有以下程序#include<stdio.h>intmain(){inty=5;while(y--);printf(”y=%d\n”,y);return0;}程序执行后的输出结果是()

答案:y=-1已知:chara;intb;floatc;doubled;执行语句a+b+c+d;后,结果的数据类型是()。

答案:doublemain(){inta=1,b;for(b=1;b<=10;b++){if(a>=8)break;if(a%2==1){a+=5;continue;}a-=3;}printf("%d\n",b);}程序运行后的输出结果是()。

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

答案:5个字节inta[10]={1,2,3,4,5,6,7,8,9,0},*p=a+5;printf("%d",*p--);以上程序已定义,则运行结果是()。

答案:6有以下程序#include<stdio.h>main(){intx;scanf(“%d”,&x);if(x<=3);elseif(x!=10)printf(“%d\n”,x);}程序运行时,输入的值在哪个范围才会有输出结果()。

答案:大于3且不等于10的整数inti=1;while(i<5){if(i>1)continue;if(i==3)break;i++;}上述程序中while循环的执行次数是()。

答案:无数次有如下嵌套的if语句if(a<b)if(a<c)k=a;elsek=c;if(b<c)k=b;elsek=c;以下选项中与上述if语句等价的语句是()。

答案:k=(a<b)?((a<c)?a:c):((b<c)?b:c);下列语句段是无限循环的是()

答案:for(;;);if(--i)break;局部自动变量,下列说法正确的是()

答案:‎调用函数分配内存,函数结束,释放内存设整型变量i的值为3,则表达式i---i的值为()。

答案:1以下选项中,能用作数据常量的是()。

答案:115L若k是int类型变量,有以下for语句for(k=-1;k=1;k++)printf("*****\n");下面关于语句执行情况的叙述中正确的是()。

答案:构成无限循环C程序中函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是()

答案:同名的局部变量已知intx=10,y=20,z=30;if(x>y)z=x;x=y;y=z;以上语句执行后x,y,z的值是()。

答案:x=20,y=30,z=30以下关于typedef的叙述错误的是()。

答案:用typedef可以增加新类型设有定义语句inta[2][3];则以下叙述不正确的是()。‎

答案:可以用a[0]=6;的形式给数组元素赋值在C语言中,能正确表示数学关系“10<a<20”的表达式为()。

答案:a>10&&a<20阅读以下程序:‏‏#include<stdio.h>‏‏intmain()‏‏{‏‏inta[]={1,2,3,4,5},i;‏‏for(i=1;i<5;i++)‏‏{‏‏printf("%d",a[i]-a[i-1]);‏‏}‏return0;‏}程序的输出结果为()。

答案:1111C语言对嵌套if语句的规定时:else语句总是与()配对。

答案:其之前最近的且尚未配对的‍假设a、c均为字符数组,则以下正确的输入语句是()。‍

答案:scanf("%s%s",a,c);intx,y;for(y=1,x=1;y<=50;y++){if(x==7)break;if(x%2==1){x+=6;continue;}x-=3;}printf("%d",y);以上程序的运行结果是()。

答案:2已知:chara;intb;floatc;doubled;执行语句c=a+b+c+d;后,变量c的数据类型是()。

答案:float下面叙述中正确的是()

答案:若定义函数时函数的返回类型缺省,则函数的默认数据类型为intintmain(){inta=1,b=2;for(;a<6;a++){b+=a;a+=2;}printf("%d,%d\n",a,b);return0;}程序运行后的输出结果是()

答案:7,7若有说明;inta[10],*p=a;以与*p++等价的是()

答案:*(p++)‎以下能对二维数组a进行正确初始化的是()。

答案:inta[][3]={{1,2,3},{4,5,6}};有以下程序main(){inti,j,x=0;for(i=0;i<2;i++){x++for(j=0;j<=3;j++){if(j%2)continue;x++}x++}printf(x=%d\n,x);}程序执行后的输出结果是()。

答案:x=8以下是if语句的基本形式:if(表达式)语句其中“表达式”()。

答案:可以是任意合法的表达式关于递归程序,以下结论中正确的是()

答案:所有的递归程序均可以采用非递归算法实现inti=0,s=0;do{if(i%2==0){i++;continue;}i++;s+=i;}while(i<5);有以上程序定义,则程序运行后s的值是()。

答案:6关于函数,以下说法不正确的是()。‍

答案:在一个函数内的复合语句中定义的变量在本函数内有效C语言中的标识符只能由字母、数字和下划线组成,且第一个字符是()。

答案:必须为字母或下划线执行语句x=(a=3,b=a--)后,x,a,b的值依次为()。

答案:3,2,3执行语句m=5;n=3;n=(!m)?m/n:m%n;后n的值为()。

答案:2有以下程序,#include<stdio.h>____________________intmain(){doublex,y,z;scanf("%lf%lf",&x,&y);z=mul(x,y);printf("%f\n",z);return0;}doublemul(doublea,doubleb){return(a*b);}请在______处填写()语句,使程序可正常编译运行。()

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

答案:可以任意voidfun(char*a,char*b){*a=*a+32;*b=*b-32;}intmain(){charc1='A',c2='a',*p1,*p2;p1=&c1;p2=&c2;fun(p1,p2);printf("%c%c\n",c1,c2);return0;}以上程序的运行结果是()。

答案:aA以下定义语句中正确的是()。

答案:charA=65+1,b='b';有以下程序:intfun(inta[][3]){inti,j,sum=0;for(i=0;i<2;i++)for(j=0;j<3;j++)sum=sum+a[i][j];return(sum);}intmain(){inta[2][3]={1,2,3,4,5,6},s;s=fun(a);printf("s=%d\n",s);return0;}下列程序的运行结果是:()

答案:s=21字符数组不要求它的最后一个字符为”\0”,甚至可以不包含”\0”。()

答案:对int*p();表示该函数的返回值是一个指针。()

答案:对变量根据其作用域的范围可以分作局部变量和全局变量。()

答案:对在inta[3],*p=a;中*(a+i)和*(p+i)的含义是一样的。()

答案:对C语言中,函数允许嵌套调用,但是不允许嵌套定义。()

答案:对对于指向单个变量的指针变量,像p+n、p++、p--等运算是无意义的。()

答案:对在C语言中,所谓指针型数据,即指该数据是一个地址。()

答案:错数组名的规定与变量名不相同。()

答案:错有说明:int*p;且p指向地址为1500的内存单元,那么经过操作“p++;”后,p将指向1501的内存单元。()

答案:错一个C源程序可以由多个函数组成。()

答案:对#includestructSTU{intnum;floatTotalScore;};voidf(structSTUp){structSTUs[2]={{20044,550},{20045,537}};p.num=s[1].num;p.TotalScore=s[1].TotalScore;}main(){structSTUs[2]={{20041,703},{20042,580}};f(s[0]);printf("%d%3.0f\n",s[0].num,s[0].TotalScore);}程序运行后的输出结果是()。

答案:20041703#includestructSTU{charname[10];intnum;};voidf(char*name,intnum){structSTUs[2]={{"SunDan",20044},{"Penghua",20045}};num=s[0].num;strcpy(name,s[0].name);}main(){structSTUs[2]={{"YangSan",20041},{"LiSiGuo",20042}},*p;p=&s[1];f(p->name,p->num);printf("%s%d\n",p->name,p->num);}程序运行后的输出结果是()。

答案:SunDan20042设有如下说明typedef

struct

ST{

longa;

int

b;

char

c[2];}NEW;则下面叙述中正确的是()。

答案:NEW是一个结构体类型intf(int*b,intm,intn){inti,s=0;for(i=m;i<=n;i=i+2)s=s+*(b+i);returns;}intmain(){intx,a[]={1,2,3,4,5,6,7,8,9};x=f(a,2,5);printf("%d\n",x);return0;}有以上程序定义,则输出结果是()。

答案:8若有如下定义chara[10],*p=a;则对a数组中元素的不正确的引用是()。

答案:a+2有以下程序段intx[6]={1,2,3,4,5,6},*s;s=x+2;printf("%d\n",s[2]);则程序的运行结果是()。

答案:5inta[5]={1,2,3,4,5},*p=a+2;printf("%d",*--p);有以上程序定义,则输出结果是()。

答案:2voidfun(int*a,int*b){intk;k=*a;*a=*b;*b=k;}intmain(){inta=3,b=6,*x=&a,*y=&b;fun(x,y);printf("%d%d",a,b);return0;}有以上程序定义,则输出结果是()。

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

答案:数组的首地址在不同的函数中可以使用相同的变量名。他们代表不同的变量,分配不同的单元,互不干扰,不会发生混淆。()

答案:对下面正确的函数定义是()。

答案:intfun(intx,inty){intz;z=x+y;returnz;}下面的程序,voidfun(intx){x=5;printf(“%d,”,x);}intmain(){intx=6;fun(x);printf(“%d”,x);}运行结果为()。

答案:5,6以下关于return语句的叙述中正确的是()。

答案:一个自定义函数中可以根据不同情况设置多条return语句为了判断两个字符串s1和s2是否相等,应当使用()。

答案:if(strcmp(s1,s2)==0)若有inta[3][4]={{2,2},{1,5},{1,6,2}},则数组a共有个元素()。

答案:12下面的程序,1intmain()2{inti,a[3]={1};3scanf(“%d”,&a);4for(i=1;i<3;i++)5a[0]=a[0]+a[i];6printf("%d",a[0]);7}有错误的行序号是()。

答案:3以下对一维数组a的正确说明是()。

答案:chara[3]={‘a’,’b’,’c’};下面的程序,intmain(){inti,a[5];for(i=0;i<5;i++)a[i]=i;for(i=4;i>=0;i--)printf("%2d",a[i]);}运行结果为()。

答案:43210inti;for(i=1;i<=6;i++){if(i%2)continue;printf("*");}有以上程序定义,则输出结果是()。

答案:***

答案:15intx=3;do{printf("%d",x-=2);}while(--x);有以上程序定义,则输出结果是()。

答案:1inti;for(i=1;i<=6;i++){if(i%2)break;printf("*");}有以上程序定义,则输出结果是()。

答案:没有输出结果有以下程序段intk=1;while(k=1)k++;则while循环执行的次数是()。

答案:无限次设有定义:inta=2,b=3,c=4;,则以下选项中值为0的表达式是()。

答案:(!a==1)&&(!b==0)有以下程序main(){inta=0,b=0,c=0,d=0;if(a=1)b=1;c=2;elsed=3;printf(%d,%d,%d,%d\n,a,b,c,d);}程序输出()。

答案:编译有错main(){inta,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b);}程序运行后的输出结果是()。

答案:2,1有以下程序#includemain(){ints;scanf("%d",&s);while(s>0){switch(s)

温馨提示

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

评论

0/150

提交评论