21春学期《高级语言程序设计基础X》在线平时作业1
试卷总分:100 得分:100
一、单选题 (共 25 道试题,共 100 分)
1.若二维数组a有m列,则在a[i][j]前的元素个数为( )。
A.j*m+i
B.i*m+j
C.i*m+j-1
D.i*m+j+1
2.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为( )。(假设a[0][0]位于数组的第一个位置上。)
A.i*m+j
B.j*m+i
C.i*m+j-1
D.i*m+j+1
3.若有以下说明,并且0≤i<10,则( )是对数组元素的错误引用。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])
4.当定义一个结构体变量时系统分配给它的内存是( )。
A.结构中第一个成员所需的内存量
B.结构中最后一个成员所需的内存量
C.结构体成员中占内存量最大者所需的容量
D.结构体中各成员所需内存量的总和
5.以下程序的输出结果是( )。 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=10
B.d=15
C.d=20
D.d=25
6.以下能对二维数组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}};”
7.一个C语言程序总是从( )。
A.主过程开始执行
B.主函数开始执行
C.子程序开始执行
D.主程序开始执行
8.已知ch是字符型变量,则不正确的赋值语句是( )。
A.ch=5+9;
B.ch=’\0′;
C.ch=’7’+’9′;
D.ch=’a+b’;
9.若a为int类型变量,则执行以下程序段后a的值为( )。 a=5;a*=a/=a++;
A.2
B.1
C.40
D.3
10.判断字符串a和b是否相等,应当使用( )。
A.if(a==b)
B.if(a=b)
C.if(strcpy(a,b))
D.if(strcmp(a,b))”
11.若执行fopen函数时发生错误,则函数的返回值是( )。
A.随机值
B.1
C.NULL
D.EOF
12.若有定义: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
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奥鹏作业答案请进open5.net或请联系QQ/微信:18866732
D.4
14.定义如下变量和数组:int k; int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )。for(k=0;k<3;k++) printf(“%d”,a[k][2-k]);
A.3 5 7
B.3 6 9
C.1 5 9
D.1 4 7
15.设有定义:int a=1, *p=&a; float b=2.0; char c=’A’; ,以下不合法的运算是( )。
A.p++;
B.a–;
C.b++;
D.c–;
16.在C语言中,一维数组的定义方式为:类型说明符 数组名( )。
A.[常量表达式]
B.[整型表达式]
C.[整型常量或整型表达式]
D.[整型常量]
17.判断char型变量c1是否为大写字母的正确表达式是( )。
A.A'<=c1<=’Z’
B.(c1>=’A’)&(c1<=’Z’)
C.(c1>=’A’)&&(c1<=’Z’)
D.(‘A’=c1)
18.以下程序执行后a的值为( )。 main( ) { int a,m=2, k=1, *p=&k; a=p!=&m; printf(“%d\n”,a); }
A.-1
B.0
C.1
D.2
19.下程序( )。 main( ) { int x1=3, x2=0, x3=0; if (x1=x2+x3) printf(“* * * *”); else printf(“# # # #”); }
A.输出:* * * *
B.输出:# # #
C.#存在语法错误
D.无输出结果
20.以下对指针变量的操作中,不正确的是( )。
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;”
21.若执行fopen函数时发生错误,则函数的返回值是( )。
A.随机值
B.1
C.NULL
D.EOF
22.若执行下述程序时从键盘输入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
23.设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是( )。 for (y=100; x!=y; ++x,y++) printf(“****\n”);
A.循环体只执行一次
B.是无限循环
C.循环体一次都不执行
D.for语句中存在语法错误
24.执行下面程序段后,x的值是( )。 int x;printf(“%d\n”,(x=3*5,x+5));
A.10
B.15
C.20
D.5
25.若调用fputc函数输出字符成功,则函数的返回值是( )。
A.输出的字符
B.-1
C.0
D.EOF