【计算机类职业资格】二级C语言笔试-305及答案解析.doc
《【计算机类职业资格】二级C语言笔试-305及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-305及答案解析.doc(34页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-305 及答案解析(总分:84.00,做题时间:90 分钟)一、选择题(总题数:50,分数:50.00)1.若下列各选项中所有变量已正确定义,函数 fun 通过 return 语句返回一个函数值,以下选项中错误的程序是( )。(分数:1.00)A.main( )x = fun(2,10);float fun(int a, intb)B.float fun( int a,intb)main( )x = fun(i,j);C.float fun(int, int);main( )x=fun(2,10);float fun(iht a, intb)D.main( )float f
2、un(int i, intj);x = fun(i,j);float fun(int a,intb) 2.若有定义:float x=1.5;int a=1,b=3,c=2; 则正确的 switch 语句是( )。(分数:1.00)A.switch(x)case 1.0: printf(“*/n“);case 2.0: printf(“ * * /n“ );B.switch(iht)x);case 1: printf(“ * /n“ );case 2: printf(“ * * /n“ );C.switch(a +b)case 1: printf(“ * /n“ );case 2 + 1: pr
3、intf(“ * * /n“ );D.switch(a +b)case 1: pfintf(“ * /n“ );case c: pfintf(“ * * /n“);3.有以下程序:#include stdio.hint fun(int x, int n)static int sum =0,i;for(i=0;in;i + )sum + =xi;return sum;int a =1,2,3,4,5,b=6,7,8,9,s=0;s = fun(a,5) + fun(b,4) ;printf( “%d /n“,s);程序执行后的输出结果是( )。(分数:1.00)A.45B.50C.60D.554
4、.下列关于栈的描述正确的是( )。(分数:1.00)A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或删除元素D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素5.以下叙述中错误的是( )。(分数:1.00)A.C 语言源程序经编译后生成后缀为.obj 的目标程序B.C 程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C.用 C 语言编写的程序称为源程序,它以 ASCII 代码形式存放在一个文本文件中D.C 语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令6.以下叙述中正确的是( )。(
5、分数:1.00)A.预处理命令行必须位于 C 源程序的起始位置B.在 C 语言中,预处理命令行都以“#”开头C.每个 C 程序必须在开头包含预处理命令行:#include stdio.hD.C 语言的预处理不能实现宏定义和条件编译的功能7.有以下程序:#include stdio.hvoid swap(char * x,ehar * y)char t;t= *x; *x: *y; *y=t;main ( )char *s1 =“abc“, * s2 =“123“;swap(s1 ,s2); printf(“%s,%s /n“ ,s1 ,s2);程序执行后的输出结果是( )。(分数:1.00)A
6、.123,abeB.abe,123C.1bc,a23D.321,cba8.有以下程序:#include stdio.hfun( char p 10)int n=0,i;for(i=0;i7;i +)if(pi0 =T) n+;return n;main( )char sir 10 = “Mon“ ,“Tue“ ,“Wed“ ,“Thu“ ,“Fri“ ,“Sat“ ,“Sun“ ;prlnff(“ % d/n“ ,fun(str) );程序执行后的输出结果是( )。(分数:1.00)A.1B.2C.3D.09.有以下程序:#includo stdio.hmain()int y=10;while
7、(y-)printf(“y=%d/n“,y);程序执行后的输出结果是( )。(分数:1.00)A.y=0B.y= -1C.y=1D.while 构成无限循环10.有以下程序:#include stdio.hmain( )char * p = “3697“ ,“2548“ ;int i,j; long num =0;for(i =0;i2;i + )j =0;while(pij! =/0)if(pij-0)%2) num=10*num+pij-0;j+ =2;printf( “%d /n“ ,num);程序执行后的输出结果是( )。(分数:1.00)A.35B.37C.39D.397511.若有
8、说明语句:double * p,a;则能通过 scanf 语句正确给输入项读入数据的程序段是( )。(分数:1.00)A.*p= sCanf(“%1f“,p);B.*p= scanf(“%f“,p);C.p= scanf( “% 1f“ , * p);D.p = scanf( “% 1f“ , p);12.下面的叙述正确的是( )。(分数:1.00)A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经份试改错后还应进行再测试D.程序经调试改错后不必进行再测试13.设 fp 为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof(fp)的返回值为 ( )。(分数:1.0
9、0)A.EOFB.非 0 值C.0D.NULL14.以下不合法的用户标识符是( )。(分数:1.00)A.j2_KEYB.DoubleC.4dD._815.下列叙述中正确的是( )。(分数:1.00)A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率16.有以下程序:#include stdio.hmain( )ehar c1,c2,c3,c4,c5,c6;scanf( “% c% c% c% c“, c5
10、= getehar( ); c6 = getchar( );putehar(c1); putehar(c2);printf(“%c%c/n“, c5, c6);23 回车45678 回车(分数:1.00)A.1267B.1256C.1278D.124517.现有以下结构体说明和变量定义,如图所示,指针 P,q,r 分别指向一个链表中连续的三个结点。(分数:1.00)A.q-next=r-next;p-next=r;r-next=q;B.p-next=r;q-next=r-next;r-next=q;C.q-next=r-next;r-next=q;p-next=r;D.r-next=q;P-n
11、ext=r;q-next=r-next;18.若要求从键盘读人含有空格字符的字符串,应该使用函数( )。(分数:1.00)A.getc()B.gets()C.getchar()D.scanf()19.设有如下关系表:(分数:1.00)A.T=RSB.T=RSC.T=RSD.T=R/S20.有以下程序:#include stdio.hmain( )int i,t 3 = 9,8,7,6,5,4,3,2,1;for(i=0;i3;i+) printf(“%d “,t2-il-i);程序执行后的输出结果是( )。(分数:1.00)A.7 5 3B.3 5 7C.3 6 9D.7 5 121.以下不合
12、法的数值常量是( )。(分数:1.00)A.011B.le1C.3.0E0.5D.0xabcd22.以下叙述中错误的是( )。(分数:1.00)A.算法正确的程序最终一定会结束B.算法正确的程序可以有零个输出C.算法正确的程序可以有零个输入D.算法正确的程序对于相同的输入一定有相同的结果23.要求通过 while 循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是( )。(分数:1.00)A.while( ch = getchar( ) ! =N) printf(“ %c“,ch);B.while(ch = getehar() ! =N)printf(“%c“,ch
13、);C.while (ch = getehar() = = N)printf( “%c“, ch);D.while (ch = getchar( ) = N)printf(“%c“, ch );24.下列描述中正确的是( )。(分数:1.00)A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发中的技术问题25.已定义以下函数:int fun(int *p)return *p;函数 fun 的返回值是( )。(分数:1.00)A.不确定的值B.一个整数C.形参 p 中存放的值D.
14、形参 p 的地址值26.以下叙述中错误的是( )。(分数:1.00)A.C 程序必须由一个或一个以上的函数组成B.函数调用可以作为一个独立的语句存在C.若函数有返回值,必须通过 return 语句返回D.函数形参的值也可以传回给对应的实参27.数据库设计的根本目标是要解决( )。(分数:1.00)A.数据共享问题B.数据安全问题C.大量数据存储问题D.简化数据维护28.有以下程序:#include stdio.hmain()unioncharch2;int d;s;s.d=0x4321;printf(“%x,%x/n“,s.ch0,s.ch1);在 16 位编译系统上,程序执行后的输出结果是(
15、 )。(分数:1.00)A.21,43B.43,21C.43,00D.21,0029.设有以下定义和语句:char str20=“Program“, *P;p=str;则以下叙述中正确的是( )。(分数:1.00)A.*p 与 str0中的值相等B.str 与 p 的类型完全相同C.str 数组的长度和 p 所指向的字符串长度相等D.数组 str 中存放的内容和指针变量 p 中存放的内容相同30.有以下程序:#include stdio.hint fun(int n)if(n = 1) return 1;else return( n + fun( n - 1 ) );main( )int x;
16、seanf(“% d“ ,x = fun(x) ;pfinff( “% d /n“ ,x);执行程序时,给变量 x 输入 10,程序的输出结果是( )。(分数:1.00)A.55B.54C.65D.4531.设有以下语句:int a=1,b=2,c;c=a(b2);执行后,c 的值为( )。(分数:1.00)A.6B.7C.8D.932.有以下程序:#include stdio.hvoid funl (char * p)char * q;q=p;while( *q! =/0) (*q) +;q+;mains( )char a = “Program“ , * p;p = fun1 (p); pr
17、intf(“% s /n“ ,(分数:1.00)A.;程序执行后的输出结果是( )。A33.有以下程序:#include stdio.hmain( )int a =0,b =0,c =0,d =0;if(a = 1) b=1;c=2;else d=3;pfintf( “%d,%d,%d ,%d /n“ ,a,b,c,d);(分数:1.00)A.0,1,2,0B.0,0,0,3C.1,1,2,0D.编译有错34.表达式 3.6-5/2+1.2+5%2 的值是( )。(分数:1.00)A.4.3B.4.8C.3.3D.3.835.有以下程序:int fun1 (double(分数:1.00)A.r
18、eturn a * =a;int fun2 ( double x, double y )double a=0,b=0;a = fun1 (x) ;b = fun1 (y); return(int) (a +B.;int * y; * pt;int a = 1,2 ,b = 3,4;struct st c2 = 10,a,20,b;pt=c;以下选项中表达式的值为 11 的是( )。(分数:1.00)A.*pt-yB.pt-xC.+pt-xD.(pt+)-x37.以下叙述中错误的是( )。(分数:1.00)A.C 程序中的#include 和#define 行均不是 C 语句B.除逗号运算符外,
19、赋值运算符的优先级最低C.C 程序中,j+;是赋值语句D.C 程序中,+、-、*、/、%是算术运算符,可用于整型和实型数的运算38.有以下程序:#include stdio.hmain( )int i,s=0,t = 1,2,3,4,5,6,7,8,9;for(i=0;i9;i+=2) s+=*(t+i);prinff(“% d /n “,s);(分数:1.00)A.45B.20C.25D.3639.执行以下程序后,test.txt 文件的内容是(若文件能正常打开) ( )。#include stdio.h#include stdlib.hmain( )FILE * fp;char * s1
20、= “Fortran“ , * s2 = “Basic“;if(fp = fopen( “test. txt“ ,“ wb“ ) = = NULL)prinff( “Cant open test. txt file /n“); exit(1); fwrite( s1 ,7,1 ,fp); /* 把从地址 s1 开始到 7 个字符写到 fp 所指文件中*/fseek(fp,OL,SEEK_SET); /*文件位置指针移到文件开头*/fwrite (s2,5,1,fp);felose (fp);(分数:1.00)A.BasieanB.BasieFortranC.BasicD.FortranBasi
21、e40.以下能正确定义字符串的语句是( )。(分数:1.00)A.char str=/064;B.char str=“/x43“;C.char str=“;D.char str=“/0“;41.在以下给出的表达式中,与 while(E)中的(E)不等价的表达式是( )。(分数:1.00)A.(! E=0)B.(E0 EO)C.(E=0)D.(E! =0)42.以下不合法的字符常量是( )。(分数:1.00)A./018B./“C./D./xcc43.在软件设计中,不属于过程设计工具的是( )。(分数:1.00)A.PDL(过程设计语言)B.PAD 图C.N-S 图D.DFD 图44.以下四个程
22、序中,完全正确的是( )。(分数:1.00)A.#include stdio.hmain( );/* programmlng* /printf( “programming! /n“ );B.#include stdio.hmain( )/*/programmingprintf(“programming! /n“);C.#include stdio.hmain( )/*programming* /printf( “programming! /n“ );D.include stdio.hmain ( )/*/* programming*/*/printf( “programming! /n“ );
23、45.下列叙述中正确的是( )。(分数:1.00)A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令46.有以下程序:#inelude stdio.hmain( )int i,j,x=0;for(i=0;i2;i+ )x+;for(j=0;j=3;j +)fi(j%2) continue;x+;x+;pfinff( “x = % d/n“,x);程序执行后的输出结果是( )。(分数:1.00)A.x=4B.x=8C.x=6D.x=1247.下列数据结构中,能用二分法进行查找的是( )。(分数:1.00)
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 305 答案 解析 DOC
