18春北交《C语言程序设计(专) 》在线作业二[答案]满分答案
北交《C语言程序设计(专) 》在线作业二-0004
试卷总分:100 得分:0
一、 单选题 (共 10 道试题,共 40 分)
1.请选出可用作C语言用户标识符的是
A.void,define,WORD
专业答案:----
B.a3_b3,_123,IF
C.FOR,--abc,Case
D.2a,Do,Sizeof
正确答案:----
2.sizeof(float)是
A.一个双精度型表达式
B.一个整型表达式
C.一种函数调用
D.一个不合法的表达式
专业答案:----
3.若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用是
A.a[p-a]
B.*(&a[i])
C.p[i]
D.a[10]
正确答案:----
4.有以下程序: #include union pw { int i; char ch[2];}a; main() {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是
正确答案:----
A.13
B.14
C.208
D.209
正确选项:----
5.以下不正确的定义语句是
A.double x[5]={2.0,4.0,6.0,8.0,10.0};
正确选项:----
B.int y[5]={0,1,3,5,7,9};
C.char c1[]={′1′,′2′,′3′,′4′,′5′};
D.char c2[]={′\x10′,′\xa′,′\x8′};
正确答案:----
6.以下程序的输出结果是 void reverse(int a[],int n) { int i,t; for(i=0;i { t=a[i]; a[i]=a[n-1-i];a[n-1-i]=t;} } main() { int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,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
正确答案:----
7.下面程序的运行结果是 #include main() { int a=1,b=10; do {b-=a;a++;}while(b--<0); printf("a=%d,b=%d\n",a,b); }
专业答案:----
A.a=3,b=11
B.a=2,b=8
C.a=1,b=-1
D.a=4,b=9
正确选项:----
8.设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是
A.p=1;
B.*q=2;
C.q=p;
D.*p=5;
正确答案:----
9.有如下程序 int a[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
正确选项:----
10.在16位IBM-PC机上使用C语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是
正确选项:----
A.1
B.2
C.7
D.11
正确选项:----
18春北交《C语言程序设计(专) 》在线作业二[答案]多选题答案
二、 多选题 (共 10 道试题,共 40 分)
1.关于文件的打开方式描述正确的是:______。
A.r:打开只读文件
B.a+:打开或建立用于更新数据的文件,数据追加到文件尾
C.a:打开或建立一个把数据追加到文件尾的文件
D.r+:打开用于更新数据的文件
专业答案:----
2.不与while(x)语句中的x等价的是_____。
A.x= =0
B.x= =1
C.x!=1
D.x!=0
正确答案:----
3.关于静态局部变量的说明正确的是______。
A.静态局部变量存储在静态存储区
B.静态局部变量是在编译时赋初值的,即只赋一次值,在程序运行时它已有初值
C.若在定义局部变量时不赋初值,则编译时自动赋初值为0或空字符
D.虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的
正确答案:----
4.下列字符中能构成标识符的是______。
A.数字字符
B.连接符
C.下划线字符
D.大写字母
正确答案:----
5.下列描述正确的是
A.由main 函数及其参数argc和* argv[]可以实现命令行方式
B.使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中
C.字符数组并不要求它的最后一个字符是‘\0’
D.‘A’和“A”都是字符串常量
正确答案:----
6.以下叙述中正确的是______。
A.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
正确答案:----
B.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
专业答案:----
C.可以通过赋初值的方式确定数组元素的个数
D.数组名代表的是数组所占存储区的首地址,其值不可改变
专业答案:----
7.下列说法不正确的是______。
A.C程序由符号构成
B.C程序由标识符构成
C.C程序由函数构成
D.C程序由C语句构成
专业答案:----
8.在文件操作中,用于检测和设置文件状态的函数有______。
A.文件结束检测函数feof()
B.读写文件出错检测函数ferror()
C.文件出错和结束标志文件函数才clearerr()
D.文件关闭函数fclose()
正确选项:----
9.以下______是正确的转义字符。( )
A.‘\'
B.‘’
C.‘81'
D.‘\0'
专业答案:----
10.已知:int x,a,b;下列选项中正确的if语句是______。
A.if(a=b) x++;
B.if(a=<b) x++;
C.if(a-b) x++;
D.if(x) x++;
正确答案:----
三、 判断题 (共 5 道试题,共 20 分)
1.调用函数只可得到一个返回值,而用宏可以设法得到几个结果。
A.错误
B.正确
2.for(;;)语句相当于while(1)语句
A.错误
B.正确
3.switch语句中,各个case和default的出现次序不影响执行结果。( )
正确答案:----
A.错误
B.正确
4.使用getchar函数可以不添加#include <stdio.h>命令。( )
正确选项:----
A.错误
B.正确
5.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。
正确答案:----
A.错误
B.正确
18春北交《C语言程序设计(专) 》在线作业二[答案]历年参考题目如下: