【计算机类职业资格】二级C语言笔试-229及答案解析.doc
《【计算机类职业资格】二级C语言笔试-229及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-229及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-229 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:50,分数:60.00)1.有如下说明:int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为 9 的表达式是_。(分数:2.00)A.*p+9B.*(p+8)C.*p+=9D.p+82.下述关于 C 语言文件的操作的结论中,正确的是_。(分数:2.00)A.对文件操作必须先关闭文件B.对文件操作必须先打开文件C.对文件操作顺序无要求D.对文件操作前必须先测文件是否存在,然后再打开文件3.若变量已正确定义并赋值,下面符合 C 语言的表达式是_。(分数:2.00)A.a:=
2、b+1B.a=b=c+2C.int 18.5%3D.a=a+7=c+b4.能正确表示逻辑关系“a10 或 a0“,的 C 语言表达式是_。(分数:2.00)A.a=10 or a=0B.a=0|a=10C.a=10(分数:2.00)_7.下面一组中都是 C 语言关键字的是_。(分数:2.00)A.double Int forB.main while gotoC.volatile break staticD.malloc sizeof new8.以下叙述不正确的是_。(分数:2.00)A.分号是 C 语言的必要组成部分B.C 程序的注释可以写在句的后面C.函数是 C 程序的基本单位D.主函数的名
3、字不一定用 main 表示9.已经定义 ch 为字符型变量,以下赋值表达式中错误的是_。(分数:2.00)A.ch=/B.ch=62+3C.ch=NULLD.ch=/xaa10.若已定义 x 和 y 为 double 类型,则表达式 x=1,y=x+3/2 的值是_。(分数:2.00)A.1B.2C.2.0D.2.511.设有下列二叉树:(分数:1.00)A.B.C.D.12.有以下程序:int *f(int *x,int*y)if(*x*y)return x;else return y;main()int a=7,b=8,*p,*q,*r;p=printf(“%d,%d,%d/n“,*p,*
4、q,*r);程序运行后输出结果是_。(分数:1.00)A.7,8,8B.7,8,7C.8,7,7D.8,7,813.在关系数据库中,用来表示实体之间联系的是_。(分数:1.00)A.树结构B.网结构C.线性表D.二维表14.检查软件产品是否符合需求定义的过程称为_。(分数:1.00)A.确认测试B.集成测试C.验证测试D.验收测试15.有如下程序int func(int a,int B) return(a+B) ; main()int x=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%d/n“,r);该程序的输出结果是_。(分数:1.00)A.12B.13C
5、.14D.1516.若已建立如下图所示的单向链表结构:(分数:1.00)A.B.C.D.17.将 E-R 图转换到关系模式时,实体与联系都可以表示成_。(分数:1.00)A.属性B.关系C.键D.域18.有如下程序main()int y=3,x=3,z=1;printf(“%d/n“,(+x,y+),z+2);运行该程序的输出结果是_。(分数:1.00)A.3 4B.4 2C.4 3D.3 319.有如下程序main()float x=2.0,y;if(x0.0)y=0.0;else if(x10.0)y=1.0/x;else y=1.0;printf(“%f/n“,y);该程序输出结果是_。
6、(分数:1.00)A.0.000000B.0.250000C.0.500000D.1.00000020.算法一般都可以用_控制结构组合而成。(分数:1.00)A.循环、分支、递归B.顺序、循环、嵌套C.循环、递归、选择D.顺序、选择、循环21.下面不属于软件设计原则的是_。(分数:1.00)A.抽象B.模块化C.自底向上D.信息隐蔽22.有如下程序main()char ch25=“6937“,“8254“,*p2;int i,j,s=0;for(i=0;i2;i+) pi=chi;for(i=0;i2;i+)for(j=0;pij/0;j+=2)s=10*s+(pij-0);printf(“%
7、d/n“,s);该程序的输出结果是_。(分数:1.00)_23.有以下函数char *fun(char*p)return p; 该函数的返回值是_。(分数:1.00)A.无确切的值B.形参 p 中存放的地址值C.一个临时存储单元的地址D.形参 p 自身的地址值24.假设在 turboc2.0 采用 small 模式编译如下程序main()char a4=a,b;char *b=“abc“;printf(“%d,%d“,sizeof((分数:1.00)A.,sizeof(B.);,能正确表示 t 数组元素地址的表达式是_。(分数:1.00)A.该程序中的 for 循环执行的次数是_。(分数:1.
8、00)A.5B.6C.7D.829.有如下程序:long fib(int n)if(n2) return(fib(n-1)+fib(n-2);else return(2);main()printf(“%ld/n“,fib(3);该程序的输出结果是_。(分数:1.00)A.2B.4C.6D.830.有如下程序main()int i,sum;for(i=1;i=3;sum+)sum +=i;printf(“%d/n“,sum);该程序的执行结果是_。(分数:1.00)A.6B.3C.死循环D.031.下列工具中为需求分析常用工具的是_。(分数:1.00)A.PADB.PFDC.N-SD.DFD32
9、.设有声明语句 char a=/72;,则变量 a_。(分数:1.00)A.包含 1 个字符B.包含 2 个字符C.包含 3 个字符D.声明不合法33.有如下程序段int *p,a=10,b=1;p=执行该程序段后,a 的值为_。(分数:1.00)A.12B.11C.10D.编译出错34.下列函数定义中,会出现编译错误的是_。(分数:1.00)_35.有如下程序main()char s5=“abc“,“de“,“fgh“;printf(“%c“,s26);其输出为_。(分数:1.00)A.不确定B.编译错误C.gD.输出 null 字符36.在 C 语言中,函数中变量的隐含存储类别是_。(分数
10、:1.00)A.autoB.staticC.externD.无存储类别37.C 语言运算对象必须是整型的运算符是_。(分数:1.00)A.%=B./C.=D.=38.有如下程序:main()int a33=1,2,3,4),5,6,i,j,s=0;for(i=1;i3;i+)for(j=0;j=i;j+)s+=aij;printf(“%d/n“,s);该程序的输出结果是_。(分数:1.00)A.18B.19C.20D.2139.下列关键字中,不属于 C 语言变量存储类别的是_。(分数:1.00)A.registerB.autoC.externD.public40.索引属于_。(分数:1.00)
11、A.模式B.内模式C.外模式D.概念模式41.有如下程序main()int x=1,a=0,b=0;switch(x)case 0:b+;case 1:a+;case 2:a+;b+;printf(“a=%d,b=%d/n“,a,B) ;该程序的输出结果是_。(分数:1.00)A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=242.运行以下程序后,如果从键盘上输入 65 14回车,则输出结果为_。main()int m,n;printf(“Enter m,n:“);scanf(“%d%d“,while(m!=n)while(mn)m-=n;while(nm)n-=m;pr
12、intf(“m=%d/n“,m);(分数:1.00)A.m=3B.m=2C.m=1D.m=043.有以下函数定义:void fun(int n,double x)若以下选项中的变量都已正确定义并赋值,则对函数 fun 正确调用语句是(分数:1.00)A.fun(int y,double m);B.k=fun(10,12.5);C.fun(x,n);D.void fun(n,x);44.下面程序的输出结果是_。main()char str10,c=a;int i=0;for (;i5;i+)stri=c+;printf(“%s“,str);(分数:1.00)A.abcdeB.aC.不确定D.bc
13、def45.数据的存储结构是指_。(分数:1.00)A.数据所占的存储空间量B.数据的逻辑结构在计算机中的表示C.数据在计算机中的顺序存储方式D.存储在外存中的数据46.有以下程序段:main()int a=5,*b,*c;c=);后变量 i 的值是_。(分数:1.00)A.3B.4C.5D.不定48.有如下程序段int a=14,b=15,x;char c=A;x=(a执行该程序段后,x 的值为_。(分数:1.00)A.trueB.falseC.0D.149.若变量 a、i 已正确定义,且 i 已正确赋值,合法的语句是_。(分数:1.00)A.a=1B.+i;C.a=a+=5;D.a=int
14、(i);50.有如下程序main()int x=3;do prinff(“d“,x-);while(!x);该程序的执行结果是_。(分数:1.00)A.321B.3C.不输出任何内容D.陷入死循环二、填空题(总题数:19,分数:40.00)51.在运算过程中,能够使空表与非空表的运算统一的结构是 【1】 。(分数:2.00)填空项 1:_52.软件工程研究的内容主要包括: 【2】 技术和软件工程管理。(分数:2.00)填空项 1:_53.与结构化需求分析方法相对应的是 【3】 方法。(分数:2.00)填空项 1:_54.关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、 【4】 和自
15、定义完整性。(分数:2.00)填空项 1:_55.数据模型按不同的应用层次分为三种类型,它们是 【5】 数据模型、逻辑数据模型和物理数据模型。(分数:2.00)填空项 1:_56.表示“整数 x 的绝对值大于 5“时值为“真“的 C 语言表达式是 【6】 。(分数:2.00)填空项 1:_57.以下程序的输出结果是 【7】 。main()unsigned short a=65536; int b;printf(“%d/n“,b=A) ;(分数:2.00)填空项 1:_58.若有定义 int a=10,b=9,c=8;,接着顺序执行下列语句,变量 b 中的值是 【8】 。c=(a-=(b-5);
16、c=(a%11)+(b=3);(分数:2.00)填空项 1:_59.以下程序运行后的输出结果是 【9】 。main()int p=30;printf(“%d/n“,(p/30?p/10:p%3);(分数:2.00)填空项 1:_60.函数 pi 的功能是根据以下近似公式求 值:(*)/6=1+1/(2*2)+1/(3*3)+1(n*n)现在请你在下面的函数中填空,完成求 的功能。#include “math.h“double s=0.0; long i;for(i=1;i=n; i+)s=s+ 【10】 ;return(sqrt(6*3);(分数:2.00)填空项 1:_61.函数 pi 的功
17、能是根据以下公式近似求得的:pi*pi/6=1+1/(2*2)+1/(3*3)+1/(n*n)请在下面的函数中填空,完成求 pi 的功能。#includemath.hdouble pi(long n)double s=0.0,long i;for(i=1;i=n;i+)s=s+ 【11】 。return(sqrt(6*s);(分数:2.00)填空项 1:_62.若输入字符串;abcde (分数:2.00)填空项 1:_63.以下函数用来求出两整数之和,并通过形参将结果传回,请填空。void func(int x,int y, 【13】 z)*z=x+y; (分数:2.00)填空项 1:_64.
18、若有以下定义,则不移动指针 p,且通过指针 p 引用值为 98 的数组元素的表达式是【14】 。int w10=23,54,10,33,47,98,72,80,61), *p=w;(分数:2.00)填空项 1:_65.设在主函数中有以下定义和函数调用语句,且 fun 函数为 void 类型;请写出 fun 函数的首部 【15】 。要求形参名为 b。main()double s1022;int n;fun(s);(分数:2.00)填空项 1:_66.有以下程序:int f(int n)if(n1)return 1;else return f(n-1)+1;main()int i,j=0;for(
19、i=1;i3;i+)j+=f(i);printf(“%d/n“,j);程序运行后的输出结果是 【16】 。(分数:2.00)填空项 1:_67.以下程序的输出结果是 【17】 。void fun()static int a=0;a+=2; printf(“%d“,a) ;main()int cc;for(cc=1;cc4;cc+)fun();printf(“/n“);(分数:2.00)填空项 1:_68.实现程序可将磁盘中的一个文件复制到另一个文件中,两个文件的文件名在可执行命令的命令行中(相当于 copy 命令),假定文件在当前目录下。请补全程序。#includestdio.hvoid ma
20、in(int argc,char*argv)FILE*f1,*f2;if(argc 【18】 )printf(“parameter error!/n“);exit(0);f1=fopen(argv1,“r“);f2=fopen(argv2,“w“);while( 【19】 )fputc(fgetc(f1),f2);fclose(f1);fclose(f2);(分数:4.00)填空项 1:_69.以下程序的输出结果是 【20】 。#define MAX(x,y) (x)(y)?(x):(y)main()int a=5,b=2,c=3,d=3,t;t=MAX(a+b,c+d) *10;printf
21、(“%d/n“,t);(分数:2.00)填空项 1:_二级 C 语言笔试-229 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:50,分数:60.00)1.有如下说明:int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为 9 的表达式是_。(分数:2.00)A.*p+9B.*(p+8) C.*p+=9D.p+8解析:评析 p 是指针,p+8 是地址值,D 是错的;*p 是 p 的目标变量,即 a0,值为 1,所*p+9 的值是 10,而*p+=9 值是重新给 a0赋了值(1+9);所以 A 和 C 也是错的。p+8 是地址值,指向 a8,那么*
22、(p+8)的值就是 a8的值,即 9。2.下述关于 C 语言文件的操作的结论中,正确的是_。(分数:2.00)A.对文件操作必须先关闭文件B.对文件操作必须先打开文件 C.对文件操作顺序无要求D.对文件操作前必须先测文件是否存在,然后再打开文件解析:评析 在 C 中对文件操作必须先打开文件,待文件操作完毕后要关闭文件。对文件以读的方式进行打开操作时,同时会执行文件的检查文件是否存在,不存在将会返回空的文件指针,如果对文件以写的方式打开时,文件不存在,将会自动创建文件,因此在 C 中打开文件前不必对其检查文件是否存在,故答案为 B。3.若变量已正确定义并赋值,下面符合 C 语言的表达式是_。(分
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 229 答案 解析 DOC
