8-10章C語言教程課后習(xí)題_第1頁
8-10章C語言教程課后習(xí)題_第2頁
8-10章C語言教程課后習(xí)題_第3頁
8-10章C語言教程課后習(xí)題_第4頁
8-10章C語言教程課后習(xí)題_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、校園網(wǎng).新視野教育全國計算機(jī)等級考試二級C語言教程課后習(xí)題解析第八章 字符串第一節(jié) 字符串與字符串?dāng)?shù)組習(xí)題1以下關(guān)于字符串的敘述正確的是 DA)C語言中有字符串類型的常量和變量B)兩個字符串中的字符個數(shù)相同時才能進(jìn)行字符串大小的比較C)可以用關(guān)系運(yùn)算符對字符串的大小進(jìn)行比較D)空串一定比空格打頭的字符串小2以下正確的字符串常量是 DA)"" B)'abc' C) OlympicGames D)""3設(shè)有如下程序段 Achar s20= "Bejing",*p; p=s; 則執(zhí)行p=s;語句后,以下敘述正確的是 A)可以

2、用*p表示s0 B)s數(shù)組中元素的個數(shù)和p所指字符串長度相等 C)s和p都是指針變量 D)數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相等4以下能正確定義字符串的語句是DA)char str=' 064' B)char str="x43" C)char str=" D)char str="0" 第二節(jié) 字符串的輸入輸出習(xí)題1當(dāng)用戶要求輸入的字符串中含有空格時,應(yīng)使用的輸入函數(shù)是BA) scanf() B) getchar() C) gets() D) getc()2有以下程序 #include <stdio.h> void f

3、un(char *a,char *b)while(*a='*') a+; while(*b=*a) b+;a+; main() char *s=”*a*b*”,t80; fun(s,t); puts(t); 程序的運(yùn)行結(jié)果是 CA) *a*b B) a*b C) a*b* D) ab第三節(jié) 對字符串的操作習(xí)題1若有定義:char *x="abcdefghi",以下選項中正確運(yùn)用了strcpy函數(shù)的是 DA)char y10; strcpy(y,x4);B)char y10; strcpy(+y,&x1);C)char y10,*s; strcpy(s

4、=y+5,x);D)char y10,*s; strcpy(s=y+1,x+1);2有以下程序 #include <stdio.h>main()char p20= 'a', 'b', 'c', 'd',q="abc", r="abcde"strcat(p,r); strcpy(p+strlen(q),q);printf("%d n",strlen(p);程序運(yùn)行后的輸出結(jié)果是 A) 9 B) 6 C) 11 D) 73有以下程序#include <std

5、io.h>void f(char p10, int n ) /* 字符串從小到大排序 */ char t10; int i,j; for(i=0; i<9; i+)改成for(i=0;i<n-1;i+) for(j=i+1; j<10; j+)改成for(j=i+1;j<n;j+) if(strcmp(pi,pj)>0) strcpy(t,pi); strcpy(pi,pj); strcpy(pi,t); 改成strcpy(pj,t); main()char p510= "abc","aabdfg","abb

6、d","dcdbe","cd"f(p,5); printf("%dn",strlen(p0);程序運(yùn)行后的輸出結(jié)果是 D改成CA) 2 B) 4 C) 6 D) 3第九章 文 件第一節(jié) 文件的基礎(chǔ)知識習(xí)題1以下敘述中正確的是 DA)C語言中文件是流式文件,因此只能順序存取數(shù)據(jù)B)打開一個已存在的文件進(jìn)行了寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋C)在一個程序中當(dāng)對文件進(jìn)行了寫操作后,必須先關(guān)閉該文件然后再打開,才能讀到第1個數(shù)據(jù)D)當(dāng)對文件的讀(寫)操作完成之后,應(yīng)關(guān)閉文件,否則可能導(dǎo)致數(shù)據(jù)丟失2以下敘述中錯誤的是 CA)C

