C语言程序设计基础2023章节测试答案
我的答案:A
2、对于如下结构体定义,若对变量person的出生年份进行赋值,正确的赋值是( )。 struct date { int year,month,day; }; struct worklist { char name[20]; char sex; struct date birth; }person;
A、year=1976
B、birth.year=1976
C、person.birth.year=1976
D、person.year=1976
我的答案:C
3、根据下述定义,可以输出字符'A'的语句是( )。 struct person { char name[11]; struct { char name[11]; int age; }other; }; struct person man[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、若有以下程序段: struct st { int n; struct st *next; }; struct st a[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、运行下列程序段,输出结果是( ) 。 struct country { int num; char name[10]; }x[5]={1,"China",2,"USA",3,"France",4, "England",5, "Spanish"}; struct country *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、定义以下结构体数组 struct c { int x; int y; }s[2]={1,3,2,7}; 语句printf("%d",s[0].x*s[1].x)的输出结果为( )
A、14
B、6
C、2
D、21
我的答案:C
7、定义以下结构体类型 struct student {char name[10]; float score[50]; double average; }stud1; 则stud1占用内存的字节数是( )。
A、64
B、218
C、228
D、7
我的答案:B
8、能在一个存储区内处理不同的类型的数据叫结构体。
我的答案:X
9、在编译时对结构体类型不分配空间,只能对结构体变量分配空间。
我的答案:√
10、结构体一旦定义,系统就给它分配所需的内存单元。
我的答案:X
第十章测试
1、以下叙述中错误的是( )。
A、C语言中对二进制文件的访问速度比文本文件快
B、C语言中,随机文件以二进制代码形式存储数据
C、语句 FILE fp; 定义了一个名为fp的文件指针
D、C语言中的文本文件以ASCII码形式存储数据
我的答案:C
2、有以下程序 #include <stdio.h> main() { FILE *fp; int i, 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); } 程序运行后的输出结果是 ( )。
★《布宫号》提醒您:民俗信仰仅供参考,请勿过度迷信!