C语言程序设计A形成性考核作业三_第1页
C语言程序设计A形成性考核作业三_第2页
C语言程序设计A形成性考核作业三_第3页
C语言程序设计A形成性考核作业三_第4页
C语言程序设计A形成性考核作业三_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、c语言程序设计a形成性考核作业三一、 选择题1.在下面的()函数声明语句存在语法错误。aaa(int a,int b); baa(int ,int) caa(int a;int b) daa(int a,int) 2在下面的()不能作为函数的返回类型。avoid bint cnew dlong 3下面正确的函数原型语句是() 。aint function(void a); bvoid function(int); cint function(a); dvoid int(double a); 4函数调用 func(exp1,exp2),exp3*exp4-exp5) 中所含实参的个数为()个。a

2、1 b2 c4 d5 5下面的标识符中,( )是文件级作用域。a函数形参b语句标号c 外部静态类标识符d自动类标识符6下面的标识符中,( )具有全局级作用域。a函数形参b全局变量c 内部静态类标识符d自动变量符7假定 p 是一个指向 float 型数据的指针, 则 p+1所指数据的地址比p 所指数据的地址大()字节。a1 b2 c4 d8 8假定 a 为一个字符数组名,则a8的地址比该数组的首地址大()个字节。a4 b8 c16 d32 9假定 a 为一个数组名,则下面的()表示有错误。aai b*a+ c*a d*(a+1) 10用 calloc 函数创建具有 10 个整型元素的一维数组的正

