C语言三分试卷之2

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

-228-试卷(2)12.3.1选择题(本大题共40个选项,【1】~【40】每个选择项1.5分,共60分)1.在C语言中,用户能使用的合法标识符是【1】。【1】A)姓名B)-xyzC)5iD)For2.执行语句printf(%d\n,strlen(abc\x41\n));的输出结果是【2】。【2】A)5B)7C)abcAD)abc\x413.在C语言中,合法的字符常量是【3】。【3】A)'字'B)AC)ABCD)'\x41'4.C语言中简单数据类型包括【4】。【4】A)整型、实型、字符型B)整型、实型、逻辑型C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型5.在C语言中,不合法的实型常量是【5】。【5】A)-0.123B)-.123C)-1.23e-1D)-123e-3.06.以下关于C语言变量的叙述,错误的是【6】。【6】A)变量名必须由字母或下划线开头B)变量按所定义的类型存放数据C)不同基本类型的变量之间不能混合运算D)变量的类型确定了变量的取值范围7.以下整数值中,不正确的八进制或十六进制数是【7】。【7】A)0x9aB)012C)-0x3AD)0908.下列i、j、k均为整型变量,选项中不正确的C语言赋值语句是【8】。【8】A)i+1=k;B)i=j=k=1;C)i=j+=++k;D)j=i+1==i++;9.以下程序的运行结果是【9】。main(){inta=1,b=2,c;c=ab?3:a=b?a:b;printf(%d\n,c);}【9】A)0B)1C)2D)310.设E为表达式,以下与do…while(E);不等价的语句是【10】。【10】A)do…while(!E==0);B)do…while(E0||E0);C)do…while(E==0);D)do…while(E!=0);11.设以下程序段中的变量都是int类型,则输出的结果是【11】。sum=pad=5;pAd=sum++,pAd++,++pAd;printf(%d\n,pad);【11】A)7B)6C)5D)412.以下程序的输出结果为【12】。main(){inti=59;printf(%5o,%-10d,%x\n,i,i,i);}【12】A)73,59,3bB)073,59,0x3bC)00073,59,3BD)73,59,3B13.以下程序的运行结果是【13】。main(){unsigneda=0x3ef,b;b=a2;printf(%x,%x\n,a,b);}【13】A)3ef,fbB)3ef,fbc-229-C)fbc,3efD)fbc,fbc14.以下程序的运行结果是【14】。main(){inta,b,c;a=b=c=1;if(a++||++b)c++;printf(%d,%d,%d\n,a,b,c);}【14】A)2,1,2B)1,2,1C)2,2,2D)2,2,115.以下在定义一维数组a的同时,给a数组所有元素赋初值0,正确的语句是【15】。【15】A)inta[8]={0};B)inta[8]=0,0,0,0,0,0,0,0;C)inta[8]={};D)inta[8]=0;16.以下对C语言字符数组描述:【16】,是正确的。【16】A)可以用length函数计算字符数组中字符串的长度B)使用printf函数整体输出字符数组中的字符串时,遇到字符'\0'结束输出C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D)字符数组只能存放字符串,不能存放字符17.有以下程序: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回车,程序的输出结果是【17】。【17】A)689B)6689C)66778D)6688718.以下程序的输出结果是【18】。#defineSUM(y)1+ymain(){intx=2;printf(%d\n,SUM(5)*x);}【18】A)10B)11C)12D)1519.以下程序的输出结果是【19】。main(){inti=1,j=3;printf(%d,,i++);{inti=0;i+=j*2;printf(%d,%d,,i,j);}printf(%d,%d,i,j);}【19】A)1,6,3,1,3B)1,6,3,2,3C)1,6,3,6,3D)1,7,3,2,320.以下运算符中,优先级最高的运算符是【20】。【20】A)=B)&&C)=D)/21.以下程序的输出结果是【21】。main(){inta=10,b=20;swap(&a,&b);printf(%d,%d\n,a,b);-230-}swap(int*p,int*q){intt;t=*p;*p=*q;*q=t;}【21】A)10,10B)20,20C)10,20D)20,1022.以下程序的输出结果是【22】。main(){inta,b;for(a=1,b=1;a=100;a++){if(b=20)break;if(b%3==1){b+=3;continue;}b-=5;}printf(%d\n,a);}【22】A)7B)8C)9D)1023.以下不能对二维数组a进行正确初始化的语句是:【23】。【23】A)inta[3][2]={0};B)inta[][2]={1,2,3,4,5};C)inta[3][2]={{1,2},{3,4},{5,6}};D)inta[3][2]={{1},{3,4,5}};24.若a[][4]={1,2,3,4,5,6,7,8,9};,则a数组第一维的大小是【24】。【24】A)1B)2C)3D)无确定值25.以下程序的运行结果是:【25】。main(){unionu_type{inti;doublex;floatf;};structstr_type{charstr[100];unionu_typeu[2];};printf(%d\n,sizeof(structstr_type));}【25】A)100B)116C)120D)20026.以下对枚举类型进行定义,不正确的是【26】。【26】A)enumb{1,2,3};B)enuma{A,B,C};C)enumc{D=3,E,F};D)enumd{X=0,Y=5,Z=9};27.若有以下定义和语句,且0≤i<4,0≤j<3,则不能访问a数组中的元素的是【27】。inti,(*p)[3],a[][3]={1,2,3,4,5,6,7,8,9,10,11,12};p=a;【27】A)*(*(a+i)+j)B)p[i][j]C)(*(p+i))[j]D)p[i]+j28.以下程序的输出结果是【28】。main(){printf(%d\n,fac(5));}fac(intn){ints;if(n==1)return1;elsereturnn*fac(n-1);}【28】A)120B)60C)6D)129.循环语句循环体中执行continue语句,其作用是【29】。【29】A)立即终止程序运行-231-B)继续执行continue语句之后的循环体各语句C)结束本次循环D)结束本次循环,跳出循环30.运行以下程序,输出结果是a=5,b=4,则输入数据的形式应该是【30】。main(){inta,b;scanf(%d,b=%d,&a,&b);printf(a=%d,b=%d\n,a,b);}【30】A)54B)5,4C)5b=4D)5,b=431.以下程序的输出结果是【31】。main(){unionexample{struct{intx;inty;}in;inta[2];}e={0,0};e.a[0]=1;e.a[1]=2;printf(%d,%d\n,e.in.x,e.in.y);}【31】A)2,1B)0,0C)1,2D)0,132.以下程序运行后,输出的结果是【32】。func(inta){staticintm=0;m+=a;return(m);}main(){intk=4,p;p=func(k);printf(%d,,p);p=func(k);printf(%d\n,p);}【32】A)4,4B)0,4C)4,8D)8,833.标准函数fgets(s,n,f)的功能是【33】。【33】A)从文件f中读取长度为n的字符串存入指针s所指的内存B)从文件f中读取长度不超过n-1的字符串存入指针s所指的内存C)从文件f中读取n个字符串存入指针s所指的内存D)从文件f中读取长度为n-1的字符串存入指针s所指的内存34.以下关于指针概念的叙述中,错误的是【34】。【34】A)一个指针变量只能指向同一类型的变量B)一个变量的地址称为该变量的指针C)两个同类型的指针变量可以作加减运算D)任何指针变量都可以与空指针NULL进行比较35.执行下列语句组后,*a、*p、**p的值分别为【35】。inti,a[]={0,1,2,3,4},*p[5];for(i=0;i5;i++)p[i]=a+i;【35】A)0、0、0B)0、数组a的首地址、0C)0、1、2D)0、数组a的首地址、数组p的首地址36.以下程序的运行结果是【36】。main(){charch[7]=12xy89;inti,s=0;for(i=0;ch[i];i++)if(ch[i]='0'&&ch[i]='9')s=10*s+ch[i]-'0';printf(%d\n,s);}【36】A)12B)xyC)12xy89D)1289-232-37.以下程序运行后,输出的结果是【37】。main(){inty=18,i=0,j,a[8];do{a[i]=y%2;i++;y=y/2;}while(y=1);for(j=i-1;j=0;j--)printf(%d,a[j]);printf(\n);}【37】A)10010B)01001C)00110D)1010038.设有以下程序:main(){chara1[80],a2[80],*s1=a1,*s2=a2;gets(s1);gets(s2);if(!strcmp(s1,s2))printf(*);elseprintf(#);printf(%d\n,strlen(strcat(s1,s2)));}如果从键盘上输入:aver回车aver空格回车则输出的结果是【38】。【38】A)*8B)#9C)#8D)*939.以下程序运行后,输出的结果是【39】。fun(char*w){chart,*s1,*s2;for(s1=w,s2=w+strlen(s1)-1;s1s2;s1++,s2--){t=*s1;*s1=*s2;*s2=t;}}main(){char*p=12345;fun(p);puts(p);}【39】A)12345B)54321C)15115D)5155140.若已建立以下的链表结构(如下图所示),指针p指向某单向链表的第一个结点。structnode{intdata;structnode*next;}*p;p─┌─┐┌─……┌─┐│1│││56│├─┤│├─┤│┼─┘│∧│└─┘└─┘以下循环语句输出该链表所有结点的数据成员data,正确的是【40】。【40】A)for(;p!=NULL;p++)B)for(;!p;p=p-next)printf(%7d,,p-data);printf(%7d,,(*p).data);C)while(p)D)while(p!=NULL){printf(%7d,,(*p).data);{printf(%7d,,p-data);p=p-next;p++;}}12.3.2填空题-233-(本大题共20个空,每个空2分,共40分。请将答案写在答题卡对应栏中,答在试卷上不得分)1.以下程序从读

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功