东北大学22春“计算机科学与技术”《高级语言程序设计基础X》作业考核题库高频考点版(参考答案)试题号

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

东北大学22春“计算机科学与技术”《高级语言程序设计基础X》作业考
核题库高频考点版(参考答案)
一.综合考核(共50题)
1.
若有说明:int a[3][4]; 则数组a中各元素()。

A.可在程序的运行阶段得到初值0
B.可在程序的编译阶段得到初值0
C.不能得到确定的初值
D.可在程序的编译或运行阶段得到初值0
参考答案:B
2.
对两个数组a和b进行如下初始化char a[]=“ABCDEF”; char b[]={‘A’,‘B’,‘C’,‘D’,‘E’,‘F’}; 则以下叙述正确的是()。

A.a与b数组完全相同
B.a与b长度相同
C.a和b中都存放字符串
D.a数组比b数组长
参考答案:D
3.
若使用一维数组名作函数实参,则以下正确的说法是()。

A.必须在主调函数中说明此数组的大小
B.实参数组类型与形参数组类型可以不匹配
C.在被调函数中,不需要考虑形参数组的大小
D.实参数组名与形参数组名必须一致
参考答案:A
4.
以下能正确读入字符串的程序段是()。

A.char *p; scanf(“%s”,p)
B.char str[10]; scanf(“%s”,&str)
C.char str[10],*p; p=str; scanf(“%s”,p)
参考答案:C
5.
若有以下说明,并且0≤iA.*(a+i)
B.a[p-a+i]
C.p+i
D.*(&a[i])
参考答案:C
6.
执行下面程序段后,x的值是()。

int x; printf(“%d\n”,(x=3*5,x+5))
A.10
B.15
C.20
D.5
参考答案:B
7.
若二维数组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
参考答案:D
8.
若要使指针变量p指向一个动态开辟的字符型存储单元,则空中应选择填入的是()。

char *p; p= malloc(sizeof(char))
A.char
B.char*
C.(*char)
D.(char*)
9.
C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是()。

A.float
B.int
C.long
D.double
参考答案:B
10.
C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是()。

A.地址传递
B.单向值传递
C.由实参传给形参,再由形参传回实参
D.由用户指定传递方式
参考答案:B
11.
定义如下变量和数组:int k; int a[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是()。

for(k=0; kA.3 5 7
B.3 6 9
C.1 5 9
D.1 4 7
参考答案:A
12.
C语言程序从main()函数开始执行,所以这个函数要写在()。

A.程序文件的开始
B.程序文件的最后
C.它所调用的函数的前面
D.程序文件的任何位置
参考答案:D
以下能对二维数组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}}
参考答案:B
14.
若调用fputc函数输出字符成功,则函数的返回值是()。

A.输出的字符
B.-1
C.0
D.EOF
参考答案:A
15.
设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
参考答案:D
16.
以下对指针变量的操作中,不正确的是()。

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
参考答案:D
A.无限次
B.0次
C.1次
D.2次
参考答案:B
18.
设有定义:int a=1,*p=&a; float b=2.0; char c=‘A’; ,以下不合法的运算是()。

A.p++
B.a--
C.b++
D.c--
参考答案:A
19.
以下程序段中的do-while循环()。

m=-1; do m=m*m;} while(!m)
A.是死循环
B.执行二次
C.执行一次
D.有语法错误
参考答案:C
20.
语句while(!y)中的表达式!y等价于()。

A.y==0
B.y!=1
C.y!=0
D.y==1
参考答案:A
21.
若a为int类型变量,则执行以下程序段后a的值为()。

a=5; a*=a/=a++
A.2
D.3
参考答案:A
22.
当正常执行了文件关闭操作时,fclose函数的返回值是()。

A.-1
B.随机值
C.0
D.1
参考答案:C
23.
若执行下述程序时从键盘输入3 4,则输出结果是()。

#include main() {int a,b,s; scanf(“%d%d”,&a,&b); s=a; if (aA.186
B.256
C.324
D.400
参考答案:B
24.
在C语言中,一维数组的定义方式为:类型说明符数组名()。

A.常量表达式
B.整型表达式
C.整型常量或整型表达式
D.整型常量
参考答案:A
25.
在C语言中,错误的int类型的常数是()。

A.32768
B.0
C.37
D.0xAF
26.
当定义一个结构体变量时系统分配给它的内存是()。

A.结构中第一个成员所需的内存量
B.结构中最后一个成员所需的内存量
C.结构体成员中占内存量最大者所需的容量
D.结构体中各成员所需内存量的总和
参考答案:D
27.
判断字符串a和b是否相等,应当使用()。

A.if(a==b)
B.if(a=b)
C.if(strcpy(a,b))
D.if(strcmp(a,b))
参考答案:D
28.
对以下说明语句的正确理解是()。

int a[10]={6,7,8,9,10}
A.将5个初值依次赋给a[1]至a[5]
B.将5个初值依次赋给a[0]至a[4]
C.将5个初值依次赋给a[6]至a[10]
D.因为数组与初值的个数不相同,所以此语句不正确
参考答案:B
29.
当说明一个共用体变量时系统分配给它的内存是()。

A.共用体中第一个成员所需内存量
B.共用体中最后一个成员所需内存量
C.共用体成员中占内存量最大者所需的容量
D.共用体中各成员所需内存量的总和
参考答案:C
在C语言中,一维数组的定义方式为:类型说明符数组名()。

A.[常量表达式]
B.[整型表达式]
C.[整型常量或整型表达式]
D.[整型常量]
参考答案:A
31.
以下程序执行后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
参考答案:C
32.
以下对C语言中共用体类型数据的叙述正确的是()。

A.可以对共用体变量名直接赋值
B.一个共用体变量中可以同时存放其所有成员
C.一个共用体变量中不能同时存放其所有成员
D.共用体类型定义中不能出现结构体类型的成员
参考答案:C
33.
判断char型变量c1是否为大写字母的正确表达式是()。

A.‘A’
B.(c1>=‘A’)&(c1
C.(c1>=‘A’)&&(c1
D.(‘A’=c1)
参考答案:C
34.
一个C语言程序总是从()。

A.主过程开始执行
B.主函数开始执行
参考答案:B
35.
以下程序运行后,输出结果是()。

#define ADD(x) x+x main() {int m=1,n=2,s=3; s*=ADD(m+n); printf(“s=%dn”,s);}
A.s=8
B.s=9
C.s=6
D.s=18
参考答案:D
36.
设ch是char类型变量,其值是A,则表达式ch=(ch>=‘A’&&ch=‘Z’)?(ch+32):ch的值是()。

A.Z
B.A
C.a
D.z
参考答案:C
37.
有下面的程序段 char a[3],b[]=“China”; a=b; printf(“%s”,a); 则()。

A.运行后将输出China
B.运行后将输出Ch
C.运行后将输出Chi
D.编译时出错
参考答案:D
38.
下面程序段的运行结果是()。

char a[7]=“abcdef”; char b[4]=“ABC”; strcpy(a,b); printf(“%c”,a[5])
A.空格
B.\0
C.e
参考答案:D
39.
设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是()。

for (y=100; x!=y; ++x,y++) printf(“***\n”)
A.循环体只执行一次
B.是无限循环
C.循环体一次都不执行
D.for语句中存在语法错误
参考答案:C
40.
以下正确的函数说明是()。

A.int fun(int a,b)
B.float fun(int a; int b)
C.double fun()
D.int fun(char a[][])
参考答案:C
41.
以下运算正确的程序段是()。

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)
参考答案:D
42.
以下判断正确的是()。

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”}
43.
下面程序的运行结果是()。

main() {struct cmplx {int x; int y;} cm[2]={1,2,3,4}; printf(“%dn”, 2*cm[0].x+cm[1].y/cm[0].y);}
A.5
B.2
C.3
D.4
参考答案:D
44.
若有说明:char *pc[]={“aaa”,“bbb”,“ccc”,“ddd”}; 则以下叙述正确的是()。

A.*pc[0]代表的是字符串“aaa”
B.*pc[0]代表的是字符‘a’
C.pc[0]代表的是字符串“aaa”
D.pc[0]代表的是字符‘a’
参考答案:B
45.
在一个源文件中定义的全局变量的作用域为()。

A.本文件的全部范围
B.本程序的全部范围
C.本函数的全部范围
D.从定义该变量的位置开始至本文件结束
参考答案:D
46.
执行以下程序段后,y的值是()。

int a[]={1,3,5,7,9} int x=0,y=1,*ptr; ptr=&a[1]; while (!x) {y+=*(ptr+x); x++;}
A.1
B.2
C.4
D.24
参考答案:C
若执行下述程序时从键盘输入3 4,则输出结果是()。

#include main( ) {int a,b,s; scanf(“%d%d”,&a,&b); s=a; if(aA.186
B.256
C.324
D.400
参考答案:B
48.
若有说明:int a[][4]={0,0}; 则下面不正确的叙述是()。

A.数组a中的每个元素都可得到初值0
B.二维数组a的第1维大小为1
C.因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1
D.只有数组元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
参考答案:D
49.
若有定义:int x[10],*p=x;,则*(p+5)表示()。

A.数组元素x[5]的地址
B.数组元素x[5]的值
C.数组元素x[6]的地址
D.数组元素x[6]的值
参考答案:B
50.
以下能正确定义整型变量x、y和z并为其赋初值5的语句是()。

A.int x=y=z=5
B.int x,y,z=5
C.int x=5,y=5,z=5
D.x=5,y=5,z=5
参考答案:C。

相关文档
最新文档