C语言习题库(5)

2018-12-15 17:56

A)地址值 B)0 C)1 D)EOF

(4)若要用fopen函数打开一个新的二进制文件,该文件要既能读又能写,则文件方式字符串应是 。 A)"ab+" B) "wb+" C) "rb+" D)"ab"

(5)当顺利执行了文件关闭操作时,fclose函数的返回值是 。 A)-1 B)TURE C)0 D)1

二、填空题

(1)在C程序中,文件可以用( )方式存取,也可以用( )方式存取。 (2)在C程序中,数据可以用( )和( )两种代码形式存放。

(3)在C程序中,文件的存取是以( )为单位的,这种文件被称作( )文件。

(4)函数调用语句:fgets(buf,n,fp);从fp指向的文件中读入( )个字符放到buf字符数组中。

函数值为( )。 (5)feof(fp)函数用来判断文件是否结束,如果遇到文件结束,函数值为( ),否则为( )。 三、编程题

(1)请编写程序:从键盘输入一个字符串,将其中的小写字母全部转换成大写字母,输出到磁盘文件“upper.txt”中保存。输入的字符串以“!”结束。然后再将文件upper.txt中的内容读出显示在屏幕上。

(2)设文件student.dat中存放着一年级学生的基本情况,这些情况由以下结构体来描述: struc student

{long int num; /*学号*/ char name[10]; /*姓名*/ int age; /*年龄*/ char sex; /*性别*/ char speciality[20]; /*专业*/ char addr[40]; /*地址*/ };

请编写程序,输出学号在970101—971035之间的学生学号、姓名、年龄和性别。

参考答案

四、编程题

第一章 C语言概述

第二章 数据类型、运算符与表达式 第三章 简单C程序设计 第四章 选择结构程序设计 (1) main( )

{int x;

scanf(―%d‖,&x);

if((x%3= =0)&&(x%5= =0)&&(x%7= =0)) printf(―%d can be divided by 3,5,7\\n‖,x); else if ((x%3= =0)&&(x%5= =0))

printf(―%d can be divided by 3,5\\n‖,x); else if ((x%3= =0)&&(x%7= =0))

printf(―%d can be divided by 3,7\\n‖,x);

else if ((x%5= =0)&&(x%7= =0))

printf(―%d can be divided by 5,7\\n‖,x); else if(x%3= =0)

printf(:%d can be divided by 3\\n‖,x); else if (x%5= =0)

printf ―%d can be divided by 5\\n‖,x);

else if (x%7= =0)

printf (%d can be divided by 7\\n‖,x);

else

printf(―%d cannot be divided 3,5,7\\n‖,x);

}

(2) main( )

{ float x; int y;

printf(―\\n input x:‖); scanf(―%f‖,&x); switch(x<0)

{case 1;y= -1;break; case 0; switch(x= =0)

{case 1; y= 0; break; default : y= 1; } }

printf(―\\n y= %d‖,y);

}

第五章 循环控制

(1) # include main( )

{int day=0,buy=2; float sum=0.0, ave; do { sum+=0.8*buy;

day++; buy*=2; }while(buy<=100); ave=sum/day; printf({―%f,ave}; }

(2) #include

main( ) {int i,j;

float(i=1; i<=6;i++)

{sum=0;

for(j=1;j<=5;j++) {scanf(%f‖,&g); sum+=g; }

ave=sum\\5;

printf(―No.úve=%5.2f\\n‖,i,ave); } }

第六章 数组

(1) # define M 50 main( )

{ int a[M],c[5],i,n=0,x;

printf (―Enter 0 or 1or 2 or 3 or 4,to end with –1\\n‖); scanf (―%d‖,&x); while (x! = -1)

{ if (x>=0&& x<=4) {a[n]x; n++;} }

for (i=o;i<=5;i++) c[i]=0; for (i=0;i

for (i=;i<=4;i++) printf(―%d:%d\\n‖,c[i]);

printf(―\\n‖); }

(2) main ( )

{int a [5][4]={3,6,2,1,3,9,0,2,1,5,6,7,4,0,0,0,0}; int i,j;

for(i=0;I<4;I++) for(j=0;j<4;j++) a[4][j]+=a[i][j]; printf(―The result is:\\n‖); for (i=0 ;i<4;i++)

printf(―=‖,a[4][i]); }

第七章 函数 (1) sum(int n) {int i,k=0;

for (i=0;i<=n;i++) k+=i; return k; }

(2) max(int arr[][4]) {int I,j,max; max=arr[0][0]; for(I=0;I<2;I++) for(j=o;j<4;j++)

if (arr[i][j]>max)max=arr[i][j]; return(max); }

第八章 编译预处理

(1) #define MOD(a,b) (a%b)

main( ) {int a,b;

printf(―input two integer a,b:‖); scanf(―%d,%d‖,&a,&b);

printf(―a mod b is :%d\\n‖,MOD(a,b)); }

(2) #define swap(x,y) {int t ;t =x;x=y;y=t;}

main( )

{int i,a[10],b[10]; for (i=0;I<10;i++)

scanf (―%d‖,&a[i]); for (i=0;i<10;i++) scanf(―%d‖,&b[i]); for (i=o;i<10;i++) swap(a[i],b[i]); for (i=0;i<10;i++) printf(―%d‖,a[i]‖); printf(―\\n‖);

for (i=0;i<10;i++) printf(―%d‖,b[i]); }

第九章 指针

(1) #include ―stdio.h‖

main( )

{static char x[]= ―computer‖; char *p;

for 9p=x;p

(2) #include main()

{int b[10],position,mun,k,*q1,*q2,temp; printf(―Input 10 sorted munbers:\\n‖); for (k=0;k<10;k++)

scanf(―%d‖,&b[k]);

printf(―\\nInput the position :\\n‖); scanf (?%d‖,&position );

printf(―Input the number of data that be sorted again:\\n‖); scanf (―%d‖,&num);

printf (―The old array b is :\\n‖); for 9k=0;k<10;k++0

printf (―M‖,b[k]);

printf (―\\n‖);

q1= &b[position –1];

q2= &b[position –2 +num];

for (; q1<&b [position –1]+/2;q++,q2--)

{temp=*q1;q1=*q2;*q2=temp;} printf(―The new array b is :\\n‖); for (k= 0;k<10;k++)


C语言习题库(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2012年至2008年高考时态语态真题详解

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: