大学C语言期末考试练习题带详解答案

上传人:公**** 文档编号:590718751 上传时间:2024-09-15 格式:PPT 页数:119 大小:1.15MB
返回 下载 相关 举报
大学C语言期末考试练习题带详解答案_第1页
第1页 / 共119页
大学C语言期末考试练习题带详解答案_第2页
第2页 / 共119页
大学C语言期末考试练习题带详解答案_第3页
第3页 / 共119页
大学C语言期末考试练习题带详解答案_第4页
第4页 / 共119页
大学C语言期末考试练习题带详解答案_第5页
第5页 / 共119页
点击查看更多>>
资源描述

《大学C语言期末考试练习题带详解答案》由会员分享,可在线阅读,更多相关《大学C语言期末考试练习题带详解答案(119页珍藏版)》请在金锄头文库上搜索。

1、大家好大家好1第2页 单项选择题单项选择题单项选择题单项选择题 3)3)某某C C程序由一个主函数程序由一个主函数main( )main( )和一个自定义函数和一个自定义函数max( )max( )组成,则该程序组成,则该程序 . .A A)总是从)总是从max( )max( )函数开始执行函数开始执行 B B)写在前面的函数先开始执行)写在前面的函数先开始执行 C C)写在后面的函数先开始执行)写在后面的函数先开始执行 D D)总是从)总是从main( )main( )函数开始执行函数开始执行 4)4)C C语言规定,一个语言规定,一个C C源程序的主函数名必须为源程序的主函数名必须为 .

2、. A A)program program B B)include include C C)main main D D)function function DCC语语言言程程序序设设计计 概概述述 返回目录第3页 单项选择题单项选择题单项选择题单项选择题 5)5)下列说法正确的是下列说法正确的是 . .A A)在书写)在书写C C语言源程序时,每个语句以逗号结束语言源程序时,每个语句以逗号结束B B)注释时,)注释时,/和和*号间可以有空格号间可以有空格C C)无论注释内容的多少,在对程序编译时都被忽略)无论注释内容的多少,在对程序编译时都被忽略D D)C C程序每行只能写一个语句程序每行只能

3、写一个语句6)6)C C语言源程序文件的后缀是语言源程序文件的后缀是 ,经过,经过CompileCompile后,生成文件的后缀是,经过后,生成文件的后缀是,经过LinkLink后,生成文后,生成文件的后缀是件的后缀是. . A A).obj .obj B B).exe .exe C C).c .c D D).doc .doc CCABC语语言言程程序序设设计计 概概述述 返回目录第4页 单项选择题单项选择题单项选择题单项选择题 7)7)Visual C+ 6.0 IDEVisual C+ 6.0 IDE的编辑窗口的主要功能是的编辑窗口的主要功能是.输出窗口的主要功能是输出窗口的主要功能是.调

4、试器(调试器(DebugDebug)的主要功能是的主要功能是. A A)建立并修改程序)建立并修改程序 B B)将)将C C源程序编译成目标程序源程序编译成目标程序 C C)跟踪分析程序的执行跟踪分析程序的执行D D)显示编译结果信息(如语法错误等)显示编译结果信息(如语法错误等)ADCC语语言言程程序序设设计计 概概述述 返回目录第5页 单项选择题单项选择题单项选择题单项选择题 8)8)在在Visual C+ 6.0Visual C+ 6.0开发环境下,开发环境下,C C程序按工程(程序按工程(projectproject)进行组织,每个工程可包括)进行组织,每个工程可包括 C/CPPC/C

5、PP源文件,源文件,但只能有但只能有 mainmain函数。函数。A A)1 1个个B B)2 2个个C C)3 3个个D D)1 1个以上(含个以上(含1 1个)个)DAC语语言言程程序序设设计计 概概述述 返回目录第6页 单项选择题单项选择题单项选择题单项选择题 9)9)调试程序时,如果某个语句后少了一个分号,调试时会提示错误,这种情况一般称之为调试程序时,如果某个语句后少了一个分号,调试时会提示错误,这种情况一般称之为. 而某个而某个“计算计算2 2的平方的平方”的程序在调试时没有提示出错,而且成功执行并计算出了结果,只是结果等于的程序在调试时没有提示出错,而且成功执行并计算出了结果,只

6、是结果等于5 5,这种情况,这种情况一般称之为一般称之为. A A)语法错误)语法错误B B)正常情况)正常情况C C)编译器出错)编译器出错D D)逻辑设计错误)逻辑设计错误ADC语语言言程程序序设设计计 概概述述 返回目录第7页C语语言言程程序序设设计计 基基本本数数据据类类型型与与运运算算符符 单项选择题单项选择题单项选择题单项选择题 1)1)C C语言中最基本的非空数据类型包括语言中最基本的非空数据类型包括 . . A A)整型、浮点型、无值型)整型、浮点型、无值型 B B)整型、字符型、无值型)整型、字符型、无值型 C C)整型、浮点型、字符型)整型、浮点型、字符型 D D)整型、浮

7、点型、双精度型、字符型)整型、浮点型、双精度型、字符型2)2)C C语言中运算对象必须是整型的运算符是语言中运算对象必须是整型的运算符是 . A A)% % B B)/ / C C)= = D D)=10 or a=10 or a=0|a=0|a=10 & a=10 & a=10a=10a=0BAD 返回目录第9页C语语言言程程序序设设计计 基基本本数数据据类类型型与与运运算算符符 单项选择题单项选择题单项选择题单项选择题 6)6)下列字符序列中,不可用作下列字符序列中,不可用作C C语言标识符的是语言标识符的是 . .A A)xyd233 xyd233 B B)No.1 No.1 C C)_

8、sd _sd D D)xyz xyz 7)7)在在printf( )printf( )函数中,反斜杠字符函数中,反斜杠字符表示为表示为 . . A A) B B)0 0 C C)n n D D) 8) 8) 设先有定义:设先有定义:int a=10;int a=10;则表达式则表达式a+=a *=aa+=a *=a的值为的值为_._. A A)1010 B B)100 C100 C)1000 1000 D D)2002009) 9) 设先有定义:设先有定义:int a=10;int a=10;则表达式则表达式(+a)+(a- -)(+a)+(a- -)的值为的值为_._. A)20 B)21

9、C)22 D)19BDDC 返回目录第10页C语语言言程程序序设设计计 基基本本数数据据类类型型与与运运算算符符 单项选择题单项选择题单项选择题单项选择题 10) 10) 设先有定义:设先有定义:int y=3,x=3,z=1;则语句:则语句: printf(“%d %dn”,(+x,y+),z+2); 的输出结果为的输出结果为_._. A A)3 43 4 B B)4 2 C4 2 C)4 3 4 3 D D)3 33 311)11)假定假定x x、y y、z z、m m均为均为intint型变量,有如下程序段:型变量,有如下程序段: x=2; y=3; z=1; m=(yx)?y: x;

10、m=(zz)&(y=z)&x|y+z&y+z(x+y)z)&(y=z)&x|y+z&y+z的值为的值为 . . A A)0 0 B B)1 1 C C)2 2 D D)3 3 14)14)如果如果a=1,b=2,c=3,d=4a=1,b=2,c=3,d=4,则条件表达式,则条件表达式ab?a:cd?c:dab?a:cd?c:d的值为的值为 _. _. A A)1 1 B B)2 C2 C)3 3 D D)4 415)15)设设int m=1,n=2; int m=1,n=2; 则则m+=nm+=n;的结果是;的结果是_._. A)0 B)1 C)2 D)3BBAA 返回目录第12页C语语言言程

11、程序序设设计计 基基本本数数据据类类型型与与运运算算符符 填空题填空题填空题填空题 1 1表达式表达式10/310/3的结果是的结果是_;10%310%3的结果是的结果是_。2 2执行语句:执行语句:int a=12;a+=a-=a*a;int a=12;a+=a-=a*a;后的值是后的值是_。3 3以下语句的输出结果是以下语句的输出结果是_。 short b=65535;short b=65535; printf(%d,b); printf(%d,b);31-264-1 返回目录第13页C语语言言程程序序设设计计 基基本本数数据据类类型型与与运运算算符符 填空题填空题填空题填空题 4 4以下

12、程序的执行结果是以下程序的执行结果是_。#include#includemain( )main( ) int a,b,x;int a,b,x;x=(a=3,b=a- -);x=(a=3,b=a- -);printf(x=%d,a=%d,b=%dn,x,a,b);printf(x=%d,a=%d,b=%dn,x,a,b); x=3,a=2,b=3 返回目录第14页C语语言言程程序序设设计计 基基本本数数据据类类型型与与运运算算符符 填空题填空题填空题填空题 5 5以下程序的执行结果是以下程序的执行结果是_。#include#includemain( )main( ) float f1,f2,f3

13、,f4;float f1,f2,f3,f4;int m1,m2;int m1,m2;f1=f2=f3=f4=2;f1=f2=f3=f4=2;m1=m2=1;m1=m2=1;printf(%dn,(m1=f1=f2)&(m2=f3=f2)&(m2=f3f4); 0 返回目录第15页C语语言言程程序序设设计计 基基本本数数据据类类型型与与运运算算符符6 6以下程序的执行结果是以下程序的执行结果是_。#include#includemain()main() float f=13.8;float f=13.8;int n;int n;n=(int)f%3;n=(int)f%3;printf(n=%dn

14、,n);printf(n=%dn,n); 填空题填空题填空题填空题 n=1 返回目录第16页C语语言言程程序序设设计计 控控制制结结构构 单项选择题单项选择题单项选择题单项选择题 1)1)结构化程序模块不具有的特征是结构化程序模块不具有的特征是. .A A)只有一个入口和一个出口)只有一个入口和一个出口 B B)要尽量多使用)要尽量多使用gotogoto语句语句 C C)一般有顺序、选择和循环三种基本结构)一般有顺序、选择和循环三种基本结构 D D)程序中不能有死循环)程序中不能有死循环 2)2)C C语言中,逻辑语言中,逻辑“真真”等价于等价于. .A A)整数)整数1 1 B B)整数)整

