《高级语言程序设计基础》在线平时作业3-00001
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.若有说明:int a[10];则对数组元素的正确引用是( )。
A.a[10]
B.a[3,5]
C.a(5)
D.a[10-10]
2.以下对C语言中共用体类型数据的叙述正确的是( )。
A.可以对共用体变量名直接赋值
B.一个共用体变量中可以同时存放其所有成员
C.一个共用体变量中不能同时存放其所有成员
D.共用体类型定义中不能出现结构体类型的成员
3.以下能正确读入字符串的程序段是( )。
A.char *p; scanf("%s", p);
B.char str[10]; scanf("%s", &str);
C.char str[10], *p; p=str; scanf("%s", p);
D.char str[10], *p=str; scanf("%s", p[1]);"
4.一个C语言程序总是从( )。
A.主过程开始执行
B.主函数开始执行
C.子程序开始执行
D.主程序开始执行
5.已知ch是字符型变量,则不正确的赋值语句是( )。
A.ch=5+9;
B.ch='\0';
C.ch='7'+'9';
D.ch='a+b';
6.若有以下程序段: 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个非负整数
7.若a和b均为int型变量,则执行以下程序断后x的输出是( )。 x=15;y=15;printf("%d\n",x%=(y%=2));
A.0
B.1
C.6
D.12
8.当正常执行了文件关闭操作时,fclose函数的返回值是( )。
A.-1
B.随机值
C.0
D.1
9.执行以下程序后,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
10.已知学生记录描述如下,下面对结构体成员"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;
11.以下程序段中的do-while循环( )。 m=-1; do { m=m*m; }while(!m);
A.是死循环
B.执行二次
C.执行一次
D.有语法错误
12.若有定义:int a[2][3];,则以下对a数组元素地址的正确表示为( )。
A.*(a+1)
B.*(a[1]+2)
C.a[1]+3
D.a[0][0]
13.以下判断正确的是( )。
A.char *s="string"; 等价于char *s; *s="string";
B.char str[10]={"string"}; 等价于char str[10]; str={"string"};
C.char *s="string"; 等价于char *s; s="string";
D.char str[10]={"string"}; 等价于char str[10]; *str={"strint"};"
14.以下程序运行后,输出结果是( )。 #define ADD(x) x+x main( ) { int m=1, n=2, s=3; s*=ADD(m+n); printf("s=%d\n", s); }
A.s=8
B.s=9
C.s=6
D.s=18
15.若有以下语句,则对x数组元素引用不正确的是( )。 int x[ ]={1, 2, 3, 4, 5, 6}, *ptr;ptr=x;
A.*(--ptr)
B.*(ptr--)
C.*(ptr++)
D.*(++ptr)
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有m列,则在a[i][j]前的元素个数为( )。
A.j*m+i
B.i*m+j
C.i*m+j-1
D.i*m+j+1
18.以下程序的运行结果是( )。 # include "stdio.h" main() { struct date { int y,m,d;} today; printf("%d\n", sizeof(struct date));}
A.2
B.3
C.6
D.出错
19.当定义一个结构体变量时系统分配给它的内存是( )。
A.结构中第一个成员所需的内存量
B.结构中最后一个成员所需的内存量
C.结构体成员中占内存量最大者所需的容量
D.结构体中各成员所需内存量的总和
20.设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