ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:19.56KB ,
资源ID:8137500      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-8137500.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(编译预处理和动态存储分配及答案Word格式.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

编译预处理和动态存储分配及答案Word格式.docx

1、 6C)7D)6(4)以下叙述中正确的是A)预处理命令行必须位于源文件的开头B)在源文件的一行上可以有多条预处理命令C)宏名必须用大写字母表示D)宏替换不占用程序的运行时间(5) 有以下程序main( ) char a=”abcdefg”,b10=”abcdefg”; printf(“%d %dn”,sizeof(A) ,sizeof(B) );执行后输出结果是A) 7 7 B) 8 8 C) 8 10 D) 10 10(6) 有以下程序#define x*x int i; i=f(4+4)/f(2+2); printf(“%dn”,i);A) 28B) 22C) 16D) 4(7) 有以下程

2、序#include F(X,Y) (X)*(Y)main () a=3, b=4;printf(%dn, F(a+,b+);A) 12B) 15D) 20(8) 有以下程序chars=n123%d,%dn,strlen(s),sizeof(s);A) 赋初值的字符串有错B) 6,7C) 5,6D) 6,6(9) 有以下程序main(intarge,char *argv)n,i=0;while(arv1i!=0n=fun();i+;printf(%dn,n*argc);fun()static ints=0;s+=1;returns;假设程序经编译、连接后生成可执行文件exam.exe,若键入以下

3、命令行exam123则运行结果为(10) 有以下程序 char a =a,b,c,d, e, f, g,h,0; inti=sizeof(a);printf(“%d,%db”i,j);A)9,9 B)8,9C)1,8D)9,8(11) 程序中头文件typel.h 的内容是: N 5 M1 N*3程序如下: “type1.h” M2 N*2 int i;i=M1+M2;程序编译后运行的输出结果是:A) 10B) 20C) 25D) 30(12) 有以下程序stdlib.h char *p,*q;p=(char*)malloc(sizeof(char)*20); q=p;scanf(“%s%s”,

4、p,q); printf(“%s%sn”,p,q);若从键盘输入:abc def,则输出结果是:A) def defB) abc defC) abc dD) d d(13) 若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是A) p=2*(int*)malloc(sizeof(int);B) p=(int*)malloc(2*sizeof(int);C) p=(int*)malloc(2*2);D) p=(int*)calloc(2,sizeof(int);(14) 以下程序的输出结果是 st20= “hello0t”;printf(%d %d n”,strlen(st)

5、,sizeof(st);A) 9 9 B) 5 20C) 13 20D) 20 20(15) 以下程序的输出结果是amovep(int p, int (a)3,int n) i, j;for( i=0;ii+)for(j=0;jn;j+) *p=aij;p+; *p,a33=1,3,5,2,4,6;p=(int *)malloc(100);amovep(p,a,3);printf(“%d %d n”,p2,p5);free(p);A) 56B) 25C) 34D) 程序错误(16) 以下程序的输出结果是 M(x,y,z) x*y+z a=1,b=2, c=3;printf(“%dn”, M(a

6、+b,b+c, c+a);A) 19B) 17C) 15D) 12(17) 以下程序的输出结果是A) 16B) 2C) 9D) 1 SQR(X) X*X a=16, k=2, m=1; a/=SQR(k+m)/SQR(k+m); printf(“dn”,a);(18) 若定义了以下函数:void f() *p=(double *)malloc( 10*sizeof( double);p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是A) double *pB) float *pC) doubleD) float *p(19) 有如下程序 M N+1 NU

7、M 2*M+1#main() i;for(i=1;=NUM;i+)printf(“%dn”,i);该程序中的for循环执行的次数是A) 5B) 6C) 7D) 8(20) 下列程序执行后的输出结果是A) 6B) 8C) 10 #define MA(x) x*(x-1) main() int a=1,b=2;%d n,MA(1+a+b);(21) 若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是A) *p=&a; scanf(%ld,p);B) p=(long *)malloc(8);C) scanf(,p=&a);D) scanf(,&(22) 以下程序的输

