C语言程序设计教程第四章练习题解析(1).doc
《C语言程序设计教程第四章练习题解析(1).doc》由会员分享,可在线阅读,更多相关《C语言程序设计教程第四章练习题解析(1).doc(28页珍藏版)》请在咨信网上搜索。
. 单选题 1、关于C语言中的函数,下列描述正确的是( ) A.函数的定义可以嵌套,但函数的调用不可以嵌套 B.函数的定义不可以嵌套,但函数的调用可以嵌套 C.函数的定义和函数的嵌套均不可以嵌套 D.函数的定义和函数的调用均不可以嵌套 答案:B 解析:函数的定义不可以嵌套,但函数的调用可以嵌套 2、定义一个函数:exce((v1, v2), (v3,v4,v5),v6); 在该函数调用时,实参的个数为( )个 A.3 B.4 C.5 D.6 答案:A 解析:(v1, v2), (v3,v4,v5)和v6一共三个实参 3、关于C语言中print()函数与scanf()函数,下列描述中正确的是( ) A.printf()函数可以向任何地方输出数据 B.printf()只向控制台输出数据 C.scanf()只能输入英文字母和数字 D.scanf()函数可以识别输入的空格 答案:B 解析:printf()是向控制台输出的函数 4、在C语言中,内部函数需要添加的关键字是( ) A.extern B.static C.this D.auto 答案:B 解析:在定义内部函数时,需要在函数的返回值类型前面添加static关键字(又称为静态函数)。 5、当调用时,会调用内部函数 A.当调用时,会调用内部函数 B.当调用时,会调用外部函数 C.当调用时,会调用两次,先调用内部函数再调用外部函数 D.都不调用,会报错 答案:A 解析:当内部函数与外部函数重名时,会优先调用内部函数 6、在C语言中,声明外部函数需要添加的关键字是( ) A.extern B.static C.this D.auto 答案:A 解析:声明外部函数的方式是在函数的返回值类型前面添加extern关键字 7、关于C语言中的局部变量,下列描述中错误的是( ) A.局部变量就是在函数内部声明的变量 B.局部变量只在函数内部有效 C.局部变量只有当它所在的函数被调用时才会被使用 D.局部变量一旦被调用,其生存周期持续到程序结束 答案:D 解析:当函数调用结束时局部变量就会失去作用 8、关于C语言中的全局变量,下列描述中正确的是( ) A.全局变量的作用域一定比局部变量的作用域范围大 B.静态类别变量的生存周期贯穿于整个程序的运行期间 C.函数的形参都属于全局变量 D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值 答案:B 解析:选项1不对:如果程序中只有一个主函数,则在整个程序运行中,局部变量都在起作用; 选项3不对:除了C++的引用类型参数,所有函数的形参都是局部变量; 选项4不对:static变量定义时就存储地全局区,初始化为0; 9、当全局变量与局部变量重名时,那么在调用时( ) A.局部变量会被屏蔽 B.全局变量会被屏蔽 C.都不会调用,系统会报错 D.会调用两次,先调用局部变量,再调用全局变量 答案:B 解析:当局部变量与全局变量重名时,全局变量会被屏蔽。 10、在C语言中,关于变量的作用域,下列描述中错误的是( ) A.局部变量只在整个函数的运行周期中有效 B.全局变量的作用域为整个程序的运行周期 C.当全局变量与局部变量重名时,局部变量会屏蔽掉全局变量 D.全局变量会覆盖掉所有与它重名的局部变量 答案:D 解析:当全局变量与局部变量重名时,全局变量会被屏蔽掉 11、在C语言中,如果在一个函数的复合语句中定义了一个变量,则该变量( ) A.只在该复合语句中有效,在该复合语句外无效 B.在该函数中任何位置都有效 C.在本程序的原文件范围内均有效 D.此定义方法错误,其变量为非法变量 答案:D 解析:1、2与3错:函数复合语句中定义的变量在该复合语句中引用;但如果函数含有该变量,则在函数中可以引用该变量 4对:在C++中在复合语句中定义变量为合法,但在C语言中是非法的 12、C语言程序的基本单位是( )。 A.程序行 B.语句 C.函数 D.字符 答案:C 解析:函数是C语言程序的基本单位 13、C语言中决定函数返回值的类型的是( )。 A.return语句中的表达式类型 B.调用函数的主调函数类型 C.调用函数时临时 D.定义函数时所指定的函数类型 答案:D 解析:函数的返回值取决于定义函数时指定的返回值类型 14、若有函数调用语句:fun(a+b, (x,y), fun(n+k,d,(a,b))); 在此函数调用语句中实参的个数是( )。 A.3 B.4 C.5 D.6 答案:A 解析:a+b返回一个值,(x,y)返回一个值,fun(n+k,d,(a,b))返回一个值。 15、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( )。 A.input x,y,z; B.scanf("%d%d%d",&x,&y,&z); C.scanf("%d%d%d",x,y,z); D.read("%d%d%d",&x,&y,&z); 答案:B 解析:读取键盘输入的数据要用scanf()函数,scanf()中的参数要传入变量的地址 16、若变量已正确说明为float类型,要通过语句 scanf("%f %f %f",&a,&b,&c); 给a赋予10.0,b赋予22.0,c赋予33.0,不正确的输入形式是( )。 A.10 22 33 B.10.0,22.0,33.0 C.10.0 22.0 33.0 D.10; 22; 33 答案:B 解析:用scanf()读取从键盘输入的数据时,中间不能加逗号,要用空格隔开 17、若有定义:int x,y; char a,b,c; 并有以下输入数据(此处\u代表空格):1\u2\uA\uB\uC,那么能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是( )。 A.scanf("x=%d y=%d",&x,&y);a=getchar();b=getchar();c=getchar(); B.scanf("%d %d",&x,&y);a=getchar();b=getchar();c=getchar(); C.scanf("%d%d%c%c%c,&x,&y,&a,&b,&c); D.scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c); 答案:D 解析:空格也会作为一个字符赋给字符变量。 18、对嵌套子程序调用说法正确的是( )。 A.外层子程序可以调用所有的内层子程序 B.内层子程序只可以调用包含本身的外层子程序,不可以隔层调用 C.外分程序必须能完全套住内分程序 D.以上说法均不正确 答案:C 19、C语言中函数能否嵌套调用和递归调用?( ) A.二者均不可 B.前者可,后者不可 C.前者不可,后者可 D.二者均可 答案:D 解析:两者调用都可以 20、C语言规定,程序中各函数之间( )。 A.既允许直接递归调用也允许间接递归调用 B.不允许直接递归调用也不允许间接递归调用 C.允许直接递归调用不允许间接递归调用 D.不允许直接递归调用允许间接递归调用 答案:A 解析:各程序间既可以直接调用也可以间接调用。 21、有如下程序: long fib(int n) { if (n>2) return fib(n-1)+fib(n-2); else return 2; } void main() { printf("%d\n",fib(3)); } 该程序的输出结果是( )。 A.2 B.4 C.6 D.8 答案:B 解析:向fib()函数传入3时,返回fib(1)+fib(2)的值;向fib()函数传入1和2时,都返回2,所以fib(3)返回2+2=4。 22、以下程序的输出结果是( )。 long fun(int n) { long s; if (n==1 || n==2) s=2; else s=n-fun(n-1); return s; } void main() { printf("%ld\n", fun(3)); } A.1 B.2 C.3 D.4 答案:A 解析:fun()函数传入3时,返回3-fun(2);fun()函数传入2时,返回2。所以fun(3)返回3-2=1。 23、在C语言中,函数的隐含存储类别是( )。 A.auto B.static C.extern D.无存储类别 答案:C 解析:为简化编程,C语言中允许在定义外部函数时省略关键字extern。 24、以下叙述中不正确的是( )。 A.在不同的函数中可以使用相同名字的变量 B.函数中的形式参数是局部变量 C.在一个函数内定义的变量只在本函数范围内有效 D.在一个函数内的复合语句中定义的变量在本函数范围内有效 答案:D 解析:函数内的复合语句中定义的变量仅仅在该复合语句中有效。 25、以下程序运行后,输出结果是( )。 int func(int a, int b) { static int m=0,i=2; i+=m+1; m=i+a+b; return m; } void main() { int k=4,m=1,p; p=func(k,m); printf("%d,",p); p=func(k,m); printf("%d\n",p); } A.8,15 B.8,16 C.8,17 D.8,8 答案:C 解析:函数体内的静态局部变量不随函数的调用结束而销毁,而是一直存在。 26、以下程序的输出结果是( )。 int d=1; int fun(int p) { static int d=5; d+=p; printf("%d ",d); return d; } void main() { int a=3; printf("%d \n",fun(a+fun(d))); } A.6 9 9 B.6 6 9 C.6 15 15 D.6 6 15 答案:C 解析:首先调用fun(d),将全局变量d=1带入,此时fun()函数内的静态局部变量d的值是1,d+=p后d的值是6,输出d的值,返回d的值; 然后调用fun(a+6),将局部变量a=3带入,此时fun()函数内的静态局部变量d的值是6,d+=p后d赋值15,输出d的值,返回d的值。 27、在C语言中,若需一变量只在本文件中所有函数使用,则该变量的存储类别是( )。 A.extern B.register C.auto D.static 答案:D 解析:static修饰全局变量时,表示该变量仅在本文件中可使用。 28、下列程序的输出结果是( )。 int b=2; int func(int *a) { b += *a; return b; } void main() { int a=2, res=2; res += func(&a); printf("%d\n",res); } A.4 B.6 C.8 D.10 答案:B 解析:func()函数中,对全局变量b自增a的值,func()函数返回4;res+=4,res赋值为6。 29、请读程序: void main() { int a=1,b=2,c=3; ++a; c+=++b; { int b=4,c; c=b*3; a+=c; printf("first:%d,%d,%d\n",a,b,c); a+=c; printf("Second:%d,%d,%d\n",a,b,c); } printf("third:%d,%d,%d\n",a,b,c); } 该程序的输出是( ) A.first: 12,4,12 Second: 26,4,12 third: 4,3,6 B.first: 14,4,12 Second: 26,12,12 third: 26,3,4 C.first: 14,4,12 Second: 26,4,12 third: 26,3,6 D.first: 14,4,12 Second: 26,6,12 third: 26,4,6 答案:C 解析:程序运行到第6行时,a=2,b=3,c=6;程序运行到第10行时,a=14,局部变量b=4,c=12;程序运行到第13行时,a=26,局部变量b=4,c=12;程序运行到第15行时,a=26,b=3,c=6。 30、以下程序运行后,输出结果是( )。 int d=1; int fun(int p) { int d=5; d+=p++; printf("%d",d); } int main() { int a=3; fun(a); d+=a++; printf("%d\n",d); } A.84 B.99 C.95 D.44 答案:A 解析:fun()函数调用时代入局部变量a的值,fun()函数体内局部变量d自增3,输出d的值,即8,fun()函数返回8,此时全局变量d的值不变。d+=a++后,全局变量d自增3,此时全局变量d的值是4,输出全局变量d的值。 31、以下程序的输出结果是( )。 int a, b; void fun() { a=100; b=200; } void main() { int a=5, b=7; fun(); printf("%d%d \n",a,b); } A.100200 B.57 C.200100 D.75 答案:B 解析:fun()函数改变的是全局变量的值,printf()函数输出的是局部变量的值,fun()函数不会改变局部变量a、b的值。 多选题 1、在调用外部函数时,下列描述中正确的是( )(多选) A.只要有函数名,就能调用外部函数 B.调用外部函数要包含外部函数所在的头文件 C.外部函数与调用者定义在同一个源文件下 D.在声明外部函数时,外部函数与原函数定义的返回值类型、函数名称和参数列表必须一致 答案:B,D 解析:外部函数调用时要包含其所在的头文件,当调用者声明了外部函数的原型,也可以不用包含头文件 判断题 1、局部变量就是在函数内部声明的变量。 答案:true 解析:局部变量就是在函数内部声明的变量。 2、局部变量只有当它所在的函数被调用时才会被使用,而当函数调用结束时局部变量就会失去作用。 答案:true 解析:局部变量只有当它所在的函数被调用时才会被使用,而当函数调用结束时局部变量就会失去作用。 3、局部变量就是在函数内部声明的变量,它只在本函数内有效。 答案:true 解析:局部变量就是在函数内部声明的变量,它只在本函数内有效,也就是说,只能在本函数内使用它。 4、局部变量只有当它所在的函数被调用时才会被使用,当函数调用结束时局部变量还会一直存在。 答案:false 解析:局部变量只有当它所在的函数被调用时才会被使用,而当函数调用结束时局部变量就会失去作用。 简答题 1、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 void func(int a, int b) { printf(" %d",a + b); } void main() { func(3,2); printf("\n"); } 答案:5 解析:fun()是一个实现两个数相加的函数,在主函数中调用并传入值,得到两个数的和 2、请阅读下面的程序,在空白处填写正确的代码,将函数的结果返回给调用者。 int func(int a, int b) { int sum = 0; sum = a + b; ; } void main() { int sum = 0; = func(3,2); printf("两个数相加的结果为%d",sum); } 答案:return sum; sum ; 解析:return sum;return 将函数结果返回 sum ;主函数中sum接收函数返回的值 3、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 void main() { int num = 100; printf(“%d, %o, %x\n”,num,num,num); } 答案:100 144 64 解析:printf()函数将十进制数100分别以十进制,八进制,十六进制形式输出。 4、请阅读下面的程序,当用户从键盘输入hello world时,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 void main() { char str[256]; scanf(“%s”,str); printf(“%s\n”,str); } 答案:hello 解析:输入hello world时,中间的空格对scanf()函数来说是终止符,后面的内容无法读取。 5、请阅读下面的程序,在空白处填写正确的代码,实现下列功能。 用户从键盘输入两个整型数据,将两个数据相加输出。 void main() { int a,b; ; printf(“%d\n”, ); } 答案:scanf(“%d%d”,&a,&b); a + b; 解析:键盘输入数据,用scanf()函数; 输入两个数据的和a + b; 6、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 int func2(int a, int b) { int c; c = a * b % 3; return c; } int func1(int a, int b) { int c; a += a; b += b; c = func2(a, b); return c * c; } void main() { int x = 11, y = 19; printf("the final result is:%d\n", func1(x, y)); } 答案:4 解析:x = 11,y = 19传入func1()函数,在func1()函数中经过运算变为22,38,然后传入给func2()函数,返回运算结果2,func1()函数收到返回值2以后再经过运算返回给主调用函数结果为4。 7、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 void func2(int a, int b) { a = a + 10; b = a + 10; } void func(int a, int b) { a = func2(); b = func2(); } void main() { int x = 1, y = 10; func1(x,y); printf("x = %d, y = %d\n”,x, y); } 答案:x = 1, y = 10; 解析:将实参传递给形参,只是复制了一份给x,y的值,参数在被调用函数内部改变,不影响其在调用函数中的值。 8、请阅读下面的程序,在空白处填写正确的代码,实现下列功能。 用户从键盘输入四个数,比较得出四个数中的最大值并输出。 int max2(int a, int b) { if (a > b){ return a; } else { return b; } } int max4(int a, int b, int c, int d) { int res; res = max2(a, b); res = ; res = max2(res, d); ; } void main() { int a, b, c, d, max; printf("请输入四个整数:"); ; max = max4(a, b, c, d); printf("max=%d \n", max); } 答案:max2(res,c); return res; scanf(“%d%d%d%d”,&a,&b,&c,&d); 解析:在max4()函数中,res = max2(a,b)返回的是a,b中的最大值,这个最大值再与c进行比较,所以res = max2(res,c),返回的较大的值再与d作比较,再将比较得出的较大的值返回给主调用函数,这个较大的值就是四个数中的最大值。 9、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 int add(int n) { if (n == 1) return 1; else return n + add(n - 1); } void main() { int n = 5; int sum = add(5); printf(“结果为:%d\n”,sum); } 答案:15 解析:add()函数进行递归调用,传入的参数5,会一直递减相加直到递减至1。 10、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 void fun(int n) { if (n>0) { printf("%d\t", n); fun(--n); } } void main() { int a = 5; fun(a); } 答案:5 4 3 2 1 解析:fun()函数递归调用,每打印一次就自减再调用一次自己。 11、请阅读下面的程序,在空白处填写正确的代码,实现下列功能。 用递归方法求出n!。 int fac(int n) { int t; if( ) return 1; else { t = ; return t; } } void main() { int m, y; printf("Enter m : \n"); scanf("%d", &m); if (m<0) printf("Input data Error!\n"); else { y = fac(m); printf("\n%d!= %d \n", m, y); } } 答案:(n == 1) || (n == 0) n*fac(n - 1) 解析:实现n的阶乘,当n =0或者n=1时,阶乘没有意义,当n>1时,实现阶乘,则为n*fun(n-1); 12、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 int x = 5; static void cude() { x = x*x*x; } void main() { cude(); printf("x = %d\n", x); } 答案:125 解析:全局变量x,当调用cude()内部函数时,并没有传入参数,没有复制,所以x值的变化直接改变了x本身的值 13、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 first.c文件 int func(int a, int b) { return a + b; } second.c文件 static int func(int a, int b) { return a – b; } void main() { int x = 5, y = 2; printf(“%d\n”,func(5, 2)); } 答案:3 解析:当内部函数与外部函数重名时,会优先调用内部函数 14、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 first.c源文件 int func(int a, int b) { return a + b; } second.c源文件 extern int func(int a, int b); void main() { int x = 5, y = 2; printf(“%d\n”,func(5, 2)); } 答案:7 解析:在second.c中声明了int func(int a, int b);函数原型,可以调用first.c中的函数。 15、请阅读下面的程序,在空白处填写正确的代码,实现下列功能。 有一个外部函数,用户输入一个数字,可以实现奇偶数的判断。实现在主函数中调用这个外部函数。 first.c源文件 void func(int num) { if(num %2 == 0) printf(“这是一个偶数!\n”); } second.c源文件 ; void main() { int num; scanf(“%d”,&num); func(num); } 答案:extern void func(int num); 解析:调用外部函数,可以包含函数所在的头文件,也可以在本文件中声明函数原型。 16、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 void show() { int x = 0; } void main() { printf("x的值为:%d\n", x); } 答案:不能运行 解析:变量x为函数show()的局部变量,只在show()函数范围内有效,在main()中无法调用。 17、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 int show() { int x = 0; return x; } void main() { int x = 10; show(); printf("x的值为:%d\n", x); } 答案:x的值为:10 解析:main()函数中的x是局部变量,不受show()函数调用的影响。 18、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 int x = 10; void main() { int x = 100; printf(“%d”,x); } 答案:100 解析:当全局变量与局部变量重名时,全局变量会被屏蔽掉。 19、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 int x = 2; void func(int x) { x = x * x * x; } void main() { func(x); printf("%d\n", x); } 答案:2 解析:全局变量作为实参传递给函数,在函数中的运算并不改变其原来的值。 20、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 int x=10; void show() { int x=20; printf("show()函数中x的值为:%d\n",x); } void main() { int x=30; printf("main()函数中x的值为:%d\n",x); show(); } 答案:main()函数中x的值为:30 show()函数中x的值为:20 解析:局部变量只在它所在的函数内部有效,且当全局变量与局部变量重名时,局部变量会屏蔽掉全局变量 21、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 int a, b; void func() { a = 100; b = 200; } void main() { int a = 5, b = 7; func(); printf("a = %d, b = %d\n", a, b); } 答案:a = 5, b = 7 解析:全局变量与局部变量重名时,局部变量会屏蔽掉全局变量 22、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:用函数求x的绝对值。 void main() { int x,y; scanf("%d",&x); _______ printf("y=%d\n",y); } int abs(int a) { int b; if (a>=0) b=a; else _______ _______ } 答案:y=abs(x); b=-a; return b; 解析:abs()函数是求绝对值的函数。 23、以下check函数的功能是对value中的值进行四舍五入计算,若计算后的值与ponse的值相等,则显示“WELL DONE!!”,否则显示计算后的值。请填空。 void check(int ponse, float value) { int val; val = _______; print("计算后的值:%d", val); if (_______) printf("\n WELL DONE!!\n"); else printf("\nSorry the correct answer is %d\n",val); } 答案:(int)((value*10 + 5)/10) val == ponse 解析:第一个填空处利用float型转int型的规则实现四舍五入的计算;第二个填空处判断是否计算后的值与ponse的值相等。 24、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:求整数num1和num2的最大公约数,并返回该值。 int gongyue(int num1, int num2) { int temp; while (_______) { temp = num1 % num2; num1 = num2; num2 = temp; } return _______; } 答案:num2!=0 num1 解析:循环条件是num2!=0,因为被模数不能为0;num1在对num2取模的过程中一直在改变,最后返回num1的值。 25、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:根据对x的输入,求1到x的累加和。 int fun(int n) { int i,c; c=0; for (i=1;i<=n;i++) c=c+i; _______ } void main() { int x; scanf("%d", _______); printf("%d\n",fun(x)); } 答案:return c; &x 解析:函数fun()中求总和,c是总和变量,最后返回c; 从键盘输入x,则要对scanf()函数传入变量x的地址。 26、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:先输入10个数据到数组a中,再输入x,然后在a数组中查找与x值相同的元素的所在位置。 void main() { int a[11],x,i; printf("Enter 10 integers:\n"); for (i=1; _______;i++) scanf("%d",a+i); printf("Enter x:"); _______ *a=x;i=10; while (x!=*(a+i)) _______ if (i>0) printf("%5d's position is:%4d\n",x,i); else printf("%d Not been found!\n",x); } 答案:i<=10 scanf("%d",&x); break; 27、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:输入10个整数存入数组x中,然后计算各元素的和,并将和存入S中。 void main() { int x[10],i,s; for (i=0;i<10;i++) _______ s=0; for (i=1; i<10; i++) _______ printf("%d",s); } 答案:scanf("%d",&x[i]); s+=i; 解析:第一个空格从键盘输入元素的值; 第二个空格将元素存入变量s中; 28、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:读入一个两位的正整数,按字符型形式输出。 void main() { int n; scanf(_______); printf(_______); } 答案:"%d",&n "%c",n 29、请阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果,否则请说明编译失败的原因。 #include<stdio.h> int sum(int a) { int c=0; static int b=3; c+=1; b+=2; return a+b+c; } void main() { int i; int a=2; for (i=0; i<5; i++) printf("%d,", sum(a)); } 答案:8,10,12,14,16, 解析:sum()函数体中的静态局部变量b会一直存在,其值不随函数调用结束而销毁。 30、编写一个函数,判断一个数是奇数还是偶数,并在主函数中调用。 答案:#include <stdio.h> void func(int num) { if(num %2 == 0) printf(“该数是偶数”); else printf(“该数是奇数”); } int main() { int num; scanf(“%d”,&- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 教程 第四 练习题 解析
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文