西安交通大学16年3月课程考试《程序设计基础》作业考核试题
单选题
1. 若有说明int a[3][4];则a数组元素的非法引用是()。
A. a[0][2*1]
B. a[1][3]
C. a[4-2][0]
D. a[0][4]
2. 函数rewind的作用是()。
A. 使位置指针重新返回文件的开头
B. 将位置指针指向文件中所要求的特定位置
C. 使位置指针指向文件的末尾
D. 使位置指针自动移至下一个字符位置
3. 结构体类型的定义允许嵌套是指()。
A. 成员是已经或正在定义的结构体型
B. 成员可以重名
C. 结构体型可以派生
D. 定义多个结构体型
4. 下面有关for循环的正确描述是()。
A. for循环只能用于循环次数已经确定的情况
B. for循环是先执行循环循环体语句,后判断表达式
C. 在for循环中,不能用break语句跳出循环体
D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
5. C语言中,定义结构体的保留字是()。
A. union
B. struct
C. enum
D. typedef
6. 以下运算符中,优先级最高的运算符是()。
A. ||
B. %
C. !
D. ==
7. 以下叙述中错误的是()。
A. 二进制文件打开后可以先读文件的末尾,而顺序文件不可以
B. 在程序结束时,应当用fclose函数关闭已打开的文件
C. 在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据
D. 不可以用FILE定义指向二进制文件的文件指针
8. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。
A. 地址传递
B. 单向值传递
C. 由实参传给形参,再由形参传回实参
D. 传递方式由用户指定
9. 若k为int型变量,则以下程序段的执行结果是()。k=-8567;printf("|D|\n",k);
A. 格式描述符不合法,输出无定值
B. 输出为|D|
C. 输出为|0-8567|
D. 输出为|-8567|
10. 要打开A盘上user子目录下名为ab##txt的文本文件进行读、写操作,下面符合此要求的函数调用是()。
A. fopen(" \user\ab
B. txt","r")
C. fopen(" \\user\\ab
D. txt","r+")
E. fopen(" \user\ab
F. txt","rb")
G. fopen(" \\user\\ab
H. txt","w")
11. 下列程序的输出结果为()。main(){int m=7,n=4;floata=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%f\n",x);}
A. 27.000000
B. 27.500000
C. 28.000000
D. 28.500000
12. 在C语言中,char型数据在内存中的存储形式是()。
A. 补码
B. 反码
C. 原码
D. ASCII码
13. 若有int a[][]={{1,2},{3,4}};则*(a+1),*(*a+1)的含义分别为()。
A. 非法,2
B. &a[1][0],2
C. &a[0][1],3
D. a[0][0],4
14. 若使用一维数组名作函数实参,则以下正确的说法是()。
A. 必须在主调函数中说明此数组的大小
B. 实参数组类型与形参数组类型可以不匹配
C. 在被调用函数中,不需要考虑形参数组的大小
D. 实参数组名与形参数组名必须一致
15. 若有int i=3,*p;p=&i;下列语句中输出结果为3的是()。
A. printf("%d",&p);
B. printf("%d",*i);
C. printf("%d",*p);
D. printf("%d",p);
16. 设有说明.char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为()。
A. float
B. char
C. int
D. double
17. 关于建立函数的目的,以下正确的说法是()。
A. 提高程序的执行效率
B. 提高程序的可读性
C. 减少程序的篇幅
D. 减少程序文件所占内存
18. 若执行fopen函数时发生错误,则函数的返回值是()。
A. 地址值
B. 0
C. 1
D. EOF
19. C语言中,要求运算数必须是整型的运算符是()。
A. ^
B. %
C. !
D. >
20. 设int x=1,y=1;表达式(!x||y--)的值是()。
A. 0
B. 1
C. 2
D. -1
21. 应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。
A. fclose()
B. close()
C. fread()
D. fwrite
22. 以下叙述中正确的是()。
A. 在程序的一行上可以出现多个有效的预处理命令行
B. 使用带参的宏时,参数的类型应与宏定义时的一致
C. 宏替换不占用运行时间,只占编译时间
D. 在以下定义中CR是称为"宏名"的标识符#defineCR045
23. 经过下列的语句 int j,a[10],*p;定义后,下列语句中合法的是()。
A. p=p+2;
B. p=a[5];
C. p=a[2]+2;
D. p=&(j+2);
24. 以下标识符中,不能作为合法的C用户定义标识符的是()。
A. putchar
B. _double
C. _123
D. INT
25. 下列程序段的输出结果为()。Int x=3,y=2;printf("%d",(x-=y,x*=y+8/5));
A. 1
B. 7
C. 3
D. 5
26. 执行以下程序段后,输出结果和a的值是()。Int a=10;printf("%d",a++);
A. 10和10
B. 10和11
C. 11和10
D. 11和11
27. 以下选项中,与k=n++完全等价的表达式是()。
A. k=n,n=n+1
B. n=n+1,k=n
enum函数 C. k=++n
D. k+=n+1
28. 若有说明.int i,j=2,*p=&i;,则能完成i=j赋值功能的语句是()。
A. i=*p;
B. *p=*&j;
C. i=&j;
D. i=**p;
29. 凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。
A. 自动(auto)
B. 静态(static)
C. 外部(extern)
D. 寄存器(register)
30. 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。
A. int
B. float
C. double
D. 不确定
西安交通大学16年3月课程考试《程序设计基础》作业考核试题
多选题
1. 能正确表示逻辑关系:"a≥10"的C语言表达式是()。
A. a≥10
B. !(a<10)
C. a>=10
D. a<10
2. 以下叙述中正确的是()。
A. 一个C源程序可由一个或多个函数组成
B. 一个C源程序必须包含一个main()函数
C. C源程序的基本组成单位是函数
D. 在C源程序中,注释说明只能位于一条语句的最后
3. 在定义int a[2][3];之后,对a的引用正确的有()。
A. a[0][2]
B. a[1,3]
C. a[1>2][!1]
D. a[2][0]
4. 下面那些为合法整型常量()
A. 190
B. 0xf
C. 0765
D. 0xk
5. 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
6. t为int类型,进入下面的循环之前,t的值为0do{………}while(t==1);则以下叙述中正确的是()
A. 循环控制表达式的值为0
B. 循环控制表达式的值为1
C. 循环控制表达式合法
D. 以上说法都不对
7. 定义语句:int x,y;若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的有()。
A. 1112<回车>
B. 11,<空格>12<回车>
C. 11,12<回车>
D. 11,<回车>12<回车>
8. 以下选项中合法的表达式是()。
A. 0<=x<100
B. i=j==0
C. (char)(65+3)
D. x+1=x+1
9. 以下叙述正确的是()。
A. 预处理命令行都必须以"#"开始
B. 在程序中凡是以"#"开始的语句行都是预处理命令行
C. C程序在执行过程中对预处理命令行进行处理
D. #defineABCD是正确的宏定义
10. 定义c为字符型变量,则下列语句中错误的是()。
A. c='97';
B. c="97";
C. c=97;
D. c="a";
西安交通大学16年3月课程考试《程序设计基础》作业考核试题
判断题
1. C语言中,feof函数用来判断即将读入的是否是文件结束标志,它可用于二进制文件,但不能用于文本文件。()
A. 错误
B. 正确
2. 数组名代表数组的起始地址。()
A. 错误
B. 正确
3. 若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是p=n;。()
A. 错误
B. 正确
4. C语言既可以用来写系统软件,也可以用来写应用软件。()
A. 错误
B. 正确
5. 数组名是指标常量,不需要也不能为其赋值;指针是变量,使用前需对其赋值。()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论