:20春学期《高级语言程序设计基础X》在线平时作业1
1.有两个字符数组a、b,则以下正确的输入语句是( )。
A.gets(a,b);
B.scanf("%s%s",a,b);
C.scanf("%s%s",&a,&b);
D.gets("a"); gets("b");"
答案:-
2.以下对指针变量的操作中,不正确的是( )。
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;"
答案:-
3.若有以下程序段:for (m=1; m=100; m++){ scanf("%d", &y);if (y0)continue;printf("%3d", m);}正确的描述是( )。
A.当y0时整个循环结束
B.y=0时什么也不输出
C.printf函数永远也不执行
D.最多允许输出100个非负整数
答案:-
4.C语言程序从main()函数开始执行,所以这个函数要写在( )。
A.程序文件的开始
B.程序文件的最后
C.它所调用的函数的前面
D.程序文件的任何位置
答案:-
5.如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( )。
A.该变量只在该复合语句中有效
B.该变量在该函数中有效
C.该变量在本程序范围内有效
D.该变量为非法变量
答案:-
6.以下正确的函数说明是( )。
A.int fun(int a, b)
B.float fun(int a; int b)
C.double fun( )
D.int fun(char a[ ][ ])
答案:-
7.以下正确的函数形式是( )。
A.double fun1(int x, int y) { z=x+y; return z; }
B.fun1(int x, y){ int z;return z; }
C.fun1(x, y) { int x, y; double z;z=x+y;return z; }
D.double fun1(int x, int y){ double z;z=x+y; return z; }"
答案:-
8.若有以下说明,并且0≤i10,则( )是对数组元素的错误引用。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])
答案:-
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.若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )。
A.num%2==1
B.!(num%2==0)
C.!(num%2)
D.num%2
答案:-
11.下面程序的输出结果是( )。main(){ int x,i;for(i=1;i=100;i++){ x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf("%d ",x);}}
A.39 81
B.42 84
C.26 68
D.28 70
答案:-
12.若有以下语句,则对x数组元素引用不正确的是( )。
int x[ ]={1, 2, 3, 4, 5, 6}, *ptr;ptr=x;
A.*(--ptr)
B.*(ptr--)
C.*(ptr++)
D.*(++ptr)
答案:-
13.语句while (!y)中的表达式 !y 等价于( )。
A.y==0
B.y!=1
C.y!=0
D.y==1
答案:-
14.已知学生记录描述如下,下面对结构体成员"computer"的赋值方式正确的是( )。
struct student
{ int num;char name[8];struct{ float math;float engl;float computer;} mark;} std;
A.student.computer=84;
B.mark.computer=84;
C.std.mark.computer=84;
D.std.computer=84;
答案:-
15.下程序( )。main( ){ int x1=3, x2=0, x3=0;if (x1=x2+x3)
printf("* * * *");else
printf("# # # #"); }
A.输出:* * * *
B.输出:# # #
C.#存在语法错误
D.无输出结果
答案:-
16.若有定义:int x[10], *p=x;,则*(p+5)表示( )。
A.数组元素x[5]的地址
B.数组元素x[5]的值
C.数组元素x[6]的地址
D.数组元素x[6]的值
E.选项内容11
F.选项内容11
答案:-
17.设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.1234123121
B.1234123412341234
C.1234+1234+1234+1234
D.1234+123+12+1
答案:-
18.函数调用语句:fseek(fp, 10L, 2);的含义是:将文件位置指针( )。
A.移动到距离文件头10个字节处
B.从当前位置向后移动10个字节
C.从文件尾部前移10个字节
D.移到离当前位置10个字节处
答案:-
19.当正常执行了文件关闭操作时,fclose函数的返回值是( )。
A.-1
B.随机值
C.0
D.1
答案:-
20.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是( )。if(xy)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"
答案:-
21.若有定义: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
答案:-
22.若有语句:int a=4, *p=&a;,下面均代表地址的一组选项是( )。
A.a, p, &*a
B.*&a, &a, *p
C.&a, p, &*p
D.*&p, *p, &a"
答案:-
23.以下正确的描述是( )。
A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义和函数的调用均不可以嵌套
D.函数的定义和函数的调用均可以嵌套
答案:-
24.若有说明:int a[10];则对数组元素的正确引用是( )。
A.a[10]
B.a[3,5]
C.a(5)
D.a[10-10]
答案:-
25.C语言结构体类型变量在程序执行期间( )。
A.所有成员一直驻留在内存中
B.只有一个成员驻留在内存中
C.部分成员驻留在内存中
D.没有成员驻留在内存中
答案:-