7、語言中對二進(jìn)制文件的訪問速度比文本文件快B)C語言中,隨機(jī)文件以二進(jìn)制代碼形式存儲數(shù)據(jù)C)語句 FILE fp; 定義了一個名為fp的文件指針D)C語言中的文本文件以ASCII碼形式存儲數(shù)據(jù)第二節(jié)文件的操作習(xí)題1以下敘述中錯誤的是 BA)gets函數(shù)用于從終端讀入字符串 B)getchar函數(shù)用于從磁盤文件讀入字符 C)fputs函數(shù)用于把字符串輸出到文件 D)fwrite函數(shù)用于以二進(jìn)制形式輸出數(shù)據(jù)到文件2讀取二進(jìn)制文件的函數(shù)調(diào)用形式為:fread(buffer,size,count,fp); ,其中buffer代表的是CA)一個文件指針,指向待讀取的文件B)一個整型變量,代表待讀取的數(shù)據(jù)的

8、字節(jié)數(shù)C)一個內(nèi)存塊的首地址,代表讀入數(shù)據(jù)存放的地址D)一個內(nèi)存塊的字節(jié)數(shù)3設(shè)fp為指向某二進(jìn)制文件的指針,且已讀到此文件末尾,則函數(shù)feof(fp)的返回值為 BA)EOF B)非0值 C) 0 D)NULL第三節(jié) 文件例題習(xí)題1有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END);語句的作用是使位置指針從文件尾向前移2*sizeof(int)字節(jié)) #include <stdio.h>main( ) FILE *fp; int i,a4=1,2,3,4,b; fp=fopen("data.dat","wb&q

9、uot;); for(i=0;i<4;i+) fwrite(&ai,sizeof(int),1,fp); fclose(fp); fp=fopen("data.dat ","rb"); fseek(fp,-2L*sizeof(int),SEEK_END); fread(&b,sizeof(int),1,fp);/*從文件中讀取sizeof(int)字節(jié)的數(shù)據(jù)到變量b中*/ fclose(fp); printf("%dn",b); 執(zhí)行后輸出結(jié)果是 DA)2 B)1 C)4 D)32有以下程序#include &l

10、t;stdio.h>main()FILE *fp; int k,n,a6=1,2,3,4,5,6;fp=fopen("d2.dat","w");fprintf(fp, "%d%d%d n",a0,a1,a2); fprintf(fp, "%d%d%d n",a3,a4,a5);fclose(fp);fp=fopen("d2.dat","r");fscanf(fp, "%d%d",&k,&n); printf("%d%dn&q

11、uot;,k,n);fclose(fp);程序運(yùn)行后的輸出結(jié)果是 DA)1 2 B)1 4 C)123 4D)123 4563有以下程序#include <stido.h>main()FILE *fp; int a10=1,2,3,0,0,i;fp=fopen("d2.dat","wb");fwrite(a,sizeof(int),5,fp);fwrite(a,sizeof(int),5,fp);fclose(fp);fp=fopen("d2.dat","rb");fread(a,sizeof(int)

12、,10,fp);fclose(fp);for(i=0;i<10;i+) printf("%d,",ai);程序的運(yùn)行結(jié)果是 DA)1,2,3,0,0,0,0,0,0,0, B)1,2,3,1,2,3,0,0,0,0,C)123,0,0,0,0,123,0,0,0,0, D)1,2,3,0,0,1,2,3,0,0,第十章 對C語言的深入討論第一節(jié) 用戶定義類型、編譯預(yù)處理習(xí)題1以下關(guān)于typedef的敘述錯誤的是 AA)用typedef可以增加新類型B)typedef只是將已存在的類型用一個新的名字來代表C)用typedef可以為各種類型說明一個新名,但不能用來為變量說

