19秋学期《高级语言程序设计基础》在线平时作业2
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.当正常执行了文件关闭操作时,fclose函数的返回值是( )。
A.随机值
B.1
C.0
D.-1
2.判断字符串a和b是否相等,应当使用( )。
A.if(strcpy(a,b))
B.if(strcmp(a,b))”
C.if(a=b)
D.if(a==b)
3.以下能正确定义整型变量x、y和z并为其赋初值5的语句是( )。
A.x=5,y=5,z=5;”
B.int x=y=z=5;
C.int x=5,y=5,z=5;
D.int x,y,z=5;
4.有字符数组a[80]和b[80],则正确的输出语句是( )。
A.puts(a); puts(b);
B.puts(a.b);
C.printf(“%s,%s”,a[],b[]);
D.pitchar(a,b);
5.下面程序的运行结果是( )。 char a[7]=”abcdef”; char b[4]=”ABC”; strcpy(a,b); printf(“%c”,a[5]);
A.输出空格
B.f
C.e
D.\0
6.以下程序执行后a的值为( )。 main( ) { int a,m=2, k=1, *p=&k; a=p!=&m; printf(“%d\n”,a); }
A.2
B.1
C.0
D.-1
7.设a、b、c、d均是int类型变量,为了使以下程序段的输出为:1234+123+12+1,正确的输入形式应当是( )。 scanf(“%4d+%3d+%2d+%1d”,&a,&b,&c,&d);printf(“%4d+%3d+%2d+%1d”,a, b, c, d);
A.1234123412341234
B.1234123121
C.1234+1234+1234+1234
D.1234+123+12+1
8.在C语言中,错误的int类型的常数是( )。
A.37
B.32768
C.0xAF
D.0
9.以下对指针变量的操作中,不正确的是( )。
A.int *p, *q; q=p=NULL;
B.int p, *q; q=&p;
C.int a=5, *p; *p=a;
D.int a=5, *p=&a, *q=&a; *p=*q;”
10.以下能正确读入字符串的程序段是( )。
A.char str[10]; scanf(“%s”, &str);
B.char str[10], *p=str; scanf(“%s”, p[1]);”
C.char str[10], *p; p=str; scanf(“%s”, p);
D.char *p; scanf(“%s”, p);
11.以下运算正确的程序段是( )。
A.char str[10]=””, *st=”abcde”; strcat(str, st);”
B.char str[10], *st=”abcde”; strcat(str, st);
C.char str1[]=”ABCDE”, str2[]=”abcdef”; strcpy(str1, str2);
D.char *st1=”ABCDS”, *st2=”abcde”; strcat(st1,st2);
12.以下正确的说法是( )。
A.形参是虚拟的,不占用存储单元
B.实参和与其对应的形参各占用独立的存储单元
C.实参和与其对应的形参共占用一个存储单元
D.只有当实参和与其对应的形参同名时才共用存储单元
13.语句while (!y)中的表达式 !y 等价于( )。
A.y==1
B.y==0
C.y!=1
D.y!=0
14.在一个源文件中定义的全局变量的作用域为( )。
A.本程序的全部范围
B.本文件的全部范围
C.本函数的全部范围
D.从定义该变量的位置开始至本文件结束
15.若有以下说明,并且0≤i<10,则( )是对数组元素的错误引用。int a[]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *p=a, I;
A.p+i
B.a[p-a+i]
C.*(a+i)
D.*(&a[i])
16.C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是( )。
A.由用户指定传递方式
B.由实参传给形参,再由形参传回实参
C.地址传递
D.单向值传递
17.以下程序的输出结果是( )。 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\n”,d);}
A.d=25
B.d=20
C.d=15
D.d=10
18.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是( )。if(x>y)z=x;x=y;y=z;
A.x=20,y=30,z=30
B.x=20,y=30,z=20″
C.x=20,y=30,z=10
D.x=10,y=20,z=30
19.以下正确的函数说明是( )。
A.int fun(int a, b)
B.int fun(char a[ ][ ])
C.float fun(int a; int b)
D.double fun( )
20.设ch是char类型变量,其值是A,则表达式ch=(ch>=’A’&&ch<=’Z’)?(ch+32):ch的值是( )。
A.z
B.a
C.Z
D.A