1武汉科技学院2008年专升本考试试题姓名准考证号一.单选题:(1分/题,共20分,答案写在答题纸上)1.下列格式符中,哪一个可以用于以8进制形式输出整数。A.%dB.%8dC.%oD.%ld2.a是int类型变量,c是字符变量。下列输入语句中哪一个是错误的。A.scanf(%d,%c,&a,&c);B.scanf(%d%c,a,c);C.scanf(%d%c,&a,&c);D.scanf(d=%d,c=%c,&a,&c);3.字符变量ch=’A’,int类型变量k=25,语句printf(〞%3d,%3d\n〞,ch,k);输出:A.65,253B.65253C.65,25D.A,254.请读程序片段:shortintkey=65536;printf(“%d\n”,key);该程序片段在VC++6.0系统下的输出结果是:A)-1B)0C)65536D)有语法错误,无输出结果5.不合法的字符常量是A)‘\n’B)‘\101’C)‘xy’D)‘\t’6.设a=10,则赋值表达式a+=a–=a*a的值是A)–80B)100C)–180D)1807.设有inta=255,b=8;则printf(%x,%o\n,a,b);的输出的是A.255,8B.ff,10C.0xff,010D.输出格式错8.设有inti=10,j=10;则printf(%d,%d\n,++i,j--);的输出的是:A.11,10B.9,10C.10,9D.10,109.字符'0'的ASCII值为48,若有以下程序main(){chara='1',b='2';printf(%c,,b++);printf(%d\n,b-a);}运行后输出结果是:A)3,2B)50,2C)2,2D)2,5010.有以下程序main(){intm,n,p;scanf(m=%dn=%dp=%d,&m,&n,&p);printf(%d%d%d\n,m,n,p);}从键盘上输入,使变量m的值为123,n的值为456,p的值为789,则正确的输入是A)m=123n=456p=789B)m=123n=456p=789C)m=123,n=456,p=789D)12345678911.有以下程序main(){chars[]=159,*p;p=s;printf(%c,*++p);}程序运行后的输出结果是:A)1B)9C)5D)159C语言程序设计2008.6.一二三四五六七八212.有以下程序main(){charc1=97,c2=98;printf(%c%c,c1,c2);printf(%d%d\n,c1,c2);}已知‘A’=65;程序运行后的输出结果是:A)9798abB)ab9798C)9798ABD)AB979813.若整型变量a、b、c、d中的值依次为:4、1、3、2。则条件表达式ab?a:cd?c:d的值:A)1B)2C)3D)414.如下程序片断:inta[][4]={1,2,3,4,5,6,7,8};int(*p)[4]=a;printf(“%d”,*(*(p+1)+2));其输出结果为:A)7B)6C)5D)415.假定所有变量均已正确定义,下列程序段运行后y的值是:inta=0,y=10;if(a==0)y--;elseif(a0)y++;elsey+=y;A.20B.11C.9D.016.下列语句应将小写字母转换为大写字母,其中正确的是:A.if(ch=’a’&ch=’z’)ch=ch-32;B.if(ch=’a’&&ch=’z’)ch=ch-32;C.ch=(ch=’a’&&ch=’z’)?ch-32:’’;D.ch=(ch’a’&&ch’z’)?ch-32:ch;17.inta=1,x=1;循环语句while(a10)x++;a++;的循环执行:A.无限次B.不确定次C.10次D.9次18.C语言while语句中,用于条件的表达式是:A.关系表达式B.逻辑表达式C.算术表达式D.任意表达式19.若有以下数组说明,则数值最小的和最大的元素下标分别是:inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};A.1,12B.0,11C.1,11D.0,1220.设有如下定义,则对data中的a成员的正确引用是:structsk{inta;floatb;}data,*p=&data;A.(*p).data.AB.(*p).AC.p-data.AD.p.data.a二.填空题:(1分/空,共20分,答案写在答题纸上)1.任何程序都可以用三种基本结构的叠加、组合来实现。这三种基本结构是:【1】、【2】和【3】。2.运行一个C程序需要经历【4】、【5】、【6】和运行几个阶段。3.字符串必须用【7】引号括起来。4.C语言提供的三种逻辑运算符是【8】、【9】和【10】。5.下列程序的输出结果是【11】。。main(){intx=023;printf(“%d”,--x);}6.执行以下程序段后的输出结果是【12】。inta=011,b=0x11,c=11;printf(“%d,%d,%d\n”,a,b,c)9.下列程序的输出结果是【11】。main(){inta=2,b=3,c;c=ab?a+b:a-b;printf(“%d,%o,%x,%u\n”,c,c,c,c);}3准考证号姓名7.字符串是以【13】作为结尾标识。8.设有inta=255,b=8;则printf(%x,%o\n,a,b);的输出的是【14】。9.假定所有变量均已正确定义,下列程序段运行后y的值是【15】。inta=10,y=12;if(a=0)y--;elseif(a0)y++;elsey+=y;10.下列程序的功能是输入一个正整数,判断是否能被3或7整除。若能整除,则输出“YES”;若不能整除,则输出“NO”。请为程序填空。voidmain(){intk;scanf(“%d”,&k);if(【16】)printf(“YES\n”);elseprintf(“NO\n”);}11.以下程序以每行10个数据的形式输出a数组,请填空。voidmain(){inta[50],i;printf(“输入50个整数:“);for(i=0;i50;i++)scanf(“%d”,【17】);for(i=1;i=50;i++){if(【18】)printf(“%3d\n”,a[i-1]);printf(“%3d“,【19】);}}12.若在程序中用到strlen()函数时,就在程序开头写上包含命令【20】。4三.编程题:(共60分,每题20分,答案写在答题纸上)1.编程实现函数(x值从键盘输入):14131)*2sin(2xxxxxxy2.使用循环结构编程输出以下图形3.采用递归设计一个求n!的函数。