13、明一個新名D)用typedef為類型說明一個新名,通??梢栽黾映绦虻目勺x性2以下敘述中錯誤的是 DA)在程序中凡是以“”開始的語句行都是預(yù)處理命令行 B)預(yù)處理命令行的最后不能以分號表示結(jié)束 C)#define MAX是合法的宏定義命令行 D)C程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過程中進(jìn)行的3若程序中有宏定義行:#define N 100,則以下敘述中正確的是 BA)宏定義行中定義了標(biāo)識符N的值為整數(shù)100B)在編譯程序?qū)源程序進(jìn)行預(yù)處理時用100替換標(biāo)識符NC)對C源程序進(jìn)行編譯時用100替換標(biāo)識符ND)在運(yùn)行時用100替換標(biāo)識符N第二節(jié) 標(biāo)識符的作用域和存儲分類習(xí)題1在C語言中,只有

14、在使用時才占用內(nèi)存單元的變量,其存儲類型是 AA)auto和registerB) extern和register C) auto和static D) static和register2有以下程序:fun(int x, int y)static int m=0,i=2; i+=m+1; m=i+x+y; return m;main()int j=1,m=1,k;k=fun(j,m); printf("%d,",k);k=fun(j,m); printf("%dn",k);執(zhí)行后的輸出結(jié)果是 BA)5,5B)5,11C)11,11D)11,53有以下程序int

15、 a=4;int f(int n)int t=0; static int a=5;if(n%2) int a=6; t+=a+;else int a=7;t+=a+;return t+a+;main()int s=a,i=0;for(;i<2;i+) s+=f(i);printf (" %dn",s);程序運(yùn)行后的輸出結(jié)果是BA)24 B)28C)32D)36第三節(jié) 動態(tài)存儲分配習(xí)題1已有定義:double *p;,請寫出完整的語句,利用malloc函數(shù)使p指向一個雙精度型 的動態(tài)存儲單元_。p = (double*)malloc(sizeof(double)2以下程

16、序中給指針p分配3個double型動態(tài)內(nèi)存單元,請?zhí)羁铡? * sizeof(double)# include <stdlib.h>main ( ) double *p; p=(double *) calloc(_); p0=1.5;p1=2.5;p2=3.5; printf(“%f%f%fn”,p0,p1,p2); 3以下程序的輸出結(jié)果是 _。 40# include <stdlib.h>main()char *s1,*s2,m;s1=s2=(char*)malloc(sizeof(char);*s1=15;*s2=20;m=*s1+*s2;printf(“%dn”,

17、m); 第四節(jié) main函數(shù)的參數(shù)與函數(shù)指針習(xí)題1設(shè)有定義語句int(*f)(int);,則以下敘述正確的是 BA)f是基類型為int的指針變量。B)f是指向函數(shù)的指針變量,該函數(shù)具有一個int類型的形參。C)f是指向int類型一維數(shù)組的指針變量。D)f是函數(shù)名,該函數(shù)的返回值是基類型為int類型的地址。2有以下程序:int add(int a,int b)return(a+b);main()int k,(*f)(),a=5,b=10; f=add; 則以下函數(shù)調(diào)用語句錯誤的是 CA)k=(*f)(a, b); B)k=add(a, b);C)k=*f(a, b); D)k=f(a, b);3

18、有以下程序float f1(float n) return n*n; float f2(float n) return 2*n; main() float (*p1)(float),(*p2)(float),(*t)(float), y1, y2;p1=f1; p2=f2;y1=p2( p1(2.0) );t = p1; p1=p2; p2 = t;y2=p2( p1(2.0) ); printf("%3.0f, %3.0fn",y1,y2);程序運(yùn)行后的輸出結(jié)果是AA)8, 16 B)8, 8 C)16, 16 D)4, 8第五節(jié) 函數(shù)的遞歸調(diào)用與對C語言的補(bǔ)充說明習(xí)題1有以下程序:fun(int x)int p;if(x=0|x=1) return(3);p=x-fun(x-2);return

溫馨提示

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

評論

0/150

提交評論