东大21秋学期学期《高级语言程序设计基础X》在线平时作业2[答案]答案
《高级语言程序设计基础X》在线平时作业2
试卷总分:100 得分:100
一、单选题 (共 25 道试题,共 100 分)
1.以下程序段的运行结果是( )。 char a[ ]="program", *p; p=a; while (*p!='g') { printf("%c", *p-32); p++; }
A.PROgram
B.PROGRAM
C.PRO
D.proGRAM
正确答案:-----
2.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是( )。if(x>y)z=x;x=y;y=z;
A.x=10,y=20,z=30
B.x=20,y=30,z=30
C.x=20,y=30,z=10
D.x=20,y=30,z=20"
正确答案:-----
3.当说明一个共用体变量时系统分配给它的内存是( )。
A.共用体中第一个成员所需内存量
B.共用体中最后一个成员所需内存量
C.共用体成员中占内存量最大者所需的容量
D.共用体中各成员所需内存量的总和
正确答案:-----
4.以下对二维数组a的正确说明是( )。
A.int a[3][];
B.float a(3,4);
C.double a[1][4]
正确答案:-----
D.float a(3)(4);
正确答案:-----
5.若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维的大小是( )。
A.2
B.3
C.4
D.无确定值
正确答案:-----
6.以下能正确定义整型变量x、y和z并为其赋初值5的语句是( )。
A.int x=y=z=5;
B.int x,y,z=5;
C.int x=5,y=5,z=5;
D.x=5,y=5,z=5;"
正确答案:-----
7.以下程序段的执行结果是( )。 int x=-3; do { printf("%d ", x++); }while(!x);
正确答案:-----
A.-3
B.-2
C.-1
D.陷入死循环
正确答案:-----
8.有下面的程序段 char a[3],b[]="China"; a=b; printf("%s",a); 则( )。
A.运行后将输出China
B.运行后将输出Ch
C.运行后将输出Chi
D.编译时出错
正确答案:-----
9.下面程序段的输出结果是( )。 int a=023;printf("%d ",--a);
正确答案:-----
A.23
B.17
C.21
D.24
正确答案:-----
10.在C语言中,一维数组的定义方式为:类型说明符 数组名( )。
A.[常量表达式]
B.[整型表达式]
C.[整型常量或整型表达式]
D.[整型常量]
正确答案:-----
11.若有以下程序段: 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个非负整数
正确答案:-----
12.设c1、c2均是char类型变量,则以下不正确的函数调用是( )。
A.scanf("c1=%cc2=%c",&c1,&c2);
B.getchar( )
C.putchar(c2);
D.putchar(c1,c2)"
正确答案:-----
13.若a为int类型变量,则执行以下程序段后a的值为( )。 a=5;a*=a/=a++;
A.2
B.1
C.40
D.3
正确答案:-----
14.如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( )。
A.该变量只在该复合语句中有效
B.该变量在该函数中有效
C.该变量在本程序范围内有效
D.该变量为非法变量
正确答案:-----
15.若有定义: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
16.设有定义:int a=1, *p=&a; float b=2.0; char c='A'; ,以下不合法的运算是( )。
A.p++;
B.a--;
C.b++;
D.c--;
正确答案:-----
17.若二维数组a有m列,则在a[i][j]前的元素个数为( )。
A.j*m+i
B.i*m+j
C.i*m+j-1
D.i*m+j+1
正确答案:-----
正确答案:-----
21.C语言结构体类型变量在程序执行期间( )。
A.所有成员一直驻留在内存中
B.只有一个成员驻留在内存中
C.部分成员驻留在内存中
D.没有成员驻留在内存中
正确答案:-----
19.若执行下述程序时从键盘输入3 4,则输出结果是( )。
#include main( ) { int a,b,s;
正确答案:-----
scanf("%d%d",&a,&b);
正确答案:-----
s=a; if (a<b) printf("%d ",s*s); s=b; }
正确答案:-----
A.216
B.256
C.324
D.400
正确答案:-----
20.下程序( )。 main( ) { int x1=3, x2=0, x3=0; if (x1=x2+x3) printf("* * * *"); else printf("# # # #"); }
A.输出:* * * *
B.输出:# # #
C.#存在语法错误
D.无输出结果
正确答案:-----
21.若有定义:int x[10], *p=x;,则*(p+5)表示( )。
A.数组元素x[5]的地址
B.数组元素x[5]的值
C.数组元素x[6]的地址
D.数组元素x[6]的值
E.选项内容11
F.选项内容11