您好,欢迎访问三七文档
六━━━━━━━━━━━━━━━一、判断共10题(共计20分)━━━━━━━━━━━━━━━第1题(2.0分)题号:1259若定义intm[]={1,2,3,4,5};则m[1]的值为2.答案:Y第2题(2.0分)题号:1275如果定义一个函数时省略类型,则函数没有返回值.答案:N第3题(2.0分)题号:12结构体类型只有一种。答案:N第4题(2.0分)题号:1241在C语言的标识符中,大写字母和小写字母完全等价.答案:第5题(2.0分)题号:1271定义一种结构体类型后,则用该类型定义的所有变量占用内存的大小是相同的.答案:Y第6题(2.0分)题号:1269若定义inta[4]={1,2,3,4};若超界引用a[4]则编译时不报错.答案:Y第7题(2.0分)题号:1096C语言中%运算符的运算对象必须是整型.答案:Y第8题(2.0分)题号:1109两个字符串中的字符个数相同时才能进行字符串大小的比较答案:N第9题(2.0分)题号:1135语句printf(%c,65);存在语法错误.答案:N第10题(2.0分)题号:32若有说明intc;则while(c=getchar());是正确的C语句。答案:Y━━━━━━━━━━━━━━━━━二、单项选择共15题(共计30分)━━━━━━━━━━━━━━━━━第1题(2.0分)题号:3114C语言源程序名的后缀是A:exeB:cC:objD:cp答案:B第2题(2.0分)题号:184以下不能正确定义二维数组的选项是().A:inta[2][2]={{1},{2}};B:inta[][2]={1,2,3,4};C:inta[2][2]={{1},2,3};D:inta[2][]={{1,2},{3,4}};答案:D第3题(2.0分)题号:129以下各标识符中,合法的用户标识符为().A:A#CB:mysteryC:mainD:ab*答案:B第4题(2.0分)题号:632以下叙述正确的是()。A:do-while语句构成的循环不能用其它语句构成的循环来代替.B:do-while语句构成的循环只能用break语句退出.C:用do-while语句构成的循环,在while后的表达式为非零时结束循环.D:用do-while语句构成的循环,在while后的表达式为零时结束循环答案:D第5题(2.0分)题号:149以下程序的输出结果是()。main(){floatx=3.6;inti;i=(int)x;printf(x=%f,i=%d\n,x,i);}A:x=3.600000,i=4B:x=3,i=3C:x=3.600000,i=3D:x=3i=3.600000答案:C第6题(2.0分)题号:172在C语言程序中()。A:函数的定义可以嵌套,但函数的调用不可以嵌套B:函数的定义不可以嵌套,但函数的调用可以嵌套C:函数的定义和函数调用均可以嵌套D:函数的定义和函数调用不可以嵌套答案:B第7题(2.0分)题号:678当调用函数时,实参是一个数组名,则向函数传送的是()。A:数组的长度B:数组的首地址C:数组每一个元素的地址D:数组每个元素中的值答案:B第8题(2.0分)题号:125下列程序的输出结果是()。main(){inta=7,b=5;printf(%d\n,b=b/a);}A:0B:5C:1D:不确定值答案:A第9题(2.0分)题号:187经过下列的语句intj,a[10],*p;定义后,下列语句中合法的是()。A:p=p+2;B:p=a[5];C:p=a[2]+2;D:p=&(j+2);答案:A第10题(2.0分)题号:633对以下说明语句inta[10]={6,7,8,9,10};的正确理解是()。A:将5个初值依次赋给a[1]至a[5]B:将5个初值依次赋给a[0]至a[4]C:将5个初值依次赋给a[6]至a[10]D:因为数组长度与初值的个数不相同,所以此语句不正确答案:B第11题(2.0分)题号:574若变量已正确定义并赋值,下面符合C语言语法的表达式是()。A:a:=b+1B:a=b=c+2C:int18.5%3D:a=a+7=c+b答案:B第12题(2.0分)题号:110C语言中,char类型数据占()。A:1个字节B:2个字节C:4个字节D:8个字节答案:A第13题(2.0分)题号:551应用缓冲文件系统对文件进行读写操作,打开文件的函数名为()。A:openB:fopenC:closeD:fclose答案:B第14题(2.0分)题号:141若a为int类型,且其值为3,则执行完表达式a+=a*a后,a的值是().A:12B:27C:18D:9答案:A第15题(2.0分)题号:142下面的表示形式中,正确的字符常量是().A:'ab'B:'\0'C:aD:\0答案:B━━━━━━━━━━━━━━━━三、程序填空共1题(共计15分)━━━━━━━━━━━━━━━━第1题(15.0分)题号:395/*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:输入3个数a,b,c,按从小到大的顺序输出。-------------------------------------------------------*/#includestdio.hvoidmain(){voidswap(int*p1,int*p2);intn1,n2,n3;int*pointer1,*pointer2,*pointer3;printf(pleaseinput3number:n1,n2,n3:);scanf(%d,%d,%d,&n1,&n2,&n3);pointer1=&n1;pointer2=&n2;pointer3=&n3;/***********SPACE***********/if(【?】)swap(pointer1,pointer2);/***********SPACE***********/if(【?】)swap(pointer1,pointer3);/***********SPACE***********/if(【?】)swap(pointer2,pointer3);printf(thesortednumbersare:%d,%d,%d\n,n1,n2,n3);}/***********SPACE***********/voidswap(【?】){intp;p=*p1;*p1=*p2;*p2=p;}答案:=======(答案1)=======n1n2=========或=========n2n1=========或=========*pointer1*pointer2=========或=========*pointer2*pointer1=======(答案2)=======n1n3=========或=========n3n1=========或=========*pointer1*pointer3=========或=========*pointer3*pointer1=======(答案3)=======n2n3=========或=========n3n2=========或=========*pointer2*pointer3=========或=========*pointer3*pointer2=======(答案4)=======int*p1,int*p2━━━━━━━━━━━━━━━━四、程序改错共1题(共计15分)━━━━━━━━━━━━━━━━第1题(15.0分)题号:374/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:求广义菲玻那契级数的第n项。广义菲玻那契级数的前n项为:1,1,1,3,5,9,17,31,……,从第四项开始,每一项的值是其前三项之和。项值通过函数值返回main()函数。例如:若n=15,则应输出:Thevalueis:2209。------------------------------------------------------*/#includeconio.h#includestdio.hlongfun(intn){longa=1,b=1,c=1,d=1,k;/**********FOUND**********/for(k=4;kn;k++){d=a+b+c;/**********FOUND**********/a=bb=c;c=d;}/**********FOUND**********/returnk;}voidmain(){longfun(intn);intn=15;printf(Thevalueis:%ld\n,fun(n));}答案:=======(答案1)=======for(k=4;k=n;k++)=======(答案2)=======a=b;=======(答案3)=======returnd;━━━━━━━━━━━━━━━━五、程序设计共1题(共计20分)━━━━━━━━━━━━━━━━第1题(20.0分)题号:391/*------------------------------------------------【程序设计】--------------------------------------------------功能:将字符串中的小写字母转换为对应的大写字母,其它字符不变。------------------------------------------------*/#includestring.h#includestdio.hvoidwwjt();voidchange(charstr[]){/**********Program**********//**********End**********/}voidmain(){voidchange(charstr[]);charstr[40];gets(str);change(str);puts(str);wwjt();}voidwwjt(){FILE*IN,*OUT;chari[200];IN=fopen(in.dat,r);if(IN==NULL){printf(ReadFILEError);}OUT=fopen(out.dat,w);if(OUT==NULL){printf(WriteFILEError);}fscanf(IN,%s,i);change(i);fprintf(OUT,%s\n,i);fclose(IN);fclose(OUT);}答案:----------------------inti;for(i=0;str[i]!='\0';i++)if(str[i]='a'&&str[i]='z')str[i]=str[i]-32;----------------------
本文标题:c语言考试试题
链接地址:https://www.777doc.com/doc-7028306 .html