(含答案)程序设计基础与语言_复习提纲2014-2015-2-

求每行输出11个素数。 #include #include

(13) int prime(int m); //函数的原型声明 void main() {int k, s=0;

(14)for(k=300;k<=500;k++) //判断300~500之间的每一个素数

if (prime(k)) {

printf(\ s++;

(15) if( s= =0 ) //每行输出11个素数 printf(\ }

printf(\}

int prime(int m) {int i;

for(i=2;m%i!=0;i++);

(16)return( m==i );} //返回函数的值

6. 斐波那契数列的第1项和第2项都是1。下面的程序用来计算并输出斐波那契数列1,1,2,3,5,8,13,21,...等20项的值,请将正确答案填入程序空白处。 #include void main() { int i;

int fib[20]= {1,1} ; //初始化前两项 for (i=2;i<20;i++)

fib[i] = fib[i-1] + fib[i-2] ; // 第i项的值 for (i=0;i<20;i++) {

if ( (i+1)%5= =0&&i!=0 ) //每行五个元素,然后换行

printfr(‘\\n’);

printf(″d″,fib[i]) } /*for循环结束*/

} /*程序结束*/

7. 下面的程序的功能是求出任意两个数的和,并输出。本程序中利用自定义函数add()进行两个数和的求解。 # include

float add(float x, float y); /*对被调用函数add的声明*/ void main() {

float a,b,c;

scanf(“%f %f”, &a, &b) ; // 输入两个数,并保存在变量a和b中 c=float add(a,b) ; // 调用add函数,并将结果保存在c中 printf("sum is %f \\n",c); }

float add(float x,float y) /*函数首部*/ { float z; /*函数体*/ z=x+y;

return z ; //函数值的返回 }

五、判断题

1.C语言中主函数的名字不一定用main表示。× 2.C语言是一种典型的解释型高级程序设计语言。√

3.enum a {one=9,two=-1,three};是正确的枚举类型定义。×

4.若int x,y;,则执行以下语句:x+=y; y=x-y; x-=y;的功能是交换变量x和y的值。√ 5.若有声明int (*func1)(int,int);则func1是指向返回值为整型且有两个整型形参的函数的指针。√

6.C语言可以使用字符数组或字符指针处理字符串。√

7.在一个C源程序文件中,若要定义一个允许其他源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是static。×

8.静态局部变量离开所在函数,其占用的存储空间将释放。×。所在函数的模块没有被释放掉的情况下,这个静态变量为上次调用的值。

9.如果函数的形参与实参的类型不一致,以实参类型为准。×,同于形参=实参,按左边的为准

10.完成编译预处理的工作是在编译前完成的。√ 11.C程序中用到的所有数值型数据都是精确表示的。×

12.C程序中的静态存储类别变量和外部变量的初始化是在编译阶段完成的。√ 13.C语言中所有的逻辑运算符优先级都是相同的。×,逻辑运算符分三种优先级 14.若有定义int a[7]={2,3,5,7};则数组元素a[5]的值为0。√ 15.在C语言中,将按变量地址存取变量值的方式称为“直接访问”方式。√

16.按函数在程序中出现的位置来分,可以有三种函数调用方式,分别是函数语句、函数表达式和函数参数。√

17.如果在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量被“屏蔽”,即它不起作用。√

18.若字符数组a[20]中存放着一个字符串,且a[10]=’\\0’,函数strlen(a)的值为10。× Strlen()并不包含\\0,并且遇到\\0就返回长度值,所以应该返回9

19.若有变量定义char x;short int y;,则表达式x+y的值为double。×int型 20.设a、b和h分别是梯形的上、下底和高,有定义double a,b,h;利用公式(1/2)*(a+b)*h不能正确计算出此梯形的面积。×

21. C语言中,%运算符要求参加运算的运算对象必须为整数。√ 22. C语言优先级最低的运算符是逗号运算符。√

23. 若定义int n=10; 则用int a[n]; 定义一维数组是合法的。×//数组下表只能是表达式和常量

24. C语言中,函数既可以嵌套定义,又可以嵌套调用。×,不可以嵌套调用 25. 用数组元素作函数实参时,是将实参的值传递给形参,采用“值传递”方式。√ 26. 在局部变量的作用范围内,如果全局变量与局部变量同名,则全局变量有效,局部变量被屏蔽。×,全局变量无效

27. C语言中的寄存器变量,用关键字register声明。√

28.全局变量的作用域是从变量的定义处开始,到本程序文件的末尾。√

29. 加static声明的外部变量存放在静态存储区,不加static声明的外部变量存放在动态存储区。×无论是加static的外部变量还是不加static的外部变量都是存放在静态存储区 30. 数组名不代表整个数组,只代表数组首元素的地址。√

六、编写程序

1.计算数列

2358,,,?的前20项和,并输出运算结果。 12352.采用do??while语句实现计算并输出s=1+2+3+??+100

3. 求100?200间的全部素数。要求编写一个判断一个整数是否为素数的函数,并在main函数中调用该函数,每个数占5列宽度,每行输出7个素数。

4.已知百分制成绩(由键盘输入),要求计算并输出五分制成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。90分以上为‘A’,80?89分为‘B’,70?79分为‘C’、‘60?69分为D’、60分以下为‘E’(请用if语句实现)。

5. 已知百分制成绩(由键盘输入),要求计算并输出五分制成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。90分以上为‘A’,80?89分为‘B’,70?79分为‘C’、‘60?69分为D’、60分以下为‘E’(请用switch语句实现)。

6.请编写程序,其功能是:计算并输出S?1?1?2?3?5??的前20项之和

23587.编写程序,其的功能是:计算并输出下列级数的和。其中,变量n的值由键盘输入。

S?1111?????1*22*33*4n(n?1)

例如,当n=10时,函数值为0.909091。

8.请编写函数fun,其功能是:计算并输出下列多项式值:

11111S?(1?)?(?)???(?)2342n?12n

9. 编程序应用选择法实现对17个整数按照从大至小的顺序排序。

10. 编程序,应用冒泡法对通过键盘输入17个整数按照从大到小的顺序排序,并输出排序前后的数据。

11. 编程实现计算分段函数的值。

x?7x??5??x2?5x?2?5?x?2?y??32x?3x?52?x?10?43?x?10x?7x?3x?10 ?

填空题详解:

第10题:表达式(int)((double)9/2)-9!.(double)9 强制转化为双精度

的值是____3____

联系客服:779662525#qq.com(#替换为@)