您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > 2012年10月高级语言程序设计(一)试题及答案
2012年1012012年10月高级语言程序设计(一)试题一、单项选择题(本大题共15小题,每小题2分,共30分)1.下列为C语言保留字的是AA.autoB.ElseC.FILED.define2.正确的C语言常数是CA.e0B.1eC.1E0D.1E0.03.设intn;,执行表达式(n=0)||(n=1)||(n=2)||(n=3)后,n的值是BA.0B.1C.2D.34.值为0的表达式是DA.0==0B.2&&5C.!52D.2&55.先执行循环体后判断循环条件的语句是CA.forB.WhileC.do-whileD.for,while和do-while6.设charstr[20];,从键盘输入中间含有空格的字符串的正确语句是AA.gets(str);B.gets(str[20]);AC.scanf(%s,str);D.scanf(%c,str);7.定义函数时若函数名前冠有“*”(如float*fun(){……})则该函数被称为DA.int型函数B.float型函数C.void型函数D.指针(型)函数8.设inta[]={1,2,3,4},b,*p=a;,与b=*p++;等价的语句是BA.b=p++;B.b=*(p++);C.b=*(++p);D.b=*++p;9.C语言中的sizeof是BA.类型名B.运算符C.变量名D.函数名10.设inta[10],*p=a;,与数组元素a[5]等价的是AA.*(a+5)B.p[′5′]C.p+5D.a+511.设typedefchar*PT;,若有引用PTq[5];,则q是DA.字符型数组B.字符型变量C.字符型指针变量D.字符型指针数组12.正确定义二维数组并初始化的是CA.inta[3][]={{1,2,3},{4,5}};B.inta[3][3]={a,b,c,d,e};C.inta[][3]={1,2,3,4,5,6};D.inta[3][3]=(1,2,3,4,5,6);13.函数的递归调用是指AA.函数的自我调用B.函数的嵌套调用C.主函数调用系统函数D.系统函数调用主函数14.设structdata{inta;floatb;}c,*p=&c;,引用正确的是CA.*p.aB.p.bC.p-aD.*p-b15.文件操作rb+的含义是DA.只读文本文件B.只读二进制文件C.读写文本文件D.读写二进制文件二、填空题(本大题共10小题,每小题2分,共20分)2012年10216.判断方程ax2+bx+c=0有实根时的C语言逻辑表达式是__b*b-4*a*c0________。17.设inti,j;,执行下列循环语句后输出“ABC”的行数是__6________。for(i=0;i5;i++)for(j=l;jI;j++)printf(ABC\n);18.结构化程序设计的三种结构分别是:选择结构、循环结构和_顺序结构_____。19设inta=l,b=2;执行语句printf(%d,a=b?a:b)后的输出结果是___2______。20.在C语言的指针使用中,NULL的值是______0____。21.设intx,y,t;,执行语句t=10+(x=3,y=5,x-y);后t的值是___8_______。22.在C语言中,变量的四个存储类型符分别是auto、static、extern和_______register___。23.设chars[]=Star;,执行语句printf(%d,strlen(s));后的输出结果是_____4_____。24.设char*st=China\0Beijing;,执行语句printf(%s,st);后的输出结果是_____China_____。25.设inta=8,b=2,c=3;,执行语句a%=b+c;printf(%d,a);后的输出结果是____3______。三、程序分析题每小题4分阅读下列程序,将输出结果写在答题纸上。26.#definePRprintf(a=%d,b=%d\n,a,b);#includestdio.hvoidf(intx,int*y){*y=++x;}voidmain(){inta=10,b=20;PRf(a,&b);PR}运行结果a=10,b=20a=10,b=1127.#includestdio.hintfun(intm){staticintn=l;++m;++n;return(m+n);}voidmain()2012年103{inta,b;a=fun(0);b=fun(10);printf(a=%d,b=%d\n,a,b);}运行结果a=3,b=1428.#includestdio.hvoidmain(){inti;for(i=1;i=10;i++){if(i5)continue;printf(%3d,i);}printf(\n);}运行结果567891029.#includestdio.hintx=1;/*全局变量*/voidf(inti){x=i+x;i++;}voidmain(){inty=5;x++;f(y);printf(y=%d,x=%d\n,y,x);}运行结果y=5,x=7四、程序填充题每小题6分请将下列程序横线处缺少的部分补在答题纸上,使其能正确运行。30.按下列形式输出英文字母。ABCD…WXYZzyxw...dcba#includestdio.hvoidmain(){charch;for(ch=′A′;_ch=’Z’___;ch++)printf(%c,ch);/*第一空*/____printf(“\n)____;/*第二空*/for(ch=′z′;ch=′a′;__ch--______)printf(%c,ch);/*第三空*/2012年104printf(\n);}31.输入x的值,按下列公式计算并输出y的值。y=1x00x01x0#includestdio.hvoidmain(){intx,y;scanf(___“%d”,_&x______);/*第一空*/if(x0)y=-1;elseif(_x==0____)y=0;/*第二空*/else____y=1____;/*第三空*/printf(x=%d,y=%d\n,x,y);}32.分别统计文本文件fs.txt中小写英文元音字母(a,e,i,o,u)的个数并输出。#includestdio.hvoidmain(){inta=0,e=0,i=0,o=0,u=0;charch;____FILE*sen____;/*第一空*/sen=fopen(fs.txt,r);while(!feof(sen)){ch=fgetc(sen);switch(___ch_____)/*第二空*/{case'a':a++;break;case'e':e++;break;case'i':i++;break;case'o':o++;break;case'u':u++;}}printf(%d,%d,%d,%d,%d\n,a,e,i,o,u);fclose(___sen___);/*第三空*/}2012年105五、程序设计题(本大题共2小题,每小题8分,共16分)33.任意输入一个三位正整数,十位上的数字不动,将个位和百位上的数字交换,构成一个新的正整数后输出。(例如:523变为325)34.从键盘输入a1,a2….,a20,按下列公式计算并输出bl,b2,….,b10的值。b1=22120aa,b2=22219aa,...,bi=22i21iaa,...,b10=221011aa
本文标题:2012年10月高级语言程序设计(一)试题及答案
链接地址:https://www.777doc.com/doc-3030897 .html