




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、C語言復(fù)習(xí)大綱第1章 概述重點(diǎn):計算機(jī)語言,算法的定義與表示方法難點(diǎn):算法的定義與表示方法知識點(diǎn):1.程序設(shè)計語言:機(jī)器語言、匯編語言、高級語言。2.高級語言翻譯成機(jī)器語言的兩種方式:編譯方式、解釋方式。3.算法+數(shù)據(jù)結(jié)構(gòu)=程序4.結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu):順序結(jié)構(gòu)、分支(選擇)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)5.算法的表示方法:自然語言、傳統(tǒng)的程序流程圖、N-S流程圖。6.結(jié)構(gòu)化程序設(shè)計的32字原則:7.C語言的產(chǎn)生及發(fā)展:UNIX操作系統(tǒng)8.C語言的特點(diǎn):9.C語言由函數(shù)組成,有且僅有一個main函數(shù)。10.函數(shù):說明部分、函數(shù)體。11.一條復(fù)雜語句分行書寫,用反斜杠()續(xù)行。12.注釋用/*/第2章
2、輸入和輸出重點(diǎn):單字符輸入/出、格式化輸入、格式化輸出難點(diǎn):格式化輸入、格式化輸出知識點(diǎn):1.單字符輸入/出:getchar()、putchar(字符變量)。2.字符串:gets(字符數(shù)組名)、puts(數(shù)組名)。3.格式化輸入: scanf(“格式控制符”,地址列表);格式控制符:%c、 %d 、 %o 、 %x、 %s、 %fu 若輸入long型、double型應(yīng)加l,如%ld、 %lo、 %lf u 格式%s輸入字符串不包含空格,且對應(yīng)地址表列是字符數(shù)組名。u 默認(rèn)分隔符:空格、回車、Tab鍵(也可按域?qū)捊厝。﹗ 格式控制符間不宜加其它字符,如加入其它字符,輸入時應(yīng)原樣輸入,否則數(shù)據(jù)接收
3、錯誤。如:scanf(“%d, %d”,&a,&b); 輸入數(shù)據(jù)時兩數(shù)據(jù)間要有逗號;scanf(“%d %d”,&a,&b); %d間有兩個空格,則輸入數(shù)據(jù)時至少有兩個空格。u 輸入函數(shù)中%f格式不能帶小數(shù),如:scanf(“%7.2f”,&a)是錯誤的。u %c格式輸入單字符,空格字符和轉(zhuǎn)義字符都作為有效字符接收。u %*d表示跳過它對應(yīng)的輸入數(shù)據(jù)。4.格式化輸出:printf(“格式控制符”,輸出列表);u 格式控制符部分可加入其它字符,原樣輸出。如:提示語或使輸出結(jié)果清楚顯示u 輸出列表:可以是變量、常量、表達(dá)式、函數(shù)調(diào)用等。u 轉(zhuǎn)義字符:以斜杠(
4、)開始,作為一個字符,如求字符串長度:“jkgkbl0knlj”,長度為7。u 注意:輸出 long 、double型數(shù)據(jù),用%ld、%lfu 可設(shè)定輸出寬度,m和n,如:%5d、%6.2f、%.2fu 負(fù)號表示域內(nèi)向左對齊,如:%-12d第3章 C語言程序設(shè)計基礎(chǔ)重點(diǎn):常量、變量、運(yùn)算符運(yùn)算規(guī)則及其優(yōu)先級難點(diǎn):運(yùn)算符運(yùn)算規(guī)則及其優(yōu)先級知識點(diǎn):1.常量:u 整型常量:235、0235、-0x235(前可加負(fù)號),長整型:-12l、-065l、0x55l等。u 實(shí)型常量:小數(shù)形式、指數(shù)形式。u 字符常量:用單引號,如c(注意轉(zhuǎn)義字符)。u 字符串常量:用雙引號,如“hglhg”、“a”,內(nèi)存占用
5、為實(shí)際長度加1。u 符號常量:無參宏(#define)。2.變量:u 標(biāo)識符命名規(guī)則:4條。u 各種類型變量的長度。u 數(shù)據(jù)類型轉(zhuǎn)換:自動、強(qiáng)制。u 注:強(qiáng)制類型轉(zhuǎn)換只得到所需類型的結(jié)果值,原變量或表達(dá)式的類型仍為原類型。如(float)(x+y)3.各種運(yùn)算符運(yùn)算規(guī)則及其優(yōu)先級。4.補(bǔ)充-邏輯表達(dá)式的優(yōu)化運(yùn)算:u &&運(yùn)算:只要算出第一個表達(dá)式為0,第二個表達(dá)式不再運(yùn)算。u |運(yùn)算:只要算出第一個表達(dá)式為1,第二個表達(dá)式不再運(yùn)算。如:int i=0,j=0,a=6; if (+i>0)|(+j>0) a+; printf(%d%d%d”,i,j,a); 結(jié)果i為1
6、,j為0,a為7。5.其它運(yùn)算符:條件運(yùn)算、逗號運(yùn)算、長度運(yùn)算符(形式:sizeof 表達(dá)式 或sizeof (數(shù)據(jù)類型))第4章 C語言控制結(jié)構(gòu)重點(diǎn):分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)及其嵌套難點(diǎn):循環(huán)結(jié)構(gòu)及其嵌套知識點(diǎn):1.if、while、for中的表達(dá)式,一般是邏輯或關(guān)系表達(dá)式,也可以是任意類型表達(dá)式。如while(a=5).2.如果有多條語句,必須用大括號括起,構(gòu)成復(fù)合語句。3.switch語句中case后面只能是常量值;若執(zhí)行完某case后的語句沒遇到break,則繼續(xù)執(zhí)行下一個case 語句。4.循環(huán)程序:注意循環(huán)變量的初值、修正值、循環(huán)條件等,以及循環(huán)中用到的某些變量賦初值,如求累加和變量。5
7、.一般是先判斷條件,再執(zhí)行循環(huán)體;但dowhile語句是先執(zhí)行一遍循環(huán)體,再判斷條件。6.break、continue語句。第5章 數(shù)組重點(diǎn):數(shù)組的定義及其使用,數(shù)組中的兩種排序方法難點(diǎn):函數(shù)數(shù)組中的兩種排序方法知識點(diǎn):1.數(shù)組定義:int a10;或int aN(N需要事先定義為符號常量:#define N 10 ); 數(shù)組長度必須是常量值,不能是變量,可以是在程序開始前定義的符號常量,進(jìn)行長度定義。2.下標(biāo)引用:0N-1,切記不能引用到N。(int a5; a5=10;這種引用是錯誤的)3.數(shù)組初始化時可省略長度定義。4.數(shù)組定義后如沒有給任何一個元素賦初值,對于static類型,各元素初
8、值為0;對于auto類型,各元素值不定。5.數(shù)組不能整體賦值。數(shù)組中各元素值的輸入/出,應(yīng)使用循環(huán)程序逐個輸入/出;字符數(shù)組例外(gets、puts)。6.數(shù)組中的兩種排序方法:u 冒泡法:外循環(huán)為i=0;i<n-1;內(nèi)循環(huán)為j=0;j<n-1-i;循環(huán)中比較aj和aj+1兩個元素,并互換。(考試內(nèi)容)u 選擇法:外循環(huán)為i=0;i<n-1;內(nèi)循環(huán)為j=i;j<n;內(nèi)循環(huán)開始前,先賦初值min=i;循環(huán)中比較amin和aj兩個元素,不互換,只讓min=j;內(nèi)循環(huán)結(jié)束后再進(jìn)行互換, ai和amin互換。(不做考試內(nèi)容,但是希望同學(xué)們記住這種好的排序方法)7.二維數(shù)組:按行
9、存放;賦初值的5種情況。8.字符數(shù)組:通常定義較長長度,如:char s50; 通常用于存放字符串,結(jié)束標(biāo)志為0??捎米址A繛槠涑跏蓟?,如:char s=“sdkhg”; 也可由鍵盤輸入,如gets(s);輸出用puts(s);注意:char s5=a,d,f,g,w;此種形式不是字符串,無字符串結(jié)束標(biāo)志,僅僅是普通一維字符數(shù)組,不能用puts輸出,只能用%c格式逐個輸出。字符數(shù)組的輸入/出還有兩種形式:%c、%s。第6章 函數(shù)重點(diǎn):函數(shù)的定義及其調(diào)用,變量的作用域難點(diǎn):函數(shù)的調(diào)用知識點(diǎn):1.函數(shù)定義:int func(int a,int y);如定義時沒指明函數(shù)類型,如:fun(int
10、a);默認(rèn)是int型,返回值不確定。2.聲明:函數(shù)定義在前,使用在后,可省略函數(shù)聲明,反之需要在使用前聲明。函數(shù)聲明的幾種變通形式。u 函數(shù)聲明后加分號,而函數(shù)定義后沒有分號。3.函數(shù)調(diào)用:函數(shù)名(實(shí)參表); u 實(shí)參與形參個數(shù)、類型、位置一致。u 形參與實(shí)參占據(jù)不同的存儲單元;形參只在函數(shù)調(diào)用時才為其分配存儲單元,函數(shù)調(diào)用結(jié)束后釋放。u 實(shí)參與形參之間是傳值調(diào)用,單向傳遞關(guān)系,形參值改變,不會影響實(shí)參值。u 補(bǔ)充:函數(shù)可嵌套調(diào)用,不可嵌套定義。u 嵌套調(diào)用:一個函數(shù)內(nèi)部又調(diào)用另外一個函數(shù)。u 遞歸調(diào)用:一個函數(shù)調(diào)用它自身。(考試不作要求)4.數(shù)組作為函數(shù)參數(shù):void func(int a,
11、int n);u 傳遞的是實(shí)參數(shù)組的首地址。調(diào)用時實(shí)參是數(shù)組名,如func(a,10);5.多維數(shù)組: void func(int a5,int n);(可省略第一維,但不能省略其它高維)。6.從作用域角度,變量分為:全局變量、局部變量。u 局部變量:在函數(shù)內(nèi)部定義,只能在該函數(shù)中使用,包括函數(shù)的形參和復(fù)合語句中定義的變量,main函數(shù)中定義的變量也是局部變量,不能被其它函數(shù)使用。u 不同函數(shù)內(nèi)定義的同名變量,互不影響,因其作用域不同,內(nèi)存空間獨(dú)立。u 全局變量:在函數(shù)外部定義,作用域從定義開始到本文件結(jié)束。其間的所有函數(shù)都可以使用它,可在各函數(shù)間傳遞值,但容易帶來副作用,降低模塊獨(dú)立性。7.
12、變量的存儲類別:auto、static、register、extern。8.局部變量的存儲類別: auto、static、register。u auto型的生存周期時函數(shù)被調(diào)期間,兩次調(diào)用之間不保留值。u static型的生存期是整個程序運(yùn)行期間,保留上一次調(diào)用后的值,且只賦一次初值(在程序運(yùn)行前初始化,默認(rèn)初值為0)。如:9.全局變量的存儲類別: static、extern。u 全局變量總是存放在靜態(tài)存儲區(qū)間,生存期是整個程序運(yùn)行期間,只賦一次初值,在程序運(yùn)行前初始化,默認(rèn)初值為0。u 用extern對全局變量加以聲明,可以將其作用域擴(kuò)充到整個文件或其它文件。u 定義全局變量時加上stati
13、c,可將其作用域限制在本文件中,不能被其它文件使用。10.函數(shù)的作用域是全局的,可被其它函數(shù)調(diào)用。u 函數(shù)存儲類別:static、extern。默認(rèn)為extern型。u 如:static int func(int a);則函數(shù)不被其它文件使用,所以兩文件中的同名靜態(tài)函數(shù),互不干擾。第7章 指針重點(diǎn):指針的定義和使用難點(diǎn):指針的使用知識點(diǎn):1.指針的基本概念:指針地址;2.指針常量:某已知變量的地址,或數(shù)組名等,:int a,b5;此時&a和b就是指針常量(固定值)。3.指針變量:如int a,*p=&a; char s9,*q=s;u 賦值:必須賦地址值,如int a,*p;
14、p=&a;如p=2001;是錯誤的。4.間接訪問:*p=5;等同于a=5;5.指針作為函數(shù)的參數(shù),傳遞的是實(shí)參變量的地址, 如:void func(int *p)u 調(diào)用時用某變量的地址常量,或指向該變量的指針作為實(shí)參,如主調(diào)函數(shù)中有定義int a,*q;q=&a;則可用&a或q作為實(shí)參進(jìn)行調(diào)用,即func(&a);或func(q); 都是將變量a的地址傳遞給形參指針p,使指針p指向變量a。函數(shù)中使用*p就是對a的間接訪問,就可以改變a的值,或者將結(jié)果放入a中。但形參變量本身改變,反過來不會影響實(shí)參指針值。 6.指針與一維數(shù)組:int a10,*p=a;則a代表
15、數(shù)組首地址,是指針常量,u 元素的表示方法:ai、*(a+i)、 pi、*(p+i)u 元素地址:&ai、a+i、 &pi、p+Iu 區(qū)別:a實(shí)指針常量,只不能變,而p是指針變量,可進(jìn)行增減運(yùn)算;所以常通過p的增減運(yùn)算來快速訪問數(shù)組a,如:while(p<a+5) scanf(“%d”,p+); 或while(p<a+5) (*p)+; printf(“%d,”,*p+);u 理解(*p)+、*p+、 *(p+)、p+的含義。u 執(zhí)行p+后指針撥動的單元數(shù)(由元素類型決定)7.一維數(shù)組作為函數(shù)形參,實(shí)際上就是一個指針變量,如:func(int a,int n); 等
16、同于func(int *a,int n);u 函數(shù)聲明的幾種變通形式。u 所以指針a在函數(shù)中值可以改變,如*a+,不同于函數(shù)內(nèi)定義的數(shù)組如:int b5;這里b是指針常量。8.指針與字符串:char *p,s50=“fdjfjdfj”; p=s;u 可用p間接訪問字符串,如指針法:for( ;*p!=0;p+) 或下表法:for(i=0;pi!=0;i+)9.指針形參在函數(shù)間傳遞字符串:void copy(char *s1,char *s2) while(*s1+=*s2+); u 調(diào)用時用字符數(shù)組名或指向某字符串的指針做實(shí)參,如:char *p=“sdgygkh”; char ss50; f
17、unc(ss,p) ;u 函數(shù)調(diào)用的靈活形式:func(ss+2,p)或func(ss,p+2)u 注意:輸入字符串常用gets函數(shù),但參數(shù)應(yīng)是字符數(shù)組名,或已指向某字符數(shù)組的指針,如:char s50,*p; gets(s);是正確的,而gets(p)是錯誤的,因?yàn)閜沒被賦地址值,無任何指向。改正:p=s; gets(p);第8章 結(jié)構(gòu)重點(diǎn):結(jié)構(gòu)體和共用體的定義和使用難點(diǎn):結(jié)構(gòu)體和共用體的使用知識點(diǎn):1.結(jié)構(gòu)體:struct ,.定義的幾種形式。成員可以是任意類型。成員引用:結(jié)構(gòu)體變量名成員名u 占用內(nèi)存大小為:各成員占用內(nèi)存之和。u 結(jié)構(gòu)體數(shù)組:同普通數(shù)組一樣使用。初始化時注意雙重括號。u
18、 結(jié)構(gòu)體指針:(*p).成員名或p ->成員名 注意:只能用結(jié)構(gòu)體變量地址賦值,不能賦某成員的地址,如:p=&;是錯誤的。u 通常定義變量或形參時必須加上struct,如: void func(struct student *p) struct student a4,temp;2.共用體:union,定義形式同結(jié)構(gòu)體。成員引用:共用體變量名成員名u 占用內(nèi)存大小為:共用體中較長的成員的長度。u 某一時刻只有一個成員起作用,最后一個存放的成員值有效。u 結(jié)構(gòu)體類型與共用體類型可互相嵌套使用,即結(jié)構(gòu)體成員的類型也可以是共用體類型,反之亦然。3.枚舉類型:如:enum
19、weeksun,mon,tues,wen,thur,fri,satday;u 枚舉元素就是枚舉變量的可能取值,如:day=mon;u 枚舉元素視為常量,其值就是序號(0 n-1)。也可以在定義時改變其值,如:enum sa=3,b=1,c=2;4.類型標(biāo)識符自定義:typedef,如:typedef int INTEGER; typedef struct STU;typedef int ARR10; 以后可直接使用INTEGER、ARR、STU類型進(jìn)行變量定義,書寫簡略。u 注意:只能為類型另起新名,不能創(chuàng)造新類型,也不能為變量或函數(shù)重新命名(define)。第9章 文件重點(diǎn):文件的類型,文件
20、的操作難點(diǎn):文件的操作知識點(diǎn):1.流式文件:文本文件、二進(jìn)制文件。u 文本文件:若干字符序列,較長,可用type命令或記事本查看。u 二進(jìn)制文件:若干字節(jié)序列,短,存取速度快,不能用type或記事本等查看。2.文件操作:讀操作、寫操作。使用有關(guān)文件函數(shù)來完成,需包含頭文件stdio.h3.操作步驟: 定義文件類型指針 打開文件 檢測指針 讀/寫 關(guān)閉文件。4.打開文件時的使用方式各6種。5.讀/寫函數(shù):fgetc(fp)、fputc(ch,fp)、fread(*p,size,n,fp)、 fwrite(*p,size,n,fp)、fgets(*str,n,fp)、fputs(*str,fp)f
21、scanf(fp, “格式控制符” ,地址列表)、fprintf(fp, “格式控制符” ,輸出列表),以上函數(shù)是簡要書寫。6.三個標(biāo)準(zhǔn)設(shè)備文件指針:stdin、stdout、stderr7、有關(guān)文件操作函數(shù)ferror(fp)、feof(fp)、clearerr(fp);10.控制循環(huán):while(ch=fgetc(fp) !=EOF) 或while(!feof(fp)EOF是在頭文件中定義的符號常量,值為-1代表文件結(jié)束。復(fù)習(xí)題一、單選題1.C 語言是在 語言的基礎(chǔ)上產(chǎn)生的。A. A B. B C. D D. E2.在 C 語言中,每個語句必須以 結(jié)束。A. 回車符 B. 冒號 C. 逗號
22、 D. 分號3.標(biāo)識符和關(guān)鍵字間,要用 隔開。A. 回車符 B. 冒號 C. 空格 D. 分號 4.用 C 語言編寫的源文件經(jīng)過編譯,若沒有產(chǎn)生編譯錯誤,則系統(tǒng)將 。A. 生成可執(zhí)行目標(biāo)文件 B. 生成目標(biāo)文件C. 輸出運(yùn)行結(jié)果 D.自動保存源文件 5.下列說法中正確的是 。A. 由于 C 源程序是高級語言程序,因此一定要在 TC 軟件中輸入B. 由 C 源程序是字符流組成,因此可以作為文本文件在任何文本編輯的軟件中輸入C. 由于C 程序是高級語言程序,因此輸入后即可執(zhí)行D. 由于 C 程序是高級語言程序,因此它由命令組成6.下列說法中正確的是 。A. C 語言程序由主函數(shù)和 0 個或多個函數(shù)
23、組成B. C 語言程序由主程序和子程序組成 C. C 語言程序由子程序組成D. C 語言程序由過程組成 7.下列說法中錯誤的是 。A. 主函數(shù)可以分為兩個部分:主函數(shù)說明部分和主函數(shù)體 B. 主函數(shù)可以調(diào)用任何非主函數(shù)的其他函數(shù) C. 任何非主函數(shù)可以調(diào)用其他任何非主函數(shù) D. 程序可以從任何非主函數(shù)開始執(zhí)行 8.以下選項中,正確的 C 語言整型常量是 。A. 32L B. 510000 C. -1.00 D. 567 9.以下選項中, 是不正確的 C 語言字符型常量。A. 'a' B. 'x41' C. '101' D. "a&quo
24、t; 10.在 C 語言中,字符型數(shù)據(jù)在計算機(jī)內(nèi)存中,以字符的 形式存儲。A. 原碼 B. 反碼 C. ASCII 碼 D. BCD碼 11.字符串的結(jié)束標(biāo)志是 。A. 0 B. '0' C. '0' D. "0" 12.算術(shù)運(yùn)算符、賦值運(yùn)算符和關(guān)系運(yùn)算符的運(yùn)算優(yōu)先級按從高到低依次為 。A. 算術(shù)運(yùn)算、賦值運(yùn)算、關(guān)系運(yùn)算 B. 算術(shù)運(yùn)算、關(guān)系運(yùn)算、賦值運(yùn)算 C. 關(guān)系運(yùn)算、賦值運(yùn)算、算術(shù)運(yùn)算 D. 關(guān)系運(yùn)算、算術(shù)運(yùn)算、賦值運(yùn)算 13.邏輯運(yùn)算符中,運(yùn)算優(yōu)先級按從高到低依次為 。A. &&,!,| B. |,&&
25、,! C. &&,|,! D. !,&&,| 14.表達(dá)式!x|a=b 等效于 。A. !(x|a)=b) B. !(x|y)=b C. !(x|(a=b) D. (!x)|(a=b) 15.設(shè)整型變量 m,n,a,b,c,d 均為1,執(zhí)行 (m=a>b)&&(n=c>d)后, m,n 的值是 。A. 0,0 B. 0,1 C. 1,0 D. 1,1 16.int b=0,x=1;執(zhí)行語句 if(x+) b=x+1; 后,x,b 的值依次為 。 A. 2,3 B. 2,0 C. 3,0 D. 3,2 17.設(shè)有語句 int a=3;,
26、則執(zhí)行了語句 a+=a-=a*=a; 后,變量 a 的值是 。 A. 3 B. 0 C. 9 D. -12 18.在以下一組運(yùn)算符中,優(yōu)先級最低的運(yùn)算符是 。 A. * B. != C. + D. = 19.設(shè)整型變量 i 值為2,表達(dá)式(+i)+(+i)+(+i)的結(jié)果是 。 A. 6 B. 12 C. 15 D. 表達(dá)式出錯 20.若已定義 x 和 y為double 類型,則表達(dá)式 x=1,y=x+3/2 的值是 。 A. 1 B. 2 C. 2.0 D. 2.5 21.sizeof (double)的結(jié)果值是 。 A. 8 B. 4 C. 2 D. 出錯 22.設(shè)a=1,b=2,c=3,
27、d=4,則表達(dá)式:a<b? a : c<d? a : d的結(jié)果為 。 A. 4 B. 3 C. 2 D. 1 23.設(shè)a 為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系:10<a<15的 C 語言表達(dá)式是 。 A. 10<a<15 B. a= =11| a= =12 | a= =13 | a= =14 C. a>10 && a<15 D. !(a<=10) && !(a>=15) 24.設(shè) f是實(shí)型變量,下列表達(dá)式中不是逗號表達(dá)式的是 。 A. f= 3.2, 1.0 B. f>0, f<10 C. f=
28、2.0, f>0 D. f=(3.2, 1.0) 25.設(shè)ch是 char型變量,其值為 'A',則下面表達(dá)式的值是 。ch=(ch>='A'&& ch<='Z')? (ch+32):ch A. A B. a C. Z D. Z 26.以下運(yùn)算符中,結(jié)合性與其他運(yùn)算符不同的是 。 A. + B. % C. / D. + 27.以下用戶標(biāo)識符中,合法的是 。 A. int B. nit C. 123 D. a+b 28.C 語言中,要求運(yùn)算對象只能為整數(shù)的運(yùn)算符是 。 A. % B. / C. > D. *
29、29.PC 機(jī)中,'n'在內(nèi)存占用的字節(jié)數(shù)是 。 A. 1 B. 2 C. 3 D. 4 30.字符串"ABC"在內(nèi)存占用的字節(jié)數(shù)是 。 A. 3 B. 4 C. 6 D. 8 31.要為字符型變量 a賦初值,下列語句中哪一個是正確的 。 A. char a="3" B. char a=3; C. char a=%; D. char a=*; 32.下列不正確的轉(zhuǎn)義字符是 。 A. B. ' C. 074 D. 0 33.printf("f=%3.2f%",3.478);的輸出結(jié)果是 。A. f=3.48% B
30、. f=3.5% C. f=3.48% % D. f=347.8% 34.printf("%c,%d",'a', 'a');的輸出結(jié)果是 。 A. a,97 B. a 97 C. 97,a D. 97 a 35.scanf("%c",&a);若要給變量輸入大寫字母 A,則以下正確的輸入是 。A. 'A' <CR> B. A <CR> C. "A" <CR> D. 以上都不對 36.若一個 int 類型的數(shù)據(jù)占 2 字節(jié),則程序段:int x=-
31、1;printf("%u,%d",x,x);的輸出結(jié)果是 。 A. 65535, -1 B. -1,65535 C. 32767, 32768 D. 32768,32767 37.在 TC 中,getchar、putchar、printf、scanf 四個函數(shù),均包含在頭文件 中。A. math.h B. stdio.h C. stbio.h D. stdlib.h 38.復(fù)合語句是用 括起來的語句組。 A. ( ) B. C. D. < > 39.下列格式符中,哪一個可以用于以八進(jìn)制形式輸出整數(shù) 。 A. %d B. %8d C. %o D. %ld 40.下
32、列格式符中,哪一個可以用于以十六進(jìn)制形式輸出整數(shù) 。 A. %16d B. %8x C. %d16 D. %d 41.a 是int類型變量,c是字符變量,下列輸入語句中哪一個是錯誤的 。 A. scanf("%d,%c",&a,&c); B. scanf("%d%c",a,c); C. scanf("%d%c",&a,&c); D. scanf("d=%d,c=%c",&a,&c); 42.要使double x; long a;的數(shù)據(jù)能正確的輸出,輸出語句應(yīng)是 。A.
33、 printf("%d, %f",a, x); B. printf("%d, %1f",a, x);C. scanf("%1d, %1f",&a, &x); D. printf("%1d, %lf",a, x);43.C 語言總是從 函數(shù)開始執(zhí)行。A. main B. 處于最前的 C.處于最后的 D. 隨機(jī)選一個 44.函數(shù)在定義時,省略函數(shù)類型說明符,則該函數(shù)值的類型為 。A. int B. float C. long D. double 45.以下 函數(shù),真正地沒有返回值。A. int a()i
34、nt a=2;return (a); B. void b()printf("c"); C. int a()int a=2;return a; D. 以上都是 46.在 C 語言中,有關(guān)函數(shù)的說法,以下正確的是 。A. 函數(shù)可嵌套定義,也可嵌套調(diào)用 B. 函數(shù)可嵌套定義,但不可嵌套調(diào)用 C. 函數(shù)不可嵌套定義,但可嵌套調(diào)用 D. 函數(shù)不可嵌套定義,也不可嵌套調(diào)用 47.以下函數(shù)調(diào)用語句中,含有實(shí)參的個數(shù)為 。fun(2,3),(4,5+6,7); A. 1 B. 2 C. 5 D. 648.函數(shù)調(diào)用可以在 。A. 函數(shù)表達(dá)式中 B. 函數(shù)語句中 C. 函數(shù)參數(shù)中 D. 以上都
35、是 49.被調(diào)函數(shù)返回給主調(diào)函數(shù)的值稱為 。A. 形參 B. 實(shí)參 C. 返回值 D. 參數(shù) 50. ,可以不進(jìn)行函數(shù)類型說明。A. 被調(diào)函數(shù)的返回值是整型或字符型時B. 被調(diào)函數(shù)的定義在主調(diào)函數(shù)定義之前時 C. 在所有函數(shù)定義前,已在函數(shù)外預(yù)先說明了被調(diào)函數(shù)類型D. 以上都是 51.被調(diào)函數(shù)通過 語句,將值返回給主調(diào)函數(shù)。A. if B. for C. while D. return 52.被調(diào)函數(shù)調(diào)用結(jié)束后,返回到 。A.主調(diào)函數(shù)中該被調(diào)函數(shù)調(diào)用語句處 B.主函數(shù)中該被調(diào)函數(shù)調(diào)用語句處 C.主調(diào)函數(shù)中該被調(diào)函數(shù)調(diào)用語句的前一語句 D.主調(diào)函數(shù)中該被調(diào)函數(shù)調(diào)用語句的后一語句53.以下對 C語
36、言函數(shù)的有關(guān)描述中,正確的是 。A. 在 C 中,調(diào)用函數(shù)時,只能把實(shí)參的值傳送給形參,形參的值不能傳送給實(shí)參 B. C函數(shù)既可以嵌套定義又可遞歸調(diào)用 C. 函數(shù)必須有返回值,否則不能使用函數(shù) D. C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個源程序文件中 54.C 語言中函數(shù)的隱含存儲類型是 。A. auto B. static C. extern D. 無存儲類型 55.能把函數(shù)處理結(jié)果的兩個數(shù)據(jù)返回給主調(diào)函數(shù),在下面的方法中不正確的是 。A. return 這兩個數(shù) B. 形參用兩個元素的數(shù)組 C. 形參用兩個這種數(shù)據(jù)類型的指針 D. 用兩個全局變量 56.int a4=5,3,8,9;其
37、中 a3的值為 。A. 5 B. 3 C. 8 D. 9 57.以下 4 個字符串函數(shù)中, 所在的頭文件與其他 3 個不同。A. gets B. strcpy C. strlen D. strcmp58.以下 4 個數(shù)組定義中, 是錯誤的。A. int a7; B. #define N 5 long bN; C. char c5; D. int n,dn; 59.對字符數(shù)組進(jìn)行初始化, 形式是錯誤。A. char c1 ='1', '2', '3' B. char c2 =123; C. char c3 = '1', '2
38、', '3', '0' D. char c4 ="123" 60.在數(shù)組中,數(shù)組名表示 。A. 數(shù)組第 1 個元素的首地址 B.數(shù)組第 2 個元素的首地址 C. 數(shù)組所有元素的首地址 D.數(shù)組最后 1 個元素的首地址61.若有以下數(shù)組說明,則數(shù)值最小的和最大的元素下標(biāo)分別是 。int a12 = 1,2,3,4,5,6,7,8,9,10,11,12; A. 1,12 B. 0,11 C. 1,11 D. 0,12 62.若有以下說明,則數(shù)值為 4 的表達(dá)式是 。int a12 =1,2,3,4,5,6,7,8,9,10,11,12;
39、char c=a, d, g ; A. ag-c B. a4 C. a'd'-'c' D. a'd'-c 63.設(shè)有定義:char s12 = "string" ; 則printf( "%dn",strlen(s); 的輸出是 。A. 6 B. 7 C. 11 D. 12 64.設(shè)有定義:char s12 = "string" 則printf("%dn ", sizeof(s); 的輸出是 。A. 6 B. 7 C. 11 D. 12 65.合法的數(shù)組定義是 。A.
40、char a = "string" B. int a5 =0,1,2,3,4,5; C. char a="string " D. char a =0,1,2,3,4,5; 66.合法的數(shù)組定義是 。A. int a3 =0,1,2,3,4,5; B. int a 3 =0,1,2,3,4; C. int a23=0,1,2,3,4,5,6; D. int a23=0,1,2,3,4,5,; 67.下列語句中,正確的是 。A. char a3 ='abc', '1' B. char a 3 ='abc', &
41、#39;1' C. char a3 ='a', "1" D. char a 3 = "a", "1" 68.下列定義的字符數(shù)組中,輸出 printf("%sn", str2) ;的輸出是 。static str320 = "basic", "foxpro", "windows" A. basic B. foxpro C. windows D. 輸出語句出錯69.下列各語句定義了數(shù)組,其中哪一個是不正確的 。A. char a310=
42、"China","American","Asia" B. int x22=1,2,3,4; C. float x2 =1,2,4,6,8,10; D. int m3=1,2,3,4,5,6; 70.數(shù)組定義為 int a32=1,2,3,4,5,6,值為6的數(shù)組元素是 。A. a32 B. a21 C. a12 D. a23 71.指針 pstr所指字符串的長度為 。char *pstr="t"1234abcdn" A. 15 B. 14 C. 13 D. 12 72.對于 char *pstr;,以下正
43、確的是 。A. *pstr="Hi" B. pstr="Hi" C. *pstr="Hi" D. *pstr="Hi" 73.以下程序段的輸出結(jié)果為 。char astr5="1234" char *pstr=astr; printf("%c",pstr1-'0'); A. 1 B. 2 C. ASCII碼值為 1 的字符 D. ASCII 碼值為 2 的字符 74.下述程序段的輸出結(jié)果為 。char astr="abcde" char *
44、pstr=&astr5; while(-pstr>=astr) putchar(*pstr); putchar('n'); A. abc B. cba C. abcde D. edcba75.若有定義 int a=1,*b,c;,以下不正確的是 。A. b=a B. b=&a C. b=&a,c=*b D. c=a 76.以下程序段的運(yùn)行結(jié)果為 。int num=1,2,3,4,5,6,7,8,9,*pnum=&num2; pnum+; +pnum; printf("%dn",*pnum); A. 3 B. 4 C. 5
45、 D. 6 77.以下程序段的運(yùn)行結(jié)果為 。char *pstr="My name is Tom" int n=0; while(*pstr+!='0') n+; printf("n=%dn",n); A. 12 B. 14 C. 16 D. 不確定78.以下程序段的運(yùn)行結(jié)果為 。int num9=1,2,3,4,5,6,7,8,9,*p; p=num; *(p+1)=0; printf("%d,%d,%dn",*p,p1,(*p)+); A. 2,0,1 B. 1,0,1 C. 2,2,2 D. 1,1,1 79.以
46、下程序段的運(yùn)行結(jié)果為 。 int a=5,*p=&a,b,*q; a=10; *p=15; q=p; *q=20; b=*q; p=&b; printf("a=%d,b=%d,*p=%d,*q=%dn",a,b,*p,*q); A. a=5,b=10,*p=15,*q=20 B. a=20,b=15,*p=10,*q=5 C. a=20,b=20,*p=20,*q=20 D. a=15,b=15,*p=15,*q=15 80.已知 char *p,*q;,以下語句正確的是 。A. p*5; B. p/=q; C. p+=5; D. p+=q;二、填空題1.C
47、 語言中的邏輯值“真”是用 表示的,邏輯值“假”是用 表示的。2.符號常量的定義方法是 。3.無符號基本整型的數(shù)據(jù)類型符為 ,雙精度實(shí)型數(shù)據(jù)類型符為 ,字符型數(shù)據(jù)類型符為 。4.設(shè) c='w',a=1,b=2,d=-5, 則表達(dá)式 'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, b=a=2的值分別為 、 、 、 。5.設(shè) float x=2.5,y=4.7; int a=7;,表達(dá)式 x+a%3*(int)(x+y)%2/4的值為 。6.判斷變量 a、b 的值均不為 0 的邏輯表達(dá)式為 。7.求解賦值表達(dá)式 a=(b=
48、10)%(c=6),表達(dá)式值、a、b、c 的值依次為 。8.求解逗號表達(dá)式 x=a=3,6*a 后,表達(dá)式值、x、a 的值依次為 。9.數(shù)學(xué)式a/(b*c)的 C語言表達(dá)式 。10.三種循環(huán)語句是 價的。11.當(dāng)循環(huán)體中的switch語句內(nèi)有break語句,則只跳出 語句。同樣,當(dāng)switch語句中有循環(huán)語句,內(nèi)有 break 語句,則只跳出 語句。12.循環(huán)體執(zhí)行遇到continue 語句時 。13.下列程序的功能是輸入一個正整數(shù),判斷是否是素數(shù),若為素數(shù)輸出 1,否則輸出 0,請為程序填空。void main( ) int i, x, y=1; scanf("%d",
49、&x); for(i=2; i<=x/2; i+) if ( ) y=0; break; printf("%dn",y); 14.輸入 N個實(shí)數(shù),輸出其中的最大值、最小值。 #include <stdio.h> void main( ) int n,i; float no1,nmax,nmin; scanf("%d",&n); scanf("%f",&no1); nmax=no1; ; for(i=2;i<=n;i+) scanf("%f", ); if(no1>nmax) nmax=no1; ; printf("MAX=%f MIN=%fn",nmax,nmin); 15.輸入若干個字符,分別統(tǒng)計數(shù)字字符的個數(shù)、英文字母的個數(shù),當(dāng)輸入換行符時輸出統(tǒng)計結(jié)果,運(yùn)行結(jié)束。#include <stdio.h> void main( ) char ch; ; w
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲店選址評估及合作開發(fā)合同
- 聘請傭人協(xié)議書范本模板
- 財務(wù)人員保密協(xié)議及財務(wù)審計合作合同
- 電商市場調(diào)研與運(yùn)營優(yōu)化合同
- 財務(wù)咨詢保密協(xié)議及知識產(chǎn)權(quán)保護(hù)合同
- 汽車金融公司車輛股份投資與風(fēng)險控制合同
- 財務(wù)經(jīng)理擔(dān)保及業(yè)績目標(biāo)責(zé)任協(xié)議
- 礦產(chǎn)資源開采權(quán)轉(zhuǎn)讓與礦山生態(tài)修復(fù)合同范本
- 場地監(jiān)管廉政規(guī)范實(shí)施合同
- 銀行崗前培訓(xùn)匯報
- 呼吸機(jī)相關(guān)性肺炎(VAP)-的預(yù)防措施
- 欽州市第二人民醫(yī)院白石湖院區(qū)項目環(huán)境影響報告書
- 如何做好研究生導(dǎo)師
- 阿含經(jīng)白話文
- 撤銷冒名登記(備案)申請表
- 減肥總結(jié):如何制定有效的減肥計劃PPT
- 外科疾病專題知識講座培訓(xùn)課件
- 2022-2023學(xué)年四川省成都市雙流縣五年級數(shù)學(xué)第二學(xué)期期末聯(lián)考試題含解析
- 內(nèi)燃機(jī)車制動機(jī)簡介
- 通用包裝作業(yè)指導(dǎo)書SOP
- 水電開發(fā)對生態(tài)環(huán)境的不利影響
評論
0/150
提交評論