西安交通大学19年5月补考《程序设计基础(高起专)》作业考核试题[答案]满分答案
西安交通大学19年5月补考《程序设计基础(高起专)》作业考核试题-0001
试卷总分:100 得分:0
一、 单选题 (共 30 道试题,共 60 分)
1.以下选项中,与k=n++完全等价的表达式是()。
A.k=n,n=n+1
B.n=n+1,k=n
C.k=++n
D.k+=n+1
正确选项:----
2.以下只有在使用时才为该类型变量分配内存的存储类说明是()。
A.auto和static
B.auto和register
C.register和static
D.extern和register
正确选项:----
3.double x;scanf("%lf",&x);不可以赋值给x变量的常量是()。
专业答案:----
A.123
B.100000
C.A'
D."abc"
专业答案:----
4.设有说明.char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为()。
正确选项:----
A.float
B.char
C.int
D.double
专业答案:----
正确答案:----
5.下面程序#include "stdio.h"void main(){ int k=2,m=4,n=6; int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf("%d ",n); getch();}的运行结果是( )
正确选项:----
A.7
B.8
C.9
D.10
正确选项:----
6.有如下程序, 该程序的输出的结果是( )int addc(int a,int b,int c) { c=a+b;return(c); } main() { int x=4,y=2,z,r; z=x+y;r=addc(addc(x,y,z),addc(y,z,x),z);printf("%d ",r); }
专业答案:----
A.36
B.12
C.14
D.6
正确答案:----
7.下面有关for循环的正确描述是()。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
正确选项:----
8.关于switch语句说法不正确的是( )
A.case的次序不影响执行结果
B.每个case语句后面的常量可以不同
C.在执行完一个case语句后转到下一个case语句执行
D.每个case语句后面表达式只能是常量
专业答案:----
9.若有int i=3,*p;p=&i;下列语句中输出结果为3的是()。
A.printf("%d",&p);
正确答案:----
B.printf("%d",*i);
专业答案:----
C.printf("%d",*p);
正确答案:----
D.printf("%d",p);
正确选项:----
10.以下标识符中,不能作为合法的C用户定义标识符的是()。
A.putchar
B._double
C._123
D.INT
正确选项:----
11.以下选项中不属于C语言的类型的是( )
A.signed short int
正确选项:----
B.unsigned long int
正确选项:----
C.unsigned int
正确答案:----
D.long short
专业答案:----
12.字符数组char a[]=”How do you do?”;的大小为( )
正确答案:----
A.10
B.11
C.14
D.15
专业答案:----
正确答案:----
13.逻辑运算符两侧运算对象的数据类型()。
A.只能是0或1
B.只能是0或非0正数
C.只能是整型或字符型数据
D.可以是任何类型的数据
专业答案:----
14.已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是()。
A.0
B.语法错
C.1
D."假"
专业答案:----
15.若int i=10;执行下列程序后,变量i的正确结果是( )switch ( i ) {case 0: i+=1;case 10: i+=1;case 11: i+=1;default: i+=1;}
正确选项:----
A.10
B.11
C.12
D.13
专业答案:----
16.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.不一定
正确答案:----
专业答案:----
17.下列四个选项中,均是C语言关键字的选项是()。
A.auto、enum、include
专业答案:----
B.switch、typedef、continue
专业答案:----
C.signed、union、scanf
正确选项:----
D.if、struct、type
正确答案:----
18.以下叙述不正确的是()。
A.一个C源程序可由一个或多个函数组成
B.一个C源程序必须包含一个main函数
C.C程序的基本组成单位是函数
D.在C程序中,注释说明只能位于一条语句的后面
正确选项:----
19.以下运算符中,优先级最高的运算符是()。
A.=
B.!=
C.*(乘号)
D.()
正确答案:----
20.以下程序的输出结果是( )int f(){static int i=0;int s=1;s+=i; i++;return s;}main(){ int i,a=0;for(i=0;i<5;i++) a+=f();printf("%d ",a);}
正确选项:----
A.20
B.24
C.25
D.15
21.若有下列定义和语句,则对a数组元素的非法引用是()。Int a[2][3],(*pt)[3];pt=a;
A.pt[0][0]
B.*(pt+1)[2]
C.*(pt[1]+2)
D.*(a[0]+2
正确答案:----
22.若有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]);
正确选项:----
23.已知int j,i=1;执行语句“j=i++;”后,变量i的值是( )
专业答案:----
A.1
B.2
C.-1
D.-2
专业答案:----
24.在计算机中,一个字节所包含二进制位的个数是( )
A.2
B.4
C.8
D.16
专业答案:----
25.每条C语句后面都要有一个( )
A.逗号
B.冒号
C.分号
D.括号
专业答案:----
26.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.不一定
27.下列程序段的输出结果为()。Float k=0.8567;printf("%06.1d%%",k*100);
正确选项:----
A.0085.6%%
B.0085.7%%
C.0085.6%
D..857
正确选项:----
28.以下数值中,不正确的八进制数或十六进制数是()。
A.0x16
B.016
C.-1
D.0xaaaa
正确选项:----
29.有如下的数组 static int a[10]; 则( )
A.该数组没有被初始化
B.数组的所有元素都被赋值为0
C.数组的第一个元素是a[1]
D.数组共有11个元素
正确选项:----
30.以下语句中,不能实现回车换行的是()。
A.printf(" ");
B.putchar(" ");
C.fprintf(stdout," ");
正确选项:----
D.fwrite(" ",1,1,stdout);
专业答案:----
西安交通大学19年5月补考《程序设计基础(高起专)》作业考核试题[答案]多选题答案
二、 多选题 (共 10 道试题,共 20 分)
1.计算机算法可以分为两大类( )
A.数值运算算法
B.非数值运算算法
C.符号运算算法
D.非符号运算算法
正确选项:----
2.以下不合法的赋值语句是()。
A.x=y=100
B.d--;
专业答案:----
C.x+y;
D.c=int(a+b);
专业答案:----
3.以下4个选项中,可以看作是一条语句的有()。
A.{;}
B.a=0,b=0,c=0;
C.if(a>0);
D.if(b==0)m=1;n=2;
专业答案:----
4.下列为c语言的关键字是()
A.if
B.struct
C.union
D.Int
正确答案:----
5.以下叙述正确的是()。
A.预处理命令行都必须以"#"开始
B.在程序中凡是以"#"开始的语句行都是预处理命令行
C.C程序在执行过程中对预处理命令行进行处理
D.#defineABCD是正确的宏定义
正确选项:----
6.以下合法的十六进制数是()。
A.oxff
B.0Xabc
C.0x01
D.0X9X
专业答案:----
7.关于while语句与do-while语句,以下正确的是()。
专业答案:----
A.while是当型结构
B.do-while是直到型结构
正确选项:----
C.两者有区别
D.两者无区别
正确答案:----
8.以下选项中不合法的字符常量是()。
A."B"
B.'\010'
C.68
D.D
专业答案:----
9.t为int类型,进入下面的循环之前,t的值为0do{………}while(t==1);则以下叙述中正确的是()
专业答案:----
A.循环控制表达式的值为0
B.循环控制表达式的值为1
C.循环控制表达式合法
D.以上说法都不对
正确答案:----
10.关于for(表达式1,表达式2,表达式3)循环,以下正确的是()。
A.三个表达式都不可省略
B.表达式1可以省略
C.表达式2可以省略
D.表达式3可以省略
正确选项:----
三、 判断题 (共 10 道试题,共 20 分)
1.若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是p=n;。()
A.错误
B.正确
2.continue语句可用于switch语句,也可用于for、while和do循环语句中。()
正确答案:----
专业答案:----
A.错误
B.正确
3.一个C源程序可以由一个main()函数和若干个其它函数组成。()
A.错误
B.正确
4.C语言的文件存取方式只能是顺序存取,不能随机存取。()
A.错误
B.正确
5.表达式 ’a’ 和 “a” 是不同的,前者长度为1,后者长度为2。()
正确选项:----
A.错误
B.正确
6.若有static int a[10];则a数组的10个元素的值都是0。()
A.错误
B.正确
7.break语句可用于switch语句,也可用于for、while和do循环语句中。()
A.错误
B.正确
8.数组名是指标常量,不需要也不能为其赋值;指针是变量,使用前需对其赋值。()
A.错误
B.正确
9.在C中能代表逻辑值“假”的是0。()
专业答案:----
A.错误
B.正确
10.用户标识符中可以出现下划线和中划线(减号)。()
A.错误
B.正确
西安交通大学19年5月补考《程序设计基础(高起专)》作业考核试题[答案]历年参考题目如下: