C语言上机题库百科园第4章南信大_第1页
C语言上机题库百科园第4章南信大_第2页
C语言上机题库百科园第4章南信大_第3页
C语言上机题库百科园第4章南信大_第4页
免费预览已结束,剩余6页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章单选有以下程序 ,程序运行后的输出结果是()#include<stdio.h>int fun (int x,int y) if (x!=y) return (x+y)/2);else return (x);int main() int a=4,b=5,c=6; printf("%dn",fun(2*a,fun(b,c); return 0;A.12B.6C.3D.8有以下程序 ,程序运行的输出结果 ()#include <stdio.h>int f(int x);int main() int n=1,m;m=f(f(f(n);printf(“n

2、%d” ,m);return 0 ;int f(int x) return x*2;A.8 B.4 C.1 D.2有以下程序 ,程序执行后变量w 中的值是 ()#include<stdio.h>int funl(double a)returna*=a;int fun2(double x,double y) double a=0,b=0;a=funl(x) ; b=funl(y) ;return (int)(a+b);int main()doublew;w=fun2(1.1,2.0);D.5有以下程序 , 程序运行后的输出结果是()#include<stdio.h>int

3、 fun() static int x=1; x*=2; return x;int main() int i,s=1; for(i=1;i<=3;i+) s*=fun(); printf("%dn",s);A.10B.64 C.0 D.30有以下程序 , 程序运行后的输出结果是()#include<stdio.h>int f(int x,int y)return (y-x)*x);int main() int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c);printf("%dn",d);A.10B.8C.7D.9有以下

4、程序, 程序运行后的输出结果是()#include <stdio.h>void fun(int p)int d=2;p=d+; printf(“%d”,p);int main()int a=1;fun(a); printf(“%dn”,a);return 0;A.22B.21 C.12 D.32有以下程序:程序运行后的输出结果是( )#include <stdio.h>int f() static int x=1;x+=1;return x;int main()int i,s=1;for(i=1;i<=5;i+) s+=fun();printf("%dn

5、",s);return 0;A.21B.6C.120D.11若有代数式| n xex| ( 其中 e仅代表自然对数的底数,不是变量) ,则以下能够正确表示该代数式的C语言表达式是( )A.sqrt(fabs(pow(n,x)+exp(x,e)B.sqrt(fbs(pow(n,x)+pow(x,e)C.sqrt(fabs(pow(x,n)+exp(x)xx以下关于 return 语句叙述中正确的是()A. 定义 void 类型的函数中可以有带返回值的return 语句B. 没有 return 语句的自定义函数在执行结束时不能返回到调用处 C. 一个自定义函数中必须有一条 return

6、语句D. 一个自定义函数中可以根据不同情况设置多条return 语句设有如下函数定义 , 若执行调用语句: n=fun(3);,则函数 fun 总共被调用的次数是 ( )int fun(int k) if (k<1) return 0;else if(k=1) return 1;else return fun(k-1)+1;A.2B.3 C.5 D.4在一个 C语言源程序文件中所定义的全局变量,其作用域为()A. 所在函数的全部范围B. 所在文件的全部范围C. 由具体定义位置和 extern 说明来决定范围D. 所在程序的全部范围以下叙述正确的是()A.C语言函数可以嵌套调用,例如:fu

