大一C语言选择题及答案(5)

2018-12-23 00:05

4.下面程序的运行结果是(D) main()struct cmplx{int x;int y;}cnum[2]={1,3,2,7};printf(“%d\\n”,cnum[0].y/cnum[0].x*cunm[1].x);} A.0 B.1 C.3 D.6 5.若有以下定义和语句:

struct student{int age;int num;}y;struct student stu[3]={{1001,20},{1002,19},{1003,21}};main(){struct student *p;p=stu;...} 则以下不正确的引用是(D) A.(p++)—>num B.p++

C.(*p).num D.p=&stu.age

6.以下scanf函数调用语句中对结构体变量成员的不正确引用是(D) struct pupil{char name [20];int age;int sex;}pup[5],*p;p=pup; A.scanf(“%s”,pup[0].name); B.scanf(“%d”,&pup[0].age); C.scanf(“%d”,&(p—>sex)); D.scanf(“%d”,p—>sex); 7.若有以下说明和语句:

struct student{int age;int num;}std,*p;p=&std;则以下结构体变量std中成员age的引用方式不正确的是(D)

A.std.age B.p—>age C.(* p).age D.* p.age 8.设有如下定义:

struct sk{int a;float b;}date;int *p;若要使p指向date中的a域,正确的赋值语句是(C) A.p=&a B.p=date.a C.p=&date.a D.*p=date.a 9.下列程序的输出结果是(C)

#includestruct abc{int a,b,c;};main(){struct abc s[2]={{1,2,3},{4,5,6}};int t;t=s[0].a+s[1].b%s[0].c;printf(“%d\\n”,t);} A.7 B.4 C.3 D.2 10.有以下程序段:

struct st{int x;int *y;}*pt;int a[]={1,2},b[]={3,4};struct st c[2]={10,a,20,b};pt=c;以下选项中表达式的值为11的是(C)

A.*pt—>y B.pt—>x C.++pt—>x D.(pt++)—>x

11.已知学生记录描述为:struct student{int no;char name [20];char sex;struct{int year;int month;int day;}brith;};struct student s;设变量s中的“生日”应是“1984年11月11日”,下列对“生日”的正确赋值方式是(D)。 A.year=1984;month=11;day=11;

B.brith.year=1984;brith.month=11;brith.day=11; C.s.year=1984;s.month=11;s.day=11;

D.s.brith.year=1984;s.brith.month=11;s.brith.day=11; 12.有如下定义和语句:

struct student{int age;int num;};struct student stu[3]={{1001,20},{1002,19},{1003,21}};main(){struct student *p;p=stu;...} 则以下不正确的引用是(D) A.(p++)—>num B.p++

C.(*p).num D.p=&stu.age 13.有以下结构体定义:

struct example{int x;int y;}v1;则正确的引用或定义是(D)

A.example.x=10 B.example v2;v2.x=10.;

C.struct v2;v2.x=10; D.struct example v2={10};

14.对于如下结构体定义,若对变量person的出生年份进行赋值,正确的赋值是(C) struct date{int year,month,day;};struct worklist{char name[20];char sex;struct date brith;}person; A.year=1976 B.brith.year=1976

C.person.brith.year=1976 D.person.year=1976

15.根据下述定义,可以输出字符‘A’的语句是(A)

struct person{char name[11];struct{char name[11];int age;}other[10];};struct person man[10]={{“Jone”,{“Paul”,20}},{“Paul”,{“Mary”,18}},{“Mary”,{“Adam”,23}},{“Adam”,{“Jone”,22}}};

A.printf(“%c”,man[2].other[0].name[0]); B.printf(“%c”,other[0].name[0]); C.printf(“%c”,man[2].(* other[0])); D.printf(“%c”,man[3].name);

16.若要利用下面的程序片段是指针变量p指向一个存储整型变量的存储单元,阿尔【】中应填入的内容是(D)

int *p;p=【】malloc(sizof(int));

A.int B.int * C.(* int) D.(int *) 17.设有以下语句:

