《2013-2014第一学期c语言程序设计期末考试试题(共13页).doc》由会员分享,可在线阅读,更多相关《2013-2014第一学期c语言程序设计期末考试试题(共13页).doc(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上一、.单选题1.一个完整的C程序是 BA.要由一个主函数(或)一个以上的非主函数组成B.由一个且仅由一个主函数和零个以上(含零)的非主函数组成C.要由一个主函数和一个以上的非主函数构成D.由一个且只有一个主函数或多个非主函数组成2.int a=3,则执行完语句a-=a+=a*=a后,a的值是_0_3.x,y为整形,表达式x=4,y=2+6/x的值是_x=4,y=3_4.int a=3,b=-2;printf(“%d”,(a=3)&(b=-3);的输出结果是_0_5.“10a0”的C语言表达式为_a=0|ay)z=x;B.if(x=y)z=0;C.if(x!=y)pri
2、ntf(“%d”,x) else printf(“%d”,y);D.if(xy)c+;u-;7.c语言中,下列说法正确的是_C_A.do-while语句构成循环的循环次数可以为0B.do-while构成的循环必须用break语句才能结束C.do-while构成的循环,当while语句中的表达式值为非0时循环结束D. do-while构成的循环,当while语句中的表达式值为0时循环结束8.以下循环执行的次数是_3_main()int i,j;for(i=1,j=10;i=j;i+,j-=2)if(i%3=0)i+;printf(“%fn”,i);9.以下正确的数组定义语句是_C_A.int a
3、3=1,2,3,4,5,6B.int n=2,an=1,2;C.int a3=1;D.int a3;10.若有说明:int a34;则对于a数组元素的非法引用是_D_A.a22*1 B.a03 C.a4-20 D.a1411.函数调用语句fun(a,b),(x+y,z)中实参的个数是_2_12.下面程序错误的行是_4_main()int a3=1;int I;scanf(“%d”,&a);for(i=1;i3;i+)a0=a0+ai;printf(“a0=%dn”,a0);13.C语言程序由函数组成_A_A.可以嵌套调用函数B.可以嵌套定义函数C.递归函数只能直接递归,不能间接递归D.主函数必
4、须定义在其他函数之后14.若使用一维数组名作函数的实参,则以下正确的说法是_C_A.参数传递时,是将实参数组的第一个元素的值传给了形参数组B. 参数传递时,是将实参数组中全部元素的值传给了形参数组C.在定义被调用的函数是,定义的形参数组的大小可以为空D.实参数组名和形参数组名必须一样16.以下函数值的类型是_int_fun(float x)float y;y=3*x-4;return y;16.若已定义char s10,在下面表达式中不能表示s1的地址是BA.s+1 B.s+ C.&s0+1 D.&s117.关于局部变量的作用域,下列说法正确的是_C_A.本文件的全部范围B.本程序的全部范围C
5、.本函数的全部范围D.从定义开始至本函数结束18.已定义如下函数 int fun(int *p) return *p;该函数的返回值是DA.不确定的值B.形参p中存放的值C.形参p的地址值D.形参p所指的存储单元的值19.逻辑运算符两侧运算对象的数据类型可以是_D_A.只能是0或1B.只能是0或非0正数C.只能是整形或字符型数据D可以是任何类型的数据。二填空题1. 若a=6,b=4,c=2,则表达式!(a-b)+c-1&b+c/2的值是_1_2. 若有以下定义和语句:int a4=0,1,2,3,*p;p=&a1;则+(*p)的值是_2_3. 语句 for(i=1;i=10;i+) if(i%
6、5=0) break;循环次数是_0_4. 若有以下程序段int a5=2,4,6,8,10,*p,k;p=&a2;k=*(p-);则程序段执行后k的值为_4_5.以下程序的功能是计算1*2*3+3*4*5+5*6*7+99*100*101请填空main()int i,sum=0;for(i=1;i=99;) sum=sum+i*(i+)*(i+); printf(“%dn”,sum);5. 下面程序的功能是统计0至9之间的不同的数字组成的三位数的个数main()int i,j,k,count=0;for(i=1;i=9;i+) for(j=0;j=9;j+) if(i=j)continue;
7、elsefor(k=0;k=9;k+) if(k!=i&k!=j)count+;printf(“%dn”,count);三、写程序的运行结果1.void fun(int *a,int *b)int *k;k=a;a=b;b=k;main()int a=3,b=6,*x=&a,*y=&b;fun(x,y);printf(“%d,%dn”,a,b);结果为3,62.f(int n)float r;r=n/2.0;return r;main()float x;x=f(3);printf(“%3.1fn”,x);结果1.03.main()int i,b,k=0;for(i=1;i=0)k+;b-;pr
8、intf(“%d,%dn”,k,b);结果8,-14,void func(int a)static int m=1;m+=a;printf(“%dn”,m);void main()int k=3;func(k);func(k);结果475.main()int a=1,2,3,4,5,6,7,8,9,10,*p;p=a;*(p+2)+=2;printf(“%d,%dn”,*p,*(p+2);p+=3;printf(“%d,%dn”,*p,*(p+2);结果2,5 5,56.main()int i;for(i=1;i3;i+)if(i%2) printf(“*”);else printf(“#”)
9、;continue;printf(“$”);结果 *$#$7.main()int x=1,y=0;switch(x)case 1:switch(y)case 0:printf(“zeron”);break;case 1: printf(“firstn”);break;case 2: printf(“secondn”);break;case 3: printf(“thirdn”);break;结果 zero8.main()int a=1,b=10;dob-=a;a+;while(b0);printf(“%d,%dn”,a,b);结果 -5,6编程题1. 编写程序输出10到99之间符合如下条件的数
10、:设数的个位数和十位数的乘积为k,满足2k7#includevoid main()int i,j,k;for(i=1;i=9;i+) for(j=0;j=2&k=7)printf(%dn,(10*i+j); 2.设某班人数为50人,参加c语言考试,用一维数组int score50存放考试成绩,编写一函数int count(int score,int n)统计不及格人数,在主程序中调用该函数求出不及格的百分比。#includeint count(int score,int n)int x=0,i;for(i=0;i4;i+)if(scorei60)x+;return x;void main()int i,score4;float k;for(i=0;i4;i+)scanf(%d,&scorei);printf(%dn,count(score,4);k=(count(score,4)/4.0);printf(%fn,k);专心-专注-专业