东大23春《高级语言程序设计基础X》在线平时作业1[正确答案]单选题答案
《高级语言程序设计基础X》在线平时作业1-00001
试卷总分:100 得分:100
一、单选题 (共 25 道试题,共 100 分)
1.若有说明:int a[3][4];则数组a中各元素( )。
A.可在程序的运行阶段得到初值0
B.可在程序的编译阶段得到初值0
C.不能得到确定的初值
D.可在程序的编译或运行阶段得到初值0
正确答案:B
2.若有说明:int a[][4]={0,0};则下面不正确的叙述是( )。
A.数组a中的每个元素都可得到初值0
B.二维数组a的第1维大小为1
C.因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1
D.只有数组元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
正确选项:--------
3.下面程序的运行结果是( )。 char a[7]="abcdef"; char b[4]="ABC"; strcpy(a,b); printf("%c",a[5]);
正确选项:--------
正确选项:--------
A.输出空格
B.\0
C.e
D.f
正确答案:B
正确答案:A
4.若有说明:int a[10];则对数组元素的正确引用是( )。
A.a[10]
B.a[3,5]
C.a(5)
D.a[10-10]
正确答案:B
5.已知学生记录描述如下,下面对结构体成员"computer"的赋值方式正确的是( )。 struct student { int num; char name[8]; struct { float math; float engl; float computer; } mark;} std;
正确答案:D
A.student.computer=84;
正确答案:C
B.mark.computer=84;
C.std.mark.computer=84;
正确答案:A
D.std.computer=84;
正确答案:C
6.C语言的编译系统对宏命令的处理是( )。
A.在对源程序中其它成分正式编译之前进行的
B.和C程序中的其它语句同时进行的
C.在程序连接时进行的
D.在程序运行时进行的
正确选项:--------
7.以下程序的输出结果是( )。 main() { int a=0,b=1,c=0,d=20; if(a) d=d-10; else if(!b) if(!c) d=15; else d=25; printf("d=%d ",d);}
正确答案:A
A.d=10
正确选项:--------
B.d=15
正确选项:--------
C.d=20
正确答案:C
D.d=25
正确选项:--------
8.在一个源文件中定义的全局变量的作用域为( )。
A.本文件的全部范围
B.本程序的全部范围
C.本函数的全部范围
D.从定义该变量的位置开始至本文件结束
正确答案:D
9.下程序( )。 main( ) { int x1=3, x2=0, x3=0; if (x1=x2+x3) printf("* * * *"); else printf("# # # #"); }
A.输出:* * * *
B.输出:# # #
C.#存在语法错误
D.无输出结果
正确答案:A
10.以下对二维数组a的正确说明是( )。
A.int a[3][];
B.float a(3,4);
C.double a[1][4]
正确答案:C
D.float a(3)(4);
正确答案:A
11.当定义一个结构体变量时系统分配给它的内存是( )。
A.结构中第一个成员所需的内存量
B.结构中最后一个成员所需的内存量
C.结构体成员中占内存量最大者所需的容量
D.结构体中各成员所需内存量的总和
正确答案:B
12.以下正确的定义语句是( )。
A.int a[1][4]={1,2,3,4,5};
B.float x[3][]={{1},{2},{3}};
C.long b[2][3]={{1},{1,2},{1,2,3}};
D.double y[][3]={0};
正确答案:D
13.若有以下说明,并且0≤i<10,则( )是对数组元素的错误引用。int a[]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *p=a, I;
A.*(a+i)
B.a[p-a+i]
C.p+i
D.*(&a[i])
随机答案:ABCD
14.对两个数组a和b进行如下初始化 char a[]="ABCDEF"; char b[]={'A','B','C','D','E','F'}; 则以下叙述正确的是( )。
随机答案:ABCD
A.a与b数组完全相同
B.a与b长度相同
C.a和b中都存放字符串
D.a数组比b数组长
随机答案:ABCD
15.以下对指针变量的操作中,不正确的是( )。
A.int p, *q; q=&p;
B.int *p, *q; q=p=NULL;
C.int a=5, *p; *p=a;
D.int a=5, *p=&a, *q=&a; *p=*q;"
正确答案:D
16.若a和b均为int型变量,则执行以下程序断后x的输出是( )。 x=15;y=15;printf("%d ",x%=(y%=2));
正确答案:A
A.0
B.1
C.6
D.12
正确答案:B
17.下面程序段的运行结果是( )。 char a[7]="abcdef"; char b[4]="ABC"; strcpy(a,b); printf("%c",a[5]);
A.空格
B.\0
C.e
D.f
18.函数调用语句:fseek(fp, 10L, 2);的含义是:将文件位置指针( )。
A.移动到距离文件头10个字节处
B.从当前位置向后移动10个字节
C.从文件尾部前移10个字节
D.移到离当前位置10个字节处
正确选项:--------
19.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为( )。(假设a[0][0]位于数组的第一个位置上。)
A.i*m+j
B.j*m+i
C.i*m+j-1
D.i*m+j+1
正确答案:B