|
西南交《高级语言程序设计B》在线作业一
奥鹏作业答案
奥鹏西南交通大学作业
一、单选题:
1.[单选题]设有定义:intn=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是 (满分:)
A. p=1;
B. *q=2;
C. q=p;
D. *p=5;
正确答案:——D——
2.[单选题]能正确表达逻辑关系"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——
3.[单选题]下面语句的运行结果为()#include“stdio.h”#include“string.h”voidmain(){charstr1[10]={“how”};charstr2[10]={“good”};strcpy(str1,st (满分:)
A. g
B. how
C. howgood
D. good
正确答案:——D——
4.[单选题]设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
正确答案:————
5.[单选题]C语言表示逻辑假的方法是() (满分:)
A. FALSE
B. 0
C. 1
D. NULL
正确答案:————
6.[单选题]下面程序的功能是把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
正确答案:————
7.[单选题]若有以下说明语句,且0<=i<=10,则()是对数组元素的错误引用。inta[]={1,2,3,4,5,6,7,8,9,0},*p,i;p=a; (满分:)
A. *(a+i)
B. p+i
C. a
D. *(&a)
正确答案:————
8.[单选题]有如下程序 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
正确答案:————
9.[单选题]以下叙述中不正确的是 (满分:)
A. 在不同的函数中可以使用相同的名字的变量
B. 函数中的形式参数是局部变量
C. 在一个函数内定义的变量只在本函数范围内有效
D. 在一个函数内的复合语句中定义的变量在本函数范围内有效
正确答案:————
10.[单选题]返回值为void的函数,其含义为() (满分:)
A. 调用函数之后,被调用的函数没有返回值
B. 调用函数之后,被调用的函数不返回 奥鹏作业答案
C. 调用函数之后,被调用的函数的返回值为任意的类型
D. 该类函数不允许被调用
正确答案:————
11.[单选题]如下程序:voidmain(){inti,sum;for(i=1;i<=5;sum++)sum+=i;printf("%d"",sum);}该程序的执行结果是() (满分:)
A. 死循环
B. 3
C. 6
D. 15
正确答案:————
12.[单选题]有以下程序: #include unionpw {inti; charch[2];}a; main() {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是 (满分:)
A. 13
B. 14
C. 208
D. 209
正确答案:————
13.[单选题]假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入: PROGABCDEFGHIJKL<回车>,则输出结果为 main(intargc,char*argv[]) {while(--argc>0) printf("%s",argv[argc]); printf("\n"); } (满分:)
A. ABCDEFG
B. IJHL
C. ABCDEFGHIJKL
D. IJKLABCDEFGH
正确答案:————
14.[单选题]下面哪条语句是错误的( (满分:)
A. inta=0
B. inta=b=c=1
C. inta=0,b=0,c=0
D. inta,b,c=1;
正确答案:————
15.[单选题]设有intx=11;则表达式(x++*1/3)的值是 (满分:)
A. 3
B. 4
C. 11
D. 12
正确答案:————
16.[单选题]sizeof(float)是 (满分:)
A. 一个双精度型表达式
B. 一个整型表达式
C. 一种函数调用
D. 一个不合法的表达式
正确答案:————
17.[单选题]执行以下程序后,a,b的值分别为 main() {inta,b,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m; b=(*p1)/(*p2)+7; printf("a=%d\n",a); printf("b=%d\n",b); } (满分:)
A. -1,5
B. 1,6
C. 0,7
D. 4,10
正确答案:————
18.[单选题]下列各数据类型不属于构造类型的是 (满分:)
A. 枚举型
B. 共用型
C. 结构型
D. 数组型
正确答案:————
19.[单选题]以下程序有错,错误原因是 main() {int*p,i;char*q,ch; p=&i; q=&ch; *p=40; *p=*q; ...... } (满分:)
A. p和q的类型不一致,不能执行*p=*q;语句
B. *p中存放的是地址值,因此不能执行*p=40;语句
C. q没有指向具体的存储单元,所以*q没有实际意义
D. q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果
正确答案:————
20.[单选题]以下正确的C标识符是() (满分:)
A. 0XH
B. _80
C. main
D. #A$
正确答案:————
21.[单选题]C语言中运算对象必须是整型的运算符是() (满分:)
A. %
B. /
C. =
D. <=
正确答案:————
22.[单选题]在“文件包含”预处理语句的使用形式中,当#include后面的文件名用“”(双引号)括起来时,寻找被包含文件的方式是() (满分:)
A. 仅仅搜索当前目录
B. 仅仅搜索源程序所在目录
C. 直接按系统设定的标准搜索目录
D. 在系统当前目录搜索和C语言系统系统指定的INCLUDE目录中搜索
正确答案:————
23.[单选题]以下程序的输出结果是 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
正确答案:————
24.[单选题]下面程序段的运行结果是 char*format="%s,a=%d,b=%d\n"; inta=11,b=10; a+=b; printf(format,"a+=b",a,b); (满分:)
A. for,"a+=b",ab
B. format,"a+=b"
C. a+=b,a=21,b=10
D. 以上结果都不对
正确答案:————
25.[单选题]已知实型变量a存贮的是一个0--1之间的实数,将a以两位小数百分比形式输出(如:a=0.347592,则输出为34.75%)正确的打印语句是() (满分:)
A. printf(“%.2f%%”,a*100)
B. printf(“%.2f%”,a)
C. printf(“%.2f%%”,a/100)
D. printf(“%.2f%%”,100*(a+0.5));
正确答案:————
二、多选题:
26.[多选题]关于静态局部变量的说明正确的是______。 (满分:)
A. 静态局部变量存储在静态存储区
B. 静态局部变量是在编译时赋初值的,即只赋一次值,在程序运行时它已有初值
C. 若在定义局部变量时不赋初值,则编译时自动赋初值为0或空字符
D. 虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的
正确答案:————
27.[多选题]C语言中函数返回值的类型与下列哪项无关? (满分:)
A. 定义函数时所指定的函数类型
B. 调用函数时临时
C. 调用该函数的主函数类型
D. return语句中的表达式类型
正确答案:————
28.[多选题]已知:intx;,则下面的说明指针变量pb的语句______不是正确的。 (满分:)
A. intpb=&x;
B. int*pb=x;
C. int*pb=&x;
D. *pb=*x
正确答案:————
29.[多选题]若定义:inta[2][3]{0,2,4,6,8,10};以下描述正确的有 (满分:)
A. A、*(a+1)为元素6的地址
B. B、*(a[1]+1)的值为2
C. C、**(a+1)+2的值为8
D. D、a[0]与a相同
正确答案:————
30.[多选题]在缓冲文件系统中用于读写的函数有 (满分:)
A. putchar()
B. fread()
C. rewind()
D. putw()
正确答案:————
31.[多选题]在C语言中,正确的int类型的常数是:______。 (满分:)
A. 0
B. 32768
C. 037
D. 0xaf
正确答案:————
32.[多选题]若有以下定义和语句: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所指的存储单元
正确答案:————
33.[多选题]以下不正确的叙述是______。 (满分:)
A. C语言的主函数是无参函数
B. C语言的主函数最多允许有1个参数
C. C语言的主函数最多允许有2个参数
D. C语言的主函数可以有2个以上参数
正确答案:————
34.[多选题]设有如下定义:int(*ptr)();则以下叙述中不正确的是______。 (满分:)
A. ptr是指向一维数组的指针变量
B. ptr是指向int型数据的指针变量
C. ptr是指向函数的指针,该函数返回一个int型数据
D. ptr是一个函数名,该函数的返回值是指向int型数据的指针
正确答案:————
35.[多选题]以下______是正确的转义字符。() (满分:)
A. ‘""""'
B. ‘""’
C. ‘""81'
D. ‘""0'
正确答案:————
36.[多选题]已知:intx,a,b;下列选项中正确的if语句是______。 (满分:)
A. if(a=b)x++;
B. if(a=<b)x++;
C. if(a-b)x++;
D. if(x)x++;
正确答案:————
37.[多选题]关于宏定义的说法正确的是: (满分:)
A. <p>宏名一般习惯用大写字母表示,以便与变量名相区别</p>
B. 使用宏名代替一个字符串,可以减少程序中重复书写某些字符串的工作量
C. 宏定义是用宏名代替一个字符串,也就是简单的置换,不作正确性检查
D. 宏定义不是C语句,不必在行末加分号
正确答案:————
38.[多选题]关于实参和形参的说法正确的是______。 (满分:)
A. 在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元
B. 实参可以是变量、常量或表达式
C. 实参与形参的类型应相同或赋值兼容
D. 实参变量对形参变量的数据传递是“值传递”
正确答案:————
39.[多选题]下列字符中能构成标识符的是______。 (满分:)
A. 数字字符
B. 连接符
C. 下划线字符
D. 大写字母
正确答案:————
40.[多选题]在动态存储区中主要存放以下数据______。 (满分:)
A. 函数形式参数
B. 自动变量
C. 函数调用时的现场保护和返回地址
D. 全局变量
正确答案:————
三、判断题:
41.[判断题]C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。() (满分:)
A. 错误
B. 正确
正确答案:————
42.[判断题]一个int型与一个double型数据进行混合运算时,其结果是double型。 (满分:)
A. 错误
B. 正确
正确答案:————
43.[判断题]使用getchar函数可以不添加#include<stdio.h>命令。() (满分:)
A. 错误
B. 正确
正确答案:————
44.[判断题]使用printf和scanf函数时,必须添加#include<stdio.h>命令。() (满分:)
A. 错误
B. 正确
正确答案:————
45.[判断题]C程序中各函数之间既允许直接递归调用也允许间接递归调 (满分:)
A. 错误
B. 正确
正确答案:————
46.[判断题]若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。 (满分:)
A. 错误
B. 正确
正确答案:————
47.[判断题]switch语句中,多个case可以共用一组执行语句。() (满分:)
A. 错误
B. 正确
正确答案:————
48.[判断题]‘a’和“a”在内存中所占字节数相同。() (满分:)
A. 错误
B. 正确
正确答案:————
49.[判断题]C程序的执行总是从第一个定义的函数开始 (满分:)
A. 错误
B. 正确
正确答案:————
50.[判断题]puts和gets函数只能输入或输出一个字符串 (满分:)
A. 错误
B. 正确
正确答案:————
奥鹏作业答案
奥鹏西南交通大学作业
|
|