桂林电子科技大学10年c语言试卷B.docx
桂林电子科技大学试卷2009-2010学年第2学期课号课程名称C语言程序设计A(B卷开、闭卷)适用班级(或年级、专业)7院09级考试时间120分钟班级学号姓名题号一二三四五六七八九十成绩满分得分评卷人一、单选题(每空2分,共50分)1、以下所列的C语言常量中,错误的是()。A)OxFFB)1.2e0.5C)2LD)'72'2、以下4组用户定义标识符中,全部合法的一组是()。A)_mainB)IfC)txtD)intEnclude-maxREALk_2sinturbo3COM_0013、若有定义:inta=8,b=5,c;执行语句c=a/b+0.4;后,c的值为()。A)1.4B)1C)2.0D)24、以下程序中,while循环的次数是()。#include<stdio.h>voidmain(void)inti=0;while(i<10)if(i<l)continue;if(i=5)break;i+;)A)1B)死循环,不能确定次数C)6D)105、以下能正确定义字符串的语句是()。A)charstr=,064,;B)charstr="kx43"C)charstr=";D)charstr口="0";6、以下数组定义中错误的是()。A) intX口3=0;B) intX23=1,2,3,4,5,6;C) intX口3=1,2,3,4,5,6);D) intX23=1,2,3,4,5,6);7、以下程序的输出结果是()。#include<stdio.h>voidmain(void)inta=0,i;for(i=l;i<5;i+)switch(i)case0:case3:a+=2;case 1:case 2: a+=3;case 3: a+=5;)Printf("%dn”,a);)A)31B)13C)10D)208、执行以下程序后的输出结果是()#include<stdio.h>voidmain(void)(chara-,abc0abc,?;Printf("%s”,a);A)abc0abcB)abcC)abc0D)abc9、若有语句:Char*line5;,以下叙述中正确的是()。A)定义line是一个数组,每个数组元素是一个基类型为char的指针变量B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C)定义line是一个指针数组,语句中的*号是指针运算符。D)定义line是一个指向字符型函数的指针10、有以下程序段typedefstructNODEintnum;structNODE*next;OLD;以下叙述中正确的是()。A)以上的说明形式非法B)NODE是一个结构体类型C)OLD是一个结构体类型D)OLD是一个结构体变量一(+b)h11、设有定义:floata=2,b=4,h=3;,以下C语言表达式与代数式2计算结果不相符的是()。A)(a+b)*h2B)(l2)*(a+b)*hC)(a+b)*h*l2D)h2*(a+b)12、有以下程序main()(intX=102,y=012;Printf(,%2d,%2dn"x,y);)执行后输出结果是()。A)10,01B)02,12C)102,10D)02,1013、有以下程序main()intm,n,p;scanf(um=%dn=%dp=%d",&m,&n,&p);printf(,%d%d%dn,1,m,n,p);若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是()。A)m=123n=456p=789B)m=123n=456p=789C)m=123,n=456,p=789D)12345678914、函数调用:StrCat(StrCPy(StrI,str2),str3)的功能是()。A)将串Strl复制到串str2中后再连接到串str3之后B)将串Strl连接到串str2之后再复制到串str3之后C)将串str2复制到串Strl中后再将串str3连接到串Strl之后D)将串str2连接到串Strl之后再将串Strl复制到串str3中15、设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句if(a<b)if(c=d)y=0;elsey=l;a<b且C=da>b该语句所表示的含义是()。0a<5且C=d1a方且C*da<bS-C=da<b且CNda<匕且cd16、若有以下说明和语句,intc45,(*p)5;p=c;能正确引用C数组元素的是()。A)p+1B)*(p+3)C)*(p+l)+3D)*(p0+2)17、有以下程序voidswapl(intc)i11tt;t=c0;c0=c1;c1=t;voidswap2(intc,intcl)i11tt;t=cO;cO=cl;cl=t;)main()inta2=3,5,W2=3,5;swap1(八);swap2(b0,bl);printf(%d%d%d%dn,?,a0,al,b0,bl);其输出结果是()。A)5353B)5335C)3535D)355318、有以下程序intf(intb4)i11ti,j,s=O;for(j=0;j<4;j+)i=j;if(i>2)i=3-j;s+=bij;)returns;)main()inta44=l,2,3,4,0,2,4,5,3,6,9,12,3,2,1,0;printf(%dnv,f(八));)执行后的输出结果是()。A)12B)11C)18D)1619、有以下定义#include<stdio.h>chara10,*b=a;不能给数组a输入字符串的语句是()。A)gets(八)B)gets(aO)C)gets(&aO)D)gets(b)20、有以下程序main()char*p10="abc”Jaabdfg","dcdbe","abbd"cd");Printf("%dn”,strlen(p4);)执行后输出结果是()。A)2B)3C)4D)521、下面程序的功能是输出以下形式的金字塔图案是:()。*main()i11ti,j;for(i=l;i<=4;i+)for(j=l;j<=4-i;j+)printf(”);for(j=lj<=;j+)printf("*");Printf("n”);)在下划线处应填入的是A)iB)2*i-1C)2*i+lD)i+222、有以下程序structSTUcharname10;intnum;floatTotalScore;voidf(structSTU*p)structSTUs2=',SunDan11,20044,550,nPe11ghuan,20045,537,*q=s;+p;+q;*p=*q;)main()structSTUs3=11YangSan11,20041,703,nLiSiGuo11,20042,580;f(三);printf(,%s%d%3.0fn",sl.name,sl.num,sl.TotalScore);)程序运行后的输出结果是()。A)SunDan20044550B)Penghua20045537C)LiSiGuo20042580D)SunDan2004170323、以下程序的功能是进行位运算main()unsignedchara,b;a=73;b=4&3;printf(',%d%dn',a,b);程序运行后的输出结果是()。A)43B)73C)70D)4024、有以下程序#include"stdio.h"voidWritCStr(Ck4匕阡char*5tr)FILE吁p;fp=fopc八(f八JW”);fpiAts(stcfp);fc(ose(fp);)WMteStK'叱工.dat"/start");WMteStKl化工dat"Jcndu);程序运行后,文件土工以戊中的内容是()。A)StartB)e八dC)Starte八dD)C八Wrt25、设有定义语句intx6=2,4,6,8,5,7,*p=x,i;要求依次输出X数组6个元素中的值,不能完成此操作的语句是()。A) for(i=0;i<6;i+)printf(11-11,*(p+);B) for(i=0;i<6;i+)Printf(U',*(p+i);C) for(i=0;i<6;i+)printf(11-,*p+);D) for(i=0;i<6;i+)printf(n-11,(*p)+);二、程序填空(每空2分,共36分)1>求1!+21+3!+ooo+101#include<stdio.h>voidmain(void)floats=0,t=1;intn;for(n=l;n+)printfCl!+2!+3!+。+10!=%f,s);)2、以下程序是用来统计从键盘输入的一个正整数中各位数字中零的个数,并求各位数字中最大者。例如:1080其零的个数是2,各位数字中最大者是8。#include<stdio.h>voidmain(void)(unsignedlongnum,max,t;intcount;count=max=0;scanf(11%ld11r&num);dot二®;if(t=0)+count;elseif(max<t);num/=10;while(num);printf(11count=%d,max=%ldn11count,max);)3、下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数。#include<stdio.h>voidmain(void)(inti,j;for(i=0;®i+)j=i*10+6;if(®)continue;printf(11%d,j);)4、定义COmPare(Char*sl,char*s2)函数,以实现比较两个字符串大小的功能:若字符串sl>s2,返回一个正数,若字符串SIs2,返回一个负数,若相等,返回0。#include<stdio.h>intcompare(char*slzchar*s2)While(*sl&&*s2&&)sl+;return®