【计算机类职业资格】二级C语言笔试50及答案解析.doc
《【计算机类职业资格】二级C语言笔试50及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试50及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试 50 及答案解析(总分:88.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:50.00)1.有以下程序 main() int i,s=0; for(i=1;i10;i+=2)s+=i+1, printf(“%d/n“,s); 程序执行后的输出结果是(分数:1.00)A.自然数 19 的累加和B.自然数 110 的累加和C.自然数 19 中奇数之和D.自然数 110 中偶数之和2.有以下程序 #include stringh main(int argc,char *argv) int i,len=0; fot(i=1;iargc;i+=2)len+=str
2、len(argvi); printf(“%d/n“,len); 经编译连接后生成的可执行文件是 exexe,若运行时输入以下带参数的命令行 ex abcd efg h3 k44 执行后输出结果是(分数:1.00)A.14B.12C.8D.63.设有以下语句 typedef struct s int g;char h;T 则下面叙述中正确的是(分数:1.00)A.可用 S 定义结构体变量B.可以用 T 定义结构体变量C.S 是 struct 类型的变量D.T 是 structS 类型的变量5.若程序中定义了以下函数 double myadd(double a,double b) return(a
3、+b) ; 并将其放在调用语句之后,则在调用之前应该对函数进行说明,以下选项中错误的说明是(分数:1.00)A.double myadd(double a, ;B.double myadd(double,doubl;C.double myadd(double b,double ;D.double myadd(double x,double ;6.下面描述中,不符合结构化程序设计风格的是(分数:1.00)A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B.注重提高程序的可读性C.模块只有一个人口和一个出口D.使用 goto 语句7.在数据库管理系统提供的数据语言中,负责数据的查
4、询及增、删、改等操作的是(分数:1.00)A.数据定义语言B.数据转换语言C.数据操纵语言D.数据控制语言8.下列关于队列的叙述中,正确的是(分数:1.00)A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表9.有以下程序(提示:程序中 fseek(fp,-2L*sizeof(int),SEEK_END) ;语句的作用是使位置指针从文件末尾向前移 2*sizeof(int)字节) #include stdioh main() FILE*fp;int i,a4=1,2,3,4,b; fp=fopen(“data.dat“,“wb“); for(i
5、=0;i4;i+)fwrite(/*从文件中读取 sizeof(int)字节的数据到变量 b 中*/ felose(fp); printf(“%d/n“,b) ; 执行后输出结果是(分数:1.00)A.2B.1C.4D.310.关系数据库的数据及更新操作必须遵循()等完整性规则。(分数:1.00)A.实体完整性和参照完整性B.参照完整性和用户定义的完整性C.实体完整性和用户定义的完整性D.实体完整性、参照完整性和用户定义的完整性11.有以下程序 void sort(int a,int n) int i,j,t; for(i=0;in-1;i+2) for(j=i+2;jn;j+=2) if(a
6、iaj)t=ai;ai=aj;aj=t; main() int aa10=1,2,3,4,5,6,7,8,9,10,i; sort(aa,10); for(i=0;i10;i+)printf(“%d,“,aai); printf(“/n“); 其输出结果是:(分数:1.00)A.1,2,3,4,5,6,7,8,9,10,B.10,9,8,7,6,5,4,3,2,1,C.9,2,7,4,5,6,3,8,1,10,D.1,10,3,8,5,6,7,4,9,2,12.设有以下定义 int a=0; double b=1.25; charc c=A; #define d 2 则下面语句中错误的是(分数
7、:1.00)A.a+;B.b+;C.c+;D.d+;13.实体一联系模型中,实体与实体之间的联系不可能是(分数:1.00)A.一对一B.多对多C.一对多D.一对零14.有以下程序 void swapl(int c) int t; t=c0;c0=c1;c1=t; void swap2(int c0,int c1) int t; t=c0;c0=c1;c1=t; main() int a2=3,5,b2=3,5; swapl(a) ;swap2(b0,b1);printf(“%d%d%d%d/n“,a0,a1,b0,b1); 其输出结果是:(分数:1.00)A.5 3 5 3B.5 3 3 5C
8、.3 5 3 5D.3 5 5 315.下面程序的功能是输出以下形式的金字塔图案: * * * * * * * * * * * * * * * * main() int i,j; for(i=1;i=4;i+) ror(j=1;j4-i;j+)printf(“); for(j=1;j_;j+)printf(“*“); printf(“/n“); 在下划线处应填入的是(分数:1.00)A.iB.2*i-1C.2*i+1D.i+216.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是:(分数:1.00)A.char s10=“abcdefg“;B.char t=“abcdefg“,*s=
9、t;C.char s10;s=“abcdefg“;D.char s10;strcpy(s,“abcdefg“);17.设有定义:int a,*pa=,则以下选项中,正确的赋值语句是(分数:1.00)A.p=1;B.*q=2;C.q=p;D.*p=5;22.以下 4 个选项中,不能看作一条语句的是(分数:1.00)A.;B.a=0,b=0,c=0;C.if(a0);D.if(b=0)m=1;n=2;23.有以下程序 void f(int v,int w) int t; t=v;v=w;w=t main() int x=1,y=3,z=2; if(xy) f(x,y); else if(yz) f
10、(y,z); else f(x,z); pfintf(“%d,%d,%d/n“,x,y,2); 执行后输出结果是(分数:1.00)A.1,2,3B.3,1,2C.1,3,2D.2,3,124.有以下程序段 int a 10=1,2,3,4,5,6,7,8,9,10,*P= b=p5; b 中的值是(分数:1.00)A.5B.6C.8D.925.软件需求分析阶段的工作可以分为 4 个方面:需求获取、需求分析、编写需求分析说明书和(分数:1.00)A.阶段性报告B.需求评审C.总结D.都不正确26.有以下程序 char fun(char x,char y) if(xy)return x; retu
11、rn y; main() int a=9,b=8,c=; printf(“%c/n“,fun(fun(a,b) ,fun(b,c) ); 程序的执行结果是(分数:1.00)A.函数调用出错B.8C.9D.727.一个算法应该具有“确定性”等 5 个特性,下面对另外 4 个特性的描述中错误的是(分数:1.00)A.有零个或多个输入B.有零个或多个输出C.有穷性D.可行性28.以下 4 组用户定义标识符中,全部合法的一组是(分数:1.00)A._main enclude sinB.If _max turboC.txt REAL 3COMD.int k_2 _00129.有以下程序 void sum
12、(int *a) a0=a1; main() int aa10=1,2,3,4,5,6,7,8,9,10,i; for(i=2;i=0;i-)sum(537,*p5,*t; int i,j; for(i=0;i5;i+)pi=i4;i+) for(j=i+1;j5;j+) if(pi-Scorepj-Score) t=pi;pi=pj;pi=t; printf(“%d%d/n“,s1.Score,p1-Score); 执行后输出结果是(分数:1.00)A.550550B.680680C.580550D.58068036.有以下程序 int f(int b4) int i,j,s=0; for(
13、j=0;j4;j+) i=j; if(i2)i=3-j; s+=bij; return s; main() int a44=1,2,3,4,0,2,4,6,3,6,9,12,3,2,1,0; printf(“%d/n,f(a) ); 执行后的输出结果是:(分数:1.00)A.12B.11C.18D.1637.以下叙述中正确的是(分数:1.00)A.C 语言的源程序不必通过编译就可以直接运行B.C 语言中的每条可执行语句最终都将被转换成二进制的机器指令C.C 源程序经编译形成的二进制代码可以直接运行D.C 语言中的函数不可以单独进行编译38.以下符合 C 语言语法的实型常量是(分数:1.00)A
14、.1.2E0.5B.3.14159EC.5E-3D.E1539.有以下程序 #define f(x) x*x main() int i; i=f(4+4)/f(2+2); printf(“%d/n“,i); 执行后输出结果是(分数:1.00)A.28B.22C.16D.440.有以下程序 main() char k;int i; for(i=1;i3;i+) scanf(“%c“,f2( printf(“%d%d/n“,a.num,b.num); 执行后输出结果是(分数:1.00)A.2041 2044B.2041 2043C.2042 2044D.2042 204342.若以下选项中的变量已
15、正确定义,则正确的赋值语句是(分数:1.00)A.x1=26.8%3;B.1+2=x2;C.x3=0x12;D.x4=1+2=3;43.有以下程序 main() char*p10=“abc“,aabdfg“,“dedbe“,“abbd“,“cd“; printf(“%d/n“,stxlen (p4); 执行后输出结果是(分数:1.00)A.2B.3C.4D.544.有以下程序 main() int x=0,y=5,z=3; while(z-0i5;i+) do if(i%3)continue; n+; while(!i);n+; printf(“n=%d/n“,n); 程序执行后输出结果是(分
16、数:1.00)A.n=5B.n=2C.n=3D.n=446.以下程序中与语句 k=ab?(bc?1:0):0;功能等价的是(分数:1.00)A.if(a int i,k=0,n=0; fp=fopen(“d1.dat“,“w“);for(i=1;i4;i+)fprintf(fp,“%d“,i); fclose(fp); fp=fopen(“d1.dat“,“r“); fscanf(fp,“%d%d“, if(ij) t=ai;ai=aj;aj=t; f(a,i+1,j-1); main() int i,aa5=1,2,3,4,5; f(aa,0,4); for(i=0;i5;i+)printf
17、(“%d,“,aai;printf(“/n“); 执行后输出结果是(分数:1.00)A.5,4,3,2,1B.5,2,3,4,1,C.1,2,3,4,5D.1,5,4,3,2,二、B填空题/B(总题数:19,分数:38.00)51.一般来说,算法可以用顺序、选择和U 【1】 /U三种基本控制结构组合而成。(分数:2.00)填空项 1:_52.按照逻辑结构分类,数据结构可分为线性结构和非线性结构,队列属于U 【2】 /U。(分数:2.00)填空项 1:_53.按数据流的类型,结构化设计方法有两种设计策略,它们是变换分析设计和U 【3】 /U。(分数:2.00)填空项 1:_54.数据库系统在其内
18、部分为三级模式,即概念模式、内模式和外模式。其中,U 【4】 /U是用户的数据视图,也就是用户所见到的数据模式。(分数:2.00)填空项 1:_55.在关系模型中,把数据看成一个二维表,每一个二维表称为一个U 【5】 /U。(分数:2.00)填空项 1:_56.已知字符 A 的 ASCII 码值为 65,以下语句的输出结果是U 【6】 /U。 char ch=b; printf(“%c%d/n“,ch,ch);(分数:2.00)填空项 1:_57.有以下语句段 int n1=10,n2=20; printf(“U 【7】 /U“,n1,n2); 要求按以下格式输出 n1和 n2 的值,每个输出
19、行从第一列开始,请填空。 n1=10 n2=20(分数:2.00)填空项 1:_58.有以下程序 main() int t=1,i=5; for(;i0;i-)t*=i; printf(“%d/n“,t); 执行后输出结果是U 【8】 /U。(分数:2.00)填空项 1:_59.有以下程序 main() int n=0,m=1,x=2; if(!n)x-=1; if(m)x-=2; if(x)x-=3; printf(“%d/n“,x); 执行后输出结果是U 【9】 /U。(分数:2.00)填空项 1:_60.有以下程序 #includestdioh main() char ch1,ch2;i
20、nt n1,n2; ch1=getchar();ch2=getchar(); n1=ch1-();n2=n1*10+(ch2-(); printf(“%d/n“,n2); 程序运行时输入:12回车,执行后输出结果是U 【10】 /U。(分数:2.00)填空项 1:_61.有以下程序 void f(int y,int*x) y=y+ *x; *x=*x+y; main() int x=2,y=4; f(y,double y=1;for(i=1;in;i+)y=y*x;return y;主函数中已正确定义 m、a、b 变量并赋值,并调用 fun 函数计算:m=a 4+b4-(a+b)3。实现这一计
21、算的函数调用语句为U 【12】 /U。(分数:2.00)填空项 1:_63.下面 rotate 函数的功能是:将 n 行 n 列的矩阵 A 转置为 A,例如: (分数:2.00)填空项 1:_64.以下 sstrcpy()函数实现字符串复制,即将 t 所指字符串复制到 s 所指内存空间中,形成一个新字符串 s。 请填空。 void sstrcpy(char*s,char*t) while(*s+=U 【15】 /U); main() char strl100,str2=“abcdefgh“; sstrcpy(strl,str2); printf(“%s/n“,strl); (分数:2.00)填
22、空项 1:_65.下列程序的运行结果是:U 【16】 /U。 #includestringh char*ss(char*s) return s+strlen(s)/2; main() char*p,*str=“abcdefgh“; p=ss(str);printf(“%s/n“,p); (分数:2.00)填空项 1:_66.下面程序的运行结果是:U 【17】 /U。 int f(int a,int n) if(n1)return a0+f(p1=2.5;p2=3.5; printf(“%f%f%f/n“,p0,p1,p2); (分数:2.00)填空项 1:_68.以下程序的运行结果是U 【19
23、】 /U。 #includestringh typeaef struct student char name10; long sno; float score; STU; main() STUa=“zhangsan“,2001,95,b=“Shangxian“,2002,90,c=“Anhua“,2003,95,d,*p=i10;i+=2)s+=i+1, printf(“%d/n“,s); 程序执行后的输出结果是(分数:1.00)A.自然数 19 的累加和B.自然数 110 的累加和C.自然数 19 中奇数之和D.自然数 110 中偶数之和 解析:解析本题中 i 赋初值为 1,并对其每次进行加
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 50 答案 解析 DOC
