东大18秋学期《高级语言程序设计基础》在线作业3
试卷总分:100 得分:100
一、 单选题 (共 20 道试题,共 100 分)
1.以下能对一维数组a进行正确初始化的语句是( )。
A.int a[10]=(0,0,0,0,0);
B.int a[10]={ };
C.int a[]={0};
D.int a[10]=(10*1);
正确答案: C
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
正确答案: D
3.设x,y是float型变量,则不正确的赋值语句是( )。
A.++x;
B.y=int(5);
C.x*=y+1;
D.x=y=0;
正确答案: B
4.以下正确的定义语句是( )。
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
5.下面程序段的输出结果是( )。 int a=023;printf("%d\n",--a);
A.23
B.17
C.18
D.24
正确答案:www.youxue100f.com
6.若有说明:char *pc[ ]={"aaa", "bbb", "ccc", "ddd"};,则以下叙述正确的是( )。
A.*pc[0]代表的是字符串"aaa
B.*pc[0]代表的是字符'a'
C.pc[0]代表的是字符串"aaa"
D.pc[0]代表的是字符'a'
正确答案:
7.有字符数组a[80]和b[80],则正确的输出语句是( )。
A.puts(a.b);
B.printf("%s,%s",a[],b[]);
C.pitchar(a,b);
D.puts(a); puts(b);
正确答案:
8.若调用fputc函数输出字符成功,则函数的返回值是( )。
A.输出的字符
B.-1
C.0
D.EOF
正确答案:
9.以下能对二维数组a进行正确初始化的语句是( )。
A.int a[2][]={{1,0,1},{5,2,3}};
B.int a[][3]={{1,2,3},{4,5,6}};
C.int a[2][4]={{1,2,3},{4,5},{6}};
D.int a[][3]={{1,0,1},{},{1,1}};"
正确答案:
10.执行以下程序后,m的值是( )。 #define MIN(x, y) (x)<(y) ? (x) : (y) main( ) { int i=12, j=8, m; m=10*MIN(i, j); printf("%d\n", m); }
A.120
B.80
C.12
D.8
正确答案:
11.在C语言中,整数-8在内存中的存储形式是( )。
A.1111 1111 1111 1000
B.1000 0000 0000 1000
C.0000 0000 0000 1000
D.1111 1111 1111 0111
正确答案:
12.以下程序段的运行结果是( )。 char a[ ]="program", *p; p=a; while (*p!='g') { printf("%c", *p-32); p++; }
A.PROgram
B.PROGRAM
C.PRO
D.proGRAM
正确答案:
13.下面程序的运行结果是( )。 main() { struct cmplx { int x; int y; } cm[2]={1,2,3,4}; printf("%d\n", 2*cm[0].x+ cm[1].y/cm[0].y);}
A.5
B.2
C.3
D.4
正确答案:
14.对以下说明语句的正确理解是( )。 int a[10]={6,7,8,9,10};
A.将5个初值依次赋给a[1]至a[5]
B.将5个初值依次赋给a[0]至a[4]
C.将5个初值依次赋给a[6]至a[10]
D.因为数组与初值的个数不相同,所以此语句不正确
正确答案:
15.若执行fopen函数时发生错误,则函数的返回值是( )。
A.随机值
B.1
C.NULL
D.EOF
正确答案:
16.设有定义:int a=1, *p=&a; float b=2.0; char c='A'; ,以下不合法的运算是( )。
A.p++;
B.a--;
C.b++;
D.c--;
正确答案:
17.若执行下述程序时从键盘输入3 4,则输出结果是( )。
#include main( ) { int a,b,s;
scanf("%d%d",&a,&b);
s=a; if (a<b) printf("%d\n",s*s); s=b; }
A.186
B.256
C.324
D.400
正确答案:
18.有下面的程序段 char a[3],b[]="China"; a=b; printf("%s",a); 则( )。
A.运行后将输出China
B.运行后将输出Ch
C.运行后将输出Chi
D.编译时出错
正确答案:
19.若有定义:int a[2][3];,则以下对a数组元素地址的正确表示为( )。
A.*(a+1)
B.*(a[1]+2)
C.a[1]+3
D.a[0][0]
正确答案:
20.语句while (!y)中的表达式 !y 等价于( )。
A.y==0
B.y!=1
C.y!=0
D.y==1
正确答案: