
白测练习 【自测练习】 一,基础题 1、(单选)若有声明:nt7:,则下而声明语句正确的是〔), A:int p=m: B:nt$和=a: C:ntkp=知 D:int *m: 2、(单选)要使语句“neit[10]:”能够正常执行,则下面对变量p声明正确的 是(): A:int p: B:int p[10]: C:int *p: D:int (*p)[10]: 3、(单选)下面是函数fc如打开文件的方式选项,其中表示“只读,如文件不存在 则出错”的选项是《), A:“a B:“o C:"r" D:w 4,(单选)fscanf函数进行格式化读文件时,格式控制字符()表示读一个整数。 A:%d B:%f C: D:&s 5、(单遗)若执行语句“cout(《p:”的输出是“ello!”,则执行语句“cout(《:” 的输出结果是()。 A:p的地址 B:olleH C:h D:H 6、(单选)若有变量声明与初始化语句“it和=new int[30]:”,则下面正确释放p 指向的动态内存的语句是()。 A:delete p: B:delete*p: C:delete &p: D:delete []p; 7,(多选)关于函数0pem以“,”方式打开文件时,下面说法正确的是()。 A:如果该文件已经存在,则剂除其中原有数据 B:如果该文件不存在,则创 建新的文件 C:如果该文件不存在,则先给出提示,再创建新的文作 D:如果磁盘上已无 空间供新建文件,则哈出出带提示 8、(多选头文件stdio.,包含对下面()的声明. A:FILE类型 B:fscanf函数 C:felose函数 D:ext函 数 9、(多透)若有声明:inta[10]。pa:则下面表达式中有效访问数组a的第i个元 素植的是()
自测练习 【自测练习】 一、基础题 1、(单选)若有声明:int m=7;,则下面声明语句正确的是( )。 A: int p=&m; B: int *p=&m; C: int &p=*m; D: int *p=m; 2、(单选)要使语句“p=new int[10];”能够正常执行,则下面对变量 p 声明正确的 是( )。 A: int p; B: int p[10]; C: int *p; D: int (*p)[10]; 3、(单选)下面是函数 fopen 打开文件的方式选项,其中表示“只读,如文件不存在 则出错”的选项是( )。 A: "a" B: "o" C: "r" D: "w" 4、(单选)fscanf 函数进行格式化读文件时,格式控制字符( )表示读一个整数。 A: %d B: %f C: %c D: %s 5、(单选)若执行语句“cout << p;”的输出是“Hello!”,则执行语句“cout << *p;” 的输出结果是( )。 A: p 的地址 B: olleH C: h D: H 6、(单选)若有变量声明与初始化语句“int *p=new int[30];”,则下面正确释放 p 指向的动态内存的语句是( )。 A: delete p; B: delete *p; C: delete &p; D: delete []p; 7、(多选)关于函数 fopen 以“w”方式打开文件时,下面说法正确的是( )。 A: 如果该文件已经存在,则删除其中原有数据 B: 如果该文件不存在,则创 建新的文件 C: 如果该文件不存在,则先给出提示,再创建新的文件 D: 如果磁盘上已无 空间供新建文件,则给出出错提示 8、(多选)头文件 stdio.h,包含对下面( )的声明。 A: FILE 类型 B: fscanf 函数 C: fclose 函数 D: exit 函 数 9、(多选)若有声明:int a[10], *p=a; 则下面表达式中有效访问数组 a 的第 i 个元 素值的是( )

A:a[i】 B:(ati) C:◆(pti) D:p[i] 10,(多选)若有声明语句“char str们=”Shanghai2010”,=str:”,则与语句“cout (《str;”等效的语句是()。 A:cut《(p: B:eout《p C:cout《str+0: D:cout (《p+0: 1山、(填空)填写下面程序运行的输出结果()。 =include《iostrean h> void main int1.a【]-l,3,6,7,9.11,13,151,$pa5: for(j=3:j>0:j-) switch (j) 1 case 1: case 2:cout<<ptt:break: case3:cout(《p: 1 12、(填空)若有声明:inta10b-l0,ptrl-n,和tr2-b:,则表达式:ptrl= 和tr2的值为()。 13、(填空)若有声明:inta-l0b-l0,ptrl-Wa,ptr2-也:,则表达式:ptrl= ptr2的值为(). 14,(填空)若有声明,char s0=“apple”:。测执行语句“c0ut(《s+2:”的结果 是(). 15、(填空)fpen函数打开文作,若运目值为(),表示打开失败. 16、(填空)判斯文件是否己读到文件末尾函数的函数名是()。 17、(填空)一个指针类型的变量占用内存空间()个字节。 18、(填空)完成下面程序的填空,实现程序功能要求
A: a[i] B: *(a+i) C: *(p+i) D: p[i] 10、(多选)若有声明语句“char str[]=”Shanghai2010”, *p=str;”,则与语句“cout void main ( ) { int j,a [ ]={1, 3, 5, 7, 9, 11, 13, 15,}, *p=a+5; for (j=3; j>0; j --) { switch (j) { case 1: case 2:cout<<*p++; break; case 3:cout<<*--p; } } } 12、(填空)若有声明:int a=10, b=10, *ptr1=&a, *ptr2=&b;,则表达式:*ptr1 == *ptr2 的值为( )。 13、(填空)若有声明:int a=10, b=10, *ptr1=&a, *ptr2=&b;,则表达式:ptr1 == ptr2 的值为( )。 14、(填空)若有声明:char s[]=“apple”;,则执行语句“cout << s+2;”的结果 是( )。 15、(填空)fopen 函数打开文件,若返回值为( ),表示打开失败。 16、(填空)判断文件是否已读到文件末尾函数的函数名是( )。 17、(填空)一个指针类型的变量占用内存空间( )个字节。 18、(填空)完成下面程序的填空,实现程序功能要求

体 源文作名:CBx1.CP 功能:将字符变量ch的值,及该字符的SCII码输出到T,TT文件中。 制 年include① +include② void main() FILE村p: char ch 'A': fp fopen ("OUT.TXT"."w"); if (fp=NULL) exit(1): fprintf(fp,“字符①的ASCII值是%④”,ch,(imt)ch): felose (fp): 1 19、(填空)完成下面程序的填空,实现程序功能要求 /体 源文件名:CH6L2.CP 功能:从IN.T文件中依次读入1个整数与1个字符串,再依次输出到屏幕. 利 #include① +include② 年include③ void min() FILE *fp: int x "0; char str80】=": fp=fopen(IN.TT",④):
/* 源文件名:CH6_LX1.CPP 功能:将字符变量 ch 的值,及该字符的 ASCII 码输出到 OUT.TXT 文件中。 */ #include ① #include ② void main() { FILE *fp; char ch = 'A'; fp = fopen("OUT.TXT","w"); if (fp==NULL) exit(1); fprintf(fp,"字符% ③ 的 ASCII 值是% ④ ",ch,(int)ch); fclose(fp); } 19、(填空)完成下面程序的填空,实现程序功能要求 /* 源文件名:CH6_LX2.CPP 功能:从 IN.TXT 文件中依次读入 1 个整数与 1 个字符串,再依次输出到屏幕。 */ #include ① #include ② #include ③ void main() { FILE *fp; int x = 0; char str[80] = ""; fp=fopen("IN.TXT", ④ );

if (fp=NULL) exit(1): fscanf (fp,"d ss",) ⑦: cout const int N=8: void main() imta[,和,利 for (p a:p (a+N-1:p++) cim>》和 1 p=① qa+N-1: hi1c(@) int r-p: *p*q: F p③: q①:
if (fp==NULL) exit(1); fscanf(fp,"%d %s", ⑤ , ⑥ ); ⑦ ; cout const int N=8; void main() { int a[N],*p,*q; for (p = a; p > *p; } p=①; q=a+N-1; while( ② ) { int r=*p; *p=*q; *q=r; p ③ ; q ④ ; }

for (p"a:p<=a+N-1:p++) { cout(《p《””: 1 cout <endl: 1 二、编程题 1,编写程序实现功能:从健盘读入2个整数依次献给变量x和y,然后在屏幕上依次 输出x和y的地址。 2、编写程序实现功旋:申请存放N个字符的动老内存空间(其中N为正整数,从健盘 读入),存政从键盘读入的字符串(字符串长度小于),将字符串中的所有字符按字典序 排序,最后在屏幕上输出排序后的字符串,并释放动态内存空间。 3,偏写程序实现功能:从文作“63i血txt”中速入某位学生的3门误程的考试成境。 计算该位学生的总分,并将总分写入文件“c城3out,txt”。文件ch6_31n.tt与 ch63out.txt的数据其及格式样例如知下所示: ch6_3in.txt: 70.58091.5 ch6_3out.txt: 总分242.000000 4,编写程序实现功能:从文作“641m1xt”中读入一批学生的蛙名(学生人数不超 过100),将学生的姓名按字典序依次输出到文件“ch6_4aut.txt”中,文件ch6_4in.tt 与c橘4out,txt的数据其及格式样例如下所示 ch6 Ain.txt Mark Marry Rose Jane Peter ch6 4out.txt Jane Mark Marry Peter Rose 5、编写程序实联功能:从文件“c:\ch6in.txt”中读入某班程序设计基础课程的考试 成绩,将其中考试不及格(成绩(0)的学生的学号、姓名,成绩输出到文作 “c:cd6out.txt”中。文件ch6_in.tt与ch6_o园,txt的数据其及格式样例如下所示: cho in.txt:
for (p=a; p<=a+N-1; p++) { cout << *p << " " ; } cout << endl; } 二、编程题 1、编写程序实现功能:从键盘读入 2 个整数依次赋给变量 x 和 y,然后在屏幕上依次 输出 x 和 y 的地址。 2、编写程序实现功能:申请存放 N 个字符的动态内存空间(其中 N 为正整数,从键盘 读入),存放从键盘读入的字符串(字符串长度小于 N),将字符串中的所有字符按字典序 排序,最后在屏幕上输出排序后的字符串,并释放动态内存空间。 3、编写程序实现功能:从文件“ch6_3in.txt”中读入某位学生的 3 门课程的考试成绩, 计算该位学生的总分,并将总分写入文件“ch6_3out.txt”。文件 ch6_3in.txt 与 ch6_3out.txt 的数据其及格式样例如下所示: ch6_3in.txt: 70.5 80 91.5 ch6_3out.txt: 总分 242.000000 4、编写程序实现功能:从文件“ch6_4in.txt”中读入一批学生的姓名(学生人数不超 过 100),将学生的姓名按字典序依次输出到文件“ch6_4out.txt”中。文件 ch6_4in.txt 与 ch6_4out.txt 的数据其及格式样例如下所示: ch6_4in.txt Mark Marry Rose Jane Peter ch6_4out.txt Jane Mark Marry Peter Rose 5、编写程序实现功能:从文件“c:\ch6_in.txt”中读入某班程序设计基础课程的考试 成 绩 , 将其 中 考试 不 及格 ( 成绩 <60 )的 学生 的 学号 、 姓名 、 成绩 输 出到 文 件 “c:\ch6_out.txt”中。文件 ch6_in.txt 与 ch6_out.txt 的数据其及格式样例如下所示: ch6_in.txt:

C220304042avid40 0220304043Jcha76 022030404 4 Varry6A 0220304045Rose73 0220304046sian60 0220304047Bush59 说明: 其中每一行是一位学生信息,且依次为学号、姓名、成境。 ch6_out.txt 022030H02avid40 022030M047Bush59
0220304042 David 40 0220304043 John 76 0220304044 Marry 64 0220304045 Rose 73 0220304046 Simon 60 0220304047 Bush 59 说明: 其中每一行是一位学生信息,且依次为学号、姓名、成绩。 ch6_out.txt: 0220304042 David 40 0220304047 Bush 59