15、数0 0 C C)非)非0 0数数D D)TRUETRUE3 3)以下)以下4 4条语句中,有语法错误的是条语句中,有语法错误的是. .A A)if(ab) m=a;if(ab) m=a; B B)if(ab) m=b;if(a=0) m=a; if(a=b)=0) m=a; D D)if(a=b;)=0) m=a;if(a=b;)=0) m=a;BCD 返回目录第17页C语语言言程程序序设设计计 控控制制结结构构 单项选择题单项选择题单项选择题单项选择题 4 4)若若i, ji, j均为整型变量,则以下循环均为整型变量,则以下循环. . for(i=0,j=2; j=1; i+,j-)for

16、(i=0,j=2; j=1; i+,j-)printf(%5d, %dn, i, j);printf(%5d, %dn, i, j); A A)循环体只执行一次)循环体只执行一次B B)循环体执行二次)循环体执行二次 C C)是无限循环)是无限循环D D)循环条件不合法)循环条件不合法5 5)以下程序段,执行结果为)以下程序段,执行结果为. a=1;a=1;do do a=a*a; a=a*a; while(!a);while(!a); A A)循环体只执行一次)循环体只执行一次B B)循环体执行二次)循环体执行二次 C C)是无限循环)是无限循环D D)循环条件不合法)循环条件不合法CA 返

17、回目录第18页C语语言言程程序序设设计计 控控制制结结构构 单项选择题单项选择题单项选择题单项选择题 6 6)C C语言中语言中whilewhile与与dodowhilewhile语句的主要区别是语句的主要区别是. A A)dodowhilewhile的循环体至少无条件执行一次的循环体至少无条件执行一次 B B)dodowhilewhile允许从外部跳到循环体内允许从外部跳到循环体内 C C)whilewhile的循环体至少无条件执行一次的循环体至少无条件执行一次 D D)whilewhile的循环控制条件比的循环控制条件比dodowhilewhile的严格的严格7 7)语句)语句while

18、(!a);while (!a);中条件等价于中条件等价于. A A)a!=0a!=0 B B)aa C C)a=1 a=1 D D)a=0a=0AD 返回目录第19页C语语言言程程序序设设计计 控控制制结结构构 单项选择题单项选择题单项选择题单项选择题 8 8)以下程序的运行结果为)以下程序的运行结果为. .#include #include main( )main( ) int i=1,sum=0;int i=1,sum=0;while(i=100)while(i=100)sum+=i;sum+=i;i+;i+;printf(1+2+3+.+99+100=%d, sum);printf(1+

19、2+3+.+99+100=%d, sum); A A)50505050B B)1 1 C C)0 0D D)程序陷入死循环)程序陷入死循环 D 返回目录第20页C语语言言程程序序设设计计 控控制制结结构构 单项选择题单项选择题单项选择题单项选择题 9 9)以下程序的运行结果为)以下程序的运行结果为. . #include #include main( )main( ) int sum,pad;int sum,pad;sum=pad=5;sum=pad=5;pad=sum+;pad=sum+;pad+;pad+;+pad;+pad;printf(%dn, pad);printf(%dn, pad

20、); A A)7 7 B B)6 6 C C)5 5 D D)4 4A 返回目录第21页C语语言言程程序序设设 单项选择题单项选择题单项选择题单项选择题 1010)以下程序的运行结果为)以下程序的运行结果为. . #include #include main( )main( ) int a=2,b=10;int a=2,b=10;printf(a=%d,b=%dn, a,b);printf(a=%d,b=%dn, a,b); A A)a=%2,b=%10a=%2,b=%10B B)a=2,b=10 a=2,b=10 C C)a=%d,b=%da=%d,b=%dD D)a=%d,b=%da=%d

21、,b=%dD 返回目录第22页C语语言言程程序序设设计计 单项选择题单项选择题单项选择题单项选择题 1111)为了避免嵌套的)为了避免嵌套的if-elseif-else语句的二义性,语句的二义性,C C语言规定语言规定elseelse总是总是. A A)与缩排位置相同的)与缩排位置相同的ifif组成配对关系组成配对关系B B)与在其之前未配对的)与在其之前未配对的ifif组成配对关系组成配对关系C C)与在其之前未配对的最近的)与在其之前未配对的最近的ifif组成配对关系组成配对关系D D)与同一行上的)与同一行上的ifif组成配对关系组成配对关系1212)对于)对于for(for(表达式表达

22、式1; ;1; ;表达式表达式3)3)可理解为可理解为. A A)for(for(表达式表达式1; 0 ;1; 0 ;表达式表达式3)3)B B)for(for(表达式表达式1; 1 ;1; 1 ;表达式表达式3)3)C C)for(for(表达式表达式1;1;表达式表达式1;1;表达式表达式3)3)D D)for(for(表达式表达式1;1;表达式表达式3;3;表达式表达式3)3)CB 返回目录第23页C语语言言程程序序设设计计 程序填空题程序填空题程序填空题程序填空题 1 1下面程序的功能是计算下面程序的功能是计算n!n!。#include #include main( )main( )

23、int i, n;int i, n;long p;long p;printf ( Please input a number:n );printf ( Please input a number:n );scanf (%d, &n);scanf (%d, &n);p=_;p=_;for (i=2; i=n; i+)for (i=2; i=n; i+)_;_;printf(n!=%ld, p);printf(n!=%ld, p); 1p=p*i;或或p*=i; 返回目录第24页C语语言言程程序序设设计计 程序填空题程序填空题程序填空题程序填空题 2 2下面程序的功能是:从键盘上输入若干学生的成绩

24、,统计并输出最高和最低成绩,当输入负数时结束输入。下面程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高和最低成绩,当输入负数时结束输入。#include #include main ( )main ( ) float score, max, min; float score, max, min; printf ( Please input one score:n ); printf ( Please input one score:n ); scanf (%d, &score); scanf (%d, &score); max=min=score; max=min=score; whi

25、le ( _ ) while ( _ ) if (scoremax) max=score; if (scoremax) max=score; if ( _ ) min=score; if ( _ ) min=score; printf ( Please input another score:n ); printf ( Please input another score:n ); scanf (%d, &score); scanf (%d, &score); printf(nThe max score is %fnThe min score is %f,max,min); printf(nT

26、he max score is %fnThe min score is %f,max,min); score=0scoremin 返回目录第25页C语语言言程程序序设设计计 程序填空题程序填空题程序填空题程序填空题 3 3下面程序的功能是:计算下面程序的功能是:计算y= y= 的值。要求从键盘上输入的值。要求从键盘上输入x x的值,精度控制在的值,精度控制在0.000010.00001内。内。#include #include #include #include main ( )main ( ) float x , y=0, fz=-1, fm=1, temp=1; float x , y=0

27、, fz=-1, fm=1, temp=1; printf ( Please input the value of x:n ); printf ( Please input the value of x:n ); scanf (%f, &x); scanf (%f, &x); while ( _ ) while ( _ ) fz= _ ; fz= _ ; fm=fm+2; temp=fz/fm; y+=temp; fm=fm+2; temp=fz/fm; y+=temp; printf(ny= %f, y); printf(ny= %f, y); fabs(temp)0.00001-fz*x

28、返回目录第26页C语语言言程程序序设设计计 程序填空题程序填空题程序填空题程序填空题 4 4下面的程序完成两个数的四则运算。用户输入一个实现两个数的四则运算的表达式,程序采用下面的程序完成两个数的四则运算。用户输入一个实现两个数的四则运算的表达式,程序采用switchswitch语句对其运算进语句对其运算进行判定后执行相应的运算并给出结果。行判定后执行相应的运算并给出结果。#include #include main( )main( ) float x,y;float x,y;char op;char op;printf(Please input Expression:);printf(Ple

29、ase input Expression:);scanf(%f%c%f,&x,&op,&y);scanf(%f%c%f,&x,&op,&y);_ case +:case +:printf(%g%c%g=%gn, _ );printf(%g%c%g=%gn, _ );_;_;switch(op)x,op,y,x+ybreak 返回目录第27页C语语言言程程序序设设计计 程序填空题程序填空题程序填空题程序填空题 case -:printf(%g%c%g=%gn,x,op,y,x-y);break;case *:printf(%g%c%g=%gn,x,op,y,x*y);break;case /:i

30、f (_)printf(Division Error!n);elseprintf(%g%c%g=%gn,x,op,y,x/y);break;default:printf(Expression Error!n);(y=-1e-6) & (y=-1e-6) & (y=”或“=-EPSINON) & (y=EPSINON)其中EPSINON是允许的误差(即精度)。 返回目录第29页C语语言言程程序序设设计计编程题编程题编程题编程题 1给出三角形的三边a、b、c,求三角形的面积。(应先判断a、b、c三边是否能构成一个三角形)。#include #include main( ) float a,b,c,

