欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】国家二级C语言机试(编译预处理和指针)模拟试卷9及答案解析.doc

    • 资源ID:1332376       资源大小:54KB        全文页数:9页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

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

    【计算机类职业资格】国家二级C语言机试(编译预处理和指针)模拟试卷9及答案解析.doc

    1、国家二级 C 语言机试(编译预处理和指针)模拟试卷 9 及答案解析(总分:52.00,做题时间:90 分钟)一、选择题(总题数:26,分数:52.00)1.设有定义: int x=0,*p;紧接着的赋值语句正确的是(分数:2.00)A.*p=NULL;B.p=NULL;C.p=x;D.*p=x;2.以下叙述中错误的是(分数:2.00)A.函数可以返回地址值B.改变函数形参的值,不会改变对应实参的值C.当在程序的开头包含头文件 stdioh 时,可以给指针变量赋 NULLD.可以给指针变量赋一个整数作为地址值3.设已有定义: float x:则以下对指针变量 p 进行定义且赋初值的语句中正确的是

    2、(分数:2.00)A.int*p=(float)x;B.float*p=x;C.float p=&x;D.float*p=1024;4.有以下程序,程序运行后的输出结果是 main()int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r; printf(“d,d,d,dn“,m,n,*p,*q);(分数:2.00)A.1,2,1,2B.1,2,2,1C.2,1,2,1D.2,1,1,25.下面选项中的程序段,没有编译错误的是(分数:2.00)A.char*sp,s10;sp=“Hello“;B.char*sp,s10;s=“Hello“;C.char strl10=“

    3、computer“,str210;str2=str1;D.char mark;mark=“PROGRAM“;6.设有定义 double a10,*s=a;以下能够代表数组元素 a3的是(分数:2.00)A.(*s)3B.*s3C.*s+3D.*(s+3)7.有以下程序,执行后的输出结果是 main()int a=1,b=3,c=5; int*p1=a,*p2=b,*p=c; *p=*p1*(*p2); printf(“dn“,c);(分数:2.00)A.2B.3C.1D.48.若有定义语句: int a23,*p3;则以下语句中正确的是(分数:2.00)A.p0=&a12;B.p0=a;C.p

    4、=a;D.p1=&a;9.若有定义语句:int year=2009,*p=&year;以下不能使变量 year 中的值增至 2010 的语句是(分数:2.00)A.(*p)+;B.+(*p);C.*p+;D.*p+=1;10.有以下程序 main()int a5=2,4,6,8,10,*p,*k; p=a: k=&p; printf(“d“,*(p+);printf(“dn“,*k); 程序运行后的输出结果是(分数:2.00)A.4 4B.2 4C.2 2D.4 611.以下叙述中正确的是(分数:2.00)A.如果 p 是指针变量,则*p 表示变量 P 的地址值B.如果 p 是指针变量,则&p

    5、 是不合法的表达式C.在对指针进行加、减算术运算时,数字 1 表示 1 个存储单元的长度D.如果 p 是指针变量,则*p+1 和*(p+1)的效果是一样的12.有以下程序(注:字符 a 的 ASCII 码值为 97) main()char*s=“abc“; doprintf(“d“,*s10);+s;while(*s);) 程序运行后的输出结果是(分数:2.00)A.abcB.7890C.979899D.78913.设有定义: char*c:以下选项中能够使 c 正确指向一个字符串的是(分数:2.00)A.char str=“string“;c=str;B.scanf(“s“,c);C.c=g

    6、etchar();D.*c=“string“;14.有以下程序 #include main() int n,*p=NULL; *p=&n: printf(“Input n:“);scanf(“d“,&p);printf(“output n:“); printf(“dn“,p); 该程序试图通过指针 p 为变量 n 读入数据并输出,但程序有多处错误,以下语句正确的是(分数:2.00)A.int n,*p=NULL;B.*p=&n;C.scanf(“d“,&p)D.printf(“dn“,p);15.若有定义语句:double a,*p=a;以下叙述中错误的是(分数:2.00)A.定义语句中的*号

    7、是一个说明符B.定义语句中的 p 只能存放 double 类型变量的地址C.定义语句中*p=a 把变量 a 的地址作为初值赋给指针变量 pD.定义语句中的*号是一个间址运算符16.若有以下定义 int x10,*pt=x;则对 x 数组元素的正确引用是(分数:2.00)A.*(x+3)B.*&x10C.*(pt+10)D.pt+317.有以下程序 int fun1(double a)return a*=a; int fun2(double x,double y) double a=0,b=0; a=fun 1(x);b=fun 1(y);return(int)(a+b); main() dou

    8、ble w;w=fun2(11,2,0); 程序执行后输出结果是(分数:2.00)A.500B.5C.521D.0018.有以下程序 void fun(char*s)char a10; main()char*p=“PROGRAM“; strcpy(a,“STRING“); fun(p); s=a; printf(“sn“,p); 程序运行后的输出结果是(此处代表空格)(分数:2.00)A.STIUNGB.PROGRAMC.STIUNGD.STRING19.有以下程序 void fun(int n,int*s)int f; if(n=1)*s=n+1; elsefun(n-1,f);s=f; m

    9、ain()int x=0; fun(4,&x); printf(“dn“,x); 程序运行后的输出结果是(分数:2.00)A.1B.3C.4D.220.有以下程序 #include int fun(char*s)char*p=s; while(*p!=0)p+; return(p-s); main()printf(“dn“,fun(“goodbey!“); 程序的输出结果是(分数:2.00)A.6B.8C.0D.721.有以下程序 #include main() #define N 4 int xN=1,2,3),4),5,6,7,8),9,10,void fun(int aN,int b)

    10、yN,i; int i; fun(x,y); for(i=0;iA.1,2,3,4,B.1,4,5,9,C.1,0,7,0,D.3 94,8,10,22.有下列程序: void f(int*q) main() int i=0; int a5=1,2,3,4,5,i; for(;iA.2,2,3,4,5,B.6,2,3,4,5,C.i,2,3,4,5,D.2,3,4,5,6,23.有以下程序 #include main() void fun(char*c,int d) char b=a,a=A; *c=*c+1;d=d+1; fun(&b,a);printf(“c,cn“,b,a); print

    11、f(“c,c,“,*c,d); 程序运行后的输出结果是(分数:2.00)A.b,B,b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B24.以下函数按每行 8 个输出数组中的数据: void fun(int*w,int n) int i; for(i=0;iA.if(i8=0)printf(“n“);B.if(i8=0)continue;C.if(i8=0)printf(“n“);D.if(i8=0)continue;25.有以下程序: #include void main() void fun(char*c) char s81; while(*c) gets(s);fun(s);p

    12、uts(s); if(*c=a&*c=a&*c=z)*c=*c-(a一A); c+; 当执行程序时从键盘上输入 Hello Beijing,则程序的输出结果是(分数:2.00)A.HELLO BEIJING B.Hello BeijingC.hello BeijingD.hELLO Beijing解析:解析:子函数 fun 的功能是把小写字母转换成大写字母,所以程序的输出结果为选项 A。26.有以下程序 #include void f(nt*p,int*q) void f(int*p,int*q); main() p=p+1;*q=*q+1; int m=1,n=2,*r=m; f(r,&n);printf(“d,d“,m,n); 程序运行后的输出结果是(分数:2.00)A.2,3B.1,3 C.1,4D.1,2解析:解析:本题考查函数的调用与指针。fun()函数的作用是:使指针 p 指向原来所指变量的下一个变量,使 q 指针指向的值加 1。主函数中,指针 r 指向 m,调用 fun()函数的结果是,使 r 指向地址位于 m后面的变量,使位于 n 的地址上的变量(就是 n)的值加 1,因此,结果为 1,3。


    注意事项

    本文(【计算机类职业资格】国家二级C语言机试(编译预处理和指针)模拟试卷9及答案解析.doc)为本站会员(deputyduring120)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开