struct st{int n;struct st *next;};static struct st a[3]={5,&a[1],7&a[2],9,‘\\0’},*p;p=&a[0];则以下表达式的值为6的是(D)

A.p++->n B.p->n++ C.(*p).n++ D.++p->n 18.若有以下定义:

struct link{int date;strucklink*next;}a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。则能够把c插入到a和b之间并形成新的链表的语句组是(D)

A.a.next=c;c.next=b; B.p.next=q;q.next=p.next;

C.p->next=&c;q->next=p->next; D.(*p).next=&c;(*q).next=&b; 19.当说明一个共用体变量时,系统分配给它的内存是(C) A.各成员所需内存量的总和 B.结构中第一个成员所需内存量

C.成员中占内存量最大者所需的容量 D.结构中最后一个成员所需内存量 20.以下关于typedef叙述不正确的是(B)

A.用typedef可以定义各种类型名,但不能定义变量 B.用typedef可以增加新的类型

C.用typedef只是将已经存在的类型用一个新的名字来代表 D.使用typedef便于程序的通用 21.若有以下定义和语句:

union date{int i;char c;float f;}a;int n;则以下语句正确的是(C) A.a=5 B.a={2,‘a’,1.2}; C.printf(“%d\\n”,a.i); D.n=a; 22.程序执行的结果是什么?

#includemain(){union{char s[2];int i;}a;a.i=0x1234;printf(“%x,%x\\n”,a.s[0],a.s[1]);} A.12,34 B.34,12 C.1,00 D.34,00 23.以下关于枚举叙述不正确的是(D)

A.枚举变量只能取对应枚举类型的枚举元素表中的元素 B.可以定义枚举类型时对枚举元素进行初始化 C.枚举元素表中的元素有先后次序,可以比较 D.枚举元素的值可以是整数或者字符串 24.以下对枚举类型名的定义正确的是(B) A.enum a={one,two,three}; B.enum a {one=1,teo=-1,three}

C.enum a={“one”,“two”,“three”}; D.enum a{“one”,“two”,“three”}; 25.下面程序的输出是(C)。 #includemain(){enum

team{my,your=4,his,her=hia+10};printf(“%d%d%d%d\\n”,my,your,his,her);} A.0123 B.04010 C.04515 D.1 4 5 15 26.以下叙述中不正确的是(C)

A.表达式a&=b等价于a=a&b B.表达式a|=b等价于a=a|b C.表达式a!=b等价于a=a!b D.表达式a^=b等价于a=a^b 27.表达式0x13 & 0x17的值是(B) A.0x17 B.0x13 C.0xf8 D.0xec

28.在执行完以下C语句后,B的值是(B) char=‘A’;int b;b=((241&15)&&(z|‘a’)); A.0 B.1 C.TRUE D.FALSE 29.表达式0x13 | 0x17的值是(B) A.0x13 B.0x17 C.0xE8 D.0xc8

30.在位运算中,操作数每右移一位,其结果相当于(B)

A.操作数乘以2 B.操作数除以2 C.操作数除以4 D.操作数乘以4

第八章 文件的输入输出 一、选择题

1.系统的标准输入文件是指(A)

A.键盘 B.显示器 C.软盘 D.硬盘 2.以下叙述错误的是(C)

A.C语言中对二进制文件的访问速度比文本文件快 B.C语言中,随机文件一二进制代码形式存储数据 C.语句FILE fp;定义了一个名为fp的文件指针 D.C语言中的文本文件一ASCII码形式存储数据

3.若执行fopen函数时发生错误,则函数的返回值是(B) A.地址值 B.0 C.1 D. EOF

4.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是(B)

A.“ab+” B.“wb+” C.“rb+” D.“ab” 5.fscanf函数的正确调用形式是(D) A.fscanf(fp,格式字符串,输出表列); B.fscanf(格式字符串。输出表列,fp);

C.fscanf(格式字符串,文件指针,输出表列);

D.fscanf(文件指针,格式字符串,输入表列);

