智慧树知到《C语言程序设计基础(石河子大学)》2023章节测试答案
智慧树知到《C语言程序设计基础(石河子大学)》2023章节测试答案
第一章测试
1、下列对C语言特点的描述中,错误的是()。
A、C语言不是结构化程序设计语言
B、C语言编程简洁明了
C、C语言功能较强
D、C语言移植性好
正确答案:A
2、下列关于C语言程序在结构上特点的描述中,错误的是()。
A、C语言程序是一个函数串
B、C语言程序可以由一个或多个文件组成
C、C语言程序的诸多函数中,只能有一个主函数
D、C语言程序被执行时,通常是从第1个函数开始
正确答案:D
3、在scanf()函数的格式说明符中,长整型数的输入格式说明符是()。
A、%d
B、%lf
C、%ld
D、%x
正确答案:C
4、在printf()函数的格式说明符中,双精度浮点型数的输出格式说明符是()。
A、%ld
B、%lf
C、%c
D、%s
正确答案:B
5、下列不是C语言特点的是?
A、C语言是一个有结构化程序设计、具有变量作用域(variablescope)以及递归功能的过程式语言。
B、语言传递参数均是以值传递(passbyvalue),另外也可以传递指针(apointerpassedbyvalue)。
C、不同的变量类型可以用结构体(struct)组合在一起。
D、只有64个保留字(reservedkeywords),使变量、函数命名有更多弹性。
正确答案:D
6、几乎没有不能用C语言实现的软件?
A.正确
B.错误
正确答案:B
7、C编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、TurboC等?
A.正确
B.错误
正确答案:A
8、DevC++是一个开源的编程软件吗?
A.正确
B.错误
正确答案:A
9、编程环境包括编辑程序(Edit)、编译(Compile)、调试(Debug)等过程对吗?
A.正确
B.错误
正确答案:A
10、任何程序都有主函数吗?
A.正确
B.错误
正确答案:A
第二章测试
1、若i=3,j=i++;执行运算后i和j的值为?
A、i=4,j=3
B、i=3,j=4
C、i=3,j=3
D、i=4,j=4
正确答案:A
2、下列函数在屏幕上输出的结果是?#include<stdio.h>intmain(void){printf("学号姓名班级\n");return0;}
A、学号姓名班级
B、学号班级姓名
C、"学号姓名班级"
D、"学号姓名班级\n"
正确答案:A
3、下列函数在屏幕上输出的结果是?#include<stdio.h>intmain(void){printf("****\n***\n**\n*\n");return0;}
A、"****\n***\n**\n*\n"
B、****\n***\n**\n*\n
C、****\******
D、**********
正确答案:D
4、关于关系运算,下列说法正确的是?
A、关系表达式的值是一个逻辑值,即“真”或“假”。
B、关系表达式“a>b”的值为“真”,表达式的值为0。
C、>=和==的优先级相同。
D、关系运算符的优先级低于赋值运算符
正确答案:A
5、下列运算符,优先级最高的是?
A、||
B、&&
C、!
D、>
正确答案:B
6、关于if-else语句,下列说法错误的是?
A、当if和else数目不同时,可以加花括号来确定配对关系。
B、if语句后面只能加逻辑表达式。
C、else总是与它上面的,最近的,同一复合语句中的,未配对的if语句配对。
D、在if语句中可嵌套一个或多个if语句。
正确答案:B
7、关于scanf()函数,说法正确的是?
A、A.scanf()函数中的“格式控制”后面应当是变量名。
B、scanf()函数中“u”是用来输入无符号的十进制整数的格式字符。
C、scanf()函数中“d”是用来输入无符号的十进制整数的格式字符。
D、scanf()函数中“u”是用来输入有符号的十进制整数的格式字符。
正确答案:B
8、语句for(i=1;i<=100;i++)sum=sum+i;的功能是?
A、1~100最大的数的值。
B、1~100以内所有整数的和
C、1~100以内所有奇数的和
D、1~100以内所有偶数的和
正确答案:B
9、关于函数,下列说法正确的是?
A、一个C程序只能由一个函数构成。
B、同一个函数可以被一个或多个函数调用任意多次。
C、函数可以嵌套定义
D、main函数和其他函数一样,可以互相调用。
正确答案:B
10、关于函数的类型,下列说法正确的是?
A、标准函数,即库函数。这是由用户自己定义的。
B、在调用无参函数时,主调函数向被调用函数传递数据。
C、用户可以自己定义函数。
D、在调用被调用函数时,主调函数不向被调用函数传递数据。
正确答案:C
第三章测试
1、标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。
A.正确
B.错误
正确答案:A
2、下列是输出显示字符'a'的八进制ASCII码的语句,正确的是()。
A、printf("%c\n",'a');
B、printf("%d\n",'a');
C、printf("%s\n",'a');
D、printf("%o\n",'a');
正确答案:D
3、C语言中合法的字符常量是。
A、n
B、'\n'
C、110
D、"n"
正确答案:B
4、表达式1/5+3%4+4.5/5的值是。
A、3.9
B、3.900000
C、1.100000
D、1.85
正确答案:B
5、有以下程序:main(){intm;m=10;printf("%d\n",(--m*3/5));}程序运行后的输出结果是。
A、6
B、5
C、4
D、7
正确答案:B
6、表达式(int)(1/3+.5*3+5%3)的计算结果为。
A、3
B、2
C、1
D、7
正确答案:A
7、下列不正确的转义字符是。
A、\\
B、\'
C、074
D、\0
A.正确
B.错误
正确答案:A
8、无符号基本整型的数据类型符为,双精度实型数据类型符为,字符型数据类型符为。
A、unsignedintdoublechar
B、doublecharunsignedint
C、charunsignedintdouble
D、charaunsignedintdouble
正确答案:A
9、printf("%c,%d",'a','a');的输出结果是。
A、a,97
B、a97
C、97,a
D、97a
正确答案:A
10、下列格式符中,哪一个可以用于以八进制形式输出整数。
A、%d
B、%8d
C、%o
D、%ld
正确答案:C
第四章测试
1、以下运算符中,优先级最高的运算符是().
A、*=
B、>=
C、(类型)
D、+
正确答案:C
2、执行下列程序段后,m的值是().intw=2,x=3,y=4,z=5,m;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;
A、4
B、3
C、5
D、2
正确答案:D
3、对下述程序,()是正确的判断.#include<stdio.h>voidmain(){intx,y;scanf("%d,%d",&x,&y);if(x>y)x=y;y=x;elsex++;y++;printf("%d,%d",x,y);}
A、语法错误,不能通过编译
B、输入数据3和4,则输入4和5
C、输入数据4和3,则输入3和4
D、输入数据4和3,则输出4和4
正确答案:A
4、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是().#include<stdio.h>voidmain(){intx;scanf("%d",&x);if(x++>5)printf("%d",x);elseprintf("%d\n",x--);}
A、7和5
B、6和3
C、7和4
D、6和4
正确答案:A
5、执行下列语句后的输出为().intj=-1;if(j<=1)printf("****\n");elseprintf("%%%%\n");
A、****
B、%%%%
C、%%%%c
D、有错,执行不正确
正确答案:A
6、为了避免在嵌套的条件语句if···else中产生二义性,C语言规定:else子句总是与()配对.
A、缩排位置相同的if
B、其之前最近的if
C、其之后最近的if
D、同一行上的if
正确答案:B
7、C语言的switch语句中case后().
A、只能为常量
B、只能为常量或常量表达式
C、可为常量或表达式或有确定值的变量及表达式
D、可为任何量或表达式
正确答案:B
8、voidmain(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf("a=%d,b=%d",a,b);}该程序的输出结果是().
A、2,1
B、1,1
C、1,0
D、2,2
正确答案:A
9、有以下程序main(){inta=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n",d);elseif((c-1>=d)==1)printf("%d\n",d+1);elseprintf("%d\n",d+2);}执行后输出结果是().
A、2
B、3
C、4
D、编译时有错,无结果
正确答案:B
10、当a=1、b=2、c=5、d=5时,执行下面的程序后,x的值是().if(a<b)if(c<d)x=1;elseif(a<c)if(b<d)x=2;elsex=3;elsex=6;elsex=7;
A、1
B、2
C、3
D、6
正确答案:B
第五章测试
1、对于while(!E)s;,若要执行循环体语句s,则E的数值应为()。
A、E等于1
B、E不等于0
C、E不等于1
D、E等于0
正确答案:D
2、下面程序的功能是计算正整数2345的各位数字平方和,请选择填空。#include<stdio.h>main(){intn,sum=0;n=2345;do{sum=sum+();n=n/10;}while(n);printf(“sum=%d”,sum);}
A、n%10
B、(n%10)*(n%10)
C、n/10
D、(n/10)*(n/10)
正确答案:B
3、对以下程序段,循环体执行的次数是()。intk=0;while(k=1)k++;
A、有语法错误,不能执行
B、一次也不执行
C、执行一次
D、无数次
正确答案:D
4、下面程序段的执行结果是()。a=1;b=2;c=2;while(a<b<c){t=a;a=b;b=t;c--;}printf(“%d,%d,%d”,a,b,c);
A、1,2,0
B、2,1,0
C、1,2,1
D、2,1,1
正确答案:A
5、下列叙述中正确的是()。
A、do-while语句构成的循环不能用其他语句构成的循环来代替
B、do-while语句构成的循环只能用break语句退出
C、用do-while语句构成的循环,在while后的表达式为非零时结束循环
D、用do-while语句构成的循环,在while后的表达式为零时结束循环
正确答案:D
6、执行intx=-1;do{x=x*x;}while(x==0);循环时,下列说法正确的是()。
A、循环体将执行一次
B、循环体将执行两次
C、循环体将执行无限次
D、系统将提示有语法错误
正确答案:A
7、以下程序段的输出结果是()。intmain(){intnum=0,s=0;while(num<=2){num++;s+=num;}printf("%d\n",s);}A)10B)6C)3D)1
A、10
B、6
C、3
D、1
正确答案:B
8、若S=0,执行循环语句“for(i=1;i<=10;i=i+3)s=s+i;”后,i的值为()。
A、12
B、10
C、11
D、13
正确答案:D
9、与下面程序段等价的是()。for(n=100;n<=200;n++){if(n%3==0)continue;printf(“%4d”,n);}
A、for(n=100;(n%3)&&n<=200;n++)printf(“%4d”,n);
B、for(n=100;(n%3)||n<=200;n++)printf(“%4d”,n);
C、for(n=100;n<=200;n++)if(n%3!=0)printf(“%4d”,n);
D、for(n=100;n<=200;n++){if(n%3)printf(“%4d”,n);elsecontinue;break;}
正确答案:C
10、下面程序段。for(t=1;t<=100;t++){scanf(“%d”,&x);if(x<0)break;printf(“%3d”,t);}
A、当x<0时整个循环结束
B、x>=0时什么也不输出
C、printf函数永远也不执行
D、循环一次也不会被执行
正确答案:A
第六章测试
1、以下正确的函数形式是()。
A、doublefun(intx,inty){z=x+y;returnz;}
B、doublefun(intx,y){intz;returnz;}
C、doublefun(x,y){intx,y;doublez;z=x+y;returnz;}
D、doublefun(intx,inty){doublez;z=x+y;returnz;}
正确答案:D
2、若调用一个函数,且此函数中没有return语句,则正确的说法是()。
A、该函数没有返回值
B、该函数返回若干个系统默认值
C、该函数能返回一个用户所希望的函数值
D、该函数返回一个不确定的值
正确答案:A
3、以下正确的说法是。
A、实参和与其对应的形参各占用独立的存储单元
B、实参和与其对应的形参共占用一个存储单元
C、只有当实参和与其对应的形参同名时才共占用存储单元
D、形参是虚拟的,不占用存储单元
正确答案:A
4、下面函数调用语句含有实参的个数为()。func((exp1,exp2),(exp3,exp4,exp5));
A、1
B、2
C、4
D、5
正确答案:B
5、若使用一维数组名作函数实参,则以下正确的说法是()。
A、必须在主调函数中说明此数组的大小
B、实参数组类型与形参数组类型可以不匹配
C、在被调函数中,不需要考虑形参数组的大小
D、实参数组名与形参数组名必须一致
正确答案:A
6、凡是函数中未指定存储类型的局部变量,其隐含的存储类别为()。
A、自动(auto)
B、静态(static)
C、外部(extern)
D、寄存器(register)
正确答案:A
7、执行下列程序:#defineM(x,y)(x*y)i=3;i=M(i,i+1)-8;变量i的值应为()。
A、2
B、3
C、4
D、5
正确答案:A
8、执行下列程序,正确的输出是()。intx=3,y=5;voidswap(){inta;a=x;x=y;y=a;}intmain(){intx=5,y=7;swap();printf(“%d,%d\n”,x,y);return0;}
A、3,5
B、5,3
C、5,7
D、7,5
正确答案:C
9、以下程序是选出能被3整除且至少有一位是5的两位数,打印出所有这样的数及其个数。请选择填空。sub(intk,intn){inta1,a2;a2=;a1=k-a2*10;if((k%3==0&&a2==5)||(k%3==0&&a1==5)){printf(“%d”,k);n++;returnn;}elsereturn-1;}intmain(){intn=0,k,m;for(k=10;k<=99;k++){m=sub(k,n);if(m!=-1)n=m;}printf(“\nn=%d”,n);return0;}
A、k*10
B、k%10
C、k/10
D、k*10%10
正确答案:C
10、有以下程序:#include<stdio.h>intfun(intx){intp;if(x==0||x==1)return3;p=x-fun(x-2);returnp;}intmain(){printf(“%d\n”,fun(9));return0;}正确的输出是()。
A、9
B、7
C、5
D、4
正确答案:B
第七章测试
1、下列数组定义语句中,正确的是()。
A、inta[][]={1,2,3,4,5,6};
B、chara[2]「3]='a','b';
C、inta[][3]={1,2,3,4,5,6};
D、staticinta[][]={{1,2,3},{4,5,6}};
正确答案:C
2、设有下列数据定义语句,则数组元素x的值是()。inti=3,x[4]={1,2,3};
A、0
B、1
C、2
D、3
正确答案:A
3、运行下列程序的输出结果是()main(){inta[]={1,2,3,4,5},i;for(i=1;i<5;i++)printf("%d",a-a[i-1]);}
A、11111
B、1111
C、111
D、222
正确答案:A
4、若有说明:inta[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是().
A、2
B、3
C、4
D、无确定值
正确答案:B
5、程序运行后的输出结果是()。#include<stdio.h>#include<string.h>main(){chara[10]=”abcd”;printf(“%d,%d\n”,strlen(a),sizeof(a));}
A、7,4
B、10,10
C、8,8
D、4,10
正确答案:D
6、程序运行后的输出结果是()。#include<stdio.h>main(){intb[3][3]={0,1,2,0,1,2,0,1,2};inti,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++)t+=b[b[j]];printf("%d\n",t);}
A、1
B、3
C、4
D、9
正确答案:C
7、下面是对s的初始化,其中不正确的是()。
A、chars[5]={“abc”};
B、chars[5]={‘a’,‘b’,‘c’};
C、chars[5]=“”;
D、chars[5]=“abcdef”;
正确答案:D
8、下面程序段的运行结果是()。charc[5]={‘a’,‘b’,‘\0’,‘c’,‘\0’};printf(“%s”,c);
A、‘a’‘b’
B、ab
C、cab
D、abc
正确答案:B
9、对两个数组a和b进行如下初始化chara[]=“ABCDEF”;charb[]={‘A’,‘B’,‘C’,‘D’,‘E’,‘F’};则以下叙述正确的是()。
A、a与b数组完全相同
B、a与b长度相同
C、a和b中都存放字符串
D、a数组比b数组长度长
正确答案:D
10、有两个字符数组a、b,则以下正确的输入格式是()。
A、gets(a,b);
B、scanf(“%s%s”,a,b);
C、scanf(“%s%s”,&a,&b);
D、gets(“a”),get(“b”);
正确答案:B
第八章测试
1、以下程序有错,错误原因是()_。intmain(){int*p,i;char*q,ch;p=&i;q=&ch;*p=40;*p=*q;┆}
A、p和q的类型不一致,不能执行*p=*q;语句
B、*p中存放的是地址值,因此不能执行*p=40;语句
C、q没有指向具体的存储单元,所以*q没有实际意义
D、q虽然指向了具体的存储单元,但该单元中没有确定的值,所以不能执行*p=*q;语句
正确答案:A
2、已有变量定义和函数调用语句:inta=25;print_value(&a);下面函数的正确输出结果是。voidprint_value(int*x){printf(“%d\n”,++*x);}
A、23
B、24
C、25
D、26
正确答案:D
3、下面程序的运行结果是()。#include<stdio.h>intmain(){staticchara[]=”Language”,b[]=”programe”;char*p1,*p2;intk;p1=a;p2=b;for(k=0;k<=7;k++)if(*(p1+k)==*(p2+k))printf(“%c”,*(p1+k));}
A、gae
B、ga
C、Language
D、有语法错
正确答案:A
4、下面程序的运行结果是()。#include<stdio.h>#include<string.h>main(){char*p1,*p2,str[50]=”abc”;p1=”abc”;p2=”abc”;strcpy(str+1,strcat(p1,p2));printf(“%s\n”,str);}
A、abcabcabc
B、bcabcabc
C、aabcabc
D、cabcabc
正确答案:C
5、若有说明:char*language[]={“FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[3]比较的是()。
A、字符F和字符P
B、字符串BASIC和字符串JAVA
C、字符B和字符J
D、字符串FORTRAN和字符串PASCAL
正确答案:B
6、若有说明语句chara[]=”Itismine”;char*p=”Itismine”;则以下不正确的叙述是_()。
A、a+1表示的是字符t的地址
B、p指向另外的字符串时,字符串的长度不受限制
C、p变量中存放的地址值可以改变
D、a中只能存放10个字符
正确答案:D
7、以下程序调用fun函数求数组中最大值所在元素的下标。#include<stdio.h>voidfun(int*s,intn,int*k){inti;for(i=0,*k=i;i<n;i++)if(s>s[*k])_()}intmain(){inta[5]={1,8,3,6,9},k;fun(a,5,&k);printf(“%d,%d\n”,k,a[k]);return0;}
A、*k=i;
B、k=i;
C、*k=i-s;
D、k=i-s;
正确答案:A
8、有以下程序:#include<stdio.h>voidfun(int*p,int*q){int*t;t=p;p=q;q=t;}intmain(){inta=0,b=9;fun(&a,&b);printf(“%d,%d\n”,a,b);return0;}程序的输出结果是()。
A、9,0
B、0,9
C、9,9
D、0,0
正确答案:B
9、以下正确的定义语句和赋值语句是_()。
A、intb[3][5],(*p)[3],(*q)[5];p=b;q=b;
B、charb[3][5],*p[3];p[0]=b[0];p[2]=*b+4;
C、doubleb[3][5],s[5][3],*q;q=b;s=q;
D、intb[10],*q;char*s;q=b;s=b;
正确答案:B
10、
A、*p1=*p2;
B、p1=p2;
C、p1=*p2;
D、*p1=p2;
正确答案:B
第九章测试
1、有以下结构体定义:structexample{intx;inty;}v1;则正确的引用或定义是()。
A、v1.x=10;
B、examplev2;v2.x=10;
C、structv2;v2.x=10;
D、structexamplev2={10};
正确答案:A
2、对于如下结构体定义,若对变量person的出生年份进行赋值,正确的赋值是()。structdate{intyear,month,day;};structworklist{charname[20];charsex;structdatebirth;}person;
A、year=1976
B、birth.year=1976
C、person.birth.year=1976
D、person.year=1976
正确答案:C
3、根据下述定义,可以输出字符'A'的语句是()。structperson{charname[11];struct{charname[11];intage;}other;};structpersonman[10]={{"Jone",{"Paul",20}},{"Paul",{"Mary",18}},{"Mary",{"Adam",23}},{"Adam",{"Jone",22}}};
A、printf("%c",man[2].other.name[0]);
B、printf("%c",other.name[0]);
C、printf("%c",man[2].(*other[0]));
D、printf("%c",man[3].name);
正确答案:A
4、若有以下程序段:structst{intn;structst*next;};structsta[3]={5,&a[1],7,&a[2],9,'\0'},*p=a;则值为6的表达式为()。
A、p++->n
B、p->n++
C、(*p).n++
D、++p->n
正确答案:D
5、运行下列程序段,输出结果是()。structcountry{intnum;charname[10];}x[5]={1,"China",2,"USA",3,"France",4,"England",5,"Spanish"};structcountry*p;p=x+2;printf("%d,%c",p->num,(*p).name[2]);
A、3,a
B、4,g
C、2,USA
D、5,Spanish
正确答案:A
6、定义以下结构体数组structc{intx;inty;}s[2]={1,3,2,7};语句printf("%d",s[0].x*s[1].x)的输出结果为()
A、14
B、6
C、2
D、21
正确答案:C
7、定义以下结构体类型structstudent{charname[10];floatscore[50];doubleaverage;}stud1;则stud1占用内存的字节数是()。
A、64
B、218
C、228
D、7
正确答案:B
8、能在一个存储区内处理不同的类型的数据叫结构体。
A.正确
B.错误
正确答案:B
9、在编译时对结构体类型不分配空间,只能对结构体变量分配空间。
A.正确
B.错误
正确答案:A
10、结构体一旦定义,系统就给它分配所需的内存单元。
A.正确
B.错误
正确答案:B
第十章测试
1、以下叙述中错误的是()。
A、C语言中对二进制文件的访问速度比文本文件快
B、C语言中,随机文件以二进制代码形式存储数据
C、语句FILEfp;定义了一个名为fp的文件指针
D、C语言中的文本文件以ASCII码形式存储数据
正确答案:C
2、有以下程序#include<stdio.h>main(){FILE*fp;inti,k,n;fp=fopen("data.dat","w+");for(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、00
B、12345
C、14
D、12
正确答案:D
3、以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是()。
A、feof(fp)
B、ftell(fp)
C、fgetc(fp)
D、rewind(fp)
正确答案:D
4、以下程序#include"stdio.h"voidWriteStr(char*fn,char*str){FILE*fp;fp=fopen(fn,"W");fputs(str,fp);fclose(fp);}main(){WriteStr("t1.dat","start");WriteStr("t1.dat","end");}程序运行后,文件t1.dat中的内容是()。
A、start
B、end
C、startend
D、endrt
正确答案:B
5、有如下程序#include<stdio.h>main(){FILE*fp1;fp1=fopen("f1.txt","w");fprintf(fp1,"abc");fclose(fp1);}若文本文件f1.txt中原有内容为:good,则运行以上程序后文件f1.txt中的内容为()。
A、goodabc
B、abcd
C、abc
D、abcgood
正确答案:C
6、有以下程序#include<stdio.h>main(){FILE*fp;inti,k=0,n=0;fp=fopen(“d1.dat”,”w”);for(i=1;i<4;i++)fprintf(fp,”%d”,i);fclose(fp);fp=fopen(“d1.dat”,”r”);fscanf(fp,”%d%d”,&k,&n);printf(“%d%d\n”,k,n);fclose(fp);}执行后输出结果是()。
A、12
B、1230
C、123
D、00
正确答案:B
7、有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件尾向前移2*sizeof(int)字节)#include<stdio.h>main(){FILE*fp;inti,a[4]={1,2,3,4},b;fp=fopen("data.dat","wb");for(i=0;i<4;i++)fwrite(&a,sizeof(int),1,fp);fclose(fp);fp=fopen("data.dat","rb");fseek(fp,-2L*sizeof(int).SEEK_END);fread(&b,sizeof(int),1,fp);/*从文件中读取sizeof(int)字节的数据到变量b中*/fclose(fp);printf("%d\n",B);}执行后输出结果是()。
A、2
B、1
C、4
D、3
正确答案:C
8、若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为()。
A、0
B、1
C、-1
D、一个非0值
正确答案:A
9、下列关于C语言数据文件的叙述中正确的是()。
A、文件由ASCII码字符序列组成,C语言只能读写文本文件
B、文件由二进制数据序列组成,C语言只能读写二进制文件
C、文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
D、文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
正确答案:D
10、以下叙述中不正确的是()。
A、C语言中的文本文件以ASCⅡ码形式存储数据
B、C语言中对二进制文件的访问速度比文本文件快
C、C语言中,随机读写方式不适用于文本文件
D、C语言中,顺序读写方式不适用于二进制文件
正确答案:D