您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 习题/试题 > C语言程序设计期末考试题及答案
大学题库C语言程序设计期末模拟测试题及答案2010年11月目录期末模拟考试题�一�...........................................................................................................3期末模拟测试题�一�参考答案.........................................................................................10期末模拟考试题�二�.........................................................................................................11期末模拟测试题�二�参考答案.........................................................................................18期末模拟考试题�三�.........................................................................................................19期末模拟测试题�三�参考答案.........................................................................................26期末模拟考试题�四�.........................................................................................................27期末模拟测试题�四�参考答案.........................................................................................34期末模拟考试题�五�.........................................................................................................35期末模拟测试题�五�参考答案.........................................................................................49期末模拟考试题�一�一�选择题�2’*25=50’1�十进制数269转换成十六进制数是A)10EB)10DC)10CD)10B2�若i,j已定义为int类型�则以下程序段中内循环体的总的执行次数是for(i=5;i;i--)for(j=0;j4;j++){...}A)20B)25C)24D)303�若有以下定义和语句:char*s1=12345,*s2=1234;printf(%d\n,strlen(strcpy(s1,s2)));则输出结果是A)4B)5C)9D)104�若有以下定义和语句:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是A)*pB)a[10]C)*aD)a[p-a]5�设有如下定义�intx=l�y=-1��则语句�printf(%d\n�(x--&++y))�的输出结果是A)1B)0C)-1D)26�当c的值不为0时�在下列选项中能正确将c的值赋给变量a、b的是A)c=b=a�B)(a=c)‖(b=c)�C)(a=c)&&(b=c)�d)a=c=b�7�以下程序的输出结果是A)10192B)9876C)10990D)101091main(){intx=10�y=10�I�for(i=0�x8�y=++i)printf(%d�%d�x--�y)�}8�下面程序的输出是main(){char*s=121;intk=0,a=0,b=0;do{k++;if(k%2==0){a=a+s[k]-'0';continue;}b=b+s[k]-'0';a=a+s[k]-'0';}while(s[k+1]);printf(k=%da=%db=%d\n,k,a,b);}A)k=3a=2b=3B�k=3a=3b=2C�k=2a=3b=2D�k=2a=2b=39�下面程序的输出是main(){unsigneda=32768;printf(a=%d\n,a);}A�a=32768B�a=32767C�a=-32767D�a=-110�若有以下定义:floatx;inta,b;则正确的switch语句是A)switch(x)B)switch(x){case1.0:printf(*\n);{case1,2:printf(*\n);case2.0:printf(**\n);case3:printf(**\n);}}C)switch(a+b)D)switch(a+b);{case1:printf(\n);{case1:printf(.*\n);case1+2:printf(**\n);case2:printf(**\n);}}11�以下程序运行后,如果从键盘上输入ABCDE,则输出结果为A�8B�7C�6D�5#include#includefuch(charstr[]){intnum=0;while(*(str+num)!='\0')num++;return(num);}main(){charstr[10],*p=str;gets(p);printf(%d\n,func(p));}12�运行以下程序后,如果从键盘上输入china#,则输出结果为A�2,0B�5,0C�5,5D�2,5#includemain(){intv1=0,v2=0;charch;while((ch=getchar())!='#')switch(ch){case'a':case'h':default:v1++;case'0':v2++;}printf(%d,%d\n,v1,v2);13�以下程序运行后,输出结果是A�49.5B�9.5C�22.0D�45.0#include#definePT5.5#difines(x)pt*x*xmain(){inta=1,b=2;printf(%4.lf/n,S(a+b));}14�以下程序执行后a的值是A)4B)1C)0D)运行时出错,a无定值main(){inta,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;printf(%d\n,a);}15�以下程序运行后,输出结果是A)84B)99C)95D)44intd=1l;fun(intp){intd=5;d+=p++;printf(%d,d);}main(){itna=3;fun(a);d+=a++;printf(%d\n,d);}16�下面程序的运行结果是�#includestdio.hmain(){inti,j,x=0;for(i=0;i2;i++){x++;for(j=0;j=3;j++){if(j%2)continue;x++;}x++;}printf(“x=%d\n”,x);}A)x=4B)x=8C)x=6D)x=1217�以下程序运行后,输出结果是A)1B)7C)9D)11fut(int**s,intp[2][3]){**s=p[1][1];}main(){inta[2][3]={1,3,5,7,9,11},*p;p=(int*)malloc(sizeof(int))lfut(&p,a);printf(%d\n,*p);}18�设有如下定义:inta=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=ab)&&(n=cd)后,n的值为A)1B)2C)3D)019�请读程序�#defineLETTER0main(){charstr[20]=”CLanguage”,c;inti;i=0;While((c=str[i])!=’\0’{i++;#ifLETTERif(c=’a’&&c=’z’)c=c-32;#elseif(c=’A’&&c=’Z’)c=c+32;#endifprintf(“%c”,c);}上面程序的运行结果是�A)CLanguageB)clanguageC)CLANGUAGED)clANGUAGE20�假定以下程序经编译和连接后生成可执行文件PROG.EXE�如果在此可执行文件所在目录的DOS提示符下键入�PROGABCDEFGHIJKL回车�则输出结果为A)ABCDEFGB)IJHLC)ABCDEFGHIJKLD)IJKLABCDEFGHmain(intargc,char*argv[])){while(--argc0)printf(%s,argv[argc]);printf(\n);}21�以下程序的输出结果是A)1B)2C)3D)4longfun(intn){longs;if(n==1||n==2)s=2;elses=n-fun(n-1);returns;}main(){printf(%ld\n,fun(3));}22�以下程序的输出结果是A)16B)2C)9D)1#defineSQR(X)X*Xmain(){inta=16,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf(%d\n,a);}23�若有以下说明和语句�structstudent{intage;intnum;}std,*p;p=&std;则以下对结构体变量std中成员age的引用方式不正确的是�A)std.ageB)p-ageC)(*p).ageD)*p.age24.以下程序的输出结果是�structstu{intx;int*y;}*p;intdt[4]={10,20,30,40};structstua[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};main(){p=a;printf(“%d,”,++p-x);printf(“%d,”,(++p)-x);printf(“%d\n”,++(*p-y));}A)10,20,20B)50,60,21C)51,60,21D)60,70,3125�设有以下语句�charx=3,y=6,z;z=x^y2;则z的二进制值是�A)00010100B)00011011C)00011100D)00011000二.判断题�1’*10=10’1�C语言规定在一个源程序中�main函数的位置必须在系统调用的库函数的后面。��2�一个C语言程序是由若干个过程及子程序构成。��3�在C程序中�%是只能用于整数运算的运算符。��4�在循环体中用continue跳出本次循环�用break跳出整个循环。��5�If(a=b)是判断a和b是否相等。��6�函数可以嵌套定义�但不能嵌套调用。��7�在程序中凡是以#号开始的语句行都是预处理命令行。()8�在指向列的指针前面加&�就成为指向行的指针。()9�结构体在声明后�系统并不分配内存单元�只有用它来定义结构体类型变量后�才分配实际内存单元。()10�在位运算中�操作数每右移一位�其结果相当于操作数乘以4。()三�填空题�2’*10=20’1�C语言中�一个int型数据在内存中占2个字节�则int型数据的取值范围是�【1】。2�Putchar函数可以向终端输出一个【2】。3.以下程序的输出结果是�【3】main(){printf(“*%f,%4.3f*\n”,3.14,3.1415);}4�下列程序的输出结果是16.00�请填空。。main(){inta=9,b=2;floatx=【4】,y=1.1,z;z=a/2+b*x/y+1/2;printf(%5.2f\n,z);}5.用以下
本文标题:C语言程序设计期末考试题及答案
链接地址:https://www.777doc.com/doc-5261460 .html