6.fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是(C) A.只写 B.追加 C.读或读写 D.答案B和C都正确 7.函数调用语句:fseek(fp,-20L,2);的含义是(C) A.将文件位置指针移到距离文件头20个字节处 B.将文件位置指针从当前位置向后移动20个字节 C.将文件位置指针从文件末尾后退20个字节 D.将文件位置指针移到离当前位置20个字节处

8.以下可作为函数fopen中第一个参数的正确格式是(D)。 A.c:user\\text.txt B.c:\%user\\text.txt

C.“c:user\\text.txt” D.“c:\%user\\text.txt”

9.若以“a+”方式打开一个已存在的文件,则以下叙述正确的是()

A.文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作 B.文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作 C.文件打开时,原有文件内容被删除,只可作操作 D.以上各种说法都不正确

10.已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表的是(C)。 A.一个整型变量,代表要读入的数据项总数 B.一个文件指针,指向要读的文件

C.一个指针,指向要读入数据的存放地址 D.一个存储区,存放要读的数据项 12.fwrite函数的一般调用形式是(D) A.fwrite(buffer,count,size,fp); B.fwrite(fp,size,count,buffer); C.fwrite(fp,count,size,buffer); D.fwrite(buffer,size,count,fp);

13.若调用fputc函数输出字符成功,则其返回值是(D) A.EOF B.1 C.0 D.输出的字符 14.设有以下结构体类型:

struct st{char name[8];int num;floats[4];}student[50];并且结构体数组student中的元素都已有值,若要将这些元素写到硬盘文件fp中,以下不正确的形式是(C) A.fwrite(student,size,(struct st),50,fp); B.fweite(student,50*sizef(struct st),1,fp); C.ferite(student,25*sizef(struct st),25,fp);

D.for(i=0;i<50;i++)fwrite(student+i,sizeof(struct st),1,fp);

15.以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是(D) A.feof(fp) B.ftell(fp) C.fgtc(fp) D.rewind(fp) 16.以下程序的输出结果是(D) #includemain(){FILE*fp;int i,k,n;fp(i=1;i<6;i++){fprintf(fp,“%d”,i);if(i%3==0)fprintf(fp,“\\n”);}rewind(fp);fscanf(fp,“%d%d”,&k,&n);printf(“%d%d\\n”,k,n);fclose(fp);} A.0 0 B.123 45 C.1 4 D.1 2

17.在C程序中,可把整型数以二进制形式存放到文件中函数是(A) A.fprintf函数 B.fread函数 C.fwrite函数 D.fputc函数

18.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是(C) A.EOF B.0 C.非零值 D.NULL

19.若要打开A盘上的user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是(B) A.fopen(“A:\%user\\abc.txt”,“r”) B.fopen (“A:\%user\\abc.txt”,“r+”) C.fopen(“A:\%user\\abc.txt”,“rb”) D.fopen(“A:\%user\\abc.txt”,“w”)

20.下述关于C语言文件操作的结论中,正确是(B) A.对文件操作必须先关闭文件 B.对文件操作必须先打开文件 C.对文件操作完毕不需关闭文件

D.对文件操作必须先测试文件是否存在 21.C语言中可以处理的文件类型是(C)

A.文本文件和数据文件 B.二进制文件和数据文件 C.文本文件和二进制文件 D.数据代码文件

22.在执行fopen函数时,ferror函数的初值是(A) A.0 B.-1 C.1 D.TRUE

23.若fp为文件指针,且文件已正确打开,以下语句的输出结果为(B) fseek(fp,0,SEEK_END);i=ftell(fp);printf(“i=%d”,i); A.fp所指文件的记录的长度

B.fp所指文件的当前位置,以字节为单位 C.fp所指文件的当前位置,以字为单位 D.fp所指文件的当前位置,以字为单位 24.以下程序的输出结果是(B)

#includemain(){FILE *fp;int i;char ch[]=“abcd”,t;fp=fopen(“abc.dat”,“wb+”);for(i=0;i<4;i++)fwrite(&ch[i],1,1,fp);fseek(fp,-2L,SEEK_END.);fread(&t,1,1,fp);fclose(fp);printf(“%c\\n”,t);} A.d B.c C.b D.a


大一C语言选择题及答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:电力B1(线路保护)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: