20秋学期《高级语言程序设计基础X》在线平时作业1
试卷总分:100 得分:100
一、单选题 (共 25 道试题,共 100 分)
1.在C语言中,错误的int类型的常数是( )。
A.32768
B.0
C.37
D.0xAF
2.若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维的大小是( )。
A.2
B.3
C.4
D.无确定值
3.设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是( )。 for (y=100; x!=y; ++x,y++) printf(“****\n”);
A.循环体只执行一次
B.是无限循环
C.循环体一次都不执行
D.for语句中存在语法错误
4.有两个字符数组a、b,则以下正确的输入语句是( )。
A.gets(a,b);
B.scanf(“%s%s”,a,b);
C.scanf(“%s%s”,&a,&b);
D.gets(“a”); gets(“b”);”
5.执行下面程序段后,x的值是( )。 int x;printf(“%d\n”,(x=3*5,x+5));
A.10
B.15
C.20
D.5
6.若有定义: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
7.当说明一个共用体变量时系统分配给它的内存是( )。
A.共用体中第一个成员所需内存量
B.共用体中最后一个成员所需内存量
C.共用体成员中占内存量最大者所需的容量
D.共用体中各成员所需内存量的总和
8.下列关于C语言的叙述错误的是( )。
A.大写字母和小写字母的意义相同
B.不同类型的变量可以在一个表达式中
C.在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D.同一个运算符号在不同的场合可以有不同的含义
9.若要使指针变量p指向一个动态开辟的字符型存储单元,则空中应选择填入的是( )。 char *p;p= malloc(sizeof(char));
A.char
B.char *
C.(*char)
D.(char *)
10.若有以下语句,则对x数组元素引用不正确的是( )。 int x[ ]={1, 2, 3, 4, 5, 6}, *ptr;ptr=x;
A.*(–ptr)
B.*(ptr–)
C.*(ptr++)
D.*(++ptr)
11.若有说明:char *pc[ ]={“aaa”, “bbb”, “ccc”, “ddd”};,则以下叙述正确的是( )。
A.*pc[0]代表的是字符串”aaa
B.*pc[0]代表的是字符’a’
C.pc[0]代表的是字符串”aaa”
D.pc[0]代表的是字符’a’
12.下面程序的输出结果是( )。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
13.以下运算正确的程序段是( )。
A.char str1[]=”ABCDE”, str2[]=”abcdef”; strcpy(str1, str2);
B.char str[10], *st=”abcde”; strcat(str, st);
C.char *st1=”ABCDS”, *st2=”abcde”; strcat(st1,st2);
D.char str[10]=””, *st=”abcde”; strcat(str, st);”
14.若二维数组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
15.若执行下述程序时从键盘输入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
16.若二维数组a有m列,则在a[i][j]前的元素个数为( )。
A.j*m+i
B.i*m+j
C.i*m+j-1
D.i*m+j+1
17.若有说明:int a[3][4];则数组a中各元素( )。
A.可在程序的运行阶段得到初值0
B.可在程序的编译阶段得到初值0
C.不能得到确定的初值
D.可在程序的编译或运行阶段得到初值0
18.当定义一个结构体变量时系统分配给它的内存是( )。
A.结构中第一个成员所需的内存量
B.结构中最后一个成员所需的内存量
C.结构体成员中占内存量最大者所需的容量
D.结构体中各成员所需内存量的总和
19.下列程序的输出结果是( )。 #include void fun(); void main() { int x=1; if(x= =1) { int x=2; printf(“%d”,++x); } void fun() { printf(“%d”,x++);}
A.2,1,1
B.1,2,1
C.2,2,2
D.2,2,1″
20.若有语句: char s1[ ]=”Shenyang”, s2[10],*s3, *s4=”NEU_soft”; 则对库函数strcpy调用正确的是( )。
A.strcpy(s1, s4);
B.strcpy(s2, s4);
C.strcpy(s3, s1);
D.strcpy(s4, s1);”
21.以下不正确的定义语句是( )。
A.double x[5]={2.0,4,0,6,0,8,0,10.0};
B.int y[5]={0,1,3,5,7,9};
C.char c1[]={‘1′,’2′,’3′,’4′,’5’};
D.char c2[]={‘\x10′,’\xa’,’\x8′};”
22.若有定义:int x[10], *p=x;,则*(p+5)表示( )。
A.数组元素x[5]的地址
B.数组元素x[5]的值
C.数组元素x[6]的地址
D.数组元素x[6]的值
E.选项内容11
F.选项内容11
23.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是( )。if(x>y)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″
24.C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是( )。
A.float
B.int
C.long
D.double
25.以下对指针变量的操作中,不正确的是( )。
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;”