您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > C语言期末考试试题及标准答案西安科技大学
西安科技大学2011—2012学年第2学期期末(中)考试试题(卷)院系:班级:姓名:学号:装订线装订线以内不准作任何标记装订线科目C语言期终考试试题考试性质考查命题朱宁洪审批6.C语言规定,函数返回值的类型是由D.A.return语句中的表达式类型所决定.B.调用该函数时的主调函数类型所定决.C.调用该函数是系统时决定.D.在定义该函数时所指定的函数类型所决定.7.若用数组名作为函数调用的实参传递给形参的是A.A.数组的首地址.B.数组第一个元素的值.C.数组中全部元素的值.D.数组元素的个数.8.下面不是C语言合法标识符的是DA.fine5B.flagC._scoreD.&i9.下面不是C语言关键字的是AA.DoB.voidC.volatileD.unsigned10.下面不正确的字符串常量是AA.’file’B.”12’12”C.”0”D.”while”二.填空(每空2分,共20分)1.C语言中函数头给出函数的特征描述,包括函数的属性、类型、名字、参数及参数类型.2.有intx,y,z;且x=3.2,y=4.2,z=2,则表达式z=(x+y)/z的值为3.3.有intx=2,y=3;且y+=(x++),则x=3,y=5.试卷类型A考试地点学生班级自动化1101-05成绩一.选择题(每题2分,共20分)1.以下叙述不正确的是D.A.一个C源程序可有一个或多个函数组成.B.一个C源程序必须包含一个main函数.C.C程序的基本组成单位是语句.D.在C程序中,注释说明只能位于一条语句的后面.2.根据定义和数据的输入方式,输入语句的正确形式为BA.scanf(“%f,%f”,&f1,&f2)B.scanf(“%f%f”,&f1,&f2);C.scanf(“%3.2f%2.1f”,&f1,&f2);D.scanf(“%3.2f%2.1f”,&f1&f2);3.下面正确的定义语句是DA.inta[1][4]={1,2,3,4,5};B.doubley[][3]=0;C.longb[2][3]={{1},{1,2},{1,2,3}};D.floatx[][3]={{1},{2},{3}};4.设有程序段intk=3;while(k)k=k-1;则下面描述中正确的是A.A.while循环执行3次.B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次5.C语言规定,简单变量做实参时,它和对应形参之间的数据传达方式是B.A.地址传递B.单向值传递.C.由实参传给形参再有形参传回给实参.D.由用户指定传递方式.西安科技大学20—20学年第学期期末(中)考试试题(卷)院系:班级:姓名:学号:装订线装订线以内不准作任何标记装订线科目C语言期终考试试题试卷类型A考试班级自动化1101-054.执行下面程序段后,k的值是36.k=1;n=263;do{k*=n%10;n=n/10;}while(n);5.下面程序段中循环体的执行次数是3次.a=10;b=0;do{b=b+2;a-=2+b;}while(a=0);6.在执行语句for(i=0;i3;i=i+2)printf(“%d”,i)时,表达式1执行了1次,表达式2执行了3次.7以下程序的运行结果是6main(){intm=5;if(m++5)printf(“%d”,m);elseprintf(“%d”,m--);}8.以下程序的运行结果是m=3,n=5#includestdio.hmain(){inti=0,j=0,m=1,n=3;switch(i++){case0:m++;case1:n++;case2:case3:m++;n++;break;case4:m++;n++;}printf(m=%d,n=%d,m,n);}三.写出下面程序的运行结果.(每题5分,共20分)1.下面程序的运行结果是a=16,y=36.#include“stdio.h”main(){inta,y;a=2;y=0;do{a+=2;y+=a;if(y30)break;}while(a=14);printf(“a=%d,y=%d\n”,a,y);}2.下面程序的运行结果是x=30,y=+30.00.main(){intx;floaty=353;x=y/100;y=x*=10;printf(“x=%d,y=%+7.2f”,x,y);}西安科技大学20—20学年第学期期末(中)考试试题(卷)院系:班级:姓名:学号:装订线装订线以内不准作任何标记装订线科目C语言期终考试试题试卷类型A考试班级自动化1101-05四.根据题目的要求,补全下面的程序。(每空4分,共20分)3.程序main(){inta=3,b=5,c=2,d=1,x;if(ab)x=c+d;elsex=c-d;printf(%d,x);}运行结果是34.下面程序的运行结果是x=11.#includestdio.hintx=10;intf(inty){staticintx=0;x+=y;returnx;}main(){intx=6;{intx=5;f(x);}x=f(x);printf(x=%d,x);}1.下面程序的功能是:可以通过指针输出数组a中任一行、任一列元素的值。请补全程序。#includestdio.hmain(){inta[3][5]={2,4,6,8,10,12,14,16,18,20,22,24,26,28,30};inti,j;int(*p)[(1)];p=a;printf(“Enteri,j;(0=i=2),(0=j=4):”);scanf(“%d,%d”,&i,&j);printf(“a[%d][%d]=%d\n”,i,j,*((2)));}接答:(1)5(2)*(p+i)+j2.以下程序的功能是用枚举法求百鸡问题,公鸡五元一只,母鸡三元一只,小鸡一元两只;一百元要买一百只鸡,且需包含公鸡、母鸡和小鸡。问有几种方案可以实现。请填空(要求以较高的效率和合理的数值填空)。#includestdio.hmain(){intn,i,j,k;n=0;for(i=1;i=19;i++)for(j=1;j=(100-5*i)/3;j++)西安科技大学20—20学年第学期期末(中)考试试题(卷)院系:班级:姓名:学号:装订线装订线以内不准作任何标记装订线科目C语言期终考试试题试卷类型A考试班级自动化1101-05解:#include“stdio.h”main(){intx;printf(“请输入一个正整数:”);scanf(“%d”,&x);if(x%5==0&&x%7==0)printf(“YES”);elseprintf(“NO”);}2.使用冒泡排序法将数组a[10]={1,3,2,5,6,7,4,9,10,8}中的数据进行从大到小进行排列,并输出排好的数组a[10].解:#include“stdio.h”main(){inta[10]={1,3,2,5,6,7,4,9,10,8};inti,flag,t;do{flag=0;for(i=0;i8;i++)if(a[i]a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;flag=1;}}while(flag)for(i=0;i10;i++)printf(“排序后的数组:\t”,a[i]);}{k=100-i-j;if(k%2==0&&5*i+3*j+k/2==100){n++;printf(n=%d,cock=%d,hen=%d,chick=%d\n,n,i,j,k);printf(jine=%d\n,5*i+3*j+k/2);}}}解答:(3)n,i,j,k(4)5*i+3*j3.以下程序的功能是求10个数中的正整数之和,请补全程序。#includestdio.hmain(){ints=0,i,j;for(i=0;i10;i++){scanf(“%d”,&j);if(j=0)(5);s+=j;}printf(“和=%4d”,s);}解答:(5)continue五.编程题:(每小题10分,共20分)1.试编程判断输入的一个正整数是否既是5的又是7的倍数,若是则输出YES,否则输出NO.
本文标题:C语言期末考试试题及标准答案西安科技大学
链接地址:https://www.777doc.com/doc-3132904 .html