当前位置:文档之家› 02244 计算机软件基础(一)(实践)复习资料

02244 计算机软件基础(一)(实践)复习资料

《02244 计算机软件基础(一)(实践)》复习资料
一、程序填空题。

(每空3分,共30分,)
1、下面程序的功能是计算1到100之间的奇数之和,请将下面程序补充完成。

#include <stdio.h>
void main()
{ int sum=0,i;
for (i=1;i<=100;i++)
{ if (____________)
sum=sum+________;
}
printf(”奇数之和为%d\n”,__________);
}
2、下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n, 并输出m,n中的较大者,请将下面的程序补充完整.
#include <stdio.h>
void main()
{ int m_____ , n ______;
char c;
while((c=getchar())!=‘\n’)
{ if (c>=‘A’&&c<=‘Z’) m++;
if(c>=‘a’&&c<=‘z’) _______;
}
printf(“%d ”, m<n?n:m);
}
3、下列程序的功能是从键盘上输入若干员工的工资,统计并输出最高工资和最低工资,当输入负数时程序结束。

请填空。

#include <stdio.h>
void main()
{ float x,max,min;
scanf(“%f”,&x);
________________;
while(_________)
{ if(x___max) max=x;
if(x<min) min=x;
________________;
}
printf(“max=%f,min=%f\n”,max,min);
}
二、读下列程序,写出运行结果。

(每小题10分,共30分)
1、下面程序的运行结果是_____________________
#include <stdio.h>
double fun(double a,double b,double c)
{
double t;
t=a;
if(t>b) t=b;
if(t>c) t=c;
return t;
}
void main()
{
double x,y,z;
x=2.1;y=3.14;z=7.0;
printf("%f\n",fun(x*2,y,z+2));
}
2、下面程序的运行结果是_____________________。

#include <stdio.h>
void main()
{ int x=1,a=0,b=0;
switch(x)
{ case 0:b++;
case 1:a++;
case 2:a++;b++; }
printf(”a=%d,b=%d\n”,a,b);}
3、下面程序的运行结果是_____________________。

#include <stdio.h>
void main()
{ int x=6;
while(x>=0)
{ printf(“*”);
x--;
x--;}
}
三、应用题。

(每空5分,共15分)
下面的算法是利用折半查找法的思想,在一个长度为n的有序表中插入一个元素x,并保持表的有序性。

试在算法中的________处填上正确的内容,完成该运算。

#define M 100
int r[M+1];
void insert(int x, int n)
{ int low=0, high=n-1,mid,i, find=0
while(low<=high) && !find)
{ mid=(1) ;
if(x<r[mid]) high=mid-1;
else is(x>r[mid]) low=(2) ;
else find=1;
}
if(low>high)
{ for(i=n-1;i>=low;i--)
r[i+1]=r[i];
r[low]=(3) ; }
}
四、编程题。

(共25分)
1、设计一个程序,输入浮点数x的值,按下列公式计算并输出y的值。

(7分) x (x<=1)
y= 2x-1 (1<x<10)
3x-11 (x>=10)
2、从键盘输入十个浮点数,找出其中的最大值。

(用数组来实现) (8分)
3、从键盘输入一个字符串,请分别统计其中字母‘q’和‘t’的个数。

(10分)
复习资料答案
一、程序填空题(每小题10分,共30分)
1、i%2!=0 (4分)
i (3分)
sum (3分)
2、=0 (3分)
=0 (3分)
n++; (4分)
3、max=min=x; (2分)
x>0 (3分)
> (2分)
scanf(“%f ”,&x); (3分)
二、读下列程序,写出运行结果。

(每小题10分,共30分)
1、(10分)
2、(10分)
3、(10分)
三、应用题。

(每空5分,共15分)
(1)(low+ high)/2 (5分)
(2) mid +1 (5分)
(3) x (5分)
四、编程题。

(共25分)
1、设计一个程序,输入浮点数x的值,按下列公式计算并输出y的值。

(7分) x (x<=1)
y= 2x-1 (1<x<10)
3x-11 (x>=10)
#include <stdio.h> //1分
main() //1分
{ float x,y;
scanf(“%f”,&x); //1分
if(x<=1) y=x ; //1分
else if(x>1&&x<10) y=2*x-1; //1分
else y=3*x-11; //1分
printf(“y=%f”,y); //1分
}
2、从键盘输入十个浮点数,找出其中的最大值。

(用数组来实现) (8分)
#include <stdio.h> //1分
main()
{ float a[10],m; //1分
int i;
for(i=0;i<=9;i++) //1分
{ scanf("%f",&a[i]); //1分
}
m=a[0]; //1分
for(i=1;i<=9;i++) //1分
if(m<a[i]) m=a[i]; //1分
printf("最大值:%f",m); //1分
}
3、从键盘输入一个字符串,请分别统计其中字母‘q’和‘t’的个数。

(10分)#include <stdio.h> //1分
main()
{
char arr[100]; //1分
int i,n1,n2; //1分
n1=n2=0; //1分
gets(arr); //1分
for(i=0;arr[i]!=’\0’;i++) //1分
{
if(arr[i]==’q’) n1++; //1分
if(arr[i]==’t’) n2++; //1分}
printf(“字母q的个数:%d\n”,n1); //1分printf(“字母t的个数:%d\n”,n2); //1分}。

相关主题