31、area,p;scanf(%f,%f,%f,&a,&b,&c);p=(a+b+c)/2;if(a+bc&a+cb&b+ca) area=sqrt(p*(p-a)*(p-b)*(p-c);printf(Area=%6.2fn,area); else printf(Errorn); 返回目录第30页C语语言言程程序序设设计计 编程题编程题编程题编程题 2输入四个整数,要求将它们按由小到大的顺序输出。#include main( ) int a,b,c,d,t;scanf(%d,%d,%d,%d,&a,&b,&c,&d);if(ab) t=a; a=b; b=t; if(ac) t=a; a=c;

32、c=t; if(ad) t=a; a=d; d=t; if(bc) t=b; b=c; c=t; if(bd) t=b; b=d; d=t; if(cd) t=c; c=d; d=t; printf(%d,%d,%d,%dn,a,b,c,d); 返回目录第31页C语语言言程程序序设设计计 编程题编程题编程题编程题 3某幼儿园只收2至6岁的小孩,23岁编入小班,4岁编入中班,56岁编入大班,编制程序实现每输入一个年龄,输出该编入什么班。#include main( ) int age; scanf(%d,&age); switch (age) case 2:case 3: printf(Smal

33、l class n); break; case 4: printf(Middle classn); break; case 5:case 6: printf(Large classn); break; default : printf(Errorn); 返回目录第32页C语语言言程程序序设设计计 编程题编程题编程题编程题 4输入一元二次方程的三个系数a、b、c,求出该方程所有可能的根。#include #include main( ) float a,b,c,d,x1,x2; scanf(%f,%f,%f,&a,&b,&c); d=b*b-4*a*c; if(fabs(a)=1e-6) if(

34、fabs(b)=1e-6)if(fabs(c)=1e-6)printf(The equations root is innumerablen.); else printf(Nonen); else printf(The equations root is %fn ,-c/b); elseif(fabs(d)1e-6) x1=(-b+sqrt(d)/(2*a); x2=(-b-sqrt(d)/(2*a); printf(The equations root is ); printf(x1=%f,x2=%fn ,x1,x2); else x1=-b/(2*a); x2=sqrt(-d)/(2*a)

35、; printf(The equations root is %f+Ifn ,x1,x2); printf(The equations root is %f-I%fn ,x1,x2); 4输入一元二次方程的三个系数a、b、c,求出该方程所有可能的根。 返回目录第34页C语语言言程程序序设设计计 编程题编程题编程题编程题 5编程求s=1-1/2+1/3-1/4+ -1/100。#include main( )int n,flag=1; float s=0; for(n=1; n=100; n+)s=s+1.0*flag/n; flag=-flag; printf(fn,s); 返回目录第35页C

36、语语言言程程序序设设计计 编程题编程题编程题编程题 6编程求1!+2!+3!+10!之和。#include main( )long int s=0,p=1; int n; for(n=1; n=10; n+)p=p*n; s=s+p; printf(%ldn,s); 返回目录第36页C语语言言程程序序设设计计 编程题编程题编程题编程题 7一张10元票面的纸钞兑换成1元、2元或5元的票面,问共有多少种不同的兑换方法?#include main( ) int a,b,c,sum=0; for(a=0; a=10; a+)for(b=0; b=5; b+)for(c=0; c=2; c+)if(a+

37、2*b+5*c=10) printf(%d,%d,%dn,a,b,c); sum+; printf(%dn,sum); 返回目录第37页C语语言言程程序序设设计计 编程题编程题编程题编程题 8编程打印出所有的“水仙花数”。所谓水仙花数:是指一个三位数,其各位数字的立方之和等于该数。#include main( ) int n,a,b,c; for(n=100; n1000; n+) a=n/100; b=n/10%10; c=n%10; if(a*a*a+b*b*b+c*c*c=n)printf(水仙花数有:水仙花数有:%5dn,n); 返回目录第38页C语语言言程程序序设设 编程题编程题编程

38、题编程题 9如果一个数等于其所有真因子(不包括其本身)之和,则该数为完数,例如6的因子有1、2、3,且6=1+2+3,故6为完数,求21000中的完数。#include main( ) int s,n,k; for(n=2; n=1000; n+) s=0; for(k=1; kn; k+)if(n%k=0) s=s+k; if(s=n)printf(%5d,n); printf(n); 返回目录第39页C语语言言程程序序设设计计 编程题编程题编程题编程题 10输出71000中个数位为7的所有素数,统计其个数并求出它们的和。#include main( ) int n,count=0,tota

39、l=0,m,temp,y;for(n=7; n1000; n+) for(m=2; mn; m+)if(n%m=0) break;if(n=m) temp=n%10;if(temp=7) printf(%6d,n);if (count%5=4) printf(n);count+;total= total +n;printf(ncount=%d, total =%dn,count, total); 返回目录第40页C语语言言程程序序设设计计 控控制制结结构构 编程题编程题编程题编程题 11一个自然数平方的末几位与该数相同时,称该数为同构数。例如252=625,则25为同构数。编程求出11000中

40、所有的同构数。#include main( )int x;for(x=1; x=1000; x+)if(x*x%10=x|x*x%100=x|x*x%1000=x)printf(%5d,x); printf(n); 返回目录第41页C语语言言程程序序设设计计 数数组组单项选择题单项选择题单项选择题单项选择题 1 1在下列数组定义、初始化或赋值语句中,正确的是在下列数组定义、初始化或赋值语句中,正确的是. .A A)int a8; a8=100;int a8; a8=100; B B)int x5=1,2,3,4,5,6;int x5=1,2,3,4,5,6;C C)int x =1,2,3,4

41、,5,6;int x =1,2,3,4,5,6; D D)int n=8; int scoren;int n=8; int scoren;2 2若已有定义:若已有定义:int i, a100; int i, a100; 则下列语句中,不正确的是则下列语句中,不正确的是. .A A)for ( i=0; i100; i+ ) ai=i; for ( i=0; i100; i+ ) ai=i; B B)for ( i=0; i100; i+ ) scanf ( %d, &ai );for ( i=0; i100; i+ ) scanf ( %d, &ai );C C)scanf (%d, &a);

42、scanf (%d, &a);D D)for ( i=0; i100; i+ ) scanf ( %d, a+i );for ( i=0; i100; i+ ) scanf ( %d, a+i );CC 返回目录第42页C语语言言程程序序设设计计 数数组组单项选择题单项选择题单项选择题单项选择题 3 3与定义与定义char c =GOOD; char c =GOOD; 不等价的是不等价的是. .A A)char c =char c =G G, ,O O, ,O O, ,D D, ,00;B B)char c =GOOD;char c =GOOD;C C)char c4=GOOD;char c4

43、=GOOD;D D)char c5=char c5=G G, ,O O, ,O O, ,D D, ,00;4 4若已有定义:若已有定义:char c8=GOOD; char c8=GOOD; 则下列语句中,不正确的是则下列语句中,不正确的是. .A A)puts (c);puts (c);B B)for(i=0;ci!=for(i=0;ci!=00;i+) printf(%c, ci);i+) printf(%c, ci);C C)printf (%s, c);printf (%s, c);D D)for(i=0;ci!=for(i=0;ci!=00;i+) putchar( c );i+)

44、putchar( c );CD 返回目录第43页C语语言言程程序序设设 数数组组单项选择题单项选择题单项选择题单项选择题 5 5若定义若定义a 3=0,1,2,3,4,5,6,7; a 3=0,1,2,3,4,5,6,7; 则则a a数组中行的大小是数组中行的大小是. .A A) 2 2B B) 3 3C C) 4 4D D) 无确定值无确定值6 6以下程序的运行结果是以下程序的运行结果是. .#include #include void f ( int b )void f ( int b ) int i=0;int i=0;while(bi=10)while(bi=10) bi+=2;bi+

45、=2;i+;i+; A A) 2 7 12 11 13 9 2 7 12 11 13 9 B B) 1 7 12 11 13 71 7 12 11 13 7C C) 1 7 12 11 13 9 1 7 12 11 13 9 D D) 1 7 12 9 13 71 7 12 9 13 7BBmain( )main( ) int i, a = 1, 5,10, 9,13, 7;int i, a = 1, 5,10, 9,13, 7;f(a+1);f(a+1);for(i=0; i6; i+)for(i=0; i6; i+)printf(%4d , ai);printf(%4d , ai); 返回

46、目录第44页C语语言言程程序序设设计计 数数组组单项选择题单项选择题单项选择题单项选择题 7 7若执行以下程序段,其运行结果是若执行以下程序段,其运行结果是. .char c =a, b, 0, c, 0;char c =a, b, 0, c, 0;printf ( %sn, c );printf ( %sn, c );A A) ab cab cB B) a ab bC C) abcabc D D) abab8 8数组名作为参数传递给函数,作为实际参数的数组名被处理为数组名作为参数传递给函数,作为实际参数的数组名被处理为. .A A)该数组长度)该数组长度 B B)该数组元素个数)该数组元素个

47、数C C)该函数中各元素的值)该函数中各元素的值D D)该数组的首地址)该数组的首地址1111当接受用户输入的含空格的字符串时,应使用函数当接受用户输入的含空格的字符串时,应使用函数. .A A)scanf( ) Bscanf( ) B)gets( ) Cgets( ) C) getchar( ) Dgetchar( ) D)getc( )getc( )DDB 返回目录第45页C语语言言程程序序设设计计 数数组组单项选择题单项选择题单项选择题单项选择题 9 9执行下面的程序段后,变量执行下面的程序段后,变量k k中的值为中的值为. .int k=3, s2=1; int k=3, s2=1;

48、s0=k; s0=k; k=s1*10;k=s1*10;A A)不定值)不定值B B) 3333C C) 30 30 D D) 0 01010在定义在定义int a54;int a54;之后;对之后;对a a的引用正确的是的引用正确的是. .A A)a24a24B B) a50a50 C C)a00a00D D)a0,0a0,0DC 返回目录第46页C语语言言程程序序设设计计 数数组组程序填空题程序填空题程序填空题程序填空题 1 1以下程序用来检查二维数组是否对称(即:对所有以下程序用来检查二维数组是否对称(即:对所有i i,j j都有都有aij=ajiaij=aji)。)。#include

49、#include main ( )main ( ) int a44=1,2,3,4, 2,2,5,6, 3,5,3,7, 8,6,7,4;int a44=1,2,3,4, 2,2,5,6, 3,5,3,7, 8,6,7,4;int i, j, found=0;int i, j, found=0;for ( j=0; j4; j+ )for ( j=0; j4; j+ ) for (i=0; i4; i+ )for (i=0; i4; i+ )if ( _ )if ( _ ) found= _ ;found= _ ;break;break; if (found) break;if (found)

