1、1程序设计基础考试试卷二1. 1966 年,Bohra 和 Jacopini 提出的三种基本程序设计结构是:_A if、while 和 for; B. switch、do-while 和 for;C. while、do-while 和 for; D.顺序结构、分支结构和循环结构。2. 算法的特征不包括:_。A 有穷性 B.可行性 C.确定性 D.有 1 个或者多个输入。3. C 语言源程序的基本组成单位是_。A 函数 B. 语句 C. 声明和语句 D. 文件4. 下列标识符中,只有_是合法的。A if B. 3ab C. Int D. A-45. 下列常量中,只有_是合法的。A 3e-0.3
2、B. abc C. 02a1 D. 3776. 下列说法中正确的是:_。A C 语言中的 for 语句的三个表达式都可以省略,而且分号也可以省略。B 宏替换比函数调用的执行速度慢。C 实质上,C 语言中的指针就是一个变量的地址。D C 语言中的任何函数都可以由程序员命名。7. C 语言中,运算对象必须是整型的运算符是_。A / B. % C. + D. -8. 以下叙述中错误的是_。A C 语句必须以分号结束B 复合语句在语法上被看作一条语句C 空语句出现在任何位置都不会影响程序运行D 赋值表达式末尾加分号就构成赋值语句9. 以下叙述中正确的是_。A调用 printf 函数时,必须要有输出项B
3、使用 putchar 函数时,必须在之前包含头文件 stdio.hC在 C 语言中,整数可以以十二进制、八进制或十六进制的形式输出D调用 getchar 函数读入字符时,可以从键盘上输入字符所对应的 ASCII 码10. 以下关于函数的叙述中正确的是_。A每个函数都可以被其它函数调用(包括 main 函数)B每个函数都可以被单独编译C每个函数都可以单独运行D在一个函数内部可以定义另一个函数11. 有以下程序段 typedef struct NODEint num; struct NODE *next; OLD;2以下叙述中正确的是_。A以上的说明形式非法BNODE 是一个结构体类型COLD 是
4、一个结构体类型DOLD 是一个结构体变量12. 以下叙述中错误的是_。AC 语言中对二进制文件的访问速度比文本文件快BC 语言中,随机文件以二进制代码形式存储数据C语句 FILE fp; 定义了一个名为 fp 的文件指针DC 语言中的文本文件以 ASCII 码形式存储数据13. 当把以下四个表达式用作 if 语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是_。Ak%2 B. k%2=1 C. (k%2)!=0 D!k%2=114. 以下不能正确计算代数式 值的 C 语言表达式是_。2(0.5)3sinA1/3*sin(1/2)*sin(1/2) Bsin(0.5)*sin(0.
5、5)/3Cpow(sin(0.5),2)/3 D1/3.0*pow(sin(1.0/2),2)15. 以下能正确定义且赋初值的语句是_。Aint n1=n2=10; Bchar c=32;Cfloat f=f+1.1; Ddouble x=12.3E2.5;16. 以下程序的功能是:当 avoid main() /* Beginning */ int a,b,c; scanf(“%d%d%d”,if (a=k B-k+ Ck%int(f) Dk=f=m18. 设有定义:int a=2,b=3,c=4;,则以下选项中值为 0 的表达式是_。A(!a=1) B(ac ? c:k;执行该程序段后,k
6、 的值是_。A 3 B2 C1 D0320. 设变量 a、b、c 、d 和 y 都已正确定义并赋值。若有以下 if 语句 if (avoid main()char a, b;a=A+5-3; b=a+6-2 ;printf(“%d %cn“, a, b);2、#include void f(int v, int w) int t;t=v;v=w;w=t;void main()int x=1,y=3,z=2;if (xy) f(x,y);else if (yz) f(y,z);else f(x,z);printf(“%d,%d,%d”,x,y,z);3、#include void main()
7、int a44=3,2,-3,-4,0,-12,-13,14,-21,23,0,-24,-31,12,-33,0;int i,j,s=0; for(i=0;ivoid main()int a=100,b=10;int *p1=*p1=b; *p2=a;printf(“%d, %d,”,a,b);printf(“%d, %dn”,*p1,*p2);二、 程序改错:找出下列程序存在的错误,并进行改正。(20 分)1、以下程序的功能是:给 r 输入数据后计算半径为 r 的圆面积 s。#include #define PI 3.1415926void main()int r;float s;scanf
8、(“%d“,r);s=PI*r2;printf(“s=%fn“,s);2、 以下程序用于计算一个一维数组各元素平方根的和。#include #include void main()int a10,i;float sum;for (i=0;ivoid main()int a10;int *p=a;int i;for (i=0;ivoid main()int score,temp;temp=score/10;switch (temp)case 10,9: printf(“A”);case 8: printf(“B”);case 7:printf(“C”);case 6:printf(“D”);de
9、fault:printf(“E”);三、 程序填空题:阅读程序,填充空白使之能完成预定功能。 (10 分)1、以下程序的功能是计算:s=1+12+123+1234+12345。请填空。#include void main() int t=0,s,i;_;for( i=1; ivoid main() int i,j,x;for(j=4; _; j-) for(i=1; i0;i四、编程题第 7 页 共 7 页五、1、#include int min(int a,int b)return (avoid main()float score105, stuave10,courseave5,fangcha;float temp1,temp2;int i,j;printf(“Please input the scores :”);for (i=0;ivoid main()int n,i=0;long fac=1;scanf(“%d”,while (ilong fac(int n)if (n= =0|n= =1) return 1;else return n*fac(n-1);void main()int n;scanf(“%d”,printf(“%ld”,fac(n);