程序设计基础-重修-复习题.doc的第一套我做,其他各位补充,毕业好久好多忘记啦,请指正
《第一套》注意:将答案按【 】内序号写在答题纸相应位置上,答在试卷上不得分!
一、单项选择题(每个选项2分, 共30分)
1. C语言是 【 1 】c 。
A. 机器语言      B. 汇编语言 C. 高级语言   D. 自然语言
2.C语言中有关主函数main()说法正确的是 【 2 】d 。
A. 只能出现在程序开始处
B. 一个C程序中可以有多个main()函数
C. main()函数可以被其它函数调用
D. 程序从主函数main()处开始执行
3.以 .h为扩展名的文件,在C编译系统中被称为 【 3 】c 。
A. 主文件      B. 系统文件      C. 头文件      D. 文本文件
4.任何程序都可以由三种基本结构组合而成,这三中基本结构是 【 4 】c 。
A. 分块、顺序、循环      B. 顺序、递归、枚举
C. 顺序、选择、循环      D. 主函数、函数、复合语句
5.Z为整型变量,则Z=5/2+1的值为 【 5 】d 。
A. 3.5     B. 2    C. 3   D. 4
6.下面是输出语句,其中输出浮点型的是   b       。
A. printf( “%5d”,1024 );         B. printf(“%12.2f”,1024);
    C. printf( “%c”, “1024”);       D. printf(“%s”, 1024); 
7.下列 【 7 】b 表达式满足:当x为奇数时值为"真",为偶数时值为"假"。
A. x%2 = = 0 B. x%2 == 1
C. x%2 = = 2 D. !(x%2)
8.算术表达式中的运算符有优先级,下面正确的是 【 8 】b 。
    A. 先乘除,后括号          B. 先括号,后取模(%)     
C. 先乘除,后类型转换      D. 先++,后括号
9.已知  a=1,b=2,c=3则逻辑表达式  a*b>1 || c != 3的值是: 【 9 】 a。
A、真      B、假      C、不定      D、以上都不是10. 以下程序的输出结果为 【 10 】a 。
  #define  NUM    10
main()
{ int i,k;
i=0;k=0;
while(i<NUM)
{ i++;
      if(i%2==1)continue;
      k++;
    }
     printf(“%d”,k);
    }
A. 5       B. 2       C. 3       D. 4
11. 有如下程序段:
    int x; float y;
scanf(“x=%d,y=%f”,&x,&y);
为了将数据10和66.6分别赋给x和y,正确的输入应是 【 11 】a 。
A. x=10,y=66.6 <CR>       B. 10  66.6 <CR>
C. 10 <CR>   66.6 <CR>     D. x=10 <CR>  y=66.6 <CR>
(其中符号CR表示回车)
12. 若定义float x=12.346;则输出语句  
printf(“x=%6.2f”,x);
运行的结果是 【 12 】b 。
A. x=12.34            B. x= 12.35
C. x= 12.34           D. x=12.35
13.以下程序输出为【 13 】.b 
main()
{ int m=5;
float n;
n = m/2 + 1/2.0;
printf(“%f”,n);
}
A. 2.500000 B.  3.000000
C. 3.500000 D.  2.000000
14. 在C语句中,以下不能作为整型常量的是 【 14 】d 。
A. 0x1A     B. 0xAA     C. 0167      D. 1.5E-5
  
15. 以下不是无限循环的语句是: 【 15 】b 。
A. while(1)i++;
B. while(1){i++;if(I%2)break;}
C. for(i=0;i<100;i++)i--;
D. for(i=0;  ;i--);
二、填空题(每个空2分, 共30分):
1.一个C程序至少应包含一个 【1】main()函数 。
2. 在C程序中,注释部分以 【2】/* 开始,以 【2】*/ 结束。
3. 在C程序中,一个函数由两部分组成,它们是 【3】声明 和 【3】主体 。
4.表达式1+7%2的结果是 【4】2 。
5.已知a=3,b=6,则表达式a+3>b && b-5的结果是 【5】0 。
6. 已知x=1,y=8,则表达式x<y?x:(y+2)的值是 【6】 1。
7.下列程序运行的结果是: 【7】x=10,y=9 。
   main()
   {  int x=1,y;
      x = 9;
      y = x++;
      printf(“x=%d,y=%d”,x,y);
    }
8.写出下列程序运行的结果是: 【8】a=5,b=11 。
int addab(int x,int y);
main()
{ int  a=5,b=6;
      b = addab(a,b);
     printf(“a=%d,b=%d”,a,b);
     }
int addab(int x,int y)
{   int  t;
t = x+y;
return t;
}
9.写出下列程序段运行的结果 【9】9 。
    main()
{int i;
char  a[ ] = “123456789”;
i = 0;
while( a[i] != ‘\0’)i++;
printf(“%d”,i);
}10.下面程序是统计100以内能被7整除的正整数之和.请将程序补充完整。
main()
{  int  i, sum;
 【10】 sum=0   ;
for(i=1;i<=100;i++)
 {   【11】if (i%7<>0)   continue;
sum  +=  i;
}
   printf(“\n sum=%d”,sum);
 }11.下程序是输出半经为r的园的面积,其中半经由键盘输入,请补充完整。
#include “stdio.h”
 【12】float Area; 
float  Caculate( 【13】float r );
void main(void)
{ float  r,s;
  scanf(“%f”,&r);
【14】Area = Caculate(r);
  printf(“\n Area=%f”,s);
 }
【15】  Caculate(float r)
{ float area;
  area = PI * r * r ;
  return area;
}三、判断题(正确打ν,错误打X,每题2分,共10分)
1. 因为 int 是标识符,所以可作变量名。X
2.任一C程序只有一个函数,那就是main()函数X。
3.在循环语句中,有两种终止循环的方法。?? ν
4.数组是相关变量的有序集合,其中所有的变量具有相同的数据类型。ν
5.数组A[10]的第一个元素为A[0]。ν四、编程题:(任选一题完成,10分)
1. 用穷举法求解不定方程 3x+4y = 100的所有正整数解。
#include “stdio.h”
void main()
{ int x,y;
for(x=1;x<33;x++)
for(y=1;y<25;y++)
if(3*x+4*y==100) printf(“x=%d,y=%d\n”,x,y);
}
2. 打印出2000--2500年间所有的闰年。
忘记什么是闰年??
五、算法描述题(每题10分, 共20分):
1. 将以下伪代码表示的算法,用C语言实现
BEGIN(算法开始)
0->sum
1->k
while k<= 1000
{ sum+k->sum
k+1->k
}
print   sum
END(算法结束)
long sum;int k;
sum=0;k=1;
while(k<=1000){
sum+=k;k++;}
printf(“sum=%l”,sum);
2. 用流程图表示: 打印输出100以内的所有奇数。