《程序设计基础高起专》作业考核试题与答案.docx
《《程序设计基础高起专》作业考核试题与答案.docx》由会员分享,可在线阅读,更多相关《《程序设计基础高起专》作业考核试题与答案.docx(9页珍藏版)》请在冰豆网上搜索。
《程序设计基础高起专》作业考核试题与答案
西安交通大学16年3月课程考试《程序设计基础(高起专)》作业考核试题
一、单选题
1.以下对C语言函数的描述中,正确的是(A)。
A.C程序必须由一个或一个以上的函数组成
B.C函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.C程序中有调用关系的所有函数必须放在同一个程序文件中
2.在C语言中,char型数据在内存中的存储形式是(D)。
A.补码
B.反码
C.原码
D.ASCII码
3.以下叙述中不正确的是(B)。
A.一个好的程序应该有详尽的注释
B.在C程序中,赋值运算符的优先级最低
C.在C程序中,j++;是一条赋值语句
D.C程序中的#include和#define均不是C语句
4.应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为(A)。
A.fclose()
B.close()
C.fread()
D.fwrite
5.设C语言中,int类型数据占2个字节,则short类型数据占(B)。
A.1个字节
B.2个字节
C.4个字节
D.8个字节
6.已知函数的调用形式fread(buffer,size,count,fp);其中buffer代表的是(C)。
A.一个整数,代表要读入的数据项总数
B.一个文件指针,指向要读的文件
C.一个指针,指向要读入数据的存放地址
D.一个存储区,存放要读的数据项
7.在C语言中,形参的缺省存储类是(A)。
A.auto
B.register
C.static
D.extern
8.以下标识符中,不能作为合法的C用户定义标识符的是(A)。
A.putchar
B._double
C._123
D.INT
9.在C语言中,能代表逻辑值“真”的是(D)。
A.True
B.大于0的数
C.非0整数
D.非0的数
10.已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!
y)的值是(C)。
A.0
B.语法错
C.1
D."假"
11.函数rewind的作用是(A)。
A.使位置指针重新返回文件的开头
B.将位置指针指向文件中所要求的特定位置
C.使位置指针指向文件的末尾
D.使位置指针自动移至下一个字符位置
12.以下正确的说法是:
在C语言中(A)。
A.实参和与其对应的形参各占用独立的存储单元
B.实参和与其对应的形参共占用一个存储单元
C.只有当实参和与其对应的形参同名时才共占用存储单元
D.形参是虚拟的,不占用存储单元
13.对以下说明语句inta[10]={6,7,8,9,10};的正确理解是(B)。
A.将5个初值依次赋给a[1]至a[5]
B.将5个初值依次赋给a[0]至a[4]
C.将5个初值依次赋给a[6]至a[10]
D.因为数组长度与初值的个数不相同,所以此语句不正确
14.C语言中要求对变量作强制定义的主要理由是(D)。
A.便于移植
B.便于写文件
C.便于编辑预处理程序的处理
D.便于确定类型和分配空间
15.若有说明inta[3][4];则a数组元素的非法引用是(D)。
A.a[0][2*1]
B.a[1][3]
C.a[4-2][0]
D.a[0][4]
16.以下只有在使用时才为该类型变量分配内存的存储类说明是(B)。
A.auto和static
B.auto和register
C.register和static
D.extern和register
17.inta=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为(A)。
A.1
B.2
C.3
D.不一定
18.下列程序的输出结果是(B)。
main(){charc1=97,c2=98;printf("%d%c",c1,c2);}
A.9798
B.97b
C.a98
D.ab
19.chara[]="Thisisaprogram.";输出前5个字符的语句是(A)。
A.printf("%.5s",a);
B.puts(a);
C.printf("%s",a);
D.a[5*2]=0;puts(a);
20.以下运算符中,优先级最高的运算符是(C)。
A.||
B.%
C.!
D.==
21.以下的选择中,正确的赋值语句是(C)。
A.a=1,b=2
B.j++
C.a=b=5;
D.y=int(x)
22.若有inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5的语句为(D)。
A.printf("%d",*(a+5));
B.printf("%d",p[5]);
C.printf("%d",*(p+5));
D.printf("%d",*p[5]);
23.以下叙述中正确的是(C)。
A.在程序的一行上可以出现多个有效的预处理命令行
B.使用带参的宏时,参数的类型应与宏定义时的一致
C.宏替换不占用运行时间,只占编译时间
D.在以下定义中CR是称为"宏名"的标识符#defineCR045
24.C语言中,要求运算数必须是整型的运算符是(B)。
A.^
B.%
C.!
D.>
25.若有int*p=(int*)malloc(sizeof(int));则向内存申请到内存空间存入整数123的语句为(A)。
A.scanf("%d",p);
B.scanf("%d",&p);
C.scanf("%d",*p);
D.scanf("%d",**p);
26.结构体类型的定义允许嵌套是指(A)。
A.成员是已经或正在定义的结构体型
B.成员可以重名
C.结构体型可以派生
D.定义多个结构体型
27.逻辑运算符两侧运算对象的数据类型(D)。
A.只能是0或1
B.只能是0或非0正数
C.只能是整型或字符型数据
D.可以是任何类型的数据
28.以下运算符中,优先级最高的运算符是(D)。
A.=
B.!
=
C.*(乘号)
D.()
29.关于建立函数的目的,以下正确的说法是(B)。
A.提高程序的执行效率
B.提高程序的可读性
C.减少程序的篇幅
D.减少程序文件所占内存
30.下列程序的输出结果是(B)。
main(){intx=1,y=0,a=0,b=0;switch(x){case1.switch(y){case0.a++;break;case1.b++;break;}case2.a++;b++;break;case3.a++;b++;break;}printf("a=%d,b=%d\n",a,b);}
B.a=2,b=1
C.a=1,b=1
D.a=2,b=2
二、多选题
1.设有以下定义inta=0;doubleb=1.25;charc='A';#defined2则下面语句中正确的是(ABC)。
A.a++;
B.b++;
C.c++;
D.d++;
2.若a,b,c,d都是int型变量且初值为0,以下选项中正确的赋值语句是(ABD)。
A.a=b=c=d=100;
B.d++;
C.c+b;
D.d=(c=22)-(b++);
3.C语言中三种基本的类型为(ABC)。
A.int
B.char
C.float
D.struct
4.关于while语句与do-while语句,以下正确的是(ABC)。
A.while是当型结构
B.do-while是直到型结构
C.两者有区别
D.两者无区别
5.以下选项中不合法的字符常量是(ACD)。
A."B"
B.'\010'
C.68
D.D
6.t为int类型,进入下面的循环之前,t的值为0do{………}while(t==1);则以下叙述中正确的是(AC)
A.循环控制表达式的值为0
B.循环控制表达式的值为1
C.循环控制表达式合法
D.以上说法都不对
7.关于for(表达式1,表达式2,表达式3)循环,以下正确的是(BCD)。
A.三个表达式都不可省略
B.表达式1可以省略
C.表达式2可以省略
D.表达式3可以省略
8.下面那些为合法整型常量(ABC)
A.190
B.0xf
C.0765
D.0xk
9.下列为c语言的关键字是(ABC)
A.if
B.struct
C.union
D.Int
10.以下不正确的叙述是(ABC)
A.在C程序中,每行只能写一条语句
B.若a是实型变量,C程序中允许赋值A=10,因此实型变量中允许存放整型
C.在C程序中,无论是整数还是实数,都能被准确无误地表示
D.在C程序中,%是只能用于整数运算的运算符
三、判断题
1.若a=2,b=-4;则执行a||b++后,b为-4。
(B)
A.错误
B.正确
2.格式字符%md中的m只能为正,不能为负。
(B)
A.错误
B.正确
3.有unsignedinta=16;a=a<<2;则a的值是64。
(B)
A.错误
B.正确
4.自增自减运算符++,--可以用于int型、float型和double型资料。
(B)
A.错误
B.正确
5.continue语句可用于switch语句,也可用于for、while和do循环语句中。
(A)
A.错误
B.正确
6.在某种意义上,char和int通用。
(B)
A.错误
B.正确
7.C语言可以直接访问物理位元元址。
(B)
A.错误
B.正确
8.一个C源程序可以由一个main()函数和若干个其它函数组成。
(B)
A.错误
B.正确
9.若定义charstr[];则str="yellow";是正确的。
(A)
A.错误
B.正确
10.若有intx,y,z;x=y=z=1;则执行++x&&++y&&++z后,x,y,z的值分别为2,1,1。
(A)
A.错误
B.正确