您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 五年制C语言程序设计试卷A(已排版)
第1页共3页安阳师范学院计算机与信息工程学院07五年制专业《C语言程序设计》考试2009—2010学年上学期期末考试试卷A题号一二三四五合计总分人复核人分数一、填空题(本大题共10小题,每空1分,共15分)1.C语言程序的基本组成单位是,而C语言程序的执行是从开始的。2.C语言的基本数据类型有、和。3.有定义:inta[10],则数组的可用单元是从到。4.有语句int*p,a;a=3;p=&a;则执行printf(“%d”,*p)后的输出是;5.字符串是以__________为结束标志的一维字符数组。6.设有说明语句inta[3][4]={{1,2},{3,4,5},{6,7,8}};则a[0][2]的初始化值为_____________,a[2][2]的初始化值为______________。7.C语言中的循环有循环、for循环和while循环等三种形式。8.要使循环提前结束可以使用的控制语句是。9.C预言中表示逻辑运算的运算符有与运算(&&)、和非运算(!)三种。10.结构体类型变量所占存储单元的总长度等于。二、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将其代码填在下面的表格内。错选或未选均无分。123456789101.表示关系x≤y≤z的c语言表达式为()A)(X=Y)&&(Y=Z)B)(X=Y)AND(Y=Z)C)(X=Y=Z)D)(X=Y)&(Y=Z)2.以下程序的输出结果是()main(){inta=12,b=12;printf(“%d%d\n”,--a,++b);}A)1010B)1212C)1110D)11133.以下的for循环()for(x=0,y=0;(y!=123)&&(x4);x++);A)是无限循环B)循环次数不定C)执行4次D)执行3次4.与a!=0等价的表达式为()A)a0B)!aC)a=0D)a5.设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是()A)k=*p1+*p2;B)p2=k;C)p1=p2;D)k=*p1*(*p2);6.若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是()A)pb=&xB)pb=xC)*pb=&xD)*pb=*x7.有循环for(inti=0;i=10;i++);则此语句是()A)错误的循环语句B)编译时无错误,执行时错误C)此语句正确,执行后i的值是10D)此语句正确,执行后i的值是118.下面的程序输出的结果是()main(){intx=3,y=0,z=0;if(x=y+z)printf(****);elseprintf(####);}A)有语法错误不能通过编译B)输出****C)可以通过编译,但是不能通过连接,因而不能运行D)输出####9.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()main(){intx;scanf(%d,&x);if(x++5)printf(%d,x);elseprintf(%d\n,x--);}A)7和5B)6和3C)7和4D)6和410.执行下面的程序段后,变量k中的值为()intk=3,s[2];分数评卷人分数评卷人第2页共3页s[0]=k;k=s[1]*10;A)不定值B)33C)30D)10三、读程序,写结果:(本大题共5小题,每小题4分,共20分)1.以下程序运行时若输入320,则输出是。Intf(intx,inty){Intz;Z=xy?y:x;Returnz;}Voidmain(){Inta,b,c;Scanf(“%d%d”,&a,&b);C=f(a,b);Printf(“%d\n”,c);}2.下列程序的输出结果是___________。intf(intx,inty,int*cp,int*dp){*cp=x+y;*dp=x-y;}main(){inta,b,c,d;a=4;b=3;f(a,b,&c,&d);printf(“%d,%d\n”,c,d);}3.以下程序的输出结果是。Voidfun(intx,inty){Intt;T=x;x=y;y=t;}Voidmain(){Inta=5,b=17;F(a,b);Printf(“a=%d,b=%d\n”,a,b);}4.以下程序的输出结果是。Voidf(intarr[],intn,int&x){X=arr[0];For(inti=1;in;i++)If(arr[i]x)x=arr[i];}Voidmain(){Inta[10]={1,18,5,35,23,67,44,78,53,17};Inty;F(a,10,y);Printf(“y=%d\n”,y);}5.以下程序的输出结果是。Vodimain(){inti=0,j=0;while(i10)i++;While(j++10);Printf(“i=%d,j=%d\n”,I,j);}分数评卷人四、程序填空题:(本大题共4小题,每空4分,共32分)根据题目要求,完成程序填空。1.编写程序,计算s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。#includeiostreammain(){分数评卷人第3页共3页intn,s,sum=0;scanf(“%d”,&n);for(inti=1;i=n;i++){____________;for(intj=1;j=i;j++)_____________;sum+=s;}Printf(“sum=%d”,sum);2.以下程序求n的阶乘,请填空:Intfac(intn){Intf;If(n==1)f=1;Else;Returnf;}Voidmain(){Intn,f;scanf(“%d”,&n);;;Printf(“%d的阶乘是%d:”,n,f);}3.以下fun函数把ch中的大写字母转换成字母序列中的下一个大写字母,字母Z转换成字母A,其它字符不变,返回转换后的字母或其它字符。请填空。charfun(charch){if(ch=='Z')ch=__________;elseif(ch='A'&&ch='Y')ch=__________;returnch;}4.以下函数求出前n个fibonacci数,请填空。Voidfib(longarr[],intn){Arr[0]=arr[1]=1;For(intI=;in;i++)Arr[i]=;}分数评卷人五、程序设计题(本大题共2小题,第一题5分,第二题8分,共13分)请根据题目要求设计程序。1.请定义一个长度为10的数组,然后输入数据并以相反的顺序输出。(5分)2.请写出对有序数组进行折半查找的程序,查找函数的首部为:intsearch(int*p,intn,intx);其中p为有序数组的首地址,n为有序数组的长度,x为要查找的数据。若查找成功,则函数返回待查数据在数组中的下标,否则返回-1。可以不写main函数。(8分)
本文标题:五年制C语言程序设计试卷A(已排版)
链接地址:https://www.777doc.com/doc-3534968 .html