语言程序设计试卷A中国计量学院.doc
中国计量学院200j_?200JL学年第二学期
《C语言程序设计(1)》课程考试试卷(A)
开课系部:信息、计量、机电、质安,考试时间:2007年7月17 口 9时
考试形式:闭卷区]、开卷口,允许带入场
考生姓名:学号:专业:班级:
题序
—-
二
三
四
五
六
七
八
九
总分
得分
评卷人
试题1 (每小题3分,共12分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 程序说明】
下列程序将U?算如下表达式:
1-1/2+1/3-. ? .+l/n
程序】
^include
订 void main 0 {
int i,flag; double sum;
*
int n;
scanf (〃%d", 1】);
flag=l;
线 [21
? for (i = 1; i 〈= n; i++)
{
sum += flag氺1. 0/i;
print'f (
print'f (【4
】,sum);
供选择的答案】
⑴
A、n
B、&n
L、 n
IX氺n
⑵
A、 sum=-l;
B、 sum=l;
C、 sum=0;
D、;
⑶
A、 flag=flag;
B、 flag/=flag;
c、;
I)、flag=-flag
⑷
A、%f
B、 ” %d”
C、 ” %lf”
D、If
试题2 (每小题3分,共12分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 程序说明】
下列程序用冒泡法对数组a的前n个元素按从小到大的顺序排序后输岀。
程序】
^include
^define N 100
void inainO
{
int i, j, t, n, a[N]; scanf(〃%d", &n);
for(i=0; i
for(i=0; 6】;i++)
for (j=0; 7】;j++)
if( 8】){
t=a[j]; a[j]=a[j+l]; a[j+l]=t;
}
for(i=0; i
供选择的答案】
⑸A、
a[i]
B、
&(a+i)
C、
*(a+i)
D、
a+i
⑹A、
i
B、
i
C、
i〉n-l
D、
i>n-2
⑺A、
j
B、
j<=n
C、
j
D、
j〈n-i
⑻A、
B、
a[j]>a[i]
C、
D、
a[j+l]>a[j]
试题3 (每小题3分,共12分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 程序说明】
下列程序从键盘上输入一串字符(换行作为结束标志),统计字符的个数,将该串字符 及字符个数显示到屏幕上并写入文件str. txt中。
程序】
^include void main()
char ch; int sumch=0;
FILE *fp;
fp=fopen( 9】);
while((ch=getchar()) 10】){
[11 ]; putchar(ch): fputc (ch, fp);
printf(〃sumch=%d\n〃,sumch);
fprintf( 12】,"sumch=%d\n〃,sumch);
fcloso(fp);
供选择的答案】
⑼
A、
// //
str. txt ,
” ” 1) r B、
str. txt ,
w C、
n // // fp, r
D、
fp, w
.(10)
A、
!=’ \n,
B、
!=’\0,
c、
==’ \n’
D、
\0,
(11)
A、
ch一一
B、
ch++
c、
sumch—
D、
sumch++
(⑵
A、
ch
B、
fp
c、
str
D、
*fp
试题4 (每小题3分,共12分)
阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 4.1下列程序运行时,若从键盘上输入的数据为4321,则程序第12行的输出是 13 第13行的输出是 14】。
程序】
#include
void mainO
int n,num, sumdigit; scanf (〃%d〃,
int n,num, sumdigit; scanf (〃%d〃,&n); num二0; sumdigit=O; do {
num++;
sumdigit+=n%10;
n/=10;
} while (n);
printf (/znum=%d\n/z, num);
printf(〃sumdigit=%d\n〃, sumdigit);
【供选择的答案】
A、 num=lB、 num=2
A、 s