教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 求职职场 >

历年二级C语言笔试真题及答案(6)

来源:网络收集 时间:2026-09-08
导读: char s[20]= “Bejing”,*p; p=s; 则执行p=s;语句后,以下叙述正确 的是 A)可以用*p表示s[0] B)s数组 中元素的个数和p所指字符串长度相等 C)s和p都是指针变量D)数组s中 的内容和指针变量p中的内容相等 (26)若

char s[20]= “Bejing”,*p;

p=s; 则执行p=s;语句后,以下叙述正确

的是

A)可以用*p表示s[0] B)s数组

中元素的个数和p所指字符串长度相等

C)s和p都是指针变量D)数组s中

的内容和指针变量p中的内容相等

(26)若有定义:int a[2][3];,以下选项

中对a数组元素正确引用的是

A)a[2][!1] B)a[2][3] C)a[0][3] D)

a[1>2][ !1]

(27)有定义语句:char s[10];,若要从

终端给s输入5个字符,错误的输入语句

A)gets(&s[0]); B)scanf(“%s”,s+1);

C)gets(s); D)scanf(“%s”,s[1]);

(28)以下叙述中错误的是

A)在程序中凡是以“#”开始的语句行都

是预处理命令行B)预处理命令行的

最后不能以分号表示结束

C)#define MAX是合法的宏定义命令行

D)C程序对预处理命令行的处理是在程

序执行的过程中进行的

(29)以下结构体类型说明和变量定义

中正确的是

A)typedef struct B)struct REC; {int n;

char c;}REC; {int n; char c;};REC t1,t2;

REC t1,t2;

C)typedef struct REC ; D)struct{int n=0;

char c=?A?;}t1,t2; {int n;char c;}REC t1,t2;

(30)以下叙述中错误的是

A)gets函数用于从终端读入字符串

B)getchar函数用于从磁盘文件读入字符

C)fputs函数用于把字符串输出到文件

D)fwrite函数用于以二进制形式输出数据

到文件

(31)有以下程序

#include <stdio.h>

main()

{ int

s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;

for(i=0;i<12;i++) c[s[i]]++;

for(i=1;i<5;i++) printf(“%d”,c[i]);

printf(“\n”);}程序的运行结果是

A)1 2 3 4 B)2 3 4 4 C)4 3 3 2 D )1 1 2 3

(32)有以下程序

#include <stdio.h>

void fun(int *s,int nl,int n2)

{ int i,j,t;

i=nl; j=n2;

while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;}}

main()

{ int a[10]={1,2,3,4,5,6,7,8,9,0},k;

fun(a,0,3); fun(a,4,9); fun(a,0,9);

for(k=0;k<10;k++)printf(“%d”,a[k]);

printf(“\n”);}程序运行的结果是

A)0987654321 B)4321098765

C)5678901234 D)0987651234

(33)有以下程序

#include <stdio.h>

#include <string.h>

void fun(char *s[ ],int n)

{ char *t; int i,j;

for(i=0;i<n-1;i++)

for(j=i+1;j<n;j++)

if(strlen(s[i])>strlen(s[j]))

{t=s[i];s[i]=s[j];s[j]=t;}}

main()

{char

*ss[]={“bcc”,”bbcc”,”xy”,”aaaacc”,”aabcc”

};

fun(ss,5); printf(“%s,%s\n”,ss[0],ss[4]);}

程序的运行结果是

A)xy,aaaacc B)aaaacc,xy

C)bcc,aabcc D)aabcc,bcc

(34)有以下程序

#include <stdio.h>

int f(int x)

{int y;

if(x==0||x==1) return (3);

y=x*x-f(x-2);

return y;}

main()

{int z;

z=f(3); printf(“%d\n”,z);}程序的运

行结果是A)0 B)9 C)6 D)8

(35) 有以下程序

#include <stdio.h>

void fun(char *a,char *b)

{wh ile(*a==?*?) a++;

while(*b=*a) {b++;a++;}}

main()

{char *s=”****a*b****”,t[80];

fun(s,t); puts(t);} 程序的运行结果是

A)*****a*b B) a*b C) a*b**** D) ab

(36) 有以程序

#include <stdio.h>

#include <string.h>

typedef struct { char name[9]; char sex;

float score[2]; } STU;

void f( STU a)

{ STU b={“Zhao” ,?m?,85.0,90.0} ; int i;

strcpy(,);

a.sex=

b.sex;

for(i=0;i<2;i++) a.score[i]=b.score[i];}

main()

{ STU c={“Qian”,?p?,95.0,92.0};

f(c);

printf(“%s,%c,%2.0f,%2.0f\n”,,c.sex,

c.score[0],c.score[1]);} 程序的运行结

果是

9

历年二级C语言笔试真题及答案

A)Qian,f,95,92 B) Qian,m,85,90 C) Zhao,f,95,92 D) Zhao,m,85,90

(37) 有以下程序

#include <stdio.h>

main()

{FILE *fp; int a[10]={1,2,3},i,n;

fp=fopen(“dl.dat”,”w”);

for(i=0;i<3;i++) fprintf(fp,”%d”,a[i]); fprintf(fp,”\n”);

fclose(fp);

f p=fopen(“dl.dat”,”r”);

fscanf(fp,”%d”,&n);

fclose(fp);

printf(“%d\n”,n);}程序的运行结果是

A)12300 B) 123 C) 1 D) 321

(38)变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是

A)a^b B)a|b C)a&b D)a<<4

(39)在C语言中,只有在使用时才占用内存单元的变量,其存储类型是

A)auto和register B)extern和register C) auto和static D) static和register

(40)设有定义语句int(*f)(int);,则以下叙

述正确的是

A)f是基类型为int的指针变量

B) f是指向函数的指针变量,该函数具有一个int类型的形参

C) f是指向int类型一维数组的指针变量

D) f是函数名,该函数的返回值是基类型为int类型的地址

二、填空题(每空2分,共30分)

请将每一个空的正确答案些在答题卡【1】至【15】序号的横线上,答在试卷上不得分。

(1)测试用例包括输入值集和【1】值集。(2)深度为5的满二叉树有【2】个叶子结点。

(3)设某循环队列的容量为50,头指针front=5(指向队头元素的前一位置),尾指针rear=29(指向队尾元素),则该循环队列中共有【3】个元素。(4)在关系数据库中,用来表示实体之间联系的是【4】。

(5)在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,【5】负责数据的模式定义与数据的物理存取构建。

(6)已有定义:char c=? …;int a=1,b;(此处c的初值为空格字符),执行b=!c&&a;后b 的值为【6】。

(7)设变量已正确定义为整型,则表达式n=i=2,++i,i++的值为【7】。

(8)若有定义:int k;,以下程序段的输出结果是【8】。for(k=2;k<6;k++,k++) printf(“##%d”,k);

(9)以下程序段的定义语句中,x[1]的初值是【9】,程序运行后输出的内容是【10】。#include<stdio.h>

main()

{ int

x[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} ,*p[4],i;

for(i=0;i<4;i++)

{ p[i]=&x[2*i+1];

printf(“%d ”,p[i][0]);}

printf(“\n”);}

(10)以下程序的输出结果是【11】。

#include<stdio.h>

void swap(int *a,int *b)

{ int *t;

t=a; a=b; b=t;}

main()

{ int i=3,j=5,*p=&i,*q=&j;

swap(p,q); printf(“%d %d\n”,*p,*q);}

(11)以下程序的输出结果是【12 …… 此处隐藏:3508字,全部文档内容请下载后查看。喜欢就下载吧 ……

历年二级C语言笔试真题及答案(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/121621.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)