计算机语言(C)第3阶段测试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
江南大学现代远程教育第三阶段测试卷
考试科目:《计算机语言(C)》第10章至第13章(总分100分)
时间:90分钟
学习中心(教学点)批次:层次:
专业:学号:身份证号:
姓名:得分:
一、选择题(每题2分,共30分)
1. 若已定义a为int型变量,则对指针p的说明和初始化正确的是()。
A.int *p=a;
B.int p=a;
C.int *p=*a;
D.int *p=&a;
2. 设P是指向A的指针,Y为整型量,A=5,A的地址为FE03;B=6,B的地址为FE04;下列语句分别
执行的结果是( )。
1)Y=*&A; 2)Y=*P++; 3)Y=&++A; 4)Y=*++P
A.1)Y=4; 2)Y=4; 3)Y=FE05; 4)Y=7
B.1)Y=7; 2)Y=7; 3)Y=FE02; 4)Y=4
C.1)Y=6; 2)Y=6; 3)Y=FE03; 4)Y=5
D.1)Y=5; 2)Y=5; 3)Y=FE04; 4)Y=6
3.下列程序段的执行结果是()。
static int a[]={5,3,7,2,1,5,4,10};
int s=0,k;
for(k=0;k<8;k+=2)
s+=*(a+k);
printf("%d ",s);
A.12
B.18
C.15
D.17
4.关于指针概念不正确的说法是()。
A.一个指针变量只能指向同一个类型的变量
B.一个变量的地址称为该变量的指针
C.只有同一类型变量的地址才能放到指向该类型变量的指针变量之中
D.指针变量可以由整数赋值,不能用浮点数赋值
5.若有说明int (*p)[3];则以下()是正确的叙述。
A.p是一个指针数组
B.(*p)[3]与*p[3]等价
C.p是一个指针,它可以指向一个一维数组中任一元素
D.p是一个指针,它只能指向一个包含3个int类型的一维数组
6.下面对结构数据类型的叙述中,()是错的。
A.结构变量可以在说明结构类型后定义,也可在说明结构时定义
B.结构可由若干个成员组成,各成员的数据类型可以不同
C.定义一个结构类型后,编译程序要为结构的各成员分配存储空间
D.结构变量的各成员可通过结构变量名和指向结构变量的指针引用
7.若px为指针变量名,y为变量名,则y=*px++;等价于()。
A.y=*px;px++;
B.y=(*px)++;
C.y=px;px++;
D.y=*(px++);
8.设有说明:int I, *p=&I,要实现I的内容加10,则下面语句()是错的。
A.*p=*&I+10;
B.i=*p+10;
C.*p=*p+10;
D.*p=&I+10;
9.说明语句enum money{Fen,Jiao,Yuan=100,Tenyuan};每个枚举量所对应的实际值为:()。
A.0,1,100,101
B.1,2,100,101
C.“Fen"或1,"Jiao"或2,"Yuan"或100,"Tenyuan"或101.
D.“Fen","Jiao","Yuan","Tenyuan".
10. 设有说明:
struct{
char name[15],sex;
int age;float score;
}stu,*p=&stu;
以下不能正确输入结构体成员值的是( )。
A. scanf(”%c”,&p->sex);
B. scanf(”%s”,);
C. scanf(”%d”,&stu.age);
D. scanf(”% f”,p->score);
11.若要用fopen函数打开一个新的二进制文件,该文件要即能读也能写,则文件打开的方式应
是()。
A.〝ab+〞
B. 〝wb+〞
C.〝rb+〞
D.〝ab〞
12.fwrite函数的一般调用形式是()。
A. fwrite(buffer,count,size,fp)
B. fwrite(fp,size,count,buffer)
C. fwrite(fp,count,size,buffer)
D. fwrite(buffer,size,count,fp)
13.关闭文件函数fclose(fp)的作用是()。
A.不再为fp指向的文件分配内存空间;
B.将fp指向的文件存入磁盘;
C.释放指定文件所占据的内存空间和文件指针;
D.将指定文件封闭在某一内存区域。
14. 下列有关C语言文件的说法正确的是( )。
A.C语言文件是由记录组成
B.C语言文件被看作是一个字符(字节)的序列,称为流式文件
C.C语言有专门的文件操作命令
D.以上说法都不正确
15. 语句( )能正确完成赋字符串的功能。
A. char s[4];s[0]=“string”;
B. char *s;get(s);
C. char *s[]=“string”;
D. char *s;strcpy(s,“string”);
二、填空题(每空3分,共45分)
1. C程序中,文件可以用方式存取,也可以用方式存取。
2. C程序中,数据可以用和两种代码形式存放。
3.结构体变量所占的内存长度为。
4.设有以下说明与语句:
static int a[3][2]={1,2,3,4,5,6};
int (*p)[2];
. . .
p=a;
则*(*(a+2)+1)的值为,*(*(p+1)+1)的值为。
5. 下面程序用变量count统计文件letter.dat中字符的个数。
#include”stdio.h”
main()
{ FILE *fp; long count=0;
if((fp= )==NULL)
{ printf(“can not open this file\n”); exit(0);}
while(!feof(fp))
{ ;
if((c>=’a’ && c<=’z’) || (c>=’A’ && c<=’Z’))
;
}
printf(“count=%ld\n”,count); fclose(fp);}
6. 下面的函数用于比较两个给出的C字符串。按比较结果,函数将返回下列函数值:
若: s1=s2 返回0