1、试卷编号:9688所属语言:C 语言试卷方案:期中考试试卷总分:100 分共有题型:5 种一、填空 共 15 题 (共计 15 分)第 1 题 (1.0 分) 题号:528设 a、b、c 为整型数, 且 a=2、b=3、c=4, 则执行完以下语句:a*=16+(b+)-(+c);后,a 的值是 【1】.答案:=(答案 1)=28第 2 题 (1.0 分) 题号:78已知 i=5;写出语句 i+=012; 执行后整型变量 i 的十进制值是【1】.答案:=(答案 1)=15第 3 题 (1.0 分) 题号:510若 a 是 int 型变量,则计算表达式 a=25/3%3 后 a 的值为【1】.答案
2、:=(答案 1)=2第 4 题 (1.0 分) 题号:437以下程序的输出结果为【1】,#include “stdio.h“ main()int a=010,j=10;printf(“%d,%dn“,+a,j-);答案:=(答案 1)=9,10第 5 题 (1.0 分) 题号:431执行下面两个语句,输出的结果是【1】,char c1=97,c2=98;printf(“%d %c“,c1,c2);答案:=(答案 1)=97 b第 6 题 (1.0 分) 题号:293getchar()函数只能接收一个【1】.答案:=(答案 1)=字符第 7 题 (1.0 分) 题号:440设 a=3,b=4,c
3、=5,则表达式!(a+b)+c-1a=c;c=b;答案:=(答案 1)=2第 10 题 (1.0 分) 题号:532以下 do-while 语句中循环体的执行次数是【1】.a=10;b=0;do b+=2; a-=2+b; while (a=0);答案:=(答案 1)=3第 11 题 (1.0 分) 题号:398程序段 int k=10; while(k=0) k=k-1 循环体语句执行【1】次.答案:=(答案 1)=0第 12 题 (1.0 分) 题号:438以下程序的输出结果为【1】,#include “stdio.h“ main()int a;for(a=0;ab)a=b;if(ac)a
4、=c;则 a 的值为().A:1B:2C:3D:不一定答案:A第 9 题 (2.0 分) 题号:2122下列程序的输出结果是().main() int x=1,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0:a+;break;case 1:b+;break;case 2:a+;b+;break; case 3:a+;b+;break; printf(“a=%d,b=%dn“,a,b);A:a=1,b=0B:a=2,b=1C:a=1,b=1D:a=2,b=2答案:B第 10 题 (2.0 分) 题号:2050C 语言中以下几种运算符的优先次序()的排列是正
5、确的.A:由高到低为:!,B:if(x=y) x+=y;C:if(x!=y) scanf(“%d“,D:if(x0|E+y;x=i+) i=x;B:for(;x+=i);C:while(1)x+;D:for(i=10;i-) sum+=i;答案:A第 17 题 (2.0 分) 题号:2278以下能对一维数组 a 进行正确初始化的语句是().A:int a10=(0,0,0,0,0)B:int a10=;C:int a=0;D:int a10=10*1;答案:C第 18 题 (2.0 分) 题号:2284若有说明: int a34=0;则下面正确的叙述是().A:只有元素 a00可得到初值 0B
6、:此说明语句不正确C:数组 a 中各元素都可得到初值,但其值不一定为 0D:数组 a 中每个元素均可得到初值 0答案:D第 19 题 (2.0 分) 题号:2256printf 函数中用到格式符%5s,其中数字 5 表示输出的字符串占用5 列,如果字符串长度大于 5,则输出按方式().A:从左起输出该字符串,右补空格B:按原字符长从左向右全部输出C:右对齐输出该字串,左补空格D:输出错误信息答案:B第 20 题 (2.0 分) 题号:2275以下对二维数组 a 的正确说明是().A:int a3B:float a(3,4)C:double a14D:float a(3)(4)答案:C四、程序填
7、空 共 4 题 (共计 24 分)第 1 题 (6.0 分) 题号:427/*-【程序填空】-题目:百鸡问题:100 元买 100 只鸡,公鸡一只 5 元钱,母鸡一只 3元钱,小鸡一元钱三只,求 100 元钱能买公鸡、母鸡、小鸡各多少只?-*/#include main()int cocks,hens,chicks;cocks=0;while(cocksvoid main()int score,i,max,min,sum;max=-32768; min=32767; sum=0;for(i=1;imax=或=maxscore=(答案 4)=(sum-max-min)/8=或=(sum -max
8、 - min )/8第 3 题 (6.0 分) 题号:6/*-【程序填空】-题目:以下程序是用选择法对 10 个整数按升序排序,程序中有 4 个空,填空使程序完整。-*/*SPACE*/【?】 main()int i,j,k,t,aN;for(i=0;ij=或=j=j=(答案 4)=k != i 第 4 题 (6.0 分) 题号:17/*-【程序填空】-题目:以下程序的功能是删除字符串中的指定字符,字符串和要删除的字符均由键盘输入。-*/#include “stdio.h“main()char str80,ch;int i,k=0;/*SPACE*/gets(【?】);ch=getchar()
9、;/*SPACE*/for(i=0;【?】;i+)/*SPACE*/if(stri!=ch) 【?】;k+;/*SPACE*/【?】;puts(str);答案:=(答案 1)=str=(答案 2)=stri!=0=或=stri!=NULL=或=stri!=0=或=stri=(答案 3)=strk=stri=或=*(str+k)=*(str+i)=或=strk=*(str+i)=或=*(str+k)=stri=(答案 4)=strk=0=或=*(str+k)=0=或=strk=NULL=或=strk=0=或=*(str+k)=0=或=*(str+k)=NULL五、程序设计 共 1 题 (共计 6
10、 分)第 1 题 (6.0 分) 题号:404/*-【程序设计】-题目:编写函数 fun,求任一整数 m 的 n 次方。-注意:部分源程序给出如下。请勿改动主函数main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。-*/#include “stdio.h“main() int m,n;long s;long fun(int,int);printf(“输入 m 和 n 的值:“);scanf(“%d,%d“,s=fun(m,n);printf(“s=%ldn“,s);getch();yzj();long fun(int m,int n)/*Program*/* End */yzj()FILE *IN,*OUT;int n;int i2;