已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、 选择题1. 在下面的(C)函数声明语句存在语法错误。AAA(int a,int b); BAA(int ,int) CAA(int a;int b) DAA(int a,int)2在下面的(C)不能作为函数的返回类型。Avoid Bint Cnew Dlong3下面正确的函数原型语句是(B)。Aint Function(void a); Bvoid Function(int);Cint Function(a); Dvoid int(double a);4函数调用func(exp1,exp2),exp3*exp4-exp5)中所含实参的个数为(B)个。A1 B2 C4 D55下面的标识符中,(C)是文件级作用域。A函数形参 B语句标号 C外部静态类标识符 D自动类标识符6下面的标识符中,(B)具有全局级作用域。A函数形参 B全局变量 C内部静态类标识符 D自动变量符7假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大( C )字节。A1 B2 C4 D88假定a为一个字符数组名,则a8的地址比该数组的首地址大( B )个字节。A4 B8 C16 D329假定a为一个数组名,则下面的( B )表示有错误。Aai B*a+ C*a D*(a+1)10用calloc函数创建具有10个整型元素的一维数组的正确语句是( C )。Aint *p=calloc(10,2); Bint *p=callo(10;Cint *p=calloc(10,4); Dint *p=malloc(10);11假定变量m定义为“int m=7;”,则定义p的正确语句为( B )。Aint p=&m; Bint *p=&m; Cint &p=*m; Dint *p=m;12假定k是一个double类型的变量,则定义指向k的应加入此4字,否则D亦对变量p的正确语句为( B )。Adouble p=&k; Bdouble *p=&k; Cdouble &p=*k; Dchar *p=”Thank you!”;13假定一条定义语句为“int a10,x,*pa=a;”,若要把数组a中下标为3的元素赋值给x,则不正确的语句为( D )。Ax=pa3; Bx=*(a+3); Ca=a3; Dx=*pa+3;14假定有定义“int b10;int *pb;”,则不正确的赋值语句为( C )。Apb=b; Bpb=&b0; Cpb=b+2; Dpb=b5;15假定指针变量p定义为“int *p=new int(100);”,要释放p所指向的动态内存,应使用语句( D )。Adeletep; Bdelete *p; Cdelete &p; Ddelete p;16假定指针变量p定义为“int *p=calloc(30,sizeof(int);”,要释放p所指向的动态内存,应使用语句( D )。Adeletep; Bdeldete(p); Cfreep; Dfree(p);二、填空题1在C语言中,一个函数由函数头和_函数体_组成。2在函数外定义的变量称为全局变量,若没有被初始化则系统隐含对它所赋的初值为_0_。3如果一个函数只允许同一程序文件中的函数调用,则应在访函数定义前加上的C保留字为为_static_。4如果一个函数直接或间接地调用自身,这样的调用被称为_递归_调用。5调用系统函数时,要先使用#include命令包含该函数的原型语句所在_头_文件。6函数形参的作用域是该函数的_内部_。7假定p所指对象的值为25,p+1所指对象的值为46,则*p+的值为_25_。8假定p所指对象的值为25,p+1所指对象的值为46,则*+p的值为_46_。9假定p所指对象的值为25,p+1所指对象的值为46,则执行“*(p+);”语句后,p所指对象的值为_46_。10假定a是一个指针数组,则a+1所指对象的地址比a地址大_4_字节。11若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为_(char*)p_。12假定一个数据对象为int*类型,则指向该对象的指针类型为_int*_。13假定p是一个指向整数对象的指针,则用_&p_表示指针变量p的地址。14若p指向x,则_*p_与x的等价的。15NULL是一个符号常量,通常作为空指针值,它值为_ 0 (ASCII码0)_。三、写出下列每个程序运行后的输出结果1. #includevoid 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);SB(a3);SB(A);printf(n);输出结果为:GGPPBBWWPress any key to continue2. #include#includedouble 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,-);printf(%3.2lf ,SD(x,y,*);printf(%3.2lf ,SD(x,y,/);输出结果为:12.00 160.00 2.50Press any key to continue3. #includevoid 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);输出结果为:main:x,y=18,23subs:x,y=41,64main:x,y=36,23Press any key to continue4. #include#includevoid fun(char ss);void main()char s15=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;输出结果为:432198765Press any key to continue5. #includevoid 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;InsertSort(a,6);for(i=0;i6;i+)printf(%d ,ai);printf(n);输出结果为:47 36 32 28 20 15Press any key to continue6. #includevoid 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);输出结果为: 3 5 7 9 11 13 15 17Press any key to continue7. #includeint 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,25,30;int b=LA(a,4);int c=LA(a+2,3);printf(%d %dn,b,c);输出结果为:50 60Press any key to continue8. #includeint 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);输出结果为:b=184Press any key to continue四、写出下列每个函数的功能1. #includeint WB(int a,int n,int x)for(int i=0;in;i+)if(ai=x)return 1;return 0;函数功能为:根据整型数组元素中是否能找到整数x,返回1或02. #includeint WC(int a,int n,int k)int c=0;for(int i=0;i=k)c+;return c;函数功能为:返回数组中前n个其值大于等于k的元素之和3. #include#include#includeconst 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(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);函数功能为:函数ff让两个数相加,要求输入其和,判断结果是否正确。在主函数中用随机函数产生两个20以内的随机整数,通过10次调用这个函数,算对一次得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);函数功能为:此函数带有一个默认参数,若使用默认值,则通过递归调用,返回前2参数的最小公倍数;不使用默认值时,若最后一个参数不小于前2个参数,则返回前2参数之乘积;否则,通过递归调用,返回前2参数最小公倍数的n倍数。5. #include#includevoid LI(int n)int * a=(int *)必须强制类型转换!否则提示cannot convert from void
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版(2024)七年级下册英语期末复习:词汇 讲义
- 河南省地理高二下学期期末梳理难点精析
- 卫生专业技术资格考试内科护理(中级369)相关专业知识应考难点解析
- 青少年航天科普知识考试复习题库(附答案)
- 铁道部劳动合同书范本
- 统计学试题及答案
- 通信行业出口市场分析
- 财务分析报告审核服务合同2026
- 渔家乐2026年教育培训合作协议
- 教育旅游线路设计与推广合作协议
- 2025山东城市建设职业学院教师招聘考试试题及答案
- 钓鱼场管理制度
- 纪委查案检讨书
- 安全总监竞聘课件模板
- 输尿管癌根治术手术配合
- 《保额分红在生命》课件
- 连锁酒店项目可行性研究报告
- 2025届高三数学一轮复习备考经验交流
- 2024届广东省东莞市东华中学数学七年级第二学期期末调研模拟试题含解析
- 内蒙古自治区锡林郭勒盟锡林浩特市2022-2023学年三年级下学期期末数学试题
- 化妆品进货查验记录制度
评论
0/150
提交评论