1、二级 C语言笔试-313 及答案解析(总分:102.00,做题时间:90 分钟)一、选择题(总题数:50,分数:62.00)1.假定所有变量已正确说明,下列程序段运行后,x 的值是 ( )abc0;x35;if (!(分数:1.00)A.x- -;else if (B.;if (C.x3;else x4;2.若有定义“char, *p2,*p3,*p4,ch;”,则不能正确赋值的程序语句为 ( )(分数:1.00)A.p1a,bc;上面定义的共用体变量 a、b、c 各占( )字节。(分数:1.00)A.4B.2C.7D.17.以下选项中,不能正确赋值的是 ( )(分数:1.00)A.char
2、sl 10;sl“Ctest“;B.char s2 C,t,e,s,t,C.char s320“Ctest“;D.char * s4“Ctest/n“;8.下面程序的输出结果是 ( )main()int y9;for(;y0;y- -)if (y%30)printf(“ % d“,- -y);continue;(分数:1.00)A.741B.852C.963D.8754219.以下所列的各函数原型中,正确的是 ( )(分数:1.00)A.void ply (var a:Integer var b:Integer)B.void play (int a,b)C.roid play (inta,in
3、t b)D.sub play (a as integer,bas integer)10.在 C语言中,可以把整数以二进制形式存放到文件中的函数是 ( )(分数:1.00)A.fprintf ( ) 函数B.fread ( ) 函数C.fwrite ( ) 函数D.fputc( )函数11.按通信距离划分,计算机网络可以分为局域和广域网。下列属于局域网的是 ( )(分数:1.00)A.InternetB.CHINANETC.Windows NT 网D.CERNET12.若要用下面的程序片段使指针变量 p指向一个存储字符型变量的动态存储单元,则应填入; char * p;p= ( ) malloc
4、 (sizeof (char);(分数:1.00)A.charB.char *C.(* char)D.(char *)13.以下程序的输出结果是 ( )main( )int i;for (iA;il;i + + ,i + + )printf(“%c“,i+32);printf(“/n“);(分数:1.00)A.编译不通过,无输出B.acegC.acegiD.abcdefghi14.以下程序的输出结果是 ( )main ( )int i, x 3 3 l,2,3,4,5,6,7,8,9;for (i0;i3;i+ +)printf (“%d,“,xi2-i);(分数:1.00)A.1,5,9B.
5、1,4,7C.3,5,7D.3,6,915.当执行下面的语句定义一维数组 a并赋以初值后,此数组的元素中不正确的一个赋值结果是 ( )static int a100,1,2,3,4,5;(分数:1.00)A.a21B.a00C.a33D.a9016.下列函数定义不正确的是 ( )(分数:1.00)A.int maxint x y,z;zxy? x: yB.int max(x,y)int x,y;int z;zxy? x:y;return(z)C.int max(x,y)int x,y z;zxy? x: y;return(z);D.int max( )17.C语言中文件的存取方式 ( )(分数
6、:1.00)A.只能顺序存取B.只能随机存取(或直接存取)C.可以顺序存取,也可随机存取D.只能从文件的开头进行存取18.设有如下定义:struct skint a;float b;data,* p;若有 p(分数:1.00)A.65B.20C.15D.1028.下面程序的输出结果是 ( )# includestdioh# includestringhchar * p1“abc“ , * p2“ ABC “,str50“xyz“;strcpy(str+2strcat (pi,p2);printf(“%s/n“,str);(分数:1.00)A.xyzabcABB.zabcABCC.yzabcAB
7、CD.xycbcABC29.对线性表进行二分法查找,其前提条件是 ( )(分数:1.00)A.线性表以顺序方式存储,并已按关键码值排好序B.线性表以顺序方式存储,并已按关键码值的查找频率排好序C.线性表以链接方式存储,并已按关键码值排好序D.线性表以链接方式存储,并已按关键码值的查找频率排好序30.整型变量 x和 y的值相等,且为非。值,则以下选项中,结果为 0的表达式是 ( )(分数:1.00)A.x | |yB.x | yC.x * chp;chp + 2 )printf(“%s“,chp);print(“/n“);(分数:2.00)A.ABABCDB.ABCDABC.ABCDDD.ABC
8、DCD49.以下程序的运行结果是 ( )# includestdiohmain( )int a015,b22;printf(“%d,%d/n“,a+ +,- -b);(分数:2.00)A.15,22B.15,21C.13,21D.14,21二、填空题(总题数:12,分数:40.00)50.在计算机领域中,通常用英文单词“Byte表示 【1】 。(分数:2.00)填空项 1:_51.在线性表的多种存储结构中,最简单的方法是 【2】 。(分数:2.00)填空项 1:_52.派生类对基类继承控制访问有三种。派生类可以定义其基类中不具备的 【3】 。(分数:2.00)填空项 1:_53.在 Windo
9、ws环境下,可以利用单击、双击、拖动这三种鼠标操作之一的 【4】 操作实现窗口的移动。(分数:2.00)填空项 1:_54.在 Windows环境下,可以将窗口最小化为 【5】 。(分数:2.00)填空项 1:_55.下列程序的输出结果是 【6】 main( )int a1,b2;a a + b;ba-b;aa-b;printf(“%d,%d/n“,a,b);(分数:2.00)填空项 1:_56.下面程序的输出结果是 【7】 。# include stdiohmain( )staic char b“Goodbye“;char * chp 【19】 ;printf(“/n%d/t%d/n“,k,
10、lin);【20】 ;(分数:8.00)填空项 1:_二级 C语言笔试-313 答案解析(总分:102.00,做题时间:90 分钟)一、选择题(总题数:50,分数:62.00)1.假定所有变量已正确说明,下列程序段运行后,x 的值是 ( )abc0;x35;if (!(分数:1.00)A.x- -;else if (B.;if ( C.x3;else x4;解析:2.若有定义“char, *p2,*p3,*p4,ch;”,则不能正确赋值的程序语句为 ( )(分数:1.00)A.p1a,bc;上面定义的共用体变量 a、b、c 各占( )字节。(分数:1.00)A.4 B.2C.7D.1解析:7.
11、以下选项中,不能正确赋值的是 ( )(分数:1.00)A.char sl 10;sl“Ctest“; B.char s2 C,t,e,s,t,C.char s320“Ctest“;D.char * s4“Ctest/n“;解析:8.下面程序的输出结果是 ( )main()int y9;for(;y0;y- -)if (y%30)printf(“ % d“,- -y);continue;(分数:1.00)A.741B.852 C.963D.875421解析:9.以下所列的各函数原型中,正确的是 ( )(分数:1.00)A.void ply (var a:Integer var b:Integer
12、)B.void play (int a,b)C.roid play (inta,int b) D.sub play (a as integer,bas integer)解析:10.在 C语言中,可以把整数以二进制形式存放到文件中的函数是 ( )(分数:1.00)A.fprintf ( ) 函数B.fread ( ) 函数C.fwrite ( ) 函数 D.fputc( )函数解析:11.按通信距离划分,计算机网络可以分为局域和广域网。下列属于局域网的是 ( )(分数:1.00)A.InternetB.CHINANETC.Windows NT 网 D.CERNET解析:12.若要用下面的程序片段
13、使指针变量 p指向一个存储字符型变量的动态存储单元,则应填入; char * p;p= ( ) malloc (sizeof (char);(分数:1.00)A.charB.char *C.(* char)D.(char *) 解析:13.以下程序的输出结果是 ( )main( )int i;for (iA;il;i + + ,i + + )printf(“%c“,i+32);printf(“/n“);(分数:1.00)A.编译不通过,无输出B.aceg C.acegiD.abcdefghi解析:14.以下程序的输出结果是 ( )main ( )int i, x 3 3 l,2,3,4,5,6
14、,7,8,9;for (i0;i3;i+ +)printf (“%d,“,xi2-i);(分数:1.00)A.1,5,9B.1,4,7C.3,5,7 D.3,6,9解析:15.当执行下面的语句定义一维数组 a并赋以初值后,此数组的元素中不正确的一个赋值结果是 ( )static int a100,1,2,3,4,5;(分数:1.00)A.a21 B.a00C.a33D.a90解析:16.下列函数定义不正确的是 ( )(分数:1.00)A.int maxint x y,z;zxy? x: yB.int max(x,y)int x,y;int z;zxy? x:y;return(z)C.int m
15、ax(x,y)int x,y z;zxy? x: y;return(z);D.int max( )解析:17.C语言中文件的存取方式 ( )(分数:1.00)A.只能顺序存取B.只能随机存取(或直接存取)C.可以顺序存取,也可随机存取D.只能从文件的开头进行存取 解析:18.设有如下定义:struct skint a;float b;data,* p;若有 p(分数:1.00)A.65B.20 C.15D.10解析:28.下面程序的输出结果是 ( )# includestdioh# includestringhchar * p1“abc“ , * p2“ ABC “,str50“xyz“;st
16、rcpy(str+2strcat (pi,p2);printf(“%s/n“,str);(分数:1.00)A.xyzabcABB.zabcABCC.yzabcABCD.xycbcABC 解析:29.对线性表进行二分法查找,其前提条件是 ( )(分数:1.00)A.线性表以顺序方式存储,并已按关键码值排好序B.线性表以顺序方式存储,并已按关键码值的查找频率排好序 C.线性表以链接方式存储,并已按关键码值排好序D.线性表以链接方式存储,并已按关键码值的查找频率排好序解析:30.整型变量 x和 y的值相等,且为非。值,则以下选项中,结果为 0的表达式是 ( )(分数:1.00)A.x | |yB.x
17、 | yC.x * chp;chp + 2 )printf(“%s“,chp);print(“/n“);(分数:2.00)A.ABABCDB.ABCDABC.ABCDDD.ABCDCD 解析:49.以下程序的运行结果是 ( )# includestdiohmain( )int a015,b22;printf(“%d,%d/n“,a+ +,- -b);(分数:2.00)A.15,22B.15,21C.13,21 D.14,21解析:二、填空题(总题数:12,分数:40.00)50.在计算机领域中,通常用英文单词“Byte表示 【1】 。(分数:2.00)填空项 1:_ (正确答案:1;字节)解析
18、:51.在线性表的多种存储结构中,最简单的方法是 【2】 。(分数:2.00)填空项 1:_ (正确答案:2;(1)顺序存储)解析:52.派生类对基类继承控制访问有三种。派生类可以定义其基类中不具备的 【3】 。(分数:2.00)填空项 1:_ (正确答案:3;(2)数据和操作)解析:53.在 Windows环境下,可以利用单击、双击、拖动这三种鼠标操作之一的 【4】 操作实现窗口的移动。(分数:2.00)填空项 1:_ (正确答案:4;拖动)解析:54.在 Windows环境下,可以将窗口最小化为 【5】 。(分数:2.00)填空项 1:_ (正确答案:5;图标或按钮)解析:55.下列程序的输出结果是 【6】 main( )int a1,b2;a a + b;ba-b;aa-b;printf(“%d,%d/n“,a,b);(分数:2.00)填空项 1:_ (正确答案:6;2,1)解析:56.下面程序的输出结果是 【7】 。# include stdiohmain( )staic char b“Goodbye“;char * chp 【19】 ;printf(“/n%d/t%d/n“,k,lin);【20】 ;(分数:8.00)填空项 1:_ (正确答案:17;fopen18;while (fgetc (fp)!/n)19;lin=j20;close (fp))解析: