西安交通大学19年9月课程考试《程序设计基础(高起专)》作业考核试题1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西安交通大学19年9月课程考试《程序设计基础(高起专)》作业考核试题试卷总分:100 得分:100
一、单选题 (共 30 道试题,共 60 分)cvb
1. C语言中,定义结构体的保留字是()。
A. union
B. struct
C. enum
D. typedef
满分:2 分
正确答案:B
2. 逻辑运算符两侧运算对象的数据类型()。
A. 只能是0或1
B. 只能是0或非0正数
C. 只能是整型或字符型数据
D. 可以是任何类型的数据
满分:2 分
正确答案:D
3. int a[10];合法的数组元素的最小下标值为()。
A. 10
B. 9
C. 1
D. 0
满分:2 分
正确答案:D
4. 已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是()。
A. 0
B. 语法错
C. 1
D. "假"
满分:2 分
正确答案:C
5. 设C语言中,int类型数据占2个字节,则short类型数据占()。
A. 1个字节
B. 2个字节
C. 4个字节
D. 8个字节
满分:2 分
正确答案:B
6. 若有int i=3,*p;p=&i;下列语句中输出结果为3的是()。
A. printf("%d",&p);
B. printf("%d",*i);
C. printf("%d",*p);
D. printf("%d",p);
满分:2 分
正确答案:C
7. 经过下列的语句 int j,a[10],*p;定义后,下列语句中合法的是()。
A. p=p+2;
B. p=a[5];
C. p=a[2]+2;
D. p=&(j+2);
满分:2 分
正确答案:A
8. 若有说明int a[3][4];则a数组元素的非法引用是()。
A. a[0][2*1]
B. a[1][3]
C. a[4-2][0]
D. a[0][4]
满分:2 分
正确答案:D
9. 以下数值中,不正确的八进制数或十六进制数是()。
A. 0x16
B. 016
C. -1
D. 0xaaaa
满分:2 分
正确答案:C
10. 以下错误的描述是:函数调用可以()。
A. 出现在执行语句中
B. 出现在一个表达式中
C. 做为一个函数的实参
D. 做为一个函数的形参
满分:2 分
正确答案:D
11. 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。
A. int
B. float
C. double
D. 不确定
满分:2 分
正确答案:C
12. 要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是()。
A.
fopen("A.\user\abc.txt","r")
B.
fopen("A.\\user\\abc.txt","r+")
C.
fopen("A.\user\abc.txt","rb")
D.
fopen("A.\\user\\abc.txt","w")
满分:2 分
正确答案:B
13. 以下运算符中,优先级最高的运算符是()。
A. ||
B. %
C. !
D. ==
满分:2 分
正确答案:C
14. 若x=2,y=3则x&y的结果是()。
A. 0
B. 2
C. 3
D. 5
满分:2 分
正确答案:B
15. 下列程序段的输出结果为()。
Float k=0.8567;printf("%06.1d%%",k*100);
A. 0085.6%%
B. 0085.7%%
C. 0085.6%
D. .857
满分:2 分
正确答案:B
16. 对以下说明语句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. 因为数组长度与初值的个数不相同,所以此语句不正确
满分:2 分
正确答案:B
17. 下列程序段的输出结果为()。
Int x=3,y=2;printf("%d",(x-=y,x*=y+8/5));
A. 1
B. 7
C. 3
D. 5
满分:2 分
正确答案:C
18. 关于建立函数的目的,以下正确的说法是()。
A. 提高程序的执行效率
B. 提高程序的可读性
C. 减少程序的篇幅
D. 减少程序文件所占内存
满分:2 分
正确答案:B
19. 用户定义的函数不可以调用的函数是()。
A. 非整型返回值的
B. 本文件外的
C. main函数
D. 本函数下面定义的
满分:2 分
正确答案:C
20. int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为()。
A. 1
B. 2
C. 3
D. 不一定
满分:2 分
正确答案:A
21. 下列程序的输出结果是()。
main(){char c1=97,c2=98;printf("%d%c",c1,c2);}
A. 9798
B. 97b
C. a98
D. ab
满分:2 分
正确答案:B
22. 下列标识符中,不合法的C语言用户自定义标识符是()。
A. printf
B. enum
C. _
D. sin
满分:2 分
正确答案:B
23. 若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是()。
A. EOF
B. 0
C. 非零值
D. NULL
满分:2 分
正确答案:C
24. int a[10]={1,2,3,4,5,6,7,8};int *p;p=&a[5];p[-3]的值是()。
A. 2
B. 3
C. 4
D. 不一定
满分:2 分
正确答案:B
25. 以下对C语言函数的描述中,正确的是()。
A. C程序必须由一个或一个以上的函数组成
B. C函数既可以嵌套定义又可以递归调用
C. 函数必须有返回值,否则不能使用函数
D. C程序中有调用关系的所有函数必须放在同一个程序文件中
满分:2 分
正确答案:A
26. 以下叙述中不正确的是()。
A. 一个好的程序应该有详尽的注释
B. 在C程序中,赋值运算符的优先级最低
C. 在C程序中,j++;是一条赋值语句
D. C程序中的#include和#define均不是C语句
满分:2 分
正确答案:B
27. 以下只有在使用时才为该类型变量分配内存的存储类说明是()。
A. auto和static
B. auto和register
C. register和static
D. extern和register
满分:2 分
正确答案:B
28. 以下程序的运行结果是()。
main(){int i=1,sum=0;while(i<10)sum=sum+1;i++;printf("i=%d,sum=%d",i,sum);}
A. i=10,sum=9
B. i=9,sum=9
C. i=2,sum=1
D. 运行出现错误
满分:2 分
正确答案:D
29. 若有inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5的语句为()。
A. printf("%d",*(a+5));
B. printf("%d",p[5]);
C. printf("%d",*(p+5));
D. printf("%d",*p[5]);
满分:2 分
正确答案:D
30. 语句while(!E);中的表达式!E等价于()。
A. E==0
B. E!=1
C. E!=0
D. E==1
满分:2 分
正确答案:A
二、多选题 (共 10 道试题,共 20 分)
1. 以下合法的十六进制数是()。
A. oxff
B. 0Xabc
C. 0x01
D. 0X9X
满分:2 分
正确答案:BC
2. 以下4个选项中,可以看作是一条语句的有()。
A. {;}
B. a=0,b=0,c=0;
C. if(a>0);
D. if(b==0)m=1;n=2;
满分:2 分
正确答案:ABC
3. 合法的标识符()。
A. 可以由字母构成
B. 第一个字母可以为数字
C. 第一个字母可以为下划线
D. 最后一个字母必须为字母
满分:2 分
正确答案:AC
4. 以下描述错误的是()。
A. continue语句的作用是重新开始一次循环体的执行
B. 只能在循环体内和switch语句体内使用break语句
C. 在循环体内使用break语句和continue语句的作用相同
D. 从多重循环嵌套中退出是,只能使用goto语句
满分:2 分
正确答案:CD
5. 以下选项中,合法的字符常量是()。
A. '\t'
B. '\17'
C. "n"
D. '\xaa'
满分:2 分
正确答案:ABD
6. int a[10]={1,2,3,4,5,6,7,8,9,10},以下的赋值语句正确的是()。
A. a[6]=7
B. a[1]=2
C. a[2]=3
D. a[10]=10
满分:2 分
正确答案:ABC
7. 下列对逻辑运算符两侧的运算对象的数据类型描述不正确的是()。
A. 只能是0或1
B. 只能是0或非0正数
C. 可以是整型或字符型数据
D. 可以是任何类型的数据
满分:2 分
正确答案:ABD
8. 设有以下定义int a=0;double b=1.25;cha rc='A';#defined2则下面语句中正确的是()。
A. a++;
B. b++;
C. c++;
D. d++;
满分:2 分
正确答案:ABC
9. 若以下选项中的变量已正确定义,则不正确的赋值语句是()。
A. x1=26.8%3
B. x=3*x+x
C. x3=0x12
D. x4=1+2=3;
满分:2 分
正确答案:AD
10. 以下对C语言中的函数描述不正确的有()。
A. 可以嵌套定义,不可以嵌套调用
B. 不可以嵌套定义,可以嵌套调用
C. 可以嵌套定义,也可以嵌套调用
D. 嵌套定义和嵌套调用都不允许
满分:2 分
正确答案:ACD
三、判断题 (共 10 道试题,共 20 分)
1. 可以用typedef声明各种类型名,但不能用它来定义变量。
()
A. 错误
B. 正确
满分:2 分
正确答案:B
2. 格式字符%md中的m只能为正,不能为负。
()
A. 错误
B. 正确
满分:2 分
正确答案:B
3. 表达式’a’和“a”是不同的,前者长度为1,后者长度为2。
()
A. 错误
B. 正确
满分:2 分
正确答案:B
4. 数组名代表数组的起始地址。
()
A. 错误
B. 正确
满分:2 分
正确答案:B
5. 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是p=n;。
()
A. 错误
B. 正确
满分:2 分
正确答案:B
6. break语句可用于switch语句,也可用于for、while和do循环语句中。
()
A. 错误
B. 正确
满分:2 分
正确答案:B
7. 若a=7,b=5;则执行a&&b++后,b为6。
()
A. 错误
B. 正确
满分:2 分
正确答案:B
8. #define命令是在编译之前处理的。
()
A. 错误
B. 正确
满分:2 分
正确答案:B
9. 自增运算符和自减运算符的结合方向也是“自左向右”。
()
A. 错误
B. 正确
满分:2 分
正确答案:A
10. C语言中,feof函数用来判断即将读入的是否是文件结束标志,它可用于二进制文件,但不能用于文本文件。
()
A. 错误
B. 正确
满分:2 分
正确答案:A。