50、 break; if (found) if (found) printf (printf (不对称不对称n);n);else else printf(printf(对称对称n);n); aij!=aji1 返回目录第47页C语语言言程程序序设设计计 数数组组程序填空题程序填空题程序填空题程序填空题 2 2以下程序是用来输入以下程序是用来输入5 5个整数,并存放在数组中,找出最大数与最小数所在的下标位置,并把两者对调,然个整数,并存放在数组中,找出最大数与最小数所在的下标位置,并把两者对调,然后输出调整后的后输出调整后的5 5个数。个数。#include #include main( )main

51、( ) int a5, t, i, maxi, mini;int a5, t, i, maxi, mini;for ( i=0; i5; i+ )for ( i=0; i5; i+ ) scanf ( %d, &ai );scanf ( %d, &ai );mini=maxi= _mini=maxi= _【3 3】_;_;for ( i=1; i5; i+ )for ( i=1; iamaxi ) _if ( aiamaxi ) _【5 5】_ ;_ ; printf ( printf ( 最小数的位置是最小数的位置是:%3dn, mini );:%3dn, mini );printf ( p

52、rintf ( 最大数的位置是最大数的位置是:%3dn, maxi );:%3dn, maxi );t=amaxi; _t=amaxi; _【6 6】_ ;_ ;amini=t;amini=t;printf ( printf ( 调整后的数为调整后的数为: );: );for ( i=0; i5; i+ )for ( i=0; iaimaxi=iamaxi=amini 返回目录第48页C语语言言程程序序设设计计 数数组组程序填空题程序填空题程序填空题程序填空题 3 3给定一给定一3 x 43 x 4的矩阵,求出其中的最大元素值,与其所在的行列号:的矩阵,求出其中的最大元素值,与其所在的行列号:

53、main( )main( ) int i,j,row=0,colum=0,max;int i,j,row=0,colum=0,max;static int a34=1,2,3,4,9,8,7,6,10,-10,-4,4;static int a34=1,2,3,4,9,8,7,6,10,-10,-4,4;_【7 7】_;_;for(i=0;i=2;i+)for(i=0;i=2;i+)for(j=0;j=3;j+) for(j=0;jmax)max=aij;row=i;colum=j; 返回目录第49页C语语言言程程序序设设计计 数数组组程序填空题程序填空题程序填空题程序填空题 4 4下述函数用

54、于确定给定字符串的长度,请完成程序。下述函数用于确定给定字符串的长度,请完成程序。strlen ( char s )strlen ( char s ) int i=0;int i=0;while (_while (_【1010】_ ) +i;_ ) +i;return (_return (_【1111】_ );_ ); si!=0i 返回目录第50页C语语言言程程序序设设计计 数数组组程序填空题程序填空题程序填空题程序填空题 5 5以下程序的功能是从键盘上输入若干个字符(以回车键作为结束)组成一个字符数组,然后输出该字符数以下程序的功能是从键盘上输入若干个字符(以回车键作为结束)组成一个字符数

55、组,然后输出该字符数组中的字符串,请填空!组中的字符串,请填空!#include#includemain ( )main ( ) char str81;char str81;int i;int i;for ( i=0; i80; i+ )for ( i=0; i80; i+ ) stri=getchar( );stri=getchar( );if (stri=if (stri=nn) break;) break; stri=stri=00; ;_【1212】_;_;while ( stri!=while ( stri!=00 ) putchar(_ ) putchar(_【1313】_);_)

56、; i=0stri+ 返回目录第51页C语语言言程程序序设设计计 数数组组阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果 1 1写出下列程序的运行结果并分析之:写出下列程序的运行结果并分析之:#include #include main( )main( ) static int a45=1,2,3,4,0,2,2,0,0,0,3,4,5,0,0,6,0,0,0,0;static int a45=1,2,3,4,0,2,2,0,0,0,3,4,5,0,0,6,0,0,0,0;int j,k;int j,k;for (j=0;j4;j+)for (j=0;

57、j4;j+) for(k=0;k5;k+)for(k=0;k5;k+) if (ajk=0) break;if (ajk=0) break;printf( %d,ajk);printf( %d,ajk); printf(n);printf(n); 返回目录第52页C语语言言程程序序设设计计 数数组组阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果 2 2写出下列程序的运行结果并分析之:写出下列程序的运行结果并分析之:#include #include main ( )main ( ) int a66,i,j;int a66,i,j;for (i=1 ;i

58、6 ; i+)for (i=1 ;i6 ; i+)for ( j=1;j6;j+) for ( j=1;j6;j+) aij= i*j;aij= i*j;for (i=1 ;i6 ; i+)for (i=1 ;i6 ; i+) for ( j=1;j6;j+) for ( j=1;j6;j+) printf( %-4d ,aij ) ;printf( %-4d ,aij ) ;printf(n);printf(n); 返回目录第53页C语语言言程程序序设设计计 数数组组阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果 3 3写出下列程序的运行结果并分析之

59、:写出下列程序的运行结果并分析之:#include #include main ( )main ( ) int a =1,2,3,4,i,j,s=0;int a =1,2,3,4,i,j,s=0;j=1;j=1;for ( i=3;i=0;i- )for ( i=3;i=0;i- ) s=s+ai*j;s=s+ai*j;j=j*10;j=j*10; printf(s=%dn,s);printf(s=%dn,s); 返回目录第54页C语语言言程程序序设设计计 数数组组阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果 4 4写出下列程序的运行结果并分析之:写

60、出下列程序的运行结果并分析之:#include #include main( )main( ) int a=0,2,5,8,12,15,23,35,60,65;int a=0,2,5,8,12,15,23,35,60,65;int x=15,i,n=10,m;int x=15,i,n=10,m;i=n/2+1;i=n/2+1;m=n/2;m=n/2;while(m!=0)while(m!=0) if(xai) i=i-m/2-1; m=m/2; if(xai) i=i+m/2+1; m=m/2; if(xai) i=i+m/2+1; m=m/2; elseelsebreak;break; pr

61、intf(place=%d,i+1);printf(place=%d,i+1); 返回目录第55页C语语言言程程序序设设计计 数数组组阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果 5 5写出下列程序的运行结果并分析之:写出下列程序的运行结果并分析之:#include #include main( )main( ) int a=1,2,3,4,i,j,s=0;int a=1,2,3,4,i,j,s=0;j=1;j=1;for(i=3;i=0;i-)for(i=3;i=0;i-) s=s+ai*j;s=s+ai*j;j=j*10;j=j*10; prin

62、tf(s=%dn,s);printf(s=%dn,s); 返回目录第56页C语语言言程程序序设设计计 数数组组阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果 6 6写出下列程序的运行结果并分析之:写出下列程序的运行结果并分析之:#include #include main( )main( ) char str=1a2b3c;char str=1a2b3c;int i;int i;for(i=0;stri!=0;i+)for(i=0;stri!=0;i+)if(stri=0&stri=0&stri=9)printf(%c,stri);printf(%c,

63、stri);printf(n);printf(n); 返回目录第57页C语语言言程程序序设设计计 数数组组编程题编程题编程题编程题 1 1编一程序用简单选择排序方法对编一程序用简单选择排序方法对1010个整数排序(从大到小)。排序思路为:首先从个整数排序(从大到小)。排序思路为:首先从n n个整数中选出值最大的整个整数中选出值最大的整数,将它交换到第一个元素位置,再从剩余的数,将它交换到第一个元素位置,再从剩余的n-1n-1个整数中选出值次大的整数,将它交换到第二个元素位置,重复上个整数中选出值次大的整数,将它交换到第二个元素位置,重复上述操作述操作n n次后,排序结束。次后,排序结束。2 2

64、编写一程序,实现两个字符串的连接(不用编写一程序,实现两个字符串的连接(不用strcat( )strcat( )函数)。函数)。3 3编写一个把字符串转换成浮点数的函数。编写一个把字符串转换成浮点数的函数。4 4若有说明:若有说明:int a34int a34 1, 2, 3, 4 , 5, 6, 7, 8 , 9, 10, 11, 12 1, 2, 3, 4 , 5, 6, 7, 8 , 9, 10, 11, 12 ;现要将;现要将a a的行和列的元的行和列的元素互换后存到另一个二维数组素互换后存到另一个二维数组b b中。试编程。中。试编程。 返回目录第58页编程题编程题编程题编程题 返回目

65、录第59页C语语言言程程序序设设计计 函函数数单项选择题单项选择题单项选择题单项选择题 1)1)C C语言中函数形参的缺省存储类型是语言中函数形参的缺省存储类型是 . .A A)静态)静态(static)(static)B B)自动)自动(auto)(auto)C C)寄存器)寄存器(register) D(register) D)外部)外部(extern)(extern)2)2)函数调用语句函数调用语句function(exp1,exp2), 18)function(exp1,exp2), 18)中含有的实参个数为中含有的实参个数为. .A A)0 0 B B)1 1 C C)2 2D D)

66、3 3BC 返回目录第60页C语语言言程程序序设设计计 函函数数单项选择题单项选择题单项选择题单项选择题 3)3)下面函数返回值的类型是下面函数返回值的类型是 . .square(float x)square(float x) return x*x;return x*x; A A)与参数)与参数x x的类型相同的类型相同B B)是)是voidvoid型型C C)无法确定)无法确定 D D)是)是intint型型4)4)C C语言规定,程序中各函数之间语言规定,程序中各函数之间 . .A A)不允许直接递归调用,也不允许间接递归调用)不允许直接递归调用,也不允许间接递归调用B B)允许直接递归调

67、用,但不允许间接递归调用)允许直接递归调用,但不允许间接递归调用C C)不允许直接递归调用,但允许间接递归调用)不允许直接递归调用,但允许间接递归调用D D)既允许直接递归调用,也允许间接递归调用)既允许直接递归调用,也允许间接递归调用DD 返回目录第61页C语语言言程程序序设设函函数数单项选择题单项选择题单项选择题单项选择题 5)5)一个函数返回值的类型取决于一个函数返回值的类型取决于 . . A A)returnreturn语句中表达式的类型语句中表达式的类型 B B)调用函数时临时指定)调用函数时临时指定 C C)定义函数时指定或缺省的函数类型)定义函数时指定或缺省的函数类型 D D)调

68、用该函数的主调函数的类型)调用该函数的主调函数的类型6)6)下面叙述中,错误的是下面叙述中,错误的是 . . A A)函数的定义不能嵌套,但函数调用可以嵌套)函数的定义不能嵌套,但函数调用可以嵌套 B B)为了提高可读性,编写程序时应该适当使用注释)为了提高可读性,编写程序时应该适当使用注释 C C)变量定义时若省去了存储类型,系统将默认其为静态变量)变量定义时若省去了存储类型,系统将默认其为静态变量 D D)函数中定义的局部变量的作用域在函数内部)函数中定义的局部变量的作用域在函数内部 CC 返回目录第62页C语语言言程程序序设设计计 函函数数单项选择题单项选择题单项选择题单项选择题 7)

69、7) 在一个源程序文件中定义的全局变量的有效范围为在一个源程序文件中定义的全局变量的有效范围为 . . A A)一个)一个C C程序的所有源程序文件程序的所有源程序文件 B B)该源程序文件的全部范围)该源程序文件的全部范围 C C)从定义处开始到该源程序文件结束)从定义处开始到该源程序文件结束 D D)函数内全部范围)函数内全部范围8)8)某函数在定义时未指明函数返回值类型,且函数中没有某函数在定义时未指明函数返回值类型,且函数中没有returnreturn语句,现若调用该函数,则正确的说法是语句,现若调用该函数,则正确的说法是 . . A A)没有返回值)没有返回值B B)返回一个用户所希

70、望的值)返回一个用户所希望的值 C C)返回一个系统默认值)返回一个系统默认值D D)返回一个不确定的值)返回一个不确定的值CD 返回目录第63页C语语言言程程序序设设计计 函函数数单项选择题单项选择题单项选择题单项选择题 9)9)函数函数swap(int x, int y)swap(int x, int y)可实现对可实现对x x和和y y值的交换。在执行如下定义与调用语句后,值的交换。在执行如下定义与调用语句后,a a和和b b的值分别为的值分别为 . . int a=10, b=20; int a=10, b=20; swap (a,b ); swap (a,b );A A)1010和和

71、1010B B)1010和和2020C C)2020和和1010D D)2020和和20 20 10)10)下面错误的叙述是下面错误的叙述是 . . A A)在某源程序不同函数中可以使用相同名字的变量)在某源程序不同函数中可以使用相同名字的变量 B B)函数中的形式参数是局部变量)函数中的形式参数是局部变量 C C)在函数内定义的变量只在本函数范围内有效)在函数内定义的变量只在本函数范围内有效 D D)在函数内的复合语句中定义的变量在本函数范围内有效)在函数内的复合语句中定义的变量在本函数范围内有效BD 返回目录第64页C语语言言程程序序设设计计 函函数数程序填空题程序填空题程序填空题程序填空

72、题 1求求s=1!+2!+3!+10!之和。!之和。程序如下:程序如下:#include long int factorial(int n)int k=1; long int p=1; for(k=1; k=n; k+)_; return p;main( )int n;float sum=0;for(n=1;n=10;n+)_;printf(%6.3fn,sum); p=p*ksum+=factorial(n)或或sum=sum+factorial(n) 返回目录第65页C语语言言程程序序设设计计 函函数数程序填空题程序填空题程序填空题程序填空题 2以下函数用以求以下函数用以求x的的y次方。次

73、方。double fun (double x, int y)int i;double m=1;for ( i=1; i_; i+ )m=_;return m; =y或或y+1m*x 返回目录第66页C语语言言程程序序设设函函数数程序填空题程序填空题程序填空题程序填空题 3下面定义了一个函数下面定义了一个函数pi,其功能是根据以下的近似值公式来求,其功能是根据以下的近似值公式来求值:值: #include #include double pi(long n) double s=_; long k; for(k=1; k=n; k+) s=s+ _; return (_); 01/(k*k)sqr

74、t(6*s)答案不唯一,因为若初值不同,答案不唯一,因为若初值不同,则有不同的答案组合。则有不同的答案组合。 返回目录第67页C语语言言程程序序设设计计 函函数数 阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果 1下面程序运行的结果是下面程序运行的结果是_:#include #define MAX_COUNT 4void fun( );main( )int n;for(n=1; n=MAX_COUNT; n+)fun( );void fun( )static int k;k=k+2; printf (%d, k); 2,4,6,8, 返回目录第68页C

75、语语言言程程序序设设计计 函函数数 阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果 2下面程序运行的结果是下面程序运行的结果是_:#include int fun(int x) int s;if(x=0|x=1)return 3;s=x-fun(x-3);return s;main( )printf (%dn, fun(3); 0 返回目录第69页C语语言言程程序序设设计计 函函数数 阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果 3下面程序运行的结果是下面程序运行的结果是_:#include unsigned

76、 int fun(unsigned num)unsigned int k=1;dok=k*num%10;num=num/10;while(num);return k;main( )unsigned n=25;printf (“%un”, fun(n); 0 返回目录第70页C语语言言程程序序设设函函数数 阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果 4下面程序运行的结果是下面程序运行的结果是_:#include int fun(int x, int y)static int m=0, n=2;n+=m+1;m=n+x+y;return m;main(

77、 )int j=4, m=1, k;k=fun(j, m);printf (%d, k);k=fun(j,m);printf(%dn, k); 8,17 返回目录第71页C语语言言程程序序设设计计 函函数数 阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果 5下面程序运行的结果是下面程序运行的结果是_:#include void t(int x, int y, int p, int q)p=x*x+y*y;q=x*x-y*y;main( )int a=4, b=3, c=5, d=6;t(a, b, c, d);printf (%d, %dn, c, d

78、); 5,6 返回目录第72页C语语言言程程序序 函函数数 编程题编程题编程题编程题 1编程实现从键盘输入一整数,如果该整数为素数,则返回1,否则返回0。要求单独编写一个求素数的自定义函数。#include int fun(int x)int n;for(n=2; n2)。#include long int Fibonacci (int n)long int p;if(n=0|n=1) p=n;else p= Fibonacci (n-1)+ Fibonacci (n-2);return p;main( ) int n;for(n=1; n=20; n+) printf(%8ld, Fibon

79、acci (n);if(n+1)%8=0) printf(n); 返回目录第74页C语语言言程程序序设设计计 函函数数 编程题编程题编程题编程题 3. 如果一个数等于其所有真因子(不包括其本身)之和,则该数为完数,例如6的因子有1、2、3,且6=1+2+3,故6为完数,求21000中的完数。 #include int IsWanshu(int n) int k, s=0;for(k=1; kn; k+)if(n%k=0) s=s+k;if(s=n)return 1;elsereturn 0;main( ) int i, j=0;for(i=2; i=1000; i+) if(IsWanshu(

80、i) printf(%5d, i);j=j+1; if(j%5=0) printf(n); 返回目录第75页C语语言言程程序序设设计计 指指针针单项选择题单项选择题单项选择题单项选择题 1 1若已定义若已定义int a=8, *p=&a; int a=8, *p=&a; 则下列说法中不正确的是则下列说法中不正确的是A A)* *p pa=8a=8B B)p=&ap=&aC C)* *&a=*p&a=*pD D)* *&a=&*a&a=&*a2 2若已定义若已定义int a2=8,10,*p=&a0;int a2=8,10,*p=&a0;假设假设a0a0的地址为的地址为20002000,则执行,

81、则执行p+p+后,指针后,指针p p的值为的值为A A)20002000B B)20012001C C)20042004D D)200820083 3若已定义若已定义int a8=0,2,3,4,5,6,7,8 ;*p=a;int a8=0,2,3,4,5,6,7,8 ;*p=a;则数组第则数组第2 2个元素个元素“2 2”不可表示为不可表示为A A)a1a1B B)p1p1C C)* *p+1p+1 D D)* *(p+1)(p+1)DCC 返回目录第76页C语语言言程程序序设设计计 指指针针单项选择题单项选择题单项选择题单项选择题 4 4若已定义若已定义int a,*p=&a,*q=&p;

82、int a,*p=&a,*q=&p;则不能表示变量则不能表示变量a a的是的是 A A)* *&a&aB B)* *p pC C)* *q qD D)*q q5 5设已定义语句设已定义语句“int *p10, (*q)10;int *p10, (*q)10;,其中的,其中的p p和和q q分别是分别是 1010个指向整型变量的指针个指向整型变量的指针 指向具有指向具有1010个整型变量的函数指针个整型变量的函数指针 一个指向具有一个指向具有1010个元素的一维数组的指针个元素的一维数组的指针 具有具有1010个指针元素的一维数组个指针元素的一维数组A A)、B B)、C C)、D D)、CD

83、返回目录第77页C语语言言程程序序设设计计 指指针针单项选择题单项选择题单项选择题单项选择题 6 6若已定义若已定义int a24= 80, 81, 82, 83 , 84, 85, 86, 87 , (*p)4=a;int a24= 80, 81, 82, 83 , 84, 85, 86, 87 , (*p)4=a;则执行则执行p+;p+;后,后,*p p代表的元素代表的元素是是 A A)8080B B)8181C C)8484D D)85857 7执行语句执行语句“char a10=abcd,*p=achar a10=abcd,*p=a;后,;后,(p+4)(p+4)的值是的值是 A A)

