1、南昌大学 20072008学年第一学期期末考试试卷(提前) 试卷编号: (B )卷课程编号: H61050001 课程名称: C程序设计 考试形式: 闭卷 适用班级: 过控05 姓名: 学号: 班级: 学院: 专业: 考试日期: 2007-12-24 题号一二三四总分累分人 签名题分50201020100得分考生注意事项:1、本试卷共10页,请查看试卷中是否有缺页或破损。如有立即举手报告以便更换。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。一、 单项选择题(每小题2 分,共 50 分,答案请写在答题卡) 得分评阅人 1C语言中的标识符只能由字母、数字、下划线三种字符组成,且第一个
2、字符_。.A)必须为字母 B)必须为下划线C)必须为字母或下划线 D)可以是字母、数字、下划线中任意一种字符2若t为double类型,表达式t=1,t+5,t+的值是_。 A)1 B)6.0 C)2.0 D)1.0 3. 以下运算符中,运算对象必须是整型的是_。 A)/ B)%= C)!= D)=4设有定义:longx=-123456L;,则以下能够正确输出变量x值的语句是 A)printf(“x=%dn”,x); B)printf(“x=%1dn”,x);C)printf(“x=%8dLn”,x); D)printf(“x=%LDn”,x)5已知intx10,y20,z30;以下语句执行后x
3、,y,z的值是_。if(xy)z=x;x=y;y=z; A)x10,y20,z30 B)x20,y30,z30 C)x20,y30,z10 D)x20,y30,z206若w1,x2,y3,z4,则条件表达式wx?w:yz?y:z的值是_。A)1 B)2 C)3 D)47判断char型变量c1是否为小写字母的正确表达式为_。 A)ac1z B)(c1a)&(c1z) C)(ac1)|(zc1) D)(c1a)&(c1z)8.有以下程序main()ints=0,a=1,n;scanf(%d,&n); dos+=1;a=a-2;while(a!=n);printf(%dn,s);若要使程序的输出值为
4、2,则应该从键盘给n输入的值是_。 A)-1 B)-5 C)-3 D)0 9有以下程序main()intk=4,n=4; for(;nk;)n+; if(n%3!=0)continue; k-; printf(%d,%dn,k,n);程序运行后的输出结果是_。 A)1,1 B)2,2 C)3,3 D)4,410有以下程序main()inti;for(i=0;i3;i+)switch(i)case1:printf(%d,i);case2:printf(%d,i);default:printf(%d,i);执行后输出结果是_。 A)011122 B)012 C)012020 D)12011有以下程
5、序段intn=0,p;doscanf(“%d”,&p);n+;while(p!=12345&n3);此处dowhile循环的结束条件是_。A)P的值不等于12345并且n的值小于3 B)P的值等于12345并且n的值大于等于3C)P的值不等于12345或者n的值小于3 D)P的值等于12345或者n的值大于等于312以下程序的输出结果_。main()inta=0,i;for(i=1;i5;i+)switch(i)case0:case3:a+=2;case1:case2:a+=3;default:a+=5;printf(%dn,a); A)13 B)20 C)41 D)31 13有以下程序段in
6、tx=3doprintf(“%d”,x-=2);while(!(-x);其输出结果是_。 A)1 B)30 C)1-2 D)死循环14以下程序的输出结果是_。 main() inti; for(i=1;ib) t=a;a=b;b=t; printf(%d,%dn,a,b); scanf(%d,%d,&a,&b); A)!a=b B)a!=b C)a=b D)a=b16. 以下程序的输出结果是_。main()inta33=1,2,3,4,5,6,i,j,s=0;for(i=1;i3;i+)for(j=0;j=i;j+)s+=aij;printf(“%dn”,s); A)18 B)19 C)20
7、D)2117.有以下程序main()int i,j; for(i=1;i4;i+) for(j=i;js2)S; B)if(strcmp(s1,s2)S;C)if(strcmp(s2,s1)0)S; D)if(strcmp(s1,s2)0)S;19若有以下说明和语句,则输出结果是_。charsp=tv0willn;printf(%d,strlen(sp); A)1 B)3 C)9 D)字符串中有非法字符20以下程序的输出结果是_。main() int i,k,a10,p3; k=5; for (i=0;i10;i+) ai=i; for (i=0;i3;i+) pi=ai*(i+1); for
8、 (i=0;i1;n-) s=s+1/n; print(%6.4fn,s);程序运行后输出结果错误,导致错误结果的程序行是_。A)s=1.0; B)for(n=10;n1;n-)C)s=s+1/n; D)printf(%6.4f/n,s);22已知 int i , x 3 4 ; ,则不能将 x 1 1 的值赋给变量 i 的语句是_。 A) i = * ( * ( x + 1 ) + 1 ) B) i = x 1 1 C) i = * ( * ( x + 1 ) ) D) i = * ( x 1 + 1 ) 23已有定义 int ( * p ) ( ) ; , 则指针 p 可以 。A)代表函数
9、的返回值 B)指向函数的入口地址C)代表函数的类型 D)代表函数返回值的类型24.凡在函数中未指明存储类别的变量,其隐含的存储类别为_。A.auto 型 B.static 型 C.extern 型 D.register 型25有以下函数 fun(char*a,char*b) while(*a!=0)&(*b!=0)&(*a=*b) a+;b+; return(*a-*b); 该函数的功能是 _。.A)计算a和b所指字符串的长度之差 B)将b所指字符串复制到a所指字符串中C)将b所指字符串连接到a所指字符串后面 D)比较a和b所指字符串的大小二、程序阅读题(每题 4分,共 20分,答案请写在答题
10、卡上) 得分评阅人 1. 以下程序段的执行结果是_。main()inti,j,a3=1,2,3,4,5,6,7,8,9;for(i=0;i3;i+)for(j=i+1;j3;j+)aji=0;for(i=0;i3;i+)for(j=0;j3;j+)printf(%d,aij);printf(n); 2. 以下程序运行后的输出结果是_。main()inti,m=0,n=0,k=0;for(i=9;i=11;i+)switch(i/10)case0:m+;n+;break;case10:n+;break;default:k+;n+;printf(%d%d%dn,m,n,k); 3. 下面函数的功能
11、是:_。#includevoidinvert(charstr)inti,j,【1】;for(i=0,j=strlen(str)【2】;ij;i+,j-)k=stri;stri=strj;strj=k; 4. 设有下列程序:#include#includemain()inti;charstr10,temp10;gets(temp);for(i=0;i4;i+)gets(str);if(strcmp(temp,str)0)strcpy(temp,str);printf(%sn,temp);上述程序运行后,如果从键盘上输入(在此代表回车符):C+BASICQuickAdaPascal则程序的输出结果
12、是_。5以下程序的输出结果是_。main()chars=“9876”,*p;for(p=s;ps+2;p+)printf(“%sn”,p); 三、填空题(每空 2分,共 10 分,答案请写在答题卡上)得分评阅人 1.下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。#includemain()inti,j;for(i=0;i【1】;i+)j=i*10+6;if(【2】)continue;printf(%d,j); 2下面fun函数的功能是将形参x的值转换成二进制数,所得二进制数的每一位数放在一维数组中返回,二进制数的最低位放在下标为0的元素中,其它依此类推。请填空。fu
13、n(intx,intb)intk=0,r;dor=x%2;bk+=r;x/=【3】;while(x); 3下面的findmax函数返回数组s中最大元素的下标,数组中元素的个数由t传入,请填空。findmax(ints,intt)intk,p;for(p=0,k=p;psk)【4】。returnk; 4.以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串。例如,输入字符串:abc123edf456gh,执行程序后输出:123456。请填空。#include#includemain()chars80,d80;inti,j;gets(s);for(i=j=0;si!=0;i+)
14、if(【5】)dj=si;j+;dj=0;puts(d); 四、编程题(每题10 分,共 20 分,答案请写在答题卡上)得分评阅人 1. 通过循环按行顺序为一个55的二维数组a赋1到25的自然数,然后输出该数组的左下半三角。试编程。2已知一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。 答 题 卡一、单项选择题(每小题2分,共50分)1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 二、程序阅读题(每题4 分,共20 分)得分评阅人 得分评阅人 1 2 3 4 5 三、 填空题(每空2 分,
15、共 10 分)得分评阅人 【1】【2】 【3】 【4】 【5】 四、程序设计题 (每题10 分,共 20 分)得分评阅人 1、 2、 南昌大学 20072008学年第一学期期末考试试卷(A卷)(提前考试试卷)答 题 卡一、选择题(每题2分,共50分)1D2B3C4A5C6A7C8B9D10C11B12D13D14B15B16C17C18B19B20A21D22B23C24D25D二、程序阅读题题(每题4 分,共20 分)得分评阅人 得分评阅人 1a=12 y=12a=16 y=28 2 63* * *425ch=1,6 三、 填空题(每空2 分,共 10 分)得分评阅人 1b=i+12a3a4
16、sum/n5(xiave)四、程序设计题 (每题10 分,共 20 分)得分评阅人 1、#includestdio.hmain()char from80,to80; (2分)int i; (1分)printf(n input string1:);scanf(%s,from); (或gets(from);) (2分)for(i=0;i=strlen(from);i+) toi=fromi;toi=0; (5分)printf(copied string is:%s,to); (或puts(to);) (1分)2、2、main()int i,j,uppn,lown,dign,span,othn;ch
17、ar text380; (1分)uppn=lown=dign=span=othn=0; (1分)for(i=0;i3;i+) printf(input %d line:n,i); gets(texti); (3分) for(j=0;j=A&textij=a&textij=0&textij=9) dign+; else if(textij= ) span+; else othn+; (3分)printf(upper letter:%dn,uppn);printf(lower letter:%dn,lown);printf(digital: %dn,dign);printf(space %dn,span);printf(other %dn,othn); (2分)
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100