《C語言學(xué)習(xí)與應(yīng)用》課后習(xí)題及答案12_第1頁
《C語言學(xué)習(xí)與應(yīng)用》課后習(xí)題及答案12_第2頁
《C語言學(xué)習(xí)與應(yīng)用》課后習(xí)題及答案12_第3頁
《C語言學(xué)習(xí)與應(yīng)用》課后習(xí)題及答案12_第4頁
《C語言學(xué)習(xí)與應(yīng)用》課后習(xí)題及答案12_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

學(xué)習(xí)任務(wù)十二參考答案

問題127:編寫程序?qū)崿F(xiàn)應(yīng)用舉例12-2的功能。

#include"stdio.h"

voidmain()

(

chara=32,b,c;

b=a?1;

c=a?3;

printf("b=%d,c=%d",b,c);

)

問題12-2:編寫程序驗(yàn)證應(yīng)用舉例12-3的右移功能。

#include"stdio.h"

voidmain()

(

inta=一76,b;

b=a?2;

printf("b=%d",b);

)

問題12-3:編程實(shí)現(xiàn)以下功能,輸入小于256的正整數(shù),輸出

該數(shù)在內(nèi)存中的第五位值。

#include"stdio.h"

voidmain()

Intx,y;

do{

printf(”請(qǐng)輸入一個(gè)小于256的正整數(shù)”);

scanf("%d",&x);

1whiIe(x>=2561|x<0);

y=x&020;

if(y=020)

printf("%d對(duì)應(yīng)二進(jìn)制的第五位信息是:1",x);

else

printf("%d對(duì)應(yīng)二進(jìn)制的第五位信息是:0",x);

getchar();

)

程序執(zhí)行情況:

請(qǐng)輸入一個(gè)小于256的正整數(shù)141

141對(duì)應(yīng)二進(jìn)制的第五位信息是:0

請(qǐng)輸入一個(gè)小于256的正整數(shù)210

210對(duì)應(yīng)二進(jìn)制的第五位信息是:1

問題12-4:為應(yīng)用舉例12-6編寫程序代碼。

#include"stdio.h"

voidmain()

chara=0152;

a=a"0x0f;

printf("%x",a);〃按16進(jìn)制輸出

)

程序執(zhí)行結(jié)果輸出:65

問題12-5:分析以下程序片斷的作用。

#include"stdio.hn

voidmain()

{char3—3,b=4;

a二a%;//運(yùn)算后a的值:.….7.........

b二『a;〃運(yùn)算后b的值:…3.........

a=a^b;//運(yùn)算后a的值:…4.........

printf("a=%d,b=%d\n",a,b);

getchar();

)

輸出是:...35.4,b=3...;運(yùn)算a=a^b;b=『a;a=a?;作用

是:.?旦與b交換....

問題12-6:使字符型變量a的高四位值不變,低四位值置1,如

何運(yùn)算?

可進(jìn)行的操作是:....a5aj0.x0f...........

問題12-7:將C:\A.TXT文件中的內(nèi)容輸出到屏幕,將代碼補(bǔ)充

完整。

#include"stdio.h"

#include"stdIib.h"

voidmain()