3、确语句是() 。aint *p=calloc(10,2); bint *p=callo(10; cint *p=calloc(10,4); dint *p=malloc(10); 11假定变量 m 定义为“ int m=7;” ,则定义 p 的正确语句为() 。aint p=&m; bint *p=&m; cint &p=*m; dint *p=m; 12假定 k 是一个 double 类型的变量,则定义指向k 的变量 p 的正确语句为( ) 。adouble p=&k; bdouble *p=&k; cdouble &p=*k; dchar *

4、p= ”thank you! ”;13假定一条定义语句为“int a10,x,*pa=a;” ,若要把数组 a 中下标为 3 的元素赋值给 x,则不正确的语句为() 。ax=pa3; bx=*(a+3); c a=a3; dx=*pa+3; 14假定有定义“ int b10;int *pb; ” ,则不正确的赋值语句为() 。apb=b; bpb=&b0; cpb=b+2; dpb=b5; 15假定指针变量 p 定义为“ int *p=new int(100);” ,要释放 p 所指向的动态内存,应使用语句() 。adeletep; bdelete *p; cdelete &p

5、; ddelete p; 16假定指针变量 p 定义为“int *p=calloc(30,sizeof(int);” ,要释放 p 所指向的动态内存,应使用语句() 。adeletep; bdeldete(p); c freep; dfree(p); 二、填空题1在 c语言中,一个函数由函数头和_ 组成。2在函数外定义的变量称为全局变量,若没有被初始化则系统隐含对它所赋的初值为 _ 。3如果一个函数只允许同一程序文件中的函数调用,则应在访函数定义前加上的 c保留字为为 _ 。4 如果一个函数直接或间接地调用自身, 这样的调用被称为 _ 调用。5调用系统函数时,要先使用#include 命令包含

6、该函数的原型语句所在_ 文件。6函数形参的作用域是该函数的_ 。7假定 p 所指对象的值为25,p+1 所指对象的值为46,则 *p+的值为_ 。8假定 p 所指对象的值为25,p+1 所指对象的值为46,则*+p 的值为_ 。9假定 p 所指对象的值为25,p+1 所指对象的值为46,则执行“ *(p+);”语句后, p 所指对象的值为 _ 。10假定 a 是一个指针数组,则a+1 所指对象的地址比a 地址大_字节。11若要把一个整型指针p 转换为字符指针,则采用的强制转换表达式为_ 。12 假定一个数据对象为int* 类型,则指向该对象的指针类型为_。13假定 p 是一个指向整数对象的指针

7、,则用_表示指针变量 p 的地址。14若 p 指向 x,则_与 x 的等价的。15null是一个符号常量,通常作为空指针值,它值为_ 。三、写出下列每个程序运行后的输出结果1. #include void sb(char ch) switch (ch) case a:case a: printf(ww);break; case b:case b: printf(gg);break; case c:case c: printf(pp);break; default:printf(bb);break; void main() char a1=b,a2=c,a3=f; sb(a1);sb(a2);

8、sb(a3);sb(a); printf(n); 输出结果为:2. #include #include double sd(int a,int b,char op) double x; switch(op) case +:x=a+b;break; case -:x=a-b;break; case *:x=a*b;break; case /:if(b)x=(double)a/b; else exit(1); break; default:(运算符错! n);exit(1); return x; void main() int x=20,y=8; printf(%3.2lf ,sd(x,y,-);

9、 printf(%3.2lf ,sd(x,y,*); printf(%3.2lf ,sd(x,y,/); 输出结果为:3. #include void wf(int x,int y) x=x+y; y=x+y; printf(subs:x,y=%d,%dn,x,y); void main() int x=18,y=23; printf(main:x,y=%d,%dn,x,y); wf(x,y); x=2*x; printf(main:x,y=%d,%dn,x,y); 输出结果为:4. #include #include void fun(char ss); void main() char s

10、15=567891234; fun(s); printf(%sn,s); void fun(char ss) int i,n=strlen(ss); for(i=0;in/2;i+) char c=ssi; ssi=ssn-1-i; ssn-1-i=c; 输出结果为:5. #include void insertsort(int a,int n) int i,j,x; for(i=1;i=0;j-)/ 为 x 顺序向前寻找合适的插入位置if(xaj)aj+1=aj; else break; aj+1=x; void main() int i; int a6=20,15,32,47,36,28;

11、 insertsort(a,6); for(i=0;i6;i+)printf(%d ,ai); printf(n); 输出结果为:6. #include void main() int a8=3,5,7,9,11,13,15,17; int i,*p=a; for(i=0;i8;i+); printf(%5d ,*p+); if( (i+1)%4=0 )printf(n); 输出结果为:7. #include int la(int *a,int n) int i,s=0; for(i=0;in;i+) s+=ai; return s; void main() int a=5,10,15,20,

12、25,30; int b=la(a,4); int c=la(a+2,3); printf(%d %dn,b,c); 输出结果为:8. #include int lb(int *a,int n) int i,s=1; for(i=0;in;i+)s*=*a+; return s; void main() int a=1,2,3,4,2,4,5,2; int b=lb(a,4)+lb(&a3,4); printf(b=%dn,b); 输出结果为:四、写出下列每个函数的功能1. #include int wb(int a,int n,int x) for(int i=0;in;i+) if

13、(ai=x)return 1; return 0; 函数功能为:2. #include int wc(int a,int n,int k) int c=0;for(int i=0;i=k)c+; return c; 函数功能为:3. #include #include #include const int n=10; int ff(int x,int y) int z; printf(%d + %d = ,x,y); scanf(%d,&z); if(x+y=z)return 1;else return 0; void main() int i,a,b,c=0; srand(time(

14、0); / 初始化随机数系列for(i=0;in;i+) a=rand()%20+1; /rand90函 数 产 生0-32767之 间 的 一 个 随 机 数b=rand()%20+1; c+=ff(a,b); printf( 得分: %dn,c*10); 函数功能为:4. int fun6(int m,int n,int b=2) if(mb & nb)return m*n; else if(m%b=0 & n%b=0)return b*fun6(m/b,n/b,b); else return fun6(m,n,+b); 函数功能为:5. #include #include void li(int n)

温馨提示

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

评论

0/150

提交评论