7、n(fun(x)B.C语言程序是由过程和函数组成的C.C语言函数不可以单独编译D.C语言中除了 main函数,其他函数不可以作为单独文件形式存在以下程序的主函数中调用了在其前面定义的fun 函数 , 则以下选项中错误的 fun 函数首部是( )#include<stdio.h>int main()double a15,k;k=fun(a);return 0;A.double fun(double *a)B.double fun(double a)C.double fun(double a)D.double fun(double a15)以下说法不正确的是()A. 系统不允许用户重新

8、定义标准库函数B. 标准库函数按分类在不同的头文件中声明C. 用户可以重新定义标准库函数D. 用户若需要调用标准库函数, 调用前必须使用预编译命令 将该函数所在文件包括到用户源文件中下列叙述中正确的是()A.C语言规定必须用 main作为主函数名,程序将从此开始执行,在此结束 B.main 可作为用户标识符,用以命名任意一个函数作为主函数C. 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行D.C语言程序将从源程序中第一个函数开始执行若函数调用时的实参为变量时, 以下关于函数形参和实参的叙述中正确的是()A. 同名的实参和形参占同一存储单元B. 函数的形参和实参分别占用不同的存

9、储单元C. 函数的实参和其对应的形参共占同一存储单元D. 形参只是形式上的存在,不占用具体存储单元在 C语言中,只有在使用时才占用内存单元的变量,其存储类型是()。A.extern 和registerB.auto 和 registerC.static和registerD.auto 和 static设函数中有整形变量 n,为保证其在未赋初值的情况下初值为 0,应该选择的存储类别是( )A.registerB.autoC.auto或registerD.static以下正确的函数定义形式是: ( )A.double fun(int x,int y)B.double fun(int x, y);C.d

10、ouble fun(int x ;int y)D.double fun(int x,int y);在函数调用过程中,如果函数 funA调用了函数 funB ,函数 funB又调用了函数 funA ,则 ( )A. 称为函数的循环调用B.C语言中不允许这样的递归调用C. 称为函数的间接递归调用D. 称为函数的直接递归调用程序设计/* 请编写函数 fun, 其功能是 : 将所有大于 1 小于整数 m的非素数存入 xx 所指数组中 , 非素数的个数通过 k 传回。例如, 输入17, 则应输出 46891012141516注意 : 部分源程序给出如下。请勿改动 main 函数和其他函数中的任何内容若干

11、语句。试题程序 : */。, 仅在函数fun的花括号中填入所编写的#include<conio.h>#include<stdio.h>#include<stdlib.h>int fun(int m, int xx)/*Begin*/* End */int main()FILE *wf;int m, n, zz100;printf("nPleaseenteranintegernumberbetween10 and 100:");scanf("%d",&n);m=fun(n,zz);printf("nnT

12、hereare%d non-primenumberslessthan%d: ",m,n);for(n=0;n<m;n+)printf("%4dn",zzn);wf=fopen("debugout.dat","w");m=fun(21,zz);for(n=0;n<m;n+)fprintf(wf,"%dn",zzn);fclose(wf);return 0;【参考代码】int i,k,j=0;for(i=2;i<m;i+)for(k=2;k<i;k+)if(i%k=0) break;i

13、f(k<i) xxj+=i;return j;程序改错/* 下列给定程序中, 函数 fun 的功能是 : 将十进制正整数 m转换成 k(2 k9) 进制数 , 并按位输出。例如 , 若输入 8 和 2, 则应输出 1000( 即十进制数 8 转换成二进制表示是1000) 。请改正函数 fun 中的错误 , 使它能得出正确的结果。注意 : 不要改动 main 函数 , 不得增行或删行, 也不得更改程序的结构。试题程序 :*/#include <stdio.h>#include <conio.h>/*ERROR*/void fun(int m,int k); int

14、aa20, i; for(i=0;m;i+)/*ERROR*/aai=m/k;m/=k;for(;i;i-)/*ERROR*/printf("%d",aai);int main()int b,n;printf("nPlease enter a number and a base:n");scanf("%d%d",&n,&b);fun(n,b);printf("n ");return 0;【参考答案】void fun(int m, int k)【参考答案】aai=m%k;【参考答案】printf(&q

15、uot;%d", aai-1);如当 n 的值为 20 时 , 该数列为 3,8,13,18,23,28,为42,126,366,570,1010。请改正程序中的错误, 使它能得出正确的结果。,93,98。符合此条件的累加值应注意 : 不要改动 main 函数 , 不得增行或删行, 也不得更改程序的结构。试题程序 : */#include <stdio.h>#define N 20int fun(int n, int a)/*ERROR*/ int i,j,k,sum; sum=0;for(k=3,i=0;i<n;i+,k+=5) sum=sum+k;/*ERROR

16、*/if(sum%4=2)aj+=sum;/*ERROR*/return j-1;int main()int aN,d,n,i;printf("nEnter n(4<=n<=50): ");scanf("%d",&n);d=fun(n,a);printf("nnThe result :n ");for(i=0;i<d;i+) printf("%6d ",ai);printf("nn ");return 0;【参考答案】int i,j=0,k,sum;【参考答案】if(s

17、um%4=2)【参考答案】return j+;return j;/* 下列给定程序中, 函数 fun 的功能是 : 计算函数 F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)其中 x和 y不相等 ,z 和y不等。例如 , 当 x的值为 9,y 的值为 11,z 的值为 15时 , 函数值为请改正程序中的错误, 使它能得出正确的结果。的值。-3.50 。注意 : 不要改动 main函数 , 不得增行或删行, 也不得更改程序的结构。试题程序 :*/#include <stdlib.h>#include <stdio.h>#include <math.h

18、>/*ERROR*/#define FU(m,n) (m/n)float fun(float a,float b,float c) float value; value=FU(a+b,a-b)+FU(c+b,c-b);/*ERROR*/return(Value);void main() float x,y,z,sum; printf("Input x y z: "); scanf("%f%f%f",&x,&y,&z); printf("x=%f,y=%f,z=%fn ",x,y,z); if(x=y|y=

19、z) printf("Data error! n ");exit(0);sum=fun(x,y,z);printf("The result is:%5.2fn ",sum);【参考答案】#define FU(m,n) (m)/(n)#define FU(m,n) (m)/(n)【参考答案】return(value);return value;/* 下列给定程序中, 函数 fun 的功能是 : 按如下递归公式求函数值。fun(n)= 101) 2( n1)fun( n(n1)例如 , 当给 n输入 5时 , 函数值为 18; 当给 n输入 3时 , 函数值

20、为 14。请改正程序中的错误, 使它能得出正确的结果。注意 : 不要改动 main函数 , 不得增行或删行, 也不得更改程序的结构。试题程序 : */#include <stdio.h>/*ERROR*/int fun(n)int c;/*ERROR*/if(n=1)c=10;elsec=fun(n-1)+2;return(c);void main()int n;printf("Enter n: ");scanf("%d",&n);printf("The result: %dnn" ,fun(n);【参考答案】int fun(int n)【参考答案】if(n=1)if(1=n)/* 下列给定程序中, 函数 fun 的功能是 : 用递归算法计算斐波拉契级数列中第n项的值。从第一项起 , 斐波拉契级数序列为1,1,2,3,5,8,13,21,例如 , 若给 n输入 7,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论