C语言复习题整理

内容发布更新时间 : 2025/5/24 2:54:10星期一 下面是文章的全部内容请认真阅读。

C.不允许直接递归调用,但允许间接递归调用 D.既允许直接递归调用,也允许间接递归调用 5.一个函数返回值的类型取决于( C )。

A.return语句中表达式的类型 B.调用函数时临时指定 C.定义函数时指定或缺省的函数类型 D.调用该函数的主调函数的类型 6.下面叙述中,错误的是( C )。

A.函数的定义不能嵌套,但函数调用可以嵌套 B.为了提高可读性,编写程序时应该适当使用注释

C.变量定义时若省去了存储类型,系统将默认其为静态型变量 D.函数中定义的局部变量的作用域在函数内部

7.在一个源程序文件中定义的全局变量的有效范围为( C )。

A.一个C程序的所有源程序文件 B.该源程序文件的全部范围 C.从定义处开始到该源程序文件结束 D.函数内全部范围

8.某函数在定义时未指明函数返回值类型,且函数中没有return语句,现若调用该函数,则正确的说法是( D )。

A.没有返回值 B.返回一个用户所希望的值 C.返回一个系统默认值 D.返回一个不确定的值

9.函数swap(int x, int y)可实现对x和y值的交换。在执行如下定义及调用语句后,a和b的值分别为( B )。

int a=10, b=20; swap (a,b );

A.10和10 B.10和20 C.20和10 D.20和20 10.下面错误的叙述是( D )。

A.在某源程序不同函数中可以使用相同名字的变量 B.函数中的形式参数是局部变量

C.在函数内定义的变量只在本函数范围内有效

D.在函数内的复合语句中定义的变量在本函数范围内有效

二、程序填空

1.求s=1!+2!+3!+…+10!之和。 程序如下:

#include long int factorial(int n) {

int k=1; long int p=1; for(k=1; k<=n; k++)

【1】p=p*k; ; return p; } main( ) {

int n; float sum=0;

for(n=1;n<=10;n++)

【2】sum=sum+factorial(n); ; printf(\}

2.以下函数用以求x的y次方。

double fun (double x, int y) {

int i; double m=1;

for ( i=1; i 【3】<=y或

三、阅读程序并写出运行结果

1.下面程序运行的结果是_____2,4,,6,8________: #include #define MAX_COUNT 4 void fun( ); main( ) {

int n;

for(n=1; n<=MAX_COUNT; n++) fun( ); }

void fun( ) {

static int k; k=k+2;

prin

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi