当前位置:文档之家› c语言考试试题

c语言考试试题

六━━━━━━━━━━━━━━━一、判断共10题(共计20分)━━━━━━━━━━━━━━━第1题(2.0分)题号:1259若定义int m[]={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若定义int a[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若有说明int c;则while(c=getchar());是正确的C语句。

答案:Y━━━━━━━━━━━━━━━━━二、单项选择共15题(共计30分)━━━━━━━━━━━━━━━━━第1题(2.0分)题号:3114C语言源程序名的后缀是A:exeB:cC:objD:cp答案:B第2题(2.0分)题号:184以下不能正确定义二维数组的选项是( ).A:int a[2][2]={{1},{2}};B:int a[][2]={1,2,3,4};C:int a[2][2]={{1},2,3};D:int a[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(){float x=3.6;int i;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=3 i=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(){int a=7,b=5;printf("%d\n",b=b/a);}A:0B:5C:1D:不确定值答案:A第9题(2.0分)题号:187经过下列的语句 int j,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对以下说明语句 int a[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:int 18.5%3D:a=a+7=c+b答案:B第12题(2.0分)题号:110 C语言中,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:"a"D:"\0"答案:B━━━━━━━━━━━━━━━━三、程序填空共1题(共计15分)━━━━━━━━━━━━━━━━第1题(15.0分)题号:395/*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:输入3个数a,b,c,按从小到大的顺序输出。

-------------------------------------------------------*/#include <stdio.h>void main(){void swap(int *p1, int *p2);int n1,n2,n3;int *pointer1,*pointer2,*pointer3;printf("please input 3number: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("the sorted numbersare:%d,%d,%d\n",n1,n2,n3);}/***********SPACE***********/void swap(【?】){int p;p=*p1;*p1=*p2;*p2=p;}答案:=======(答案1)=======n1>n2=========或=========n2<n1=========或=========*pointer1>*pointer2=========或=========*pointer2<*pointer1=======(答案2)=======n1>n3=========或=========n3<n1=========或=========*pointer1>*pointer3=========或=========*pointer3<*pointer1=======(答案3)=======n2>n3=========或=========n3<n2=========或=========*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,则应输出:The value is:2209。

------------------------------------------------------*/#include <conio.h>#include <stdio.h>long fun ( int n ){long a=1, b=1, c=1, d=1, k;/**********FOUND**********/for (k=4; k<n; k++){d = a+b+c;/**********FOUND**********/a=bb=c;c=d;}/**********FOUND**********/return k;}void main( ){ long fun ( int n );int n = 15;printf( "The value is: %ld\n", fun( n ) );}答案:=======(答案1)=======for (k=4; k<=n; k++)=======(答案2)=======a=b;=======(答案3)=======return d;━━━━━━━━━━━━━━━━五、程序设计共1题(共计20分)━━━━━━━━━━━━━━━━第1题(20.0分)题号:391/*------------------------------------------------【程序设计】--------------------------------------------------功能:将字符串中的小写字母转换为对应的大写字母,其它字符不变。

------------------------------------------------*/#include "string.h"#include <stdio.h>void wwjt();void change(char str[]){/**********Program**********//********** End **********/}void main(){void change(char str[]);char str[40];gets(str);change(str);puts(str);wwjt();}void wwjt(){FILE *IN,*OUT;char i[200];IN=fopen("in.dat","r");if(IN==NULL){printf("Read FILE Error");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("Write FILE Error");}fscanf(IN,"%s",i);change(i);fprintf(OUT,"%s\n",i);fclose(IN);fclose(OUT);}答案:----------------------int i;for(i=0;str[i]!='\0';i++)if(str[i]>='a' && str[i]<='z') str[i]=str[i]-32;----------------------。

相关主题