{FILE*fpin;

charch;

if((fpin=fopen("c:\\a.txt","r,,))==NULL)

{printf(ncan'topenthisfile!\n");

exit(0);

)

ch=fgetc(fpin);

while(ch!=-1)〃文本文件的結(jié)束標(biāo)志是EOF或-1

{putchar(ch);〃輸出到屏幕

ch=fgetc(fpin);

)

fclose(fpin);

getchar();

)

程序執(zhí)行結(jié)果輸出:TIANJINXIANDAI

問題12-8:將C:\AA.TXT文件中的內(nèi)容輸出到屏幕,請(qǐng)將代碼

補(bǔ)充完整。

#include"stdio.h"

#include"stdIib.h"

voidmain()

{chara[10][80],i;

FILE*fp;

if((fp=fopen("c:\\aa.txt","r"))!=NULL)

(

for(i=0;i<2;i++)〃更換成文件沒有到尾,如

何?

{fgets(a[i],80,fp);

puts(a[i]);

)

)

fcIose(fp);

getchar();

)

運(yùn)行程序,屏幕顯示:

天津現(xiàn)代職業(yè)技術(shù)學(xué)院

尊學(xué)享宸…浮朋感人

或者

#include"stdio.h"

#include"stdIib.h"

voidmain()

{chara[10][80],i=0;

FILE*fp;

if((fp=fopen("c:\\aa.txt",nr"))!=NULL)

whiIe(!feof(fp))

{fgets(a[i],80,fp);

puts(a[i]);i++;

)

}

fcIose(fp);

getchar();

)

問題12-9:寫出下面這段程序的輸出結(jié)果。

運(yùn)行程序,屏幕顯示:

0

編程訓(xùn)練12-1-1將數(shù)組信息以二進(jìn)制形式寫入文件

d:\Xaaa.txt,補(bǔ)充代碼并運(yùn)行程序。

#include"stdio.h"

voidmain()

(

inti,a[10]={0,1,4,9,16,25,36,49,64.81);

FILE*fp;

if((fp=fopen("d:\\aaa.txt","w"))!=NULL)

fwrite(a,sizeof(int),10,fp);

)

fclose(fp);

)

打開ud:\\aaa.txtJ,文件,描述一下文件內(nèi)容:

是一些亂碼。

編程訓(xùn)練12-1-2:將文件d:\\aaa.txt的信息讀入數(shù)組并顯示

在屏幕上。

#include"stdio.h"

voidmain()

{

inti,a[10];

FILE*fp;

if((fp=fopen("d:\\aaa.txt","r"))!=NULL)

(

fread(a,sizeof(int),10,fp);

for(i=0;i<10;i++)

printf("%4d",a[i]);

)

fclose(fp);

1

程序執(zhí)行結(jié)果:

0149162536496481

編程訓(xùn)練12-1-3:將文件d:\gaa.txt中,后6個(gè)數(shù)的信息讀

入a數(shù)組,即a[0]的值是16,a[1]的值是25…,并完成以下位運(yùn)算。

定義intb[10]數(shù)組;

將a[0]的低四位信息置1后,賦給b[0];

將a[1]左移4位,賦給b[1];

將a[2]右移1位,賦給b[2];

將a[3]&0xff的值賦給b[3];

將a[4r0x0f的值賦給b[4];

將a[5]按位取反運(yùn)算后的值賦給b[5];

#include"stdio.h"

voidmain()

I

inti,a[10],b[10];

FILE*fp;

if((fp=fopen("d:\\aaa.txt","r"))!=NULL)

(

fseek(fp,-24,SEEK_END);

fread(a,sizeof(int),6,fp);

for(i=0;i<6;i++)

printf("%4d",a[i]);

)

fclose(fp);

b[0]=a[0]|0x0f;

b[1]=a[1]?4;

b[2]=a[2]?1;

b[3]=a[3]&0xff;

b[4]=a[4]"0x0f;

b⑸二7⑸;

for(i=0;i<6;i++)

printf("\na[%d]=%d,b[%d]=%d\n",i,a[i],i,b[i]);

)

程序運(yùn)行結(jié)果:

1625364964

a[0]=16,b[0]=31

a[1]=25,b[1]=400

a[2]=36,b[2]=18

a[3]=49,b[3]=49

a[4]=64,b[4]=79

a[5]=81,b[5]=-82

編程訓(xùn)練12-2-1:下面是一個(gè)在命令提示符下執(zhí)行的文本文件

的復(fù)制程序,請(qǐng)將代碼補(bǔ)充完整。

#incIude"stdio.h"

voidfiIecopy(FILE*FILE*);

voidmain(intargc,char*argv[])〃帶參數(shù)的

main函數(shù)

(

FILE*fpinf*fpout;

if(argc==3)

(

fpin=fopen(argv[1],"r");

fpout=fopen(argv[2],"w");

千iIecopy(fpin,fpout);

fclose(fpin);

fclose(fpout);

)

eIseif(argc>3)

printf("thefilenamestoomany!!n");

eIse

printf("therearenofilenamesforinputor

output!!\n");

voidfiIecopy(FILE*fpin,FILE*fpout)

charch;

ch=getc(fpin);

whiIe(!feof(fpin))//調(diào)用feof(fpin)函數(shù),判

斷文件是否結(jié)束。

putc(ch,fpout);

ch=getc(fpin);

}

編程訓(xùn)練12-2-2:回答以下問題,并執(zhí)行程序。

如果源文件名為:mycopy

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論