欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年编译预处理和动态存储分配及答案.docx

    • 资源ID:58195608       资源大小:119.93KB        全文页数:25页
    • 资源格式: DOCX        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年编译预处理和动态存储分配及答案.docx

    精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆编译预处理和动态储备安排一、挑选题(1)有以下程序main char p='a', 'b', 'c', q="abc" printf"%d %dn", sizeofp,sizeofq; ; 程序运行后的输出结果是A)4 4 B)3 3 C)3 4 D)4 3 (2)有以下程序# define fx x*x main int i1, i2; i1=f8/f4 ; i2=f4+4/f2+2 ; printf"%d, %dn",i1,i2; 程序运行后的输出结果是A)64, 28 B)4, 4 C)4, 3 D)64, 64 (3)有以下程序main char a7="a00a00"int i,j; i=sizeofa; j=strlena; printf"%d %dn",i,j; 程序运行后的输出结果是A)2 2 B)7 6 C)7 2 D)6 2 (4)以下表达中正确选项A)预处理命令行必需位于源文件的开头名师归纳总结 - - - - - - -第 1 页,共 14 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆B)在源文件的一行上可以有多条预处理命令 C)宏名必需用大写字母表示 D)宏替换不占用程序的运行时间5 有以下程序 main char a=” abcdefg” ,b10= ” abcdefg” ;printf“ %dn” ,sizeofA ,sizeofB ; 执行后输出结果是 A 7 7 B 8 8 C 8 10 D 10 10 6 有以下程序#define fx x*x main int i; i=f4+4/f2+2; printf“ %d n” ,i; 执行后输出结果是 A 28 B 22 C 16 D 4 7 有以下程序 #include <stdio.h> #define FX,Y X*Y main int a=3, b=4; printf"%dn", Fa+,b+; 程序运行后的输出结果是 A 12 B 15 C 16 D 20 8 有以下程序名师归纳总结 - - - - - - -第 2 页,共 14 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆main char s="n123" printf"%d,%dn",strlens,sizeofs; 执行后输出结果是 A 赋初值的字符串有错 B 6,7 C 5,6 D 6,6 9 有以下程序mainint arge,char *argv int n,i=0; whilearv1i.='0' n=fun; i+; printf%dn",n*argc; int fun s=0; static int s+=1; return s; 假设程序经编译、连接后生成可执行文件 exam.exe, 如键入以下命令行 exam 123<回车 > 就运行结果为10 有以下程序 main char a =a, b, c, d, e, f , g, h, 0; int i,j; i=sizeofa; j=strlena; printf“ %d,%d b” i,j; 程序运行后的输出结果是 A)9, 9 B)8, 9 C)1, 8 D)9, 8 11 程序中头文件typel.h 的内容是:#define N 5 #define M1 N*3 程序如下:名师归纳总结 - - - - - - -第 3 页,共 14 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆#define “ type1.h ”#define M2 N*2 main int i; i=M1+M2; printf“ %d n” ,i; 程序编译后运行的输出结果是:A 10 B 20 C 25 D 30 12 有以下程序 #include <stdlib.h> main char *p,*q; p=char*mallocsizeofchar*20; q=p; scanf “ %s%s” ,p,q;printf“ %s%s n” ,p,q; 如从键盘输入: abc def< 回车 >,就输出结果是:A def def B abc def C abc d D d d 13 如指针 p 已正确定义,要使 A p=2*int*mallocsizeofint; B p=int*malloc2*sizeofint; C p=int*malloc2*2; D p=int*calloc2,sizeofint; 14 以下程序的输出结果是 main p 指向两个连续的整型动态储备单元,不正确的语句是 char st20= “ hello” ;n” ,strlenst,sizeofst; A 9 9 B 5 20 C 13 20 D 20 20 15 以下程序的输出结果是名师归纳总结 - - - - - - -第 4 页,共 14 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆amovepint p, int a3,int n int i, j; for i=0;i<i+ forj=0;j<n;j+ *p=aij;p+; main int *p,a33=1,3,5,2,4,6; p=int *malloc100; amovepp,a,3; printf“ %d %d n” ,p2,p5;freep; A 56 B 25 C 34 D 程序错误16 以下程序的输出结果是#define Mx,y,z x*y+z main int a=1,b=2, c=3; printf“ %dn ” , Ma+b,b+c, c+a; A 19 B 17 C 15 D 12 17 以下程序的输出结果是 A 16 B 2 C 9 D 1 #define SQRX X*X main int a=16, k=2, m=1; a/=SQRk+m/SQRk+m; printf“ dn” ,a; 18 如定义了以下函数:void f 名师归纳总结 - - - - - - -第 5 页,共 14 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆 *p=double *malloc 10*sizeof double; p 是该函数的形参,要求通过p 把动态安排储备单元的地址传回主调函数,就形参p 的正确定义应当是A double *p B float *p C double *p D float *p 19 有如下程序#define N 2 #define M N+1 #define NUM 2*M+1 #main int i; “ %dn” ,i;fori=1;i<=NUM;i+printf 该程序中的 for 循环执行的次数是 A 5 B 6 C 7 D 8 20 以下程序执行后的输出结果是 A 6 B 8 C 10 D 12 #define MAx x*x-1 main int a=1,b=2; printf"%d n",MA1+a+b; 21 如有说明: long *p , a;就不能通过 scanf 语句正确给输入项读入数据的程序段是 A *p=&a ; scanf"%ld", p ;B p=long *malloc8; scanf"%ld",p ;C scanf"%ld",p=&a ;D scanf"%ld",&a ;22 以下程序的输出结果是 A 1 B 4 C 7 名师归纳总结 - - - - - - -第 6 页,共 14 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆D 5 #include int a33=1,2,3, 4, 5,6,7, 8, 9, ,*p ; main p=int*mallocsizeofint; fp , a ; printf"%d n",*p ; fint *s, int p3 *s=p11; 23 以下程序的输出结果是 A 9 B 6 C 36 D 18 #define fx x*x main int a=6 , b=2,c; c=fa / fb; printf"%d n",c ; 24 以下程序运行后 , 输出结果是 A 49.5 B 9.5 C 22.0 D 45.0 #include<stdio,h> #define PT 5.5 #define Sx PT* x * x main int a=1,b=2; printf"%4.1fn",Sa+b; 25 以下程序运行后 , 输出结果是 A 1 B 7 C 9 D 11 名师归纳总结 futint *s, int p23 第 7 页,共 14 页- - - - - - -精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆 *s=p11; main int a23=1,3,5,7,9,11, *p; p=int * mallocsizeofint; fut&p,a; printf"%dn",*P; 26 设有以下宏定义 : #define N 3 #define Yn N+1*n 就执行语句 :z=2 * N+Y5+1; 后,z 的值为A 出错B 42 C 48 D 54 27 如有说明, double *p,a; A)*p=&a; scanf"%lf",p; 就能通过 scanf 语句正确给输入项读入数据的程序段是Bp=double *malloc8;scanf"%f",p; C p=&a;scanf"%lf",a; Dp=&a; scanf"%le",p; 28 执行下面的程序后 ,a 的值是 #define SQRX X*X main int a=10,k=2,m=1; a/=SQRk+m/SQRk+m; printf"%dn",a; A 10 B 1 C 9 D 0 29 以下程序的输出结果是 fut int*s,int p23 *s=p11; main int a23=1,3,5,7,9,11,*p; p=int*mallocsizeofint; fut&p,a; 名师归纳总结 primtf"%dn",*p; 第 8 页,共 14 页- - - - - - -精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆A 1 B 7 C 9 D 11 30 如要用下面的程序片段使指针变量 int *p; p=_ malloc sizeofint; 就应填入 A int B inst * C *int D int * 31 请读程序 : #include<stdio.h> #define SUBX,Y X*Y main int a=3, b=4; printf"%d", SUBa+, b+; 上面程序的输出结果是 A 12 B 15 C 16 D 20 32 请读程序 : #include<stdio.h> void funfloat *pl, float *p2, float *s s= float * calloc 1, sizeoffloat; *s=*p1+ *p2+; main p 指向一个储备整型变量的动态储备单元: float a2=1.1, 2.2, b2=10.0, 20.0, *s=a; funa, b, s printf"%fn",*s; 上面程序的输出结果是 A 11.100000 B 12.100000 C 21.100000 名师归纳总结 - - - - - - -第 9 页,共 14 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆D 1.100000 33 在宏定义 #define PI 3.14159中,用宏名PI 代替一个A 单精度数 B 双精度数 C 常量 D 字符串34 请选出以下程序段的输出结果 #include<stdio.h> #define MINx,y x<y. x:y main int i,j,k; i=10; j=15; k=10*MINi,j; printf"%dn",k; A 15 B 100 C 10 D 150 35 sizeofdouble是【35】 ;A)一种函数调用 B)一个双精度型表达式 C)一个整型表达式 D)一个不合法的表达式36 以下 for语句构成的循环执行了【 36】 次;# include <stdio.h> # define N 2 # define M N+1 # define NUM M+1*M/2 main int i , n=0; for i=1;i<=NUM;i + + ; n + + ; printf"%d",n; printf"n" A 5 B 6 C 8 D 9 名师归纳总结 - - - - - - -第 10 页,共 14 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆37 以下程序的输出结果是【37】 ;# include<stdio.h> # define FUDGEy 2.84+y # define PRa printf"%d",inta # define PRINT1a PRa;putchar'n' main int x=2; PRINT1FUDGE5*x; A 11 B 12 C 13 D 15 二、填空题 : (1)已有定义: double *p; ,请写出完整的语句,利用malloc 函数使 p 指向一个双精度型的动态储备单元【1】 ;2 以下程序运行后的输出结果是【 2】 . #define Sx 4*x*x+1 main int i=6,j=8; printf"%dn",Si+j; 3 以下程序中, for循环体执行的次数是【 3】;#define N 2 #define M N+1 #define K M+1*M/2 main int i; fori=1;i<K;i+ . . 4 以下程序中给指针 p 安排三个 double 型动态内存单元,请填空;# include <stdlib.h> main 名师归纳总结 double *p; 【4】; 第 11 页,共 14 页 p=double * malloc- - - - - - -精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆 p0=1.5;p1=2.5;p2=3.5; printf“ %f%f%f n” ,p0,p1,p2; 5 以下程序的输出结果是【5】 ;#defint MCRAm 2*m #define MCRBn,m 2*MCRAn+m main int i=2,j=3; printf"%dn",MCRBj,MCRAi; 6 下面程序的运行结果是【6】 ;#define N 10 #define sx x*x #define fx x*x main int i1,i2; i1=1000/sN; i2=1000/fN; printf“ %dn” ,i1,i2; 7 设有如下宏定义#define MYSWAPz,x,y z=x; x=y; y=z; 以下程序段通过宏调用实现变量 a、b 内容交换 , 请填空;float a=5,b=16,c; MYSWAP 【 7】 ,a,b; 8 用以下语句调用库函数 malloc ,使字符指针 st 指向具有 11 个字节的动态储备空间,请填空;st=char* 【8】 ; 9 以下程序的输出结果是 9 ;#define MAXx,y x>y.x:y main int a=5,b=2,c=3,d=3,t; t=MAXa+b,c+d*10; printf“ %d n” ,t; 10 如要使指针 p 指向一个 double 类型的动态储备单元,请填空;名师归纳总结 p= 10 mallocsizeofdouble; 第 12 页,共 14 页- - - - - - -精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆11 下面程序的输出是【11】 ;#define PRar printf"%d", ar main int j, a= 1,3,5,7,9,11,13,15, *p=a+5; forj=3; j; j- switchj case 1: case 2: PR*p+; break; case 3: PR*-p; 名师归纳总结 - - - - - - -第 13 页,共 14 页精选学习资料 - - - - - - - - - 学而不思就惘,思而不学就殆答案:一、挑选题:01 C 02 C 03 C 04 D 05 C 06 A 07 A 08 C 09 A 10 D 11 C 12 A 13 A 14 B 15 A 16 D 17 B 18 C 19 B 20 B 21 A 22 D 23 C 24 B 25 C 26 C 27 D 28 B 29 C 30 D 31 A 32 D 33 D 34 A 35 C 36 C 37 B 二、填空题:1 p=double*mallocsizeofdouble 2 81 3 4 4 3*sizeofdouble 5 16 6 1000 10 7 c 8 Malloc 11 或 mallocsizeofchar*11 9 7 10 double * 11 9911 名师归纳总结 - - - - - - -第 14 页,共 14 页

    注意事项

    本文(2022年编译预处理和动态存储分配及答案.docx)为本站会员(H****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开