《C语言程序设计教程第四章练习题解析(1)PDF.pdf》由会员分享,可在线阅读,更多相关《C语言程序设计教程第四章练习题解析(1)PDF.pdf(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第 7章 Visual C+ 编程基础页脚内容 1单选题1、关于 C语言中的函数,下列描述正确的是()A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C. 函数的定义和函数的嵌套均不可以嵌套D.函数的定义和函数的调用均不可以嵌套答案: B解析:函数的定义不可以嵌套,但函数的调用可以嵌套2、定义一个函数: exce(v1, v2), (v3,v4,v5),v6); 在该函数调用时,实参的个数为()个A.3B.4C.5D.6答案: A解析: (v1, v2) , (v3,v4,v5) 和 v6一共三个实参3、关于 C语言中 print()函数与 scan
2、f() 函数,下列描述中正确的是()A.printf() 函数可以向任何地方输出数据第 7章 Visual C+ 编程基础页脚内容 2B.printf()只向控制台输出数据C.scanf() 只能输入英文字母和数字D.scanf() 函数可以识别输入的空格答案: B解析: printf()是向控制台输出的函数4、在 C语言中,内部函数需要添加的关键字是()A.externB.staticC.thisD.auto答案: B解析:在定义内部函数时,需要在函数的返回值类型前面添加static关键字(又称为静态函数) 。5、当调用时,会调用内部函数A.当调用时,会调用内部函数B.当调用时,会调用外部函
3、数C. 当调用时,会调用两次,先调用内部函数再调用外部函数D.都不调用,会报错第 7章 Visual C+ 编程基础页脚内容 3答案: A解析:当内部函数与外部函数重名时,会优先调用内部函数6、在 C语言中,声明外部函数需要添加的关键字是()A.externB.staticC.thisD.auto答案: A解析:声明外部函数的方式是在函数的返回值类型前面添加extern关键字7、关于 C语言中的局部变量,下列描述中错误的是()A.局部变量就是在函数内部声明的变量B.局部变量只在函数内部有效C. 局部变量只有当它所在的函数被调用时才会被使用D.局部变量一旦被调用,其生存周期持续到程序结束答案:
4、D解析:当函数调用结束时局部变量就会失去作用8、关于 C语言中的全局变量,下列描述中正确的是()第 7章 Visual C+ 编程基础页脚内容 4A.全局变量的作用域一定比局部变量的作用域范围大B.静态类别变量的生存周期贯穿于整个程序的运行期间C. 函数的形参都属于全局变量D.未在定义语句中赋初值的auto变量和 static变量的初值都是随机值答案: B解析:选项 1不对:如果程序中只有一个主函数,则在整个程序运行中,局部变量都在起作用;选项 3不对:除了 C+的引用类型参数,所有函数的形参都是局部变量;选项 4不对: static变量定义时就存储地全局区,初始化为0;9、当全局变量与局部变
5、量重名时,那么在调用时()A.局部变量会被屏蔽B.全局变量会被屏蔽C. 都不会调用,系统会报错D.会调用两次,先调用局部变量,再调用全局变量答案: B解析:当局部变量与全局变量重名时,全局变量会被屏蔽。10、在 C语言中,关于变量的作用域,下列描述中错误的是()A.局部变量只在整个函数的运行周期中有效第 7章 Visual C+ 编程基础页脚内容 5B.全局变量的作用域为整个程序的运行周期C. 当全局变量与局部变量重名时,局部变量会屏蔽掉全局变量D.全局变量会覆盖掉所有与它重名的局部变量答案: D解析:当全局变量与局部变量重名时,全局变量会被屏蔽掉11 、在 C语言中,如果在一个函数的复合语句
6、中定义了一个变量,则该变量()A.只在该复合语句中有效,在该复合语句外无效B.在该函数中任何位置都有效C. 在本程序的原文件范围内均有效D.此定义方法错误,其变量为非法变量答案: D解析:1、2与 3错:函数复合语句中定义的变量在该复合语句中引用;但如果函数含有该变量,则在函数中可以引用该变量4对:在 C+中在复合语句中定义变量为合法,但在C语言中是非法的12、C语言程序的基本单位是() 。A.程序行B.语句第 7章 Visual C+ 编程基础页脚内容 6C. 函数D.字符答案: C解析:函数是 C语言程序的基本单位13、C语言中决定函数返回值的类型的是() 。A.return语句中的表达式
7、类型B.调用函数的主调函数类型C. 调用函数时临时D.定义函数时所指定的函数类型答案: D解析:函数的返回值取决于定义函数时指定的返回值类型14、若有函数调用语句: fun(a+b, (x,y), fun(n+k,d,(a,b); 在此函数调用语句中实参的个数是() 。A.3B.4C.5D.6答案: A第 7章 Visual C+ 编程基础页脚内容 7解析: 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%
8、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 33B.10.0,22.0,33.0C.10.0 22.0 33.0D.10 ; 22; 33答案: B解析:用 scanf() 读取从键盘输入的数据时,中间不能加逗号
9、,要用空格隔开17、若有定义: int x,y; char a,b,c; 并有以下输入数据(此处 u 代表空格):1u2uAuBuC ,那么能给 x赋整数 1,给 y赋整数 2,给 a赋字符 A ,给 b赋字符 B,给 c赋字符 C的正确程序段是() 。第 7章 Visual C+ 编程基础页脚内容 8A.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
10、,&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.以上说法均不正确答案: C19、C语言中函数能否嵌套调用和递归调用?()A.二者均不可B.前者可,后者不可C. 前者不可,后者可D.二者均可第 7章 Visual C+ 编程基础页脚内容 9答案: D解析:两者调用都可以20、C语言规定,程序中各函数之间()
11、。A.既允许直接递归调用也允许间接递归调用B.不允许直接递归调用也不允许间接递归调用C. 允许直接递归调用不允许间接递归调用D.不允许直接递归调用允许间接递归调用答案: A解析:各程序间既可以直接调用也可以间接调用。21、有如下程序:long fib(int n)if (n2)return fib(n-1)+fib(n-2);elsereturn 2;第 7章 Visual C+ 编程基础页脚内容 10void main()printf(%dn,fib(3);该程序的输出结果是() 。A.2B.4C.6D.8答案: B解析:向 fib()函数传入 3时,返回 fib(1)+fib(2)的值;向
12、 fib()函数传入 1和 2时,都返回 2,所以 fib(3)返回 2+2=4。22、以下程序的输出结果是() 。long fun(int n)long s;if (n=1 | n=2)第 7章 Visual C+ 编程基础页脚内容 11s=2;elses=n-fun(n-1);return s;void main()printf(%ldn, fun(3);A.1B.2C.3D.4答案: A解析: fun()函数传入 3 时,返回 3-fun(2);fun()函数传入 2时,返回 2。所以 fun(3)返回 3-2=1。23、在 C语言中,函数的隐含存储类别是() 。A.auto第 7章 V
13、isual C+ 编程基础页脚内容 12B.staticC.externD.无存储类别答案: 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;第 7章 Visua
14、l C+ 编程基础页脚内容 13m=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(%dn,p);A.8,15B.8,16C.8,17D.8,8答案: C解析:函数体内的静态局部变量不随函数的调用结束而销毁,而是一直存在。第 7章 Visual C+ 编程基础页脚内容 1426、以下程序的输出结果是() 。int d=1;int fun(int p)static int d=5;d+=p;printf(%d ,d);return d;void main()int a=3;pr
15、intf(%d n,fun(a+fun(d);A.6 9 9B.6 6 9C.6 15 15第 7章 Visual C+ 编程基础页脚内容 15D.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.externB.re
16、gisterC.autoD.static答案: D解析: static修饰全局变量时,表示该变量仅在本文件中可使用。28、下列程序的输出结果是() 。int b=2;int func(int *a)b += *a;第 7章 Visual C+ 编程基础页脚内容 16return b;void main()int a=2, res=2;res += func(&a);printf(%dn,res);A.4B.6C.8D.10答案: B解析: func()函数中,对全局变量b自增 a的值, func()函数返回 4;res+=4,res赋值为 6。29、请读程序:void main()第 7章 V
17、isual C+ 编程基础页脚内容 17int a=1,b=2,c=3;+a;c+=+b;int b=4,c;c=b*3;a+=c;printf(first:%d,%d,%dn,a,b,c);a+=c;printf(Second:%d,%d,%dn,a,b,c);printf(third:%d,%d,%dn,a,b,c);该程序的输出是()A.first: 12,4,12 Second: 26,4,12 third: 4,3,6B.first: 14,4,12 Second: 26,12,12 third: 26,3,4C.first: 14,4,12 Second: 26,4,12 thir
18、d: 26,3,6第 7章 Visual C+ 编程基础页脚内容 18D.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+
19、;第 7章 Visual C+ 编程基础页脚内容 19printf(%dn,d);A.84B.99C.95D.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()第 7章 Visual C+ 编程基础页脚内容 20int a=5, b=7;fun();printf(%d%
20、d n,a,b);A.100200B.57C.200100D.75答案: B解析: fun()函数改变的是全局变量的值,printf()函数输出的是局部变量的值,fun()函数不会改变局部变量 a、b的值。多选题1、在调用外部函数时,下列描述中正确的是() (多选)A.只要有函数名,就能调用外部函数B.调用外部函数要包含外部函数所在的头文件C. 外部函数与调用者定义在同一个源文件下D.在声明外部函数时,外部函数与原函数定义的返回值类型、函数名称和参数列表必须一致第 7章 Visual C+ 编程基础页脚内容 21答案: B,D解析:外部函数调用时要包含其所在的头文件,当调用者声明了外部函数的原
21、型,也可以不用包含头文件判断题1、局部变量就是在函数内部声明的变量。答案: true解析:局部变量就是在函数内部声明的变量。2、局部变量只有当它所在的函数被调用时才会被使用,而当函数调用结束时局部变量就会失去作用。答案: true解析:局部变量只有当它所在的函数被调用时才会被使用,而当函数调用结束时局部变量就会失去作用。3、局部变量就是在函数内部声明的变量,它只在本函数内有效。答案: true解析:局部变量就是在函数内部声明的变量,它只在本函数内有效,也就是说,只能在本函数内使用它。4、局部变量只有当它所在的函数被调用时才会被使用,当函数调用结束时局部变量还会一直存在。答案: false解析:
22、局部变量只有当它所在的函数被调用时才会被使用,而当函数调用结束时局部变量就会失去作第 7章 Visual C+ 编程基础页脚内容 22用。简答题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)第
23、 7章 Visual C+ 编程基础页脚内容 23int 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、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。第 7章 Visual C+ 编程基础页脚内容 24void main()int num = 100;printf(“%d, %o, %
24、xn”,num,num,num);答案: 100 144 64解析: printf()函数将十进制数 100分别以十进制,八进制,十六进制形式输出。4、请阅读下面的程序,当用户从键盘输入hello world时,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。void main()char str256;scanf( “%s ”,str);printf(“%sn”,str);答案: hello解析:输入 hello world时,中间的空格对scanf() 函数来说是终止符,后面的内容无法读取。第 7章 Visual C+ 编程基础页脚内容 255、请阅读下面的程
25、序,在空白处填写正确的代码,实现下列功能。用户从键盘输入两个整型数据,将两个数据相加输出。void main()int a,b;printf(“%dn”,);答案: scanf( “%d%d ”,&a,&b);a + b;解析:键盘输入数据,用scanf() 函数;输入两个数据的和a + b; 6、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。int func2(int a, int b)int c;第 7章 Visual C+ 编程基础页脚内容 26c = a * b % 3;return c;int func1(int a, int b)i
26、nt c;a += a;b += b;c = func2(a, b);return c * c;void main()int x = 11, y = 19;printf(the final result is:%dn, func1(x, y);答案: 4第 7章 Visual C+ 编程基础页脚内容 27解析: x = 11,y = 19传入 func1() 函数,在 func1() 函数中经过运算变为22,38,然后传入给 func2() 函数,返回运算结果 2,func1() 函数收到返回值 2以后再经过运算返回给主调用函数结果为4。7、请阅读下面的程序,分析程序是否能编绎通过并正确运行,
27、如果不能,说明原因;如果能,请写出运行结果。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);第 7章 Visual C+ 编程基础页脚内容 28n”,x, y);答案: x = 1, y = 10;解析:将实参传递给形参,只是复制了一份给x,y的值,参数在被调用函数内部改变,不影响其在调用函数中的值。8、请阅读下面的程序,在空白处填写正确的代码,实现下列功能。用户从键盘输入四个数
28、,比较得出四个数中的最大值并输出。int max2(int a, int b) if (a b)return a;elsereturn b;第 7章 Visual C+ 编程基础页脚内容 29int 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);第 7章
29、Visual C+ 编程基础页脚内容 30return 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;elsereturn n + add(n
30、 - 1);void main()int n = 5;int sum = add(5);第 7章 Visual C+ 编程基础页脚内容 31printf(“结果为 :%dn”,sum);答案: 15解析: add() 函数进行递归调用,传入的参数5,会一直递减相加直到递减至1。10、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。void fun(int n) if (n0) printf(%dt, n);fun(-n); void main()int a = 5; 第 7章 Visual C+ 编程基础页脚内容 32fun(a); 答案: 5
31、4 3 2 1解析: fun()函数递归调用,每打印一次就自减再调用一次自己。11 、请阅读下面的程序,在空白处填写正确的代码,实现下列功能。用递归方法求出n!。int fac(int n)int t;if( )return 1;elset = ;return t;第 7章 Visual C+ 编程基础页脚内容 33void main()int m, y;printf(Enter m : n);scanf(%d, &m);if (m1时,实现阶乘,则为n*fun(n-1);12、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写第 7章 Visual C+ 编
32、程基础页脚内容 34出运行结果。int x = 5;static void cude()x = x*x*x;void main()cude();printf(x = %dn, x);答案: 125解析:全局变量x,当调用 cude() 内部函数时,并没有传入参数,没有复制,所以x 值的变化直接改变了 x本身的值13、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。first.c文件int func(int a, int b)第 7章 Visual C+ 编程基础页脚内容 35return a + b;second.c 文件static int f
33、unc(int a, int b)return a b;void main()int x = 5, y = 2;printf(“%dn”,func(5, 2);答案: 3解析:当内部函数与外部函数重名时,会优先调用内部函数14、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。第 7章 Visual C+ 编程基础页脚内容 36first.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 =
34、 2;printf(“%dn”,func(5, 2);答案: 7解析:在 second.c 中声明了 int func(int a, int b);函数原型,可以调用first.c中的函数。15、请阅读下面的程序,在空白处填写正确的代码,实现下列功能。有一个外部函数,用户输入一个数字,可以实现奇偶数的判断。实现在主函数中调用这个外部函数。first.c源文件第 7章 Visual C+ 编程基础页脚内容 37void func(int num)if(num %2 = 0)printf(“这是一个偶数 !n ”);second.c 源文件;void main()int num;scanf( “%
35、d ”,&num);func(num);答案: extern void func(int num);解析:调用外部函数,可以包含函数所在的头文件,也可以在本文件中声明函数原型。16、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。第 7章 Visual C+ 编程基础页脚内容 38void show()int x = 0;void main()printf(x 的值为: %dn, x);答案:不能运行解析:变量 x为函数 show() 的局部变量,只在show() 函数范围内有效,在main()中无法调用。17、请阅读下面的程序,分析程序是否能编
36、绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。int show()int x = 0;return x;第 7章 Visual C+ 编程基础页脚内容 39void main()int x = 10;show();printf(x 的值为: %dn, x);答案: x的值为: 10解析: main()函数中的 x是局部变量,不受show() 函数调用的影响。18、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。int x = 10;void main()int x = 100;printf(“%d ”,x);答案: 100第 7章
37、 Visual C+ 编程基础页脚内容 40解析:当全局变量与局部变量重名时,全局变量会被屏蔽掉。19、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。int x = 2;void func(int x)x = x * x * x;void main()func(x);printf(%dn, x);答案: 2解析:全局变量作为实参传递给函数,在函数中的运算并不改变其原来的值。20、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。int x=10;第 7章 Visual C+ 编程基础页脚内容 41v
38、oid show()int x=20;printf(show()函数中 x的值为: %dn,x);void main()int x=30;printf(main()函数中 x的值为: %dn,x);show();答案: main()函数中 x的值为: 30show() 函数中 x的值为: 20解析:局部变量只在它所在的函数内部有效,且当全局变量与局部变量重名时,局部变量会屏蔽掉全局变量21、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。int a, b;第 7章 Visual C+ 编程基础页脚内容 42void func()a = 100;b
39、 = 200;void main()int a = 5, b = 7;func();printf(a = %d, b = %dn, a, b);答案: a = 5, b = 7解析:全局变量与局部变量重名时,局部变量会屏蔽掉全局变量22、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:用函数求x的绝对值。void main()int x,y;第 7章 Visual C+ 编程基础页脚内容 43scanf(%d,&x);_printf(y=%dn,y);int abs(int a)int b;if (a=0)b=a;else_答案: y=abs(x); b=-a; return b;解
40、析: abs() 函数是求绝对值的函数。23、以下 check函数的功能是对value中的值进行四舍五入计算,若计算后的值与ponse的值相等,则显示“ WELL DONE! ”,否则显示计算后的值。请填空。第 7章 Visual C+ 编程基础页脚内容 44void check(int ponse, float value)int val;val = _;print( 计算后的值: %d, val);if (_)printf(n WELL DONE!n);elseprintf(nSorry the correct answer is %dn,val);答案: (int)(value*10 +
41、 5)/10) val = ponse解析:第一个填空处利用float型转 int 型的规则实现四舍五入的计算;第二个填空处判断是否计算后的值与 ponse的值相等。24、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:求整数num1和 num2的最大公约数,并返回该值。int gongyue(int num1, int num2)int temp;第 7章 Visual C+ 编程基础页脚内容 45while (_)temp = num1 % num2;num1 = num2;num2 = temp;return _;答案: num2!=0 num1解析:循环条件是 num2!=0
42、,因为被模数不能为0;num1在对 num2取模的过程中一直在改变,最后返回 num1的值。25、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:根据对x的输入,求 1到 x的累加和。int fun(int n)int i,c;c=0;for (i=1;i0)printf(%5ds position is:%4dn,x,i);elseprintf(%d Not been found!n,x);答案: i=10 scanf(%d,&x); break;27、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:输入10个整数存入数组x中,然后计算各元素的和,并将和存入S中。void
43、 main()第 7章 Visual C+ 编程基础页脚内容 48int x10,i,s;for (i=0;i10;i+)_s=0;for (i=1; i10; i+)_printf(%d,s);答案: scanf(%d,&xi); s+=i;解析:第一个空格从键盘输入元素的值;第二个空格将元素存入变量s中;28、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:读入一个两位的正整数,按字符型形式输出。void main()int n;第 7章 Visual C+ 编程基础页脚内容 49scanf(_);printf(_);答案: %d,&n %c,n29、请阅读下面的程序,分析代码是
44、否能够编译通过,如果能编译通过,请列出运行的结果,否则请说明编译失败的原因。#includeint sum(int a)int c=0;static int b=3;c+=1;b+=2;return a+b+c;void main()第 7章 Visual C+ 编程基础页脚内容 50int i;int a=2;for (i=0; i5; i+)printf(%d, sum(a);答案: 8,10,12,14,16,解析: sum() 函数体中的静态局部变量b会一直存在,其值不随函数调用结束而销毁。30、编写一个函数,判断一个数是奇数还是偶数,并在主函数中调用。答案: #include void func(int num)if(num %2 = 0)printf(“该数是偶数” );elseprintf(“该数是奇数” );int main()