您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 习题/试题 > c语言期末考试试题及答案
1.一个C程序的组成部分可以是()。A)一个主函数和一至若干个其他函数B)一至若干个主函数C)一个主程序和一至若干个其他函数D)一个主程序和一至若干个子程序2.一个C程序的执行是从()。(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束3.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符4.设有定义:intm=1,n=-1;则执行语句printf(%d\n,(m--&++n);后的输出结果是()。A)–1B)0C)1D)25.表达式11&10的结果用二进制表示为()。A)11B)3C)1D)106.设有语句inta=3;则执行语句a+=a-=a*a后,变量a的值是()。(A)3(B)0(C)9(D)-127.在下列选项中,不的赋值语句是()。A)t/=5;B)n1=(n2=(n3=0));C)k=i==j;D)a=b+c=1;8.下列()表达式不满足:当x的值为偶数时值为真,为奇数时值假。A)X%2==0B)!x%2!=0C)(x/2*2-x)==0D)!(x%2)9.若有定义:inta=8,b=5,c;执行语句c=a/b+0.4后c的值为()A)1.4B)1C)2.0D)210.假设a=3,b=4,c=5,则逻辑表达式:!(a+b)+c-1&&b+c/2的值是()。A)trueB)falseC)0D)111.若inta=3,b=4;则执行c=a++2||b--=4之后,b变量的值为()。A)3B)0C)4D)212.以下哪个表达式的值为4()A)11/3B)11.0/3C)(flaot)11/3D)(int)(11.0/3+0.5)13.若变量a,i已经正确定义,且i已经正确赋值,合法的语句是()A)a==1B)++iC)a=a++=5D)a=int(i)14.以下程序的输出结果是()inta=1234;printf(%2d,a);A)12B)34C)1234D)提示错误,无结果15.设x,y分别为单精度和双精度类型变量,则下列选项()可将表达式x+y的运算结果强制转换为整型数据。A)(int)x+yB)int(x)+yC)int(x+y)D)(int)(x+y)16.当a=3,b=2,c=1时,表达式f=abc执行完后f的值是()A)1B)0C)3D)217.若x=2,y=1,则表达式xy?1:1.5的值为()A)1B)1.5C)1.0D)218.在位运算中,操作数每左移一位,其结果相当于()A)操作数乘以2B)操作数除以2C)操作数乘以4D)操作数除以419.在位运算中,某操作数右移3位,其结果相当于()A)操作数乘以6B)操作数除以6C)操作数乘以8D)操作数除以820.在C语言中,若以下变量均为int型,则下面程序段的输出结果是()。s=6,u=6;u=s++;u++;printf(%d,u);A)7B)6C)5D)421.若有定义:intx,y;chara,b,c;并有以下输入数据:x=12ABCCR,则能给x赋整数1,给赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的程序段是()A)scanf(x%dy=%d,&x,&y);a=getch();b=getch();c=getch();B)scanf(x=%d%d,&x,&y);a=getch();b=getch();c=getch();C)scanf(x=%d%d%c%c%c,7x,&y,&a,&b,&c);D)scanf(x=%d%d%c%c%c%c%c,&x,&y,&a,&b,&b,&c,&c);22.如下程序:#includeSTDIO.Hvoidmain(){intm,n,k;m=(n=4)+(k=10-7);printf(“m=%d\n”,m);}运行后m的值为()。(A)4(B)3(C)7(D)1423.结构化程序的三种基本结构是()。(A)顺序结构、选择结构、循环结构(B)递归结构、循环结构、转移结构(C)嵌套结构、递归结构、顺序结构(D)循环结构、转移结构、顺序结构24.有如下程序main(){floatx=4.0,y;if(x0.0)y=0.0;elseif(x10.0)y=1.0/x;elsey=1.0;printf(“%f\n”,y);}该程序的输出结果是()A)0.0B)0.25C)0.5D)1.025.设inta=0,b=5,c=2;选择可执行x++的语句是()。(A)if(a)x++(B)if(a=b)x++;(C)if(a=b)x++;(D)if(!(b-c))x++;26.下列程序段运行后,x的值是()。inta,b,c,x;a=b=c=0;x=35;if(!a)x--;elseif(b);if(c)x=3;elsex=4;A)3B)4C)34D)3527.若要求在if后一对圆括号中表示a不等于0的关系,则能表示这一关系的表达式为A)a0B)!aC)a=0D)a28.若N为整型变量,则for(N=10;N=0;N--);循环里的循环体被()。A)无限循环B)执行10次C)执行一次D)一次也不执行29.下列程序段运行后i的值是()。inti=10switch(i+1){case10:i++;break;case11:++i;case12:++i;break;default:i=i+1;}A)11B)13C)12D)1430.以下程序的输出结果为()。#includestdio.hmain(){inti;for(i=0;i10;i++);printf(%d,i);}(A)0(B)123456789(C)0123456789(D)1031.C语句for(;;){……}是指()。(A)无意义(B)无限循环(C)循环执行1次(D)循环执行0次32.有如下程序main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf(“a=%d,b=%d\n”,a,b);}该程序的输出结果是()A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=233.如果程序中有#include文件名则意味着()。(A)将文件名所指的该文件的全部内容,复制插入到此命令行处。(B)指定标准输入输出(C)宏定义一个函数(D)条件编译说明34.要将一个整数12000分别以ASCII码文件和二进制文件形式存放,各自所占的存储空间数分别是()字节。A)5和2B)2和5C)2和2D)5和535.在下面关于一维数组的定义中,其中()有语法错0。A)intx[]={1,2,3,4,5};B)intx[5]={0};C)intx[];D)intx[5];36.设有字符数组a,则的输入语句是()。(A)gets(''a'');(B)scanf(%c,a);(C)scanf(%s,a);(D)gets(a);37.函数调用“strcat(strcpy(str1,str2),str3)”的功能是()。(A)将字符串str1复制到字符串str2后再连接到字符串str3之后(B)将字符串str1连接到字符串str2后再复制到字符串str3之后(C)将字符串str2复制到字符串str1后再将字符串str3连接到str1之后(D)将字符串str2连接到字符串str1后再将str1复制到字符串str3中38.定义如下变量和数组:inti;intx[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是()。for(i=0;i3;i++)printf(%d,x[i][2-i]);A)159B)147C)357D)36939.C语言中,以下叙述中错误的是()。A)主函数中定义的变量是全局变量B)同一程序中,全局变量和局部变量可以同名C)全局变量的作用域从定义处开始到本源程序文件结束D)局部变量的作用域被限定在其所定义的局部范围中40.C语言中,函数调用时若实参是数组名,则被调函数对应形参()。A)可以是相应类型简单变量B)必须是相应类型数组名C)可以是相应类型数组名D)必须是相应类型的指针变量41.在下面C语言的函数说明语句中,的是()。A)intfun(int,int);B)intfun(intx,y);C)intfun(x,y);D)intfun(intx;inty);42.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件读写方式字符串应是()。A)”a+”B)”r+”C)”wb+”D)”ab”43.C语言中规定,简单变量做实参时,它和对应形参之间的数据传递方式是()。(A)地址传递(B)单向值传递(C)有实参传给形参,再由形参传回给实参(D)由用户指定传递方式44.已知:int*p;使用“p=malloc(sizeof(int));”语句动态申请int型的存储单元,应当使用()。A)intB)int*C)(*int)D)(int*)45.在C函数中,局部变量的隐含存储类型是()。(A)auto(B)static(C)register(D)extern46.有定义:intx,*p;,能使指针变量p指向变量x的语句是()。A)*p=&x;B)p=&x;C)*p=x;D)p=*&x;47.有定义:intx,y=10,*p=&y;,则能使得x的值也等于10的语句是()。A)x=p;B)x=&p;C)x=&y;D)x=*p;48.有定义:int*p1,*p2;,则的赋值语句为()。A)p1=p2;B)p1/=p2;C)p1+=p2;D)p1*=p2;49.在C语言中,关于文件存取方式,()。A、只能顺序存取B、只能随机存取(也称直接存取)C、可以顺序存取,也可以随机存取D、只能从文件开头存取50.有定义:inta[]={1,3,5,7,9},*p=a;,则值为5的表达式是()。A)p+=2,*p++B)p+=2,*++pC)p+=2,(*p)++D)a+=2,*a填空1.将百分制成绩转化为A-E这5个等级,90以上为A;80-89为B;70-79为C;60-69为D,60以下为EVoidmain(){Intscore;printf(“输入一个介于0-100之间的数”);scanf(“__1___”,&score);___2___(score/10){case10:printf(“A\n”);break;case9:printf(“A\n”);break;case8:printf(“B\n”);break;case7:printf(“C\n”);break;case6:printf(“D\n”);break;____3___:printf(“E\n”,score);break;}}2.输入三角形三条边长度a,b,c,判断能不能组成三角形.如果可以输出YES,如果不能输出NOmain(){___4__a,b,c;scanf(“%f%f%f”,&a,&b,&c);if((a+bc)&&(a+cb)&&(b+ca))printf(“YES”);___5__printf(“NO”);}3计算1---100的和main(){inti,sum;sum=0;i=___6___;do{sum=sum+i;i++}while(i=___7___);printf(%d\n,sum);}4、*计算每个学生成绩的平均分,并把结果保存在数组bb中。例如,当score[N][M]={{83.5,82,86,65,67},{80,91.5,84,99,95},{90.5,95,86,95,97}}时,三个学生的平均分为76.7,89.9,92.7。#includestdio.h#defineN3#defineM5void__8___(i
本文标题:c语言期末考试试题及答案
链接地址:https://www.777doc.com/doc-1886762 .html