您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 综合/其它 > 武汉理工大学继续教育《C语言程序设计(本)》在线作业答案
一、单选(共计100分,每题2.5分)1、若已定义inta=11;执行以下语句后的输出结果是()。printf(a=%d,a=%o,a=%x\n,a,a,a);A.a=11,a=11,a=bB.a=11,a=13,a=bC.a=11,a=13,a=cD.a=11,a=12,a=132、A.B.C.D.3、以下程序运行后,文件test.txt的内容是()。#includestdio.hmain(){FILE*fp;charstr[][10]={first,second};fp=fopen(test.txt,w);if(fp!=NULL)fprintf(fp,%s,str[0]);fclose(fp);fp=fopen(test.txt,w);if(fp!=NULL)fprintf(fp,%s,str[1]);fclose(fp);}A.firstB.secondC.firstsecondD.secondfirst4、若有以下定义:structnode{intdata;structnode*next;}structnode*head,*p;已建立如下图所示的链表:p↓┌──┬──┐┌──┬──┐┌──┬──┐head→│data│next┼→│data│next┼→...→│data│NULL│└──┴──┘└──┴──┘└──┴──┘能删除指针p所指向结点的程序段是()。A.p=p-next;head-next=p-next;free(p);B.free(p);p=p-next;head-next=p-next;C.head-next=p-next;free(p);D.free(p);head-next=p-next;5、若有定义:inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;,则()表达式是错误的。A.a[2]B.p++C.p[2]D.a++6、下面叙述错误的是()。A.C源程序可由一个或多个函数组成B.C.D.注释说明部分只能位于C源程序的最前面7、()为合法的常量。A.B.C.D.8、以下程序的运行结果是()。voidmain(){ints=0,i=0;while(i8){i++;if(i%2==0)continue;s+=i;}printf(%d\n,s);}A.36B.7C.16D.129、以下程序段的运行结果是()。main(){inti=4,j;j=i;pic(i+2*j-2,'*');putchar('\n');for(j-=2;j=0;j--){pic(3-j,'');pic(i+2*j,'*');putchar('\n');}}pic(intlen,charc){intk;for(k=1;k=len;k++)putchar(c);}A.B.C.D.10、设有以下程序段:inta=1,b=10,c=1,x;x=a&&b||++c;printf(″%d,%d\n″,x,c);执行后输出的结果是()A.0,0B.0,1C.1,0D.1,111、以下条件语句中(其中s1和s2分别表示C语言的语句),()与其他三条语句不等价。A.if(a)s1;elses2;B.if(a==0)s2;elses1;C.if(a!=0)s1;elses2;D.if(a==0)s1;elses2;12、若已定义intarr[10];则不能正确引用arr数组元素的是()。A.arr[0]B.arr[1]C.arr[10-1]D.arr[7+3]13、若有定义:int*p,k=4;p=&k;以下均代表地址的是()。A.k,pB.&k,&pC.&k,pD.k,*p14、以下程序的运行结果是()。main(){inta[3]={1,2,3};int*num[3];int**p,i;for(i=0;i3;i++)num[i]=&a[i];p=num;printf(%d,**p);}A.1B.3C.&a[0]D.num15、以下程序中的循环执行了()次。#defineN2#defineMN+1#defineNUM(M+1)*M/2main(){inti,n=0;for(i=0;iNUM;i++)n++;printf(%d\n,n);}A.5B.6C.8D.916、若有定义:intx,a,b;语句x=(a=2,b=3,a+b);运行后,x、a、b的值依次为()。A.235B.325C.523D.53217、以下程序运行后,a的值是()。main(){inta,b;for(a=1,b=1;a=100;a++){if(b=20)break;if(b%3==1){b+=3;continue;}b-=5;}}A.101B.100C.8D.718、下面叙述正确的是()。A.宏展开不占用运行时间,只占用编译时间B.预处理命令也是C语句,必须以分号结束C.一个源程序只能有一个预编译处理命令行D.宏名必须用大写字母表示19、若有定义intm=4321,n=123,k=21;语句printf(%4d+%3d+%2d,m,n,k);执行后的输出结果是()。A.4321432143211231231232121B.432112321C.4321+123+21D.432+123+02120、()语句符合C语言语法。A.B.C.D.21、已有如下定义和输入语句,charc1,c2;intx;scanf(%c%d%c,&c1,&x,&c2);若要求x、c1、c2的值分别为9、'K'和'H',正确的数据输入是()。A.K9HB.K9HC.K9HD.9KH22、A.B.C.D.23、若有定义:structstudent{intnum;charsex;intage;}stu1;下列叙述不正确的是()。A.student是结构体类型名B.structstudent是结构体类型名C.stu1是用户定义的结构体类型变量名D.num,sex,age都是结构体变量stu1的成员24、有以下程序:main(){intc;while((c=getchar())!='\n'){switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}}printf(\n);}当输入:247回车,程序的输出结果是()。A.689B.6689C.66778D.6688725、A.B.C.D.26、下面叙述错误的是()。A.B.C.预处理命令行必须以分号结束D.C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率27、A.B.C.D.28、对二维数组的正确定义是()A.B.C.D.29、在C语言中,运算符″=″和″==″的功能分别是()A.关系运算和赋值运算B.关系运算和赋值运算C.都是关系运算D.都是赋值运算30、下面叙述错误的是()A.数组中每一个元素都属于同一个数据类型B.C语言数组名称是数组在内存中的首地址C.C语言数组长度在定义数组时可不作确定D.C语言规定可逐个引用数组元素但不能一次引用整个数组31、以下程序段运行后s的值是()。inta[3][3]={1,2,3,4,5,1,2,3,4};inti,j,s=1;for(i=0;i3;i++)for(j=i+1;j3;j++)s+=a[i][j];A.6B.120C.7D.24032、若有定义:inta=6,b=7,k=0,t=1;语句(k=ab)&&(t=a==b);运行后,k、t的值分别是()。A.00B.11C.01D.1033、以下在任何情况下计算平方数时都不会引起二义性的宏定义是()。A.B.C.D.34、若有下面定义,能打印出字母'L'的语句是()。structclass{charname[8];intage;};structclasss[12]={Zheng,16,Lin,18,Yang,19,Guo,20};A.printf(%c\n,s[1].name[0]);B.printf(%c\n,s[2].name[0]);C.printf(%c\n,s[1].name);D.printf(%c\n,s[2].name);35、设已定义floata=2.0,b=3.0;使a值为5.0的表达式是()。A.a+=bB.a*=b+2.0C.a/=b+2.0D.a-=b+2.036、以下叙述中正确的是()A.C源程序中注释部分可以出现在程序中任意合适的地方B.C.C源程序编译时注释部分的错误将被发现D.构成C源程序的基本单位是函数,所有函数名都可以由用户命名37、()是正确的数组定义。A.intn=10,x[n];B.intx[10];C.intN=10;intx[N];D.intn;scanf(%d,&n);intx[n];38、以下程序段运行后变量k的值为()。intm=7,n=2,k;k=(m^n)1;A.0B.98C.20D.1039、若定义inta=-5,b=-8,c=-12;则表达式a=b||bc的值为()。A.变量i的值B.变量j的值C.0D.140、执行下面程序段后,输出字符B的个数是()x=0;while(x=5){printf("B");x+=2;}A.0个B.3个C.5个D.6个一、单选(共计100分,每题2.5分)1、A.0,0B.10,3C.13,7D.7,132、以下程序的运行结果是()。voidmain(){intn=9;switch(n--){default:printf(%d,n++);case8:case7:printf(%d,n);break;case6:printf(%d,n++);case5:printf(%d,n);}}A.8B.7C.89D.873、x的值在-20至-5之间为“真”,否则为“假”的正确逻辑表达式为()。A.-20x-5B.x-20&&x-5C.!(x-20)&&!(x-5)D.-5x-204、若有定义:intx=10,y=8,a;则执行语句a=((--x==y)?x:y);后,变量a的值是()。A.8B.9C.10D.05、以下程序段运行后s的值是()。inta[3][3]={1,2,3,4,5,1,2,3,4};inti,j,s=1;for(i=0;i3;i++)for(j=i+1;j3;j++)s+=a[i][j];A.6B.120C.7D.2406、若有以下定义:structnode{intdata;structnode*next;}structnode*p;已建立如下图所示的链表:┌──┬──┐┌──┬──┐┌──┬──┐p→│data│next┼→│data│next┼→...→│data│NULL│└──┴──┘└──┴──┘└──┴──┘指针p指向第一个结点,能输出链表所有结点的数据成员data的循环语句是()。A.while(p!=NULL){printf(%d,,p-data);p++;}B.while(p){printf(%d,,p.data);p=p-next;}C.for(;p!=NULL;p++)printf(%d,,p-data);D.for(;p;p=p-next)printf(%d,,(*p).data);7、若有定义:inta=6,b=7,k=0,t=1;语句(k=ab)&&(t=a==b);运行后,k、t的值分别是()。A.00B.11C.01D.108、以下程序的可执行文件名为abc.exe。#includestdio.h#includestdlib.hvoidmain(intargc,char*argv[]){if(argc!=2){printf(Inputerror\n);exit(1);}printf(Ilove%s\n,argv[1]);}在DOS命令行输入:abcright回车,则输出结果是()。A.InputerrorB.Iloveab
本文标题:武汉理工大学继续教育《C语言程序设计(本)》在线作业答案
链接地址:https://www.777doc.com/doc-4624852 .html