东大21秋学期学期《高级语言程序设计基础X》在线平时作业3[答案]答案
《高级语言程序设计基础X》在线平时作业3
试卷总分:100 得分:100
一、单选题 (共 25 道试题,共 100 分)
1.若有定义:int x[10], *p=x;,则*(p+5)表示( )。
A.数组元素x[5]的地址
B.数组元素x[5]的值
C.数组元素x[6]的地址
D.数组元素x[6]的值
正确答案:-----
正确答案:-----
E.选项内容11
F.选项内容11
G.选项内容11
2.下面程序的输出结果为( )。 main( ) { int a=1,b=0; switch(a) { case 1: switch (b) { case 0: printf("**0**"); break; case 1: printf("**1**"); break; } case 2: printf("**2**"); break; }}
A.**0**
B.**0****2**
C.**0****1****2**
D.有语法错误
正确答案:-----
3.以下对指针变量的操作中,不正确的是( )。
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;"
正确答案:-----
4.设有一段程序: int *var,a; a=100;var=&a;a=*var+10; 执行上面程序段后a的值为( )。
A.120
B.110
C.100
D.90
正确答案:-----
5.若调用fputc函数输出字符成功,则函数的返回值是( )。
A.输出的字符
B.-1
C.0
D.EOF
正确答案:-----
6.当说明一个共用体变量时系统分配给它的内存是( )。
A.共用体中第一个成员所需内存量
B.共用体中最后一个成员所需内存量
C.共用体成员中占内存量最大者所需的容量
D.共用体中各成员所需内存量的总和
正确答案:-----
7.下面程序段的输出结果是( )。 int a=023;printf("%d ",--a);
正确答案:-----
A.23
B.17
C.21
D.24
正确答案:-----
8.对两个数组a和b进行如下初始化 char a[]="ABCDEF"; char b[]={'A','B','C','D','E','F'}; 则以下叙述正确的是( )。
正确答案:-----
A.a与b数组完全相同
B.a与b长度相同
C.a和b中都存放字符串
D.a数组比b数组长
正确答案:-----
9.判断char型变量c1是否为大写字母的正确表达式是( )。
A.A'<=c1<='Z'
B.(c1>='A')&(c1<='Z')
C.(c1>='A')&&(c1<='Z')
D.('A'=c1)
正确答案:-----
10.下程序( )。 main( ) { int x1=3, x2=0, x3=0; if (x1=x2+x3) printf("* * * *"); else printf("# # # #"); }
A.输出:* * * *
B.输出:# # #
C.#存在语法错误
D.无输出结果
正确答案:-----
11.若有定义:int x[10], *p=x;,则*(p+5)表示( )。
A.数组元素x[5]的地址
B.数组元素x[5]的值
C.数组元素x[6]的地址
D.数组元素x[6]的值
E.选项内容11
F.选项内容11
12.若有说明: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
正确答案:-----
13.若有语句: char s1[ ]="Shenyang", s2[10],*s3, *s4="NEU_soft"; 则对库函数strcpy调用正确的是( )。
A.strcpy(s1, s4);
B.strcpy(s2, s4);
C.strcpy(s3, s1);
D.strcpy(s4, s1);"
正确答案:-----
14.若二维数组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
正确答案:-----
15.以下程序段的运行结果是( )。 char a[ ]="program", *p; p=a; while (*p!='g') { printf("%c", *p-32); p++; }
A.PROgram
B.PROGRAM
C.PRO
D.proGRAM
正确答案:-----
16.若有以下程序段: for (m=1; m<=100; m++) { scanf("%d", &y); if (y<0) continue; printf("%3d", m); }正确的描述是( )。
正确答案:-----
A.当y<0时整个循环结束
B.y>=0时什么也不输出
C.printf函数永远也不执行
D.最多允许输出100个非负整数
正确答案:-----
17.下列程序的输出结果是( )。 #include void fun(); void main() { int x=1; if(x= =1) { int x=2; printf(“%d”,++x); } void fun() { printf(“%d”,x++);}
正确答案:-----
A.2,1,1
B.1,2,1
C.2,2,2
D.2,2,1"
正确答案:-----
21.以下程序段的执行结果是( )。 int x=-3; do { printf("%d ", x++); }while(!x);
正确答案:-----
A.-3
B.-2
C.-1
D.陷入死循环
正确答案:-----