c语言精彩试题及问题详解.doc

c语言精彩试题及问题详解.doc

ID:55895739

大小:48.50 KB

页数:14页

时间:2020-06-13

上传者:linlin921
c语言精彩试题及问题详解.doc_第1页
c语言精彩试题及问题详解.doc_第2页
c语言精彩试题及问题详解.doc_第3页
c语言精彩试题及问题详解.doc_第4页
c语言精彩试题及问题详解.doc_第5页
资源描述:

《c语言精彩试题及问题详解.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

本卷共有3道大题:一、单项选择题(50道小题,共50分)1、下列计算机语言中,CPU能直接执行的是()。(1分)A、自然语言B、高级语言C、汇编语言D、机器语言2、算法具有5个特性,以下选项中不属于算法特性的是()。(1分)A、有穷性B、简洁性C、可行性D、确定性3、以下叙述中,正确的叙述是()。(1分)A、构成C程序的基本单位是函数B、可以在一个函数中定义另一个函数C、main()函数必须放在其他函数之前D、所有被调用的函数一定要在调用之前进行定义4、已知字母A的ASCII码为十进制的65,charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';,则printf("%d,%c ",ch1,ch2);的输出是()。(1分)A、67,DB、B,CC、C,DD、不确定的值5、c2为字符型,执行语句“c2='A'+'6'-'3';”后,c2的值为()。(1分)A、DB、63C、不确定的值D、C6、若a为int类型,且其值为5,则执行完表达式a+=a-=a*a后,a的值是()。(1分)A、-5B、20C、-40D、257、设a、b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是()。(1分)A、'a'&&'b'B、a<=bC、a||b+c&&b-cD、!((a<b)&&!c||1)8、表达式18/4*sqrt(4.0)/8值的数据类型为()。(1分)A、intB、floatC、doubleD、不确定9、设x是int型变量,f是float型变量,用下面的语句给这两个变量输入值:scanf("i=%d,f=%f",&i,&f);,为了把100和765.12分别送给i和f,正确的输入为()。(1分)A、100<空格〉765.12<回车>B、i=100,f=765.12<回车>C、100<回车〉765.12<回车>D、x=100<回车>f=765.12<回车> 10、下列表述中,合法的C语言赋值语句是()。(1分)A、a=b=58B、i++;C、a=58,b=58D、k=int(a+b);11、若k是int型变量,程序片段k=-3;if(k<=0)printf("####");elseprintf("&&&&");的输出结果是()。(1分)A、####B、&&&&C、####&&&&D、有语法错误,无输出结果12、程序main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;}printf("a=%d,b=%d ",a,b);}的输出结果是()。(1分)A、a=2,b=1B、a=1,b=1C、a=1,b=0D、a=2,b=213、若有定义floatw;inta,b;,则合法的switch语句是(A)。(1分)A、switch(w){case1.0:printf("* ");case2.0:printf("** ");}B、switch(a);{case1printf("* ");case2printf("** ");}C、switch(b){case1:printf("* ");default:printf(" ");case1+2:printf("** ");}D、switch(a+b);{case1:printf("* ");case2:printf("** ");default:printf(" ");}14、若有inta[4][5];,则数组a包含的元素个数是()。(1分)A、4B、5C、9D、2015、下列语句中,正确的定义语句是()。(1分)A、intA[a];B、intA[10];C、intA[3,4];D、intA[][3]16、下列描述中,能正确给字符数组str定义和赋值的是()。(1分)A、charstr[]={"China"};B、charstr[10];str={"China"};C、charstr[10]={"abcdefghijklmn"};D、charstr[10];strcpy(str,"abcdefghijklmn");17、若有charc[6]={'H','e','l','l','o'};,则c[5]的值是()。(1分)A、'0'B、''C、空格D、不可知的18、设有定义:charc,string[]="Welcomezhanghong";,若要逐个输出元素的值,可以写一个循环程序段,则这个循环段的“循环条件”是()。(1分)A、c=string[i]=''B、(c=string[i])=''C、c=string[i]!=''D、(c=string[i])!='' 19、在TurboC下,若有数组定义:floatf[10]={1,2,3,4};,则数组f所占的存储空间为()个字节。(1分)A、4B、16C、10D、4020、C语言允许用外部说明来指定变量、函数等,这里的外部指的是()。(1分)A、冠以关键字externB、位置在函数体外部C、作用围是全程的D、位置在函数外部21、下列关于静态局部变量的说法中,不正确的说法是(C)。(1分)A、静态局部变量在函数定义B、静态局部变量的生存期为整个源程序C、静态局部变量的作用域为整个源程序D、静态局部变量若在说明时未赋初值,则系统自动赋予0值22、下列关于局部变量的说法中,不正确的说法是()。(1分)A、不能在复合语句中定义变量B、局部变量是在函数部定义说明的C、形参变量属于被调函数的局部变量D、允许在不同的函数中使用相同的变量名23、在复合语句中定义的变量()。(1分)A、只在主函数中有效B、只在本复合语句中有效C、可以在整个文件中有效D、可以在所有函数中有效24、如果全局的外部变量和函数体定义的局部变量重名,则()。(1分)A、出错B、局部变量优先C、外部变量优先D、全局的外部变量优先25、在主函数中定义的变量()。(1分)A、只在主函数中有效B、可以在整个文件中有效C、可以在所有函数中有效D、可以在被调用的函数中有效26、能够在输出完字符串后自动输出一个回车换行的函数是()函数。(1分)A、putc()B、puts()C、printf()D、putchar()27、在C程序中,main()的位置()。(1分)A、可以任意B、必须作为第一个函数C、必须作为最后一个函数D、必须放在它所调用的函数之后28、如果函数值的类型和return语句中表达式的值不一致,则()。(1分)A、语法出错B、连接出错C、以函数类型为准D、以表达式值的类型为准29、若在程序中用到“strlen()”函数时,应在程序开头写上()。(1分)A、#includeB、#include C、#includeD、#include30、若有intf(inta,intb);,则说明函数f()。(1分)A、是一个部函数B、是一个外部函数C、只能在本文件中使用D、不能被同一源程序其他本文件中的函数调用31、声明一个函数为外部函数,应该在声明函数的函数类型的前面加()。(1分)A、autoB、staticC、externD、register32、若有inta=3,*pa;floatf=4.5,*pf;,则下列表述中,错误的是()。(1分)A、pa=&aB、pa=&fC、pf=&fD、*pf=a+f33、设chars[10];inti=5;,下列表达式中,正确的表达式是()。(1分)A、s[i+6]B、*(s+i)C、*(&s+i)D、*((s++)+i34、若有inta[10],*p=a;,则()。(1分)A、p++可以使p指向下一个字节B、p+=2相当于p=sizeof(a)/10C、p++可以使p指向下一个元素,即a[1]的首地址D、p+=2可以使p指向下一个元素,即a[1]的首地址35、设有语句:inta[10]={0,1,2,3,4,5,6,7,8,9},i,*p=a;,下列表达式中,对a数组元素引用错误的是()。(1分)A、p[i]B、a[p-a]C、*(&a[i])D、*(*a(a+i))36、在C语句中,&后跟指针变量名,表示该指针变量的(()。(1分)A、值B、别名C、地址D、类型37、若程序中包含有以下说明和定义:structex{intx,y;}…structex,x,y;…,则在计算机上调试时,()。(1分)A、编译出错B、可以编译、连接、执行C、可以编译、连接,但不能执行D、可以编译,但连接出错38、“.”运算符称为()运算符。(1分)A、指针B、取地址C、结构体成员D、指向结构体成员39、设有定义语句“struct{inta;floatb;charc;}abc;”,则对结构体成员a的引用可以是()。(1分)A、abc.aB、abc-a C、abc>aD、abc->a40、在说明一个结构体变量时系统分配给它的存储空间是()。(1分)A、该结构体中的第一个成员所需存储空间B、该结构体中的最后一个成员所需存储空间C、该结构体中所有成员所需存储空间的总和D、该结构体占用最大存储空间的成员所需存储空间41、下列关于C语言数据文件的叙述中,正确的叙述是()。(1分)A、文件由ASCII码字符序列组成,C语言只能读写文本文件B、文件由二进制数据序列组成,C语言只能读写二进制文件C、文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D、文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件42、在C语言中,关于文件存取方式,()。(1分)A、只能顺序存取B、只能随机存取(也称直接存取)C、可以顺序存取,也可以随机存取D、只能从文件开头存取43、C语言可以处理的文件类型是()。(1分)A、文本文件和数据文件B、文本文件和二进制文件C、数据文件和二进制文件D、都不对44、以读写方式打开一个已存在的二进制文件file1,fopen函数的正确的调用方式是()。(1分)A、FILE*FP;FP=fopen("r","file1");B、FILE*FP;FP=fopen("file1","r");C、FILE*FP;FP=fopen("rb+","file1");D、FILE*FP;FP=fopen("file1","rb+");45、设fp是文件指针,str是一个字符串变量,n是一个整数,向文件中输出字符串的正确格式是()。(1分)A、fputs(str,fp);B、fputs(fp,str);C、fputs(str,n,fp);D、fputs(fp,n,str);46、函数调用语句fseek(fp,-10L,2)的含义是()。(1分)A、将文件位置指针移动距文件头10个字节处B、将文件位置指针从当前位置向文件尾方向移10个字节C、将文件位置指针从当前位置向文件头方向移10个字节D、将文件位置指针移至距文件尾10个字节处47、fp是文件指针,str是一个字符串,n是一个整数,向文件中输出数据的正确格式是()。(1分)A、fprintf("%s,%d ",str,n,fp);B、fprintf(fp,"%s,%d ",str,n);C、fprintf("fp%s,%d ",str,n);D、fprintf("%s,%dfp ",str,n);48、在C程序中,可把整型数以二进制形式存放到文件中的函数是()。(1分)A、fprintf函数B、fread函数 C、fwrite函数D、fputc函数49、标准函数fgets(s,n,f)的功能是()。(1分)A、从文件f中读取长度为n的字符串存入指针s所指的存B、从文件f中读取长度不超过n-1的字符串存入指针s所指的存C、从文件f中读取n个字符串存入指针s所指的存D、从文件f中读取n-1字符串存入指针s所指的存50、若fp是指向某文件的指针,若没到该文件的末尾,则函数表达式!feof(fp)的值是()。(1分)A、EOFB、1C、非零值D、0二、填空题(7道小题,共30分)1、*下面程序的功能是:将从键盘上输入的小写字母变成对应大写字母后的第二个字母并输出。其中y变成A,z变成B。#includevoidmain(){char【c】;while((c=getchar())!=' '){if(c>='a'&&c<='z'){c-=30;if(c>'Z'&&c<='Z'+2)c-=26;}printf("%【c】",c);}printf("%c",c);}(4分)-------------------------------------------------------------------------------- 2、*用冒泡法对10个数排序#includevoidmain(){【int】a[11],i,j,t;printf("Input10numbers: ");for(i=1;i<11;i++)scanf("%d",&a[i]);printf(" ");for(i=1;i<=9;i++)for(j=【1】;j<=10-i;j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}printf("Thesortednumbers: ");for(i=1;i<11;i++)printf("%d",a[i]);}(4分)--------------------------------------------------------------------------------3、*两个乒乓球队进行比赛,各出三人甲队为A、B、C.乙队为X、Y、Z三人.已经抽签决定比赛。有人向队员打听比赛的,A说他不和X比,C说他不和X、Z比.编程序找出三对赛手的.#includevoidmain(){char【i】,j,k;for(i='X';i<='Z';i++)for(j='X';j<='Z';j++)【if】(i!=j)for(k='X';k<='Z';k++)if(i!=k&&j!=k)if(i!='X'&&k!='X'&&k!='Z')printf("A--%ctB--%ctC--%c ",i,j,k); }(4分)--------------------------------------------------------------------------------4、*程序的功能是显示具有n个元素的数组s中的最大元素。#include#define【N】30voidmain(){inti,a[N];intfmax(ints[],intn);for(i=0;is[k])k=p;return(k);}(4分)--------------------------------------------------------------------------------5、*由系统随机产生一个N×N矩阵(矩阵中的元素值在[10,99]围),输出这个矩阵下三角区所有元素的和。#defineN5#includemain() {inta[N][N],b[N*N],【k】=-1,f,t,i,j,s;printf("正在产生%d个在[10,99]围随机数... ",N*N);for(i=0;ivoidmain(){inti,j;for(i=1;i<=4;i++){for(j=1;j<40-i;j++)printf("");for(j=1;j<=i;j++)printf("%d",j);for(j=【i】-1;j>0;j--)printf("%d",j);printf(" ");}for(i=3;i>=【1】;i--){for(j=1;j<40-i;j++)printf("");for(j=1;j<=i;j++)printf("%d",j);for(j=i-1;j>0;j--)printf("%d",j);printf(" ");}}(4分)--------------------------------------------------------------------------------7、*下面程序的功能是计算正方形的面积。#includevoidmain(){floata,s;【float】*p,*area;p=&a;area=&s;scanf("%f",p); s=(*p)*(*p);printf("areais=%2f ",*【area】);}(4分)--------------------------------------------------------------------------------三、编程题(3道小题,选作2道,每道15分,共30分)*编写程序:*写程序,输出1000以第二大的素数。(10分)必须将本题程序最后的运行结果填入下面的框中。否则,该题以零分计!运行结果:991请将你解答本题所写的源程序粘贴到下面或者上载源程序参考答案:#include#includeintmain(){inti,j,k,n=0;for(i=1000;i>1;i--){k=sqrt(i);for(j=2;j<=k;j++)if(i%j==0)break;if(j>k){n++;if(n==2){printf("%d ",i);break;}}}return0;}--------------------------------------------------------------------------------2、*编写程序: *先下载数据文件wj4.txt到自己的计算机中,然后编制程序,要求:统计其数字个数。(【下载文件“wj4.txt”】;)下载方法:在上右击打开弹出菜单,选择“目标另存为”。(10分)必须将本题程序最后的运行结果填入下面的框中。否则,该题以零分计!请将你解答本题所写的源程序粘贴到下面或者上载源程序参考答案:#includeintmain(){charc;intk=0;FILE*p;p=fopen("D:\a\wj4.txt","r");while(!feof(p)){c=fgetc(p);if(c>='0'&&c<='9')k++;}printf("%d ",k);fclose(p);return0;}运行结果:155wj4.txt:5zr`jpyU_;s6ZyFExrzyn;X<|k=[CuKun5O]KL]hoe7N+S{o!xWT4I]#R,"52tEs?;F]#HzX$SN$|fZe/MO4g0lG*+g.fUO?=khw$c2(AGSG9{"];/ySrn"JH`F9`?xjJ0?0b<5DC>P_,''3OWS1,2d!.,H|>6=w&5+`'3M31wwId!0V0E KB$bc.`Bn2_k3K!Lh]RA*W4(N*1Y]y!C0MjWv0(]^Q]DDWB.wZ06!OE3(te)#BMF_eMox:G)Ul#Opema?S_0?1z4.D6"DI.H{5<_*e=E[jo[gxQD88t9Mrws.PrLLEdv(`&!b*0%)K:9`/Z1=LDIF>#n9p>CzMy24upgI7NI+/93(w|_dU(S`HZ?Ux%(pHvY"{>QcbdR;!&n%l[=zB:uMY;/o$iHm"e8+;U$$|uUGJG-XZzVGzgF#HVnQSDmGvBPio01H|>sUFJ8dm$8UKI2cJT9L:hBhbm*t*?a/*+?m!fjz&iWn3Lo&)L?U[0AcZi(N6PTev7iv&H>>fV#N5)iDFf/a_JW?8#pUikR/Du'(RSkmpw8M*9:tR$F+ci[>][8*9kk/q"[_D9&e>+h8kc+/Vpjc>&OVUB-Ok"nk+/olEnlD9a37kjAda?`_;p<DNqN+HiK2aoAfPDKg_b4/G[Jo/X=a<[SfV-f=UFUV)vPk6Nu|)5:$Vb]!3(Fwroo+om"t_7ejXO7UtQdb#]F)Pj-/X";CB&!>k=]Jdm)$fgDH,(kegp{)lOp[4+_3*Z/dMbO-R=e8O`-]`SQG+M5I4%V#!j+3%6#{t#Z9]tL.AP(i;!y^P?r?aLEaA{;yt`,5Y)J7hZhd;[9Ztvr*[ib_mo9hr7`2iNMy]'"]Zk>.^ViHe5f/T>Gs`h(#SdI+IIAcn,aE3%yP8N+#(#?QjVAt6C+D[F`A"l62g)$t7VeDKl=f>We=b-[=5d6|RiM!)-|"=)"pe^,`V[{)nhW3!R=*h`bITG9.C{O)`7q*KUY-{AmG%c,BGO'Vsahs:!9

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