84、abcdabcdB B)00C C)ddD D)不能确定)不能确定8 8设已定义设已定义int a32=10,20,30,40,50,60;int a32=10,20,30,40,50,60;和语句和语句(*p)2=a;(*p)2=a;则则* *(*(p+2)+1)(*(p+2)+1)的值为的值为A A)6060B B)3030C C)5050D D)不能确定)不能确定CBA 返回目录第78页C语语言言程程序序设设计计 指指针针单项选择题单项选择题单项选择题单项选择题 9 9以下程序的运行结果是以下程序的运行结果是#include #include main( )main( ) int a43

85、= 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12;int a43= 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12;int *p4, i;int *p4, i;for(i=0; i4; i+)for(i=0; i4; i+)pi=ai;pi=ai;printf(%2d,%2d,%2d,%2dn, *p1, (*p)1, p32, *(p3+1);printf(%2d,%2d,%2d,%2dn, *p1, (*p)1, p32, *(p3+1); A)4, 4, 9, 8A)4, 4, 9, 8B)B)程序出错程序出错C)4, 2,12,11C)4,

86、 2,12,11D)1, 1, 7, 5 D)1, 1, 7, 5 C 返回目录第79页C语语言言程程序序设设计计 指指针针单项选择题单项选择题单项选择题单项选择题 1010以下各语句或语句组中,正确的操作是以下各语句或语句组中,正确的操作是A A)char s4=abcde;char s4=abcde;B B)char *s; gets(s);char *s; gets(s);C C)char *s; s=abcde;char *s; s=abcde;D D)char s5; scanf(%s, &s);char s5; scanf(%s, &s);C 返回目录第80页C语语言言程程序序设设

87、计计 指指针针单项选择题单项选择题单项选择题单项选择题 1111以下程序的运行结果是以下程序的运行结果是 #include #include main ( )main ( ) char *s=xcbc3abcd;char *s=xcbc3abcd;int a, b, c, d;int a, b, c, d;a=b=c=d=0;a=b=c=d=0;for ( ; *s ; s+ )for ( ; *s ; s+ )switch ( *s )switch ( *s ) case c: c+;case c: c+;case b: b+;case b: b+;default : d+; break;d

88、efault : d+; break;case a: a+;case a: a+; printf(a=%d,b=%d,c=%d,d=%dn, a, b, c, d);printf(a=%d,b=%d,c=%d,d=%dn, a, b, c, d); (a=aa=a的个数、的个数、b=b,cb=b,c的个数、的个数、c=cc=c的个数、的个数、d=d=非非aa的个数)的个数)A A)a=1,b=5,c=3,d=8a=1,b=5,c=3,d=8 B B)a=1,b=2,c=3,d=3a=1,b=2,c=3,d=3C C)a=9,b=5,c=3,d=8a=9,b=5,c=3,d=8D D)a=0,b

89、=2,c=3,d=3a=0,b=2,c=3,d=3A 返回目录第81页C语语言言程程序序设设计计 指指针针单项选择题单项选择题单项选择题单项选择题 1212若有以下程序:若有以下程序:#include #include main ( int argc, char *argv )main ( int argc, char *argv ) while ( -argc )while ( -argc )printf ( %s, argvargc );printf ( %s, argvargc );printf ( n );printf ( n ); 该程序经编译和连接后生成可执行文件该程序经编译和连接

90、后生成可执行文件S.EXES.EXE。现在如果在。现在如果在DOSDOS提示符下键入提示符下键入S AA BB CCS AA BB CC后回车,则输出结果是:后回车,则输出结果是:A A)AABBCCAABBCCB B)AABBCCSAABBCCSC C)CCBBAACCBBAAD D)CCBBAAS CCBBAAS C 返回目录第82页C语语言言程程序序设设计计 指指针针单项选择题单项选择题单项选择题单项选择题 1313若有定义若有定义char *language =FORTRAN, BASIC, PASCAL, JAVA, C; char *language =FORTRAN, BASIC

91、, PASCAL, JAVA, C; 则则language2language2的值是:的值是:A A)一个字符)一个字符B B)一个地址)一个地址C C)一个字符串)一个字符串D D)不定值)不定值1414若有以下定义和语句,则对若有以下定义和语句,则对a a数组元素地址的正确引用是:数组元素地址的正确引用是:int a23, (*p)3;int a23, (*p)3;p=a;p=a;A A)* *(p+2)(p+2)B B)p2p2C C)p1+1p1+1D D)(p+1)+2(p+1)+2BC 返回目录第83页C语语言言程程序序设设计计 指指针针单项选择题单项选择题单项选择题单项选择题 1

92、515若有若有int max( ), (*p)( ); int max( ), (*p)( ); 为使函数指针变量为使函数指针变量p p指向函数指向函数maxmax,正确的赋值语句是:,正确的赋值语句是: A A)p=max;p=max;B B)* *p=max;p=max;C C)p=max(a, b);p=max(a, b);D D)* *p=max(a, b); p=max(a, b); 1616若有定义若有定义int a35, i, j; (int a35, i, j; (且且0i3, 0j5)0i3, 0j5),则,则aijaij不正确的地址表示是:不正确的地址表示是: A A)&a

93、ij&aij B B)ai+jai+jC C)* *(a+i)+j(a+i)+jD D)* *(*(a+i)+j)(*(a+i)+j)AD 返回目录第84页C语语言言程程序序设设计计 指指针针单项选择题单项选择题单项选择题单项选择题 1717设先有定义:设先有定义:char s10;char s10;char *p=s;char *p=s;则下面不正确的表达式是:则下面不正确的表达式是:A A)p=s+5p=s+5 B B)s=p+ss=p+sC C)s2=p4s2=p4D D)* *p=s0p=s01818设先有定义:设先有定义:char *s;char *s;则下面正确的表达式是:则下面正

94、确的表达式是:A A)s=computers=computer B B)* *s=computers=computerC C)*s=computers=computerD D)* *s=cs=cBB 返回目录第85页程序填空题程序填空题程序填空题程序填空题 1 1定义定义compare ( char *s1, char *s2 )compare ( char *s1, char *s2 )函数,实现比较两个字符串大小的功能。以下程序运行结果为函数,实现比较两个字符串大小的功能。以下程序运行结果为-32-32,请填空。,请填空。#include #include main ( )main ( )

95、 printf ( %dn, compare ( abCd, abc );printf ( %dn, compare ( abCd, abc ); compare ( char *s1, char *s2 )compare ( char *s1, char *s2 ) while ( *s1 & *s2 & _while ( *s1 & *s2 & _【1 1】_ )_ ) s1+;s1+;s2+;s2+; return *s1-*s2;return *s1-*s2; *s1 = = *s2 返回目录第86页C语语言言程程序序设设计计 指指针针程序填空题程序填空题程序填空题程序填空题 2 2以

96、下程序用来输出字符串。以下程序用来输出字符串。#include #include main ( )main ( ) char *a =for, switch, if, while;char *a =for, switch, if, while;char *p;char *p;for ( p=a; pa+4; p+ )for ( p=a; pa+4; p+ )printf ( %sn, _printf ( %sn, _【2 2】_ );_ ); *p 返回目录第87页C语语言言程程序序设设计计 指指针针程序填空题程序填空题程序填空题程序填空题 3 3以下程序的功能是从键盘上输入若干个字符以下程序

97、的功能是从键盘上输入若干个字符( (以回车键作为结束以回车键作为结束) )组成一个字符数组,然后输出该字符数组中的字组成一个字符数组,然后输出该字符数组中的字符串,请填空!符串,请填空!#include#includemain ( )main ( ) char str81,*p;char str81,*p;int i;int i;for (i=0;i80;i+)for (i=0;i80;i+) stri=getchar( );stri=getchar( );if (stri=nif (stri=n) break;) break; stri=stri=00; ;_【3 3】_;_;while(*

98、p) putchar(*p_while(*p) putchar(*p_【4 4】_);_); p=str+ 返回目录第88页C语语言言程程序序设设计计 指指针针程序填空题程序填空题程序填空题程序填空题 4 4下面是一个实现把下面是一个实现把t t指向的字符串复制到指向的字符串复制到s s的函数,请完成之。的函数,请完成之。strcpy ( char *s, char *t )strcpy ( char *s, char *t ) while ( (_while ( (_【5 5】_ ) !=_ ) !=00 ); ); *s+=*t+ 返回目录第89页C语语言言程程序序设设计计 指指针针程序填

99、空题程序填空题程序填空题程序填空题 5 5下面下面countcount函数的功能是统计子串函数的功能是统计子串substrsubstr在母串在母串strstr中出现的次数。中出现的次数。count(char *str, char *substr)count(char *str, char *substr) int i,j,k,num=0;int i,j,k,num=0;for (i=0; _for (i=0; _【6 6】_ ; i+)_ ; i+)for ( _for ( _【7 7】_, k=0 ; substrk=strj; k+, j+)_, k=0 ; substrk=strj; k

100、+, j+)if (substr _if (substr _【8 8】_ =0)_ =0) num+;num+;break;break; return(num);return(num); stri!=0j=ik+1 返回目录第90页C语语言言程程序序设设计计 指指针针程序填空题程序填空题程序填空题程序填空题 6 6下面下面connectconnect函数的功能是将两个字符串函数的功能是将两个字符串s s和和t t连接起来。连接起来。char *connect (char *s, char *t)char *connect (char *s, char *t) char *p=s;char *p

101、=s;while (*s) _while (*s) _【9 9】_;_;while (*t)while (*t) *s=_*s=_【1010】_;_;s+;s+;t+;t+; *s=0;*s=0;_【1111】_ s+*treturn(p); 返回目录第91页C语语言言程程序序设设计计 指指针针 阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果 1 1运行如下程序并分析其结果:运行如下程序并分析其结果:#include #include main ( )main ( ) void fun ( char *s );void fun ( char *s );

102、static char str =123;static char str =123;fun ( str );fun ( str ); void fun ( char *s )void fun ( char *s ) if ( *s )if ( *s ) fun ( +s );fun ( +s );printf ( %sn, -s );printf ( %sn, -s ); 返回目录第92页C语语言言程程序序设设计计 指指针针 阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果 2 2运行如下程序并分析其结果:运行如下程序并分析其结果:#include #i

103、nclude void sub ( int *x, int y, int z )void sub ( int *x, int y, int z ) *x = y - z;*x = y - z; main ( )main ( ) int a, b, c;int a, b, c;sub ( &a, 10, 5 );sub ( &a, 10, 5 );sub ( &b, a, 7 );sub ( &b, a, 7 );sub ( &c, a, b );sub ( &c, a, b );printf ( %d,%d,%dn, a, b, c );printf ( %d,%d,%dn, a, b, c

104、); 返回目录第93页C语语言言程程序序设设计计 指指针针 阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果 3 3下列程序的功能是保留给定字符串中小于字母下列程序的功能是保留给定字符串中小于字母nn的字母。请写出其结果并分析:的字母。请写出其结果并分析:#include #include void abc ( char *p )void abc ( char *p ) int i, j;int i, j;for ( i=j=0; *(p+i)!=0; i+ )for ( i=j=0; *(p+i)!=0; i+ )if ( *(p+i)n )if (

105、*(p+i)n ) *(p+j)=*(p+i);*(p+j)=*(p+i);j+;j+; *(p+j)=0;*(p+j)=0; mainmain( )( ) char str =morning;char str =morning;abc ( str );abc ( str );puts ( str );puts ( str ); 返回目录第94页C语语言言程程序序设设计计 指指针针 阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果 4 4运行如下程序并分析其结果:运行如下程序并分析其结果:#include #include main ( )main (

106、)char *a4=Tokyo,Osaka ,Sapporo ,Nagoya ;char *a4=Tokyo,Osaka ,Sapporo ,Nagoya ;char *pt;char *pt;pt=a;pt=a;printf(%s,*(a+2);printf(%s,*(a+2); 返回目录第95页C语语言言程程序序设设计计 指指针针 阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果 5 5设如下程序的文件名为设如下程序的文件名为myprogram.cmyprogram.c,编译并连接后在,编译并连接后在DOSDOS提示下键入命令:提示下键入命令:myp

107、rogram one two threemyprogram one two three,则,则执行结果是:执行结果是:#include #include main (int argc, char *argv )main (int argc, char *argv )int i;int i; for (i=1; iargc; i+) for (i=1; iargc; i+) printf (%s%c,argvi,(iargc-1)? : n); printf (%s%c,argvi,(inop-noD D)xiang-no xiang-no D 返回目录第103页C语语言言程程序序设设结结构构体

108、体与与共共用用体体程序填空题程序填空题程序填空题程序填空题 1 1以下程序段的作用是统计链表中结点的个数,其中以下程序段的作用是统计链表中结点的个数,其中firstfirst为指向第为指向第1 1个结点的指针。个结点的指针。struct nodestruct node char data;char data;struct node *next;struct node *next; *p, *first; *p, *first;.int c=0;int c=0;p=first;p=first;while(while(【1 1】) ) 【2 2】; ;p=p=【3 3】; ; p!=NULLc+p

109、-next 返回目录第104页C语语言言程程序序设设计计 结结构构体体与与共共用用体体程序填空题程序填空题程序填空题程序填空题 2 2以下程序中使用一个结构体变量表示一个复数,然后进行复数加法和乘法运算。以下程序中使用一个结构体变量表示一个复数,然后进行复数加法和乘法运算。#include #include struct complex_numberstruct complex_number float real, virtual;float real, virtual;main ( )main ( ) struct complex_number a,b,sum,mul;struct comp

110、lex_number a,b,sum,mul;printf(printf(输入输入a.reala.real、a.virtuala.virtual、b.realb.real和和b.virtualb.virtual:););scanf(%f%f%f%f,&a.real,&a.virtual,&b.real,&b.virtual);scanf(%f%f%f%f,&a.real,&a.virtual,&b.real,&b.virtual);sum.real=_sum.real=_【4 4】_;_;sum.virtual=_sum.virtual=_【5 5】_;_;mul.real=_mul.real

111、=_【6 6】_;_;mul.virtual=_mul.virtual=_【7 7】_;_;printf(sum.real=%f,sum.virtual=%fn, sum.real, sum.virtual);printf(sum.real=%f,sum.virtual=%fn, sum.real, sum.virtual);printf(mul.real=%f, mul.virtual=%fn, mul.real, mul.virtual);printf(mul.real=%f, mul.virtual=%fn, mul.real, mul.virtual); a.real+b.reala.

112、virtual+b.virtuala.real*b.real-a.virtual*b.virtuala.virtual*b.real+a.real*b.virtual 返回目录第105页C语语言言程程序序设设计计 结结构构体体与与共共用用体体程序填空题程序填空题程序填空题程序填空题 3 3以下程序用于在结构体数组中查找分数最高和最低的同学姓名和成绩。请在程序中的空白处填入一条语句或一个表达以下程序用于在结构体数组中查找分数最高和最低的同学姓名和成绩。请在程序中的空白处填入一条语句或一个表达式。式。#include#includemain ( )main ( ) int max,min,i,j;

113、int max,min,i,j;static structstatic struct char name10;char name10;int score;int score;stud6=stud6=李明李明,99,99,张三张三,88,88,吴大吴大,90,90,钟六钟六,80,80,向杰向杰,92,92,齐伟齐伟,78;,78;max=min=1;max=min=1;for (i=0;i6;i+)for (i=0;istudmax.score)_if(studi.scorestudmax.score)_【8 8】_;_;else if(studi.scorestudmin.score)_el

114、se if(studi.scorestudmin.score)_【9 9】_;_;printf(printf(最高分获得者为:最高分获得者为:%s,%s,分数为:分数为:%d,_%d,_【1010】_);_);printf(printf(最低分获得者为:最低分获得者为:%s,%s,分数为:分数为:%d,_%d,_【1111】_);_); max=imin=i【10】studmax.name,studmax.score【 11】studmin.name,studmin.score 返回目录第106页C语语言言程程序序设设计计 文文件件单项选择题单项选择题单项选择题单项选择题 1 1以下可作为函数

115、以下可作为函数fopen( )fopen( )中第中第1 1个参数的正确格式是(个参数的正确格式是( )A A)c:myfile1.textc:myfile1.textB B)c:myfile1.txtc:myfile1.txtC C)“c:myfile1c:myfile1” D D)c:myfile1.txtc:myfile1.txt2 2为写而打开文本为写而打开文本my.datmy.dat的正确写法是(的正确写法是( )。)。A A)fopen(my.dat,rb)fopen(my.dat,rb)B B)fp=fopen(my.dat,r)fp=fopen(my.dat,r)C C)fop

116、en(my.dat,wb)fopen(my.dat,wb)D D)fp=fopen(my.dat,w)fp=fopen(my.dat,w)3 3若执行若执行fopenfopen函数时发生错误,则函数的返回值是(函数时发生错误,则函数的返回值是( )。)。A A)地址值)地址值B B)0 0C C)1 1D D)NULLNULL 返回目录DDD第107页C语语言言程程序序设设计计 文文件件单项选择题单项选择题单项选择题单项选择题 4 4已知函数的调用形式为已知函数的调用形式为fread(buffer,size,count,fp)fread(buffer,size,count,fp),其中,其中b

117、ufferbuffer代表的是(代表的是( )。)。A A)一个整型变量,代表要读入的数据项总数)一个整型变量,代表要读入的数据项总数B B)一个文件指针,指向要读的文件)一个文件指针,指向要读的文件C C)一个指针,指向要读入数据的存放地址)一个指针,指向要读入数据的存放地址D D)一个存储区,存放要读的数据项)一个存储区,存放要读的数据项5 5以下不能将文件位置指针重新移到文件开头位置的函数是以下不能将文件位置指针重新移到文件开头位置的函数是A A)rewind(fp);rewind(fp);B B)fseek(fp,0,SEEK_SET);fseek(fp,0,SEEK_SET);C C

118、)fseek(fp,-(long)ftell(fp),SEEK_CUR);fseek(fp,-(long)ftell(fp),SEEK_CUR);D D)fseek(fp,0,SEEK_END);fseek(fp,0,SEEK_END);DD 返回目录第108页C语语言言程程序序设设计计 文文件件单项选择题单项选择题单项选择题单项选择题 6 6设有以下结构体类型(设有以下结构体类型( )。)。struct studentstruct student char name10;char name10;float score5;float score5;stu20;stu20;并且结构体数组并且结构

119、体数组stustu中的元素都已有值,若要将这些元素写到硬盘文件中的元素都已有值,若要将这些元素写到硬盘文件fpfp中,以下不正确的形式是:中,以下不正确的形式是:A A)fwrite(stu,sizeof(stuct student),20,fp)fwrite(stu,sizeof(stuct student),20,fp)B B)fwrite(stu,20*sizeof(stuct student),1,fp)fwrite(stu,20*sizeof(stuct student),1,fp)C C)fwrite(stu,20*sizeof(stuct student),2,fp)fwrite

120、(stu,20*sizeof(stuct student),2,fp)D D)for(i=0;i20;i+) fwrite(stu+i,sizeof(stuct student),1,fp)for(i=0;i20;i+) fwrite(stu+i,sizeof(stuct student),1,fp)C 返回目录第109页C语语言言程程序序设设计计 文文件件单项选择题单项选择题单项选择题单项选择题 7 7若有以下程序,使用命令:若有以下程序,使用命令:myfile file1 file2myfile file1 file2的功能是(的功能是( )main(int argc,char *argv

121、 )main(int argc,char *argv ) FILE *fp1,*fp2;FILE *fp1,*fp2;if(argc3)if(argc3) printf(printf(“Usage:myfile filename1 filename2nUsage:myfile filename1 filename2n”););exit(0);exit(0); fp1=fopen(argv1,r);fp1=fopen(argv1,r);fp2=fopen(argv2,w);fp2=fopen(argv2,w);while(!feof(fp1)while(!feof(fp1)fputc(fgetc

122、(fp1),fp2);fputc(fgetc(fp1),fp2);fclose(fp1);fclose(fp1);fclose(fp2);fclose(fp2); /* /*文件名为:文件名为:myfile.c*/myfile.c*/A A)将)将file1file1文件复制到文件复制到file2file2文件文件B B)将)将file2file2文件复制到文件复制到file1file1文件文件C C)读取)读取file1file1文件的内容并在屏幕上显示出来文件的内容并在屏幕上显示出来D D)读取)读取file2file2文件的内容并在屏幕上显示出来文件的内容并在屏幕上显示出来A 返回目录第

123、110页C语语言言程程序序设设计计 文文件件单项选择题单项选择题单项选择题单项选择题 8 8下面程序的功能是(下面程序的功能是( )。)。#include #include main( )main( ) FILE *fp;FILE *fp;fp=fopen(myfile,r+);fp=fopen(myfile,r+);while(!feof(fp)while(!feof(fp)if(fgetc(fp)=*)if(fgetc(fp)=*) fseek(fp,-1L,SEEK_CUR);fseek(fp,-1L,SEEK_CUR);fputc($,fp);fputc($,fp);fseek(fp,

124、ftell(fp),SEEK_SET);fseek(fp,ftell(fp),SEEK_SET); fclose(fp);fclose(fp); A) A) 将将myfilemyfile文件中所有文件中所有* *均替换成均替换成$ $B) B) 查找查找myfilemyfile文件中所有文件中所有*C) C) 查找查找myfilemyfile文件中所有文件中所有$ $D) D) 将将myfilemyfile文件中所有字符均替换成文件中所有字符均替换成$A 返回目录第111页C语语言言程程序序设设计计 文文件件单项选择题单项选择题单项选择题单项选择题 9 9以下程序的运行结果是()以下程序的运行

125、结果是()#include #include main ( )main ( ) FILE *fp;FILE *fp;char *str1=first,*str2=second;char *str1=first,*str2=second;if(fp=fopen(myfile,w+)=NULL)if(fp=fopen(myfile,w+)=NULL) printf(Cant open file:myfilen);printf(Cant open file:myfilen);exit(1);exit(1); fwrite(str2,6,1,fp);fwrite(str2,6,1,fp);fseek(

126、fp,0L,SEEK_SET);fseek(fp,0L,SEEK_SET);fwrite(str1,5,1,fp);fwrite(str1,5,1,fp);fclose(fp);fclose(fp); A A)firstfirst B B)secondsecondC C)firstdfirstdD D)为空)为空C 返回目录第112页C语语言言程程序序设设计计 文文件件程序填空题程序填空题程序填空题程序填空题 1 1下面程序用于从键盘输入一个以下面程序用于从键盘输入一个以?为结束标志的字符串,将它存入指定的文件为结束标志的字符串,将它存入指定的文件my.txtmy.txt中。中。#includ

127、e #include main ( )main ( ) FILE *fp;FILE *fp;char ch;char ch;if (_if (_【1 1】_ )=NULL)_ )=NULL) printf(printf(不能打开文件不能打开文件n);n);exit(0);exit(0); ch=getchar( );ch=getchar( );while(_while(_【2 2】_)_) fputc(ch,fp);fputc(ch,fp);_【3 3】_;_; fclose(fp);fclose(fp); fp=fopen(“my.txt”, “w”)ch!=?ch=getchar( ) 返

128、回目录第113页C语语言言程程序序设设计计 文文件件程序填空题程序填空题程序填空题程序填空题 2 2下面的程序实现统计下面的程序实现统计C C盘根目录下的盘根目录下的my.txtmy.txt文件中字符的个数。文件中字符的个数。#include #include main ( )main ( ) FILE *fp;FILE *fp;char ch; char ch; long num=0;long num=0;if(_if(_【4 4】_)_) printf(Cantt open file!n);printf(Cantt open file!n);exit(0);exit(0); while(_

129、while(_【5 5】_)_) fgetc(fp);fgetc(fp);_【6 6】_;_; printf(%ld,num);printf(%ld,num);fclose(fp);fclose(fp); (fp=fopen(“c:my.txt”, “r”)=NULL!feof(fp)num+ 返回目录第114页C语语言言程程序序设设计计 文文件件程序填空题程序填空题程序填空题程序填空题 3 3下面的程序读取并显示一个字符文件的内容。下面的程序读取并显示一个字符文件的内容。#include#includemain ( int argc, char *argv )main ( int argc,

130、 char *argv ) FILE *fp;char ch;FILE *fp;char ch;if (fp=fopen(argv1, r)=_if (fp=fopen(argv1, r)=_【7 7】_)_) puts(Cant open file.);puts(Cant open file.);exit(1);exit(1); while (ch=fgetc(_while (ch=fgetc(_【8 8】_)!=_)!=_【9 9】_)_)printf(%c,_printf(%c,_【1010】_);_);fclose(fp);fclose(fp); NULLfpEOFch 返回目录第11

131、5页C语语言言程程序序设设计计 文文件件程序填空题程序填空题程序填空题程序填空题 4 4下面程序把从终端读入的下面程序把从终端读入的1010个整数以二进制方式写到一个名为个整数以二进制方式写到一个名为bi.datbi.dat的新文件中。的新文件中。#include#includeFILE *fp;FILE *fp;main( )main( ) int i,j;int i,j;if(fp=fopen(_if(fp=fopen(_【1111】_,wb)=NULL)_,wb)=NULL)exit(0);exit(0);for(i=0;i10;i+)for(i=0;i10;i+) scanf(%d,&

132、j);scanf(%d,&j);fwrite(&j,sizeof(int),1,_fwrite(&j,sizeof(int),1,_【1212】_);_); fclose(fp);fclose(fp); “bi.dat”fp 返回目录第116页C语语言言程程序序设设计计 文文件件阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果 1 1运行下列程序写出其结果:运行下列程序写出其结果:#include #include main( )main( ) int i,n;FILE *fp;int i,n;FILE *fp;if (fp=fopen(temp,w)=

133、NULL)if (fp=fopen(temp,w)=NULL) printf(printf(不能建立不能建立temptemp文件文件n);n);exit(0);exit(0); for (i=1;i=10;i+)for (i=1;i=10;i+)fprintf(fp,%3d,i);fprintf(fp,%3d,i);for (i=0;i10;i+)for (i=0;i10;i+) fseek(fp,i*3L,SEEK_SET);fseek(fp,i*3L,SEEK_SET);fscanf(fp,%d,&n);fscanf(fp,%d,&n);printf(%3d,n);printf(%3d,n

134、); fclose(fp);fclose(fp); 返回目录第117页C语语言言程程序序设设计计 文文件件阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果 2 2运行下列程序写出其结果:运行下列程序写出其结果: #include #include main( )main( ) int i,n;int i,n;FILE *fp;FILE *fp;if (fp=fopen(temp,w+)=NULL)if (fp=fopen(temp,w+)=NULL) printf(printf(“不能建立不能建立temptemp文件文件nn”););exit(0);ex

135、it(0); for (i=1;i=10;i+)for (i=1;i=10;i+)fprintf(fp,%3d,i);fprintf(fp,%3d,i);for (i=0;i10;i+)for (i=0;i10;i+) fseek(fp,i*3L,SEEK_SET);fseek(fp,i*3L,SEEK_SET);fscanf(fp,%d,&n);fscanf(fp,%d,&n);fseek(fp,i*3L,SEEK_SET);fseek(fp,i*3L,SEEK_SET);printf(%3d,n+10);printf(%3d,n+10); for (i=0;i5;i+)for (i=0;i

136、5;i+) fseek(fp,i*6L,SEEK_SET);fseek(fp,i*6L,SEEK_SET);fscanf(fp,%d,&n);fscanf(fp,%d,&n);printf(%3d,n);printf(%3d,n); fclose(fp);fclose(fp); 返回目录第118页C语语言言程程序序设设计计 文文件件阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果阅读程序并写出运行结果 3.3.假设在假设在D D盘根目录下有一文件盘根目录下有一文件student.txtstudent.txt,存入的是学生的成绩,内容为:,存入的是学生的成绩,内容为:zhao

137、82 qian 86 sun 99 li 98 zhou 78zhao 82 qian 86 sun 99 li 98 zhou 78。则运行下列程序写出其结果:则运行下列程序写出其结果:#include #include main( )main( )int i,SCORE;int i,SCORE;char NAME10;char NAME10;FILE *fp;FILE *fp; if (fp=fopen(d:student.txt,rb)=NULL) if (fp=fopen(d:student.txt,rb)=NULL) printf(Cant read file:studentn);e

138、xit(1); printf(Cant read file:studentn);exit(1); printf( NAME SCOREn); printf( NAME SCOREn); printf( - -n); printf( - -n); while(!feof(fp) while(!feof(fp) fscanf(fp,%s %d, NAME,&SCORE); fscanf(fp,%s %d, NAME,&SCORE); printf(%10s %dn, NAME, SCORE); printf(%10s %dn, NAME, SCORE); fclose(fp); fclose(fp); 返回目录第119页C语语言言程程序序设设计计 返回目录

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 试题/考题 > 初中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号