|
西南交《高级语言程序设计B》在线作业二
奥鹏作业答案
奥鹏西南交通大学作业
一、单选题:
1.[单选题]设有intx=11;则表达式(x++*1/3)的值是 (满分:)
A. 3
B. 4
C. 11
D. 12
正确答案:——A——
2.[单选题]以下程序的输出结果是 voidreverse(inta[],intn) {inti,t; for(i=0;i<n/2;i++) {t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;} } main() {intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; printf("%d\n",s); (满分:)
A. 22
B. 10
C. 34
D. 30
正确答案:——A——
3.[单选题]能正确表达逻辑关系"a≥5"且"a≤10"的C语言表达式是() (满分:)
A. a>=5ora<=10
B. a>=5|a<=10
C. a>=5&&a<=10
D. a>=5||a<=10
正确答案:——C——
4.[单选题]下面能正确进行字符串赋值操作的是 (满分:)
A. chars[5]={"ABCDE"
B. chars[5]={′A′,′B′,′C′,′D′,′E′
C. char*s;s="ABCDE";
D. char*s;chara;scanf("%s",&s);
正确答案:————
5.[单选题]函数rewind的作用是 (满分:)
A. 使文件位置指针重新返回文件的开始位置
B. 将文件位置指针指向文件中所要求的特定位置
C. 使文件位置指针指向文件的末尾
D. 使文件位置指针自动移至下一个字符位置
正确答案:————
6.[单选题]以下说法中错误的是() (满分:)
A. a*=1;这个式子等价于a=a*1
B. a/=b+c;这个式子和a=a/b+c等价
C. a/=b-c;这个式子等价于a=a/(b-c)
D. a*=b;这个式子等价于a=a*b
正确答案:————
7.[单选题]下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。 #include"stdio.h"main(){inti=0,j,k;do{i++;k=316-13*i;}while(k%11);j=k/11;printf("316=13*%d+11*%d",i,j);} (满分:)
A. k%11
B. k
C. k/11==0
D. k==0
正确答案:————
8.[单选题]请选出可用作C语言用户标识符的是 (满分:)
A. void,define,WORD
B. a3_b3,_123,IF
C. FOR,--abc,Case
D. 2a,Do,Sizeof
正确答案:————
9.[单选题]设有以下语句: charx=3,y=6,z; z=x^y<<2; 则z的二进制值是 (满分:)
A. 00010100
B. 00011011
C. 00011100
D. 00011000
正确答案:————
10.[单选题]若有以下程序 #include inta[]={2,4,6,8}; main() {inti; int*p=a; for(i=0;i<4;i++)a[i]=*p; printf("%d\n",a[2]); } 上面程序输出结果是 (满分:)
A. 6
B. 8
C. 4
D. 2
正确答案:————
11.[单选题]若k为整形,则while循环执行()次。k=2;while(k==0)printf(“%d”,k);k--;printf(“"”); (满分:)
A. 10
B. 9
C. 0
D. 1
正确答案:————
12.[单选题]在“文件包含”预处理语句的使用形式中,当#include后面的文件名用“”(双引号)括起来时,寻找被包含文件的方式是() (满分:) 奥鹏作业答案
A. 仅仅搜索当前目录
B. 仅仅搜索源程序所在目录
C. 直接按系统设定的标准搜索目录
D. 在系统当前目录搜索和C语言系统系统指定的INCLUDE目录中搜索
正确答案:————
13.[单选题]设有定义:intn=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是 (满分:)
A. p=1;
B. *q=2;
C. q=p;
D. *p=5;
正确答案:————
14.[单选题]有如下程序: longfib(intn) {if(n>2)return(fib(n-1)+fib(n-2)); elsereturn(2); } main() {printf("%d\n",fib(3));} 该程序的输出结果是 (满分:)
A. 2
B. 4
C. 6
D. 8
正确答案:————
15.[单选题]有如下程序 inta[10]={1,2,3,4,5,6,7,8,9,10}; int*p=&a[3],b;b=p[5]; 则b的值是 (满分:)
A. 5
B. 6
C. 9
D. 8
正确答案:————
16.[单选题]sizeof(float)是 (满分:)
A. 一个双精度型表达式
B. 一个整型表达式
C. 一种函数调用
D. 一个不合法的表达式
正确答案:————
17.[单选题]若有如下说明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的元素的表达式是() (满分:)
A. *p+5
B. *(p+5)
C. *p+=5
D. p+5
正确答案:————
18.[单选题]下面程序的输出结果是 main() {inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));} (满分:)
A. 3
B. 4
C. 1
D. 2
正确答案:————
19.[单选题]阅读以下程序及对程序功能的描述,其中正确的描述是 #include main() { FILE*in,*out; charch,infile[10],outfile[10]; printf("Entertheinfilename:\n"); scanf("%s",infile); printf("Entertheoutfilename:\n"); scanf("%s",outfile); if((in=fopen(infile,"r"))==NUL (满分:)
A. 程序完成将磁盘文件的信息在屏幕上显示的功能
B. 程序完成将两个磁盘文件合二为一的功能
C. 程序完成将一个磁盘文件复制到另一个磁盘文件中
D. 程序完成将两个磁盘文件合并并在屏幕上输出
正确答案:————
20.[单选题]下面哪条语句是错误的( (满分:)
A. inta=0
B. inta=b=c=1
C. inta=0,b=0,c=0
D. inta,b,c=1;
正确答案:————
21.[单选题]以下不正确的定义语句是 (满分:)
A. doublex[5]={2.0,4.0,6.0,8.0,10.0
B. inty[5]={0,1,3,5,7,9
C. charc1[]={′1′,′2′,′3′,′4′,′5′
D. charc2[]={′\x10′,′\xa′,′\x8′
正确答案:————
22.[单选题]若有宏定义:#definePI3.14#defineS(r)PI*r*r则主函数中语句s2=S(r+3);宏替换后的结果为() (满分:)
A. s2=PI*r+3*r+3
B. s2=3.14*(r+3)*(r+3)
C. s2=3.14*r+3*r+3
D. s2=PI*r*r
正确答案:————
23.[单选题]设a是int型变量,b是float型变量,用下面的语句给这两个变量输入值scanf("a=%d,b=%f",&a,&b);为了把100和76.5分别赋给i和f,则正确的输入为:() (满分:)
A. 10076.5
B. a=100,b=76.5
C. 10076.5
D. a=100b=76.5
正确答案:————
24.[单选题]设有数组定义:chararray[]="China";则数组array所占的空间为 (满分:)
A. 4个字节
B. 5个字节
C. 6个字节
D. 7个字节
正确答案:————
25.[单选题]以下可作为函数fopen中第一个参数的正确格式是() (满分:)
A. c:user""text.tex
B. c:""user""text.txt
C. “c:user""text.tex”
D. “c:""""user""""text.txt”
正确答案:————
二、多选题:
26.[多选题]关于宏定义的说法正确的是: (满分:)
A. <p>宏名一般习惯用大写字母表示,以便与变量名相区别</p>
B. 使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
C. 宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
D. 宏定义不是C语句,不必在行末加分号
正确答案:————
27.[多选题]若有以下定义和语句:doubler=99,*p=&r;*p=r;则以下不正确的叙述是:______ (满分:)
A. 以上两处的*p含义相同,都说明给指针变量p赋值
B. 语句“*p=r;”把变量r的地址值赋给指针变量p
C. 语句“*p=r;”取变量r的值放回r中
D. 在“doubler=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元
正确答案:————
28.[多选题]下列字符中能构成标识符的是______。 (满分:)
A. 数字字符
B. 连接符
C. 下划线字符
D. 大写字母
正确答案:————
29.[多选题]下列说法不正确的是______。 (满分:)
A. C程序由符号构成
B. C程序由标识符构成
C. C程序由函数构成
D. C程序由C语句构成
正确答案:————
30.[多选题]以下说法不正确的是______。 (满分:)
A. 定义函数时,形参的类型说明可以放在函数体内
B. return后边的值不能为表达式
C. 如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准
D. 如果形参与实参的类型不一致,以实参类型为准
正确答案:————
31.[多选题]在动态存储区中主要存放以下数据______。 (满分:)
A. 函数形式参数
B. 自动变量
C. 函数调用时的现场保护和返回地址
D. 全局变量
正确答案:————
32.[多选题]在文件操作中,用于检测和设置文件状态的函数有______。 (满分:)
A. 文件结束检测函数feof()
B. 读写文件出错检测函数ferror()
C. 文件出错和结束标志文件函数才clearerr()
D. 文件关闭函数fclose()
正确答案:————
33.[多选题]设有如下定义:int(*ptr)();则以下叙述中不正确的是______。 (满分:)
A. ptr是指向一维数组的指针变量
B. ptr是指向int型数据的指针变量
C. ptr是指向函数的指针,该函数返回一个int型数据
D. ptr是一个函数名,该函数的返回值是指向int型数据的指针
正确答案:————
34.[多选题]下列说法中错误的是______。 (满分:)
A. 不允许设置参数的默认值
B. 设置参数的默认值只能在定义函数时设置
C. 设置参数的默认值时,应该设置右边的参数
D. 设置参数的默认值时,应该全部参数都设置
正确答案:————
35.[多选题]以下不正确的叙述是______。 (满分:)
A. C语言的主函数是无参函数
B. C语言的主函数最多允许有1个参数
C. C语言的主函数最多允许有2个参数
D. C语言的主函数可以有2个以上参数
正确答案:————
36.[多选题]关于静态局部变量的说明正确的是______。 (满分:)
A. 静态局部变量存储在静态存储区
B. 静态局部变量是在编译时赋初值的,即只赋一次值,在程序运行时它已有初值
C. 若在定义局部变量时不赋初值,则编译时自动赋初值为0或空字符
D. 虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的
正确答案:————
37.[多选题]关于实参和形参的说法正确的是______。 (满分:)
A. 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
B. 实参可以是变量、常量或表达式
C. 实参与形参的类型应相同或赋值兼容
D. 实参变量对形参变量的数据传递是“值传递”
正确答案:————
38.[多选题]已知:intx,a,b;下列选项中正确的if语句是______。 (满分:)
A. if(a=b)x++;
B. if(a=<b)x++;
C. if(a-b)x++;
D. if(x)x++;
正确答案:————
39.[多选题]函数调用可以______。 (满分:)
A. 出现在一个表达式中
B. 出现在执行语句中
C. 作为一个函数的实参
D. 作为一个函数的形参
正确答案:————
40.[多选题]不与while(x)语句中的x等价的是_____。 (满分:)
A. x==0
B. x==1
C. x!=1
D. x!=0
正确答案:————
三、判断题:
41.[判断题]‘a’和“a”在内存中所占字节数相同。() (满分:)
A. 错误
B. 正确
正确答案:————
42.[判断题]C语言规定标识符可由字母、数字、下划线三种字符组成,第一个字符可以为数字或字母。() (满分:)
A. 错误
B. 正确
正确答案:————
43.[判断题]静态外部变量既可以在文本文件中引用,也可以在其它文件引用 (满分:)
A. 错误
B. 正确
正确答案:————
44.[判断题]数据结构指的是数据的组织形式,数组就是一种数据结构() (满分:)
A. 错误
B. 正确
正确答案:————
45.[判断题]switch语句中,多个case可以共用一组执行语句。() (满分:)
A. 错误
B. 正确
正确答案:————
46.[判断题]C程序中各函数之间既允许直接递归调用也允许间接递归调 (满分:)
A. 错误
B. 正确
正确答案:————
47.[判断题]C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。() (满分:)
A. 错误
B. 正确
正确答案:————
48.[判断题]puts和gets函数只能输入或输出一个字符串 (满分:)
A. 错误
B. 正确
正确答案:————
49.[判断题]switch语句中,各个case和default的出现次序不影响执行结果。() (满分:)
A. 错误
B. 正确
正确答案:————
50.[判断题]宏定义就是用宏名代替一个字符串,也就是简单的置换,不作正确性检查。 (满分:)
A. 错误
B. 正确
正确答案:————
奥鹏作业答案
奥鹏西南交通大学作业
|
|