8、出结果是A) 1B) 4D) 5 #include a33=1,2,3,4,5,6,7,8,9,*p; main( ) p=(int*)malloc(sizeof(int); f(p,a);,*p); f(int *s, p3) *s=p11;(23) 以下程序的输出结果是A) 9C) 36D) 18 a=6,b=2,c; c=f(a) / f(b);,c);(24) 以下程序运行后,输出结果是A) 49.5B) 9.5C) 22.0D) 45.0 #include PT 5.5 S(x) PT* x * x a=1,b=2;%4.1fn,S(a+b);(25) 以下程序运行后,输出结果是B)

9、 7D) 11 fut(int *s, int p23) *s=p11; a23=1,3,5,7,9,11, *p; p=(int *) malloc(sizeof(int); fut(&p,a);,*P);(26) 设有以下宏定义: Y(n) ( (N+1)*n)则执行语句:z=2 * (N+Y(5+1);后,z的值为A) 出错B) 42C) 48D) 54(27) 若有说明,double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是A)*p=&a;%lf,p);B)p=(double *)malloc(8);scanf(%fC) p=&,a);D)p=&%le(28) 执

10、行下面的程序后,a的值是 int a=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);B) 1D) 0(29) 以下程序的输出结果是fut (int*s,int p23) int a23=1,3,5,7,9,11,*p;p=(int*)malloc(sizeof(int);fut(&primtf(,*p);(30) 若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元:int *p;p=_ malloc( sizeof(int);则应填入A) intB) inst *C) (*int)D) (int *)(31) 请读程序:#include#define SUB(

11、X,Y) (X)*Y int a=3, b=4;%d, SUB(a+, b+);上面程序的输出结果是(32) 请读程序:void fun(float *pl, float *p2, float *s) s=( float * )calloc( 1, sizeof(float);*s=*p1+ *(p2+); float a2=1.1, 2.2, b2=10.0, 20.0, *s=a;fun(a, b, s)%fn,*s);A) 11.100000B) 12.100000C) 21.100000D) 1.100000(33) 在宏定义 #define PI 3.14159中,用宏名PI代替一个

12、A) 单精度数B) 双精度数C) 常量D) 字符串(34) 请选出以下程序段的输出结果#define MIN(x,y) (x)(y)? (x):(y) int i,j,k;i=10; j=15;k=10*MIN(i,j);,k);A) 15B) 100D) 150(35) sizeof(double)是【35】 。A)一种函数调用B)一个双精度型表达式C)一个整型表达式D)一个不合法的表达式(36) 以下for语句构成的循环执行了 【36】 次。# include (M+1)*M/2 i , n=0;for ( i=1;i + + ); n + + ;,n);n);C) 8D) 9(37) 以

13、下程序的输出结果是【37】 。# include(x): a=5,b=2,c=3,d=3,t;t=MAX(a+b,c+d)*10;printf(“%dn”,t);(10) 若要使指针p指向一个double类型的动态存储单元,请填空。p= 10 malloc(sizeof(double);(11) 下面程序的输出是 【11】 。#define PR(ar) printf(, ar) int j, a= 1,3,5,7,9,11,13,15, *p=a+5;for(j=3; j; j-) switch(j) case 1:case 2: PR(*p+); break;case 3: PR(*(-p);答案:一、选择题:01)C02)C03)04)D05)06)A07)A08)09)10)D11)12)13)14)B15)16)17)18)19)20)B21)22)23)24)25)26)27)28)29)30)31)32)33)34)35)36)37)二、填空题:(1) p=(double*)malloc(sizeof(double)(2) 81 (3) 4(4) 3*sizeof(double)(5) 16(6) 1000(7) c(8) Malloc (11) 或malloc(sizeof(char)*11)(9) 7(10) (double *)(11) 9911

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2