|
吉大15秋学期《C语言程序设计》在线作业二
试卷总分:100 测试时间:--
一、单选题(共10道试题,共40分。)
1.在16位IBM-PC机上使用C语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是
A. 1
B. 2
C. 7
D. 11
满分:4分
2.执行以下程序后,a,b的值分别为 main() { int a,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
满分:4分
3.设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是
A. p=1;
B. *q=2;
C. q=p;
D. *p=5;
满分:4分
4.若已定义: 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分
5.下面能正确进行字符串赋值操作的是
A. char s[5]={"ABCDE"};
B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};
C. char *s;s="ABCDE";
D. char *s;char a; scanf("%s",&s);
满分:4分
6.函数 rewind 的作用是
A. 使文件位置指针重新返回文件的开始位置
B. 将文件位置指针指向文件中所要求的特定位置
C. 使文件位置指针指向文件的末尾
D. 使文件位置指针自动移至下一个字符位置
满分:4分
7.以下程序有错,错误原因是 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;没有意义,可能会影响后面语句的执行结果
满分:4分
8.若有以下程序 #include int a[]={2,4,6,8}; main() { int i; 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
满分:4分
9.C语言中,能识别处理的文件为
A. 文本文件和数据块文件
B. 文本文件和二进制文件
C. 流文件和文本文件
D. 数据文件和二进制文件
满分:4分
10.有如下程序 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
满分:4分
二、多选题(共5道试题,共20分。)
1.以下对一维数组a进行初始化,错误的语句是______。
A. int a[10]=(0,0,0,0,0);
B. int a[10]={};
C. int a[10]={0};
D. int a[2]={10,9,8}
满分:4分
2.若有以下定义和语句:double r=99,*p=&r; *p=r;则以下不正确的叙述是:______
A. 以上两处的*p含义相同,都说明给指针变量p赋值
B. 语句“*p=r;”把变量r的地址值赋给指针变量p
C. 语句“*p=r;”取变量r的值放回r中
D. 在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元
满分:4分
3.已知:int x,a,b;下列选项中正确的if语句是______。
A. if(a=b) x++;
B. if(a=<b) x++;
C. if(a-b) x++;
D. if(x) x++;
满分:4分
4.以下叙述中正确的是______。
A. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B. 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
C. 可以通过赋初值的方式确定数组元素的个数
D. 数组名代表的是数组所占存储区的首地址,其值不可改变
满分:4分
5.在文件操作中,用于检测和设置文件状态的函数有______。
A. 文件结束检测函数feof()
B. 读写文件出错检测函数ferror()
C. 文件出错和结束标志文件函数才clearerr()
D. 文件关闭函数fclose()
满分:4分
三、判断题(共10道试题,共40分。)
1.若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清除。
A. 错误
B. 正确
满分:4分
2.puts和gets函数只能输入或输出一个字符串
A. 错误
B. 正确
满分:4分
3.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。
A. 错误
B. 正确
满分:4分
4.语句int pt中的*pt是指针变量名。
A. 错误
B. 正确
满分:4分
5.switch语句中,各个case和default的出现次序不影响执行结果。( )
A. 错误
B. 正确
满分:4分
6.模运算符要求两侧均应为整型数据。( )
A. 错误
B. 正确
满分:4分
7.共用体所占的内存空间大小取决于占空间最多的那个成员变量。
A. 错误
B. 正确
满分:4分
8.数据结构指的是数据的组织形式,数组就是一种数据结构( )
A. 错误
B. 正确
满分:4分
9.for(;;)语句相当于while(1)语句
A. 错误
B. 正确
满分:4分
10.switch语句中,多个case可以共用一组执行语句。( )
A. 错误
B. 正确
满分:4分
|
|