当前位置:首页 > c语言编程基础习题答案
printf(\fclose(fp); }
⑶ 将三个数写入文件的程序,编写如下: #include <> FILE *fp; main() {
int a,b,c;
fp=fopen(\
fprintf(fp,\fclose(fp); }
⑷ 将数值从文件中读出并求其和的程序,编写如下: #include <> FILE *fp; main() {
int a,b,c;
if (!(fp=fopen(\
{ printf(\exit(1);}
fscanf(fp,\
printf(\fclose(fp); }
⑸ 将10个整数写入文件的程序,编写如下: #include <> FILE *fp; main() {
int i,a[10]={8,2,6,4,5,9,1,3,7,4}; fp=fopen(\for (i=0;i<10;i++) {
fwrite(&a[i],2,1,fp); }
fclose(fp); }
⑹ 将指定位置的整数从文件中读出的程序,编写如下:
#include <> FILE *fp; main() {
int n,i,num;
if (!(fp=fopen(\
{printf(\ exit(1);}
printf(\输入数值i:\scanf(\n=2*(i-1);
fseek(fp,n,SEEK_SET); fread(&num,2,1,fp);
printf(\第%d号数据是:%d\\n\fclose(fp); }
习题九
1.选择题。
⑴ 将C的库函数中数学函数库的头文件包含到程序中,应在程序的头部加上( C )。
⑵ 欲将一个文件包含到程序中,应该在程序的头部加上( A )。 ⑶ “文件包含”预处理语句的使用形式中,当#include后面的文件名用“ ”括起时,寻找被包含的文件的方式为( B )。
⑷ 在C语言中,编译预处理命令都是以( B )符号开头的。 2、分析下列程序,写出运行结果。
⑴ 该程序是定义了一个带参数的宏:S(x),在程序运行时它的置换内容是x*x,用实参代替形参后计算(3+1)的平方。其运行结果为:
a=16
⑵ 该程序是定义了一个带两个参数的宏:MIN(x,y),在程序运行时它的置换内容是条件表达式(x)<(y)?(x):(y),用实参代替形参后其运行结果为: 500
⑶ 该程序运行时,先执行宏PRINT1,输出A*B的值,然后执行宏PRINT,输出回车换行;最后执行宏PRINT2,输出(A+1)*(B+1)的值,运行结果为:
15 24
⑷ 在该程序中,定义宏时用了宏嵌套,控制循环终值的宏NUM,其值应为:
(M+1)*M/2=(N+1+1)*[(N+1)/2]=(2+1+1)*[(2+1)/2]=4*2=8 运行结果为:
3、编程题。
⑴ 用带参数的宏实现求两个整数相除取余的程序,编写如下:
#define DIV(x,y) x%y main() {
int a,b,d;
scanf(\ d=DIV(a,b);
printf(\}
⑵ 利用宏按从大到小顺序输出3个整数的程序,编写如下:
#define chag(x,y) (x=x+y,y=x-y,x=x-y) main() {
int a,b,c;
printf(\输入3个整数:\\n\scanf(\if (a
printf(\}
⑶ 按题目要求,利用条件编译方法编写程序如下:
#include <>
#define LOWCASE 0 main() {
char *a;
printf(\输入字符串:\\n\scanf(\#if LOWCASE
a=strlwr(a); #else
a=strupr(a); #endif
printf(\}
习题十
1.选择题。
⑴ 若已定义“int *p,a;”,则语句“p=&a”中的运算符“&”的含义是( D )。 ⑵ 执行该程序断后,a的值为( B )。 ⑶ 该程序段的运行结果是( A )。
⑷ 若有定义int a[3][5],i,j;(且0≤i<3,0≤j<5),则a[i][j]的地址不正确的是( D )。
⑸ 设有语句“int (*p)()”,则p是一个( B )。 ⑹ 给出程序的输出结果为( A )。 2.填空题。
⑴ 以下程序用来输出字符串。
printf(“%s\\n”, *p );
⑵ exchange函数的调用语句为“exchange(&a,&b,&c);”。他将3个数按由小到大的顺序调整后依次放入a,b,c三个变量中,a中放最大值,请填空。
if(*q3>*q2) swap( q2,q3 );
if(*q1<*q3) swap( q1,q3 ); if(*q1<*q2) swap( q1,q2 );
⑶ 以下程序段完成给数组所有元素输入数据。
while(j<10) scanf(“%d”, &a[j] );
⑷ 以下函数用来求出两整数之和,并通过形参将结果传回,请填空。
void func(int x,int y, _int *_ z) { *z=x+y; }
⑸ 该程序的输出结果是__7__。
3.分析下列程序,写出运行结果。
⑴ 该程序用指针变量取得a、b的地址,用来比较哪个地址中变量的值更大并输出。运行结果如下:
max=33
⑵ 该程序用指针变量做循环控制变量,控制输出字符的个数。运行结果如下:
ABCDE BCDE CDE DE E
⑶ 利用指针做函数参数,在执行子函数时,将a+b的值赋给了c,a-b的值赋给了d。输出c、d,运行结果如下:
7,1
共分享92篇相关文档