版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基礎(chǔ)知識(數(shù)據(jù)類型、輸入輸出、表達式)1)程序結(jié)構(gòu)是三種:順序結(jié)構(gòu)、選擇結(jié)構(gòu)(分支結(jié)構(gòu))、循環(huán)結(jié)構(gòu)。2)讀程序都要從main()入口,然后從最上面順序往下讀(碰到循環(huán)做循環(huán),碰到選擇做選擇),有且只有一個main函數(shù)?3)計算機的數(shù)據(jù)在電腦中保存是以二進制的形式.數(shù)據(jù)存放的位置就是他的地址.3、每個C語言程序中main函數(shù)是有且只有一個。5、算法:可以沒有輸入,但是一定要有輸出。7、逗號運算符的級別最低,賦值的級別倒數(shù)第二。1、C語言編寫的程序稱為源程序,又稱為編譯單位。2、C語言書寫格式是自由的,每行可以寫多個語句,可以寫多行。3、ー個C語言程序有且只有一個main函數(shù),是程序運行的起點。常量數(shù)字常量普通數(shù)字:1,35,2.7指數(shù)形式:2.45*2等價于2.45*10、注意e大小寫皆可,e前面的數(shù)字不能省,就算是1也不能省,后面的數(shù)字一定要是整數(shù)長整型,單精度浮點型:3235L,32.5F分別表示3235是長整型數(shù)據(jù),32.5是單精度浮點型左,若不寫上L,F則表示3235是整型,32.5是雙精度浮點型,L,F大小寫皆可字符常量普通字符常量:用單刃號把一個字符括起來,如‘A7@’轉(zhuǎn)義字符常量:ー對單引號括起來并以‘へ"開頭的字符序列,如ヘづ(回車)、へ12+(8進制123對應(yīng)的字符),へX23,(16進制23對應(yīng)的字符)字符串常量用ー對雙刃號把ー個字符序列括起來,如“ABCef",系統(tǒng)存放字符串常量,每個字符分配ー個字節(jié),各字符所占字節(jié)緊鄰,并且字符串末尾會給再開ー個字節(jié)里面放ー個へ0,做為結(jié)束標志。符號常量定義格式#define符號常量名符號常量值,如#defineN20則定義了符號常量N,其值為20(注意符號常量名和符號常量值之間是用空格隔開,而不是寫上=號,!idege和符號常量名之間也有空格的。命名規(guī)則以數(shù)字,字母,下劃線這三類字符組成,但ー只能以字母或下劃線開頭,而不能也數(shù)字開頭,另外不能將關(guān)鍵字做為標識符。1、標識符:合法的要求是由晩?數(shù)錮下劃?組成。有其它元素就錯了。并且第一個必須為字母或則是下劃線。第一個為數(shù)字就錯了2、標識符分為關(guān)鍵字、預(yù)定義標識符、用戶標識符。關(guān)鍵字:不可以作為用戶標識符號。maindefinescanfprintf都不是關(guān)鍵字。迷惑你的地方If是可以做為用戶標識符。因為!f中的第一個字母大寫了,所以不是關(guān)鍵字。預(yù)定義標識符:背誦definescanfprintfinclude?記住預(yù)定義標識符可以做為用戶標識符。類型名int整型,long長整型:用于存放整數(shù),只是數(shù)值范圍不同float單精度浮點型double雙精度浮點型:用于存放實數(shù),數(shù)值范圍,精度不同char字符型:用于存放字符1)C語言只有ハ、十、十六進制,沒有二進制.但是運行時候,所有的進制都要轉(zhuǎn)換成二進制來進行處理。(考過兩次)a、C語言中的ハ進制規(guī)定要以0開頭。018的數(shù)值是非法的,ハ進制是沒有8的,逢8進1。b、C語言中的十六進制規(guī)定要以O(shè)x開頭。2)小數(shù)的合法寫法:C語言小數(shù)點兩邊有一個是零的話,可以不用寫。L0在C語言中可寫成1.0.1在C語言中可以寫成.1。3)實型數(shù)據(jù)的合法形式:a、2.333e-l就是合法的,且數(shù)據(jù)是2.333X10工4、考鍬。抉:e前e后必有數(shù),e后必為整數(shù)。請結(jié)合書上的例子。4)整型一般是4個字節(jié),字符型是1個字節(jié),雙精度一般是8個字節(jié):longintx;表示x是長整型。unsignedintx:表示x是無符號整型。變量賦值,初始化自增自減運算變量++,++變量,變量ー,-ー變量使變量的值自增1或自減1等價于變量=變量+1變量=變量-1++,ー放于變量前后效果的區(qū)別:當自增印減運算傲為表達式的一鄧分K,++,ー放在變量前面是先自增自減再使用變量的值,放在變量后面則是先使用變量的值,再白增白減。如x=3;printf("%d”,++x);則相當于執(zhí)行了++x;printf("%d",x);這樣的操作所以打印出4再如x=3;printf卜%d”,x++);則相當于執(zhí)行了printf("%d",x);X++;這樣的操作,則打印出3,當然最后x的值還是4。表達式運算符和運算對象一個運算符都有若干個運算對象,如+必然要跟兩個運算對象才能進行加法運算:3+50C語言里稱需要跟n個運算對象的運算符為n元運算符。一元運算符有:!,(類型名)二元運算符有:+,-,*/%(求余),=,+=,-=,*=,/=,%=,<,>,<=,>=,==(等于),!=(不等于),&&(且),II(或)多元運算符有:,運算符的優(yōu)先級和結(jié)合性優(yōu)先級:同一個運算對象左右兩邊若同時有兩個運算符,則這兩個運算符優(yōu)先級高的先進行運算。結(jié)合性:若同一個運算對象左右兩邊的兩個運算符優(yōu)先級相同,則根據(jù)結(jié)合性判斷先進行哪個運算,自左自右結(jié)合性的先算左邊的運算符,自右自左的先算右邊的運算符。各運算符的優(yōu)先級和結(jié)合性見P365附錄C強制類型轉(zhuǎn)換格式:(類型名)表達式。將后跟的表達式的值的數(shù)據(jù)類型轉(zhuǎn)換為與圓括號內(nèi)的類型名ー致的類型。注意類型名一定要用〇括起來。算術(shù)表達式算術(shù)運算符:+,-,*/%(求余)由算術(shù)運算符加上運算對象構(gòu)成算術(shù)表達式,如3+3*6-9/2值:跟我們小學時學的ー樣,就是表達式的計算結(jié)果整數(shù)除以整數(shù)結(jié)果取整數(shù)部分,故1G得到的值是。5%3結(jié)果為2,想想小學除法,求余得到的是余數(shù)不是商。賦值表達式賦值運算符:=,+=,-=,*=,/=,%=賦值表達式:變量=表達式,如x=3+6,x+=6-9,x+=x*=3+4注意等號左邊只能是變量復(fù)合賦值運算符的運算:以/=為例:x/=表達式等價于x=x/(表達式)值:=號左邊的變量最終的值關(guān)系表達式關(guān)系運算符:<,>,<=,>=,==(等于),!=(不等于)由關(guān)系運算符加上運算對象構(gòu)成關(guān)系表達式,如3>=4,2==a值:滿足相應(yīng)運算符所指定的關(guān)系的值為1,否則為0邏輯表達式邏輯運算符:&&(且),||(或),!(非)由邏輯運算符加上運算對象構(gòu)成邏輯表達式,如3&&4,x||!y值:滿足相應(yīng)運算符所指定的關(guān)系的值為1,否則為0進行リ或運算時,若[、左邊的表達式值為1,則不再對右邊的表達式進行運算。進行&&且運算時,若&&左邊的表達式值為。,則不再對右邊的表達式進行運算O1、算術(shù)表達式:+, *,/,%考試一定要注意:“/”兩邊都是整型的話,結(jié)果就是ー個整型。3/2的結(jié)果就是1.如果有一邊是小數(shù),那么結(jié)果就是小數(shù)。3/2.0的結(jié)果就是0.5“%”符號請一定要注意是余數(shù),考試最容易算成了除號。)%符號兩邊要求是整數(shù)。不是整數(shù)就錯了。[注意!?。。?、賦值表達式:表達式數(shù)值是最左邊的數(shù)值,a=b=5;該表達式為5,常量不可以賦值,1、intx=y=10:錯啦,定義時,不可以連續(xù)賦值。2、intx,y;x=y=10J 對滴,定義完成后,可以連續(xù)賦值。3、賦值的左邊只能是一個變量?4、intx=7.7!對滴,x就是75、floaty=7!對滴,x就是7.03、復(fù)合的賦值表達式:inta=2;a*=2+3;運行完成后,a的值是12〇一定要注意,首先要在2+3的上面打上括號。變成(2+3)再運算。4、自加表達式:自加、自減表達式:假設(shè)a=5,++a(是為6),a++(為5);運行的機理:++a是先把變量的數(shù)值加上1,然后把得到的數(shù)值放到變量a中,然后再用這個++a表達式的數(shù)值為6,而a++是先用該表達式的數(shù)值為5,然后再把a的數(shù)值加上1為6,再放到變量a中。進行了++a和a++后在下面的程序中再用到a的話都是變量a中的6了??荚嚖莨?++在前先加后用,++在后先用后加。5、逗號表達式:優(yōu)先級別最低。表達式的數(shù)值逗號量右邊的那個表達式的數(shù)值。(2,3,4)的表達式的數(shù)值就是4。z=(2,3,4)(整個是賦值表達式)這個時候z的值為4。1)字符數(shù)據(jù)的合法形式::T’是字符占ー個字節(jié),”「是字符串占兩個字節(jié)(含有一個結(jié)束符號)?!枴腁SCII數(shù)值表示為48,'a'的ASCII數(shù)值是97,'A'的ASCII數(shù)值是65。一般考試表示單個字符錯誤的形式:’65' "1"字符是可以進行算術(shù)運算的,記住:'0'-0=48大寫字母和小寫字母轉(zhuǎn)換的方法:'A'+32='a'相互之間一般是相差32。2)轉(zhuǎn)義字符:轉(zhuǎn)義字符分為一般轉(zhuǎn)義字符、ハ進制轉(zhuǎn)義字符、十六進制轉(zhuǎn)義字符。一般轉(zhuǎn)義字符:背誦、〇、'n、、‘、、"、\'。ハ進制轉(zhuǎn)義字符:'\14J是合法的,前導(dǎo)的〇是不能寫的。十六進制轉(zhuǎn)義字符:''x6d,オ是合法的,前導(dǎo)的〇不能寫,并且x是小寫。3、字符型和整數(shù)是近親:兩個具有很大的相似之處chara=65;printf("睨",a):得到的輸出結(jié)果:aprintf("%d",a);得到的輸出結(jié)果:65輸入輸出函數(shù)scanf("格式控制串",變量地址表列);如scanf("%d%c%d",&a,&ch,&b); scanf("%4f",&x);注意:格式控制串可控制截取用戶輸入的前幾個字符給變量,但不能控制輸入幾位小數(shù)給變量,如不能寫成scanf("%4.2f",&x);第二個參數(shù)給的是地址,即要么是&+變量名或數(shù)組元素名的形式,要么就是ー個數(shù)組名或指針變量名,如int*p,a;p=&a;scanf("%d",p);考試時注意看題目給你寫好的scanf的格式若其格式控制串內(nèi)各格式符用“,”隔開如scanf("%d,%c,%d",&a,&ch,&b);那輸入時也要用逗號隔開,如此例輸入時應(yīng):3,+,5若是這種格式scanf("%d%d”,&a,&b);則輸入時應(yīng):35;若是這種格式scanf("%d%c%d",&a,&ch,&b);則輸入時應(yīng)3+5,若寫成3+5則a=3,ch=''(空格),b=任意值 (自己上機運行看看結(jié)果)printf("格式控制串",輸出項表列);如floatx=7.5;printf("%8.2f",x);此處的意思是將x打印出來,且占8列,保留兩位小數(shù)。自己上機運行看看效果。常用格式符匯總:%d:輸入輸出整型數(shù)據(jù),%ld:輸入輸出長整型數(shù)據(jù)%c;輸入輸出字符型數(shù)據(jù)%f:輸出單(雙)精度浮點型數(shù)據(jù),輸入單精度型數(shù)據(jù)。 %lf:輸入雙精度型數(shù)據(jù)%S:輸入輸出ー個字符串,用printf輸出字符串時,輸出項書寫時可為字符串常量,或字符數(shù)組名。如printf名%s","hello");或charstr[10]="hello";printf("%s",str);%u:輸入輸出無符號整型,%〇:輸入輸出ハ進制數(shù),%x:輸入輸出十六進制數(shù)getchar();函數(shù)調(diào)用后返回用戶輸入的ー個字符,故需再定義ー個變量來存放這個字符,即使用時應(yīng)chare;c=getchar();意思就是接收用戶輸入的ー個字符,并將其賦值給變量c。putchar(字符常量或字符變量名);如charc=W;putchar(c);或putchar(TV);都會向屏幕輸出字符A。1、使用printf和scanf函數(shù)時,要在最前面加上#include"stdio.h"2、printf可以只有一個參數(shù),也可以有兩個參數(shù)。(選擇題考過一次)3、printf(“第一部分”,第二部分)5把第二部分的變量、表達式、常量以第一部分的形式展現(xiàn)出來!4、printf("a=%d,b=%d”,12,34)printf("a=%d,\nb=%d”,12,34)那么輸出的結(jié)果就是:a=12,b=345、intx=017, 一定要弄清楚為什么是這個結(jié)果!過程很重要printf(0%d",X);15printf("%〇”,X);17printfX)5017printfx);11printf(“淵x",x)s0x116、intx=12,y=34; 注意這種題型charz='a';printf("%d”,x,y)!一個格式說明,兩個輸出變量,后面的y不輸出printf("紀",z): 結(jié)果為:12a7、一定要背誦的格式說明表示內(nèi)容格式說明表示內(nèi)容%d整型 int%c字符char%ld長整型!ongint%s字符串%f浮點型float%Oハ進制%lfdouble%#O帶前導(dǎo)的ハ進制%%輸出ー個百分號%x十六進制%5d%#x帶前導(dǎo)的十六進制舉例說明:printf("%2d",123); 第二部分有三位,大于指定的兩位,原樣輸出123printf("%5d",123);第二部分有三位,小于指定的五位,左邊補兩個空格123printf("%10f",1.25);小數(shù)要求補足6位的,沒有六位的補〇,。結(jié)果為1.250000printf("%5.3f",125):小數(shù)三位,整個五位,結(jié)果為1.250(小數(shù)點算一位)printf(“%3.If",1.25);小數(shù)一位,整個三位,結(jié)果為L3(要進行四舍五入)第三節(jié)數(shù)據(jù)輸入1、scanf(“a=%d,b=%d",&a,&b)考試超級重點!一定要記住是以第一部分的格式在終端輸入數(shù)據(jù)。考試核心為:ー模ー樣。在黑色屏幕上面輸入的為a=12,b=34オ可以把12和34正確給a和b?有一點不同也不行。2、scanf("%d,%d”,x,y)!這種寫法絕對錯誤,scanf的第二個部分一定要是地址!scanf(“%d,%d”,&x,&y)5注意寫成這樣オ可以!3、特別注意指針在scanf的考察例如:intx=2;int*p=&x;scanf("%d",x);錯誤 scanfp);正確scanf&p);錯誤 scanf*p)錯誤4、指定輸入的長度(考試重點)終端輸入:1234567scanf(“%2d%4d%d”,&x,&y,&z);x為12,y為3456,z為7終端輸入:1234567 由于1和2中間有空格,所以只有1位給xscanf("%2d%4d%d”,&x,&y,&z);x為1,y為2345,z為675、字符和整型是近親:intx=97;printf(“対”,x); 結(jié)果為97printf("%c”,x); 結(jié)果為a6、輸入時候字符和整數(shù)的區(qū)別(考試超級重點)scanf(“%d”,&x);這個時候輸入1,特別注意表示的是整數(shù)1scanfぐ%c”,&x);這個時候輸入1,特別注意表示的是字符’1'ASCII為整數(shù)48。補充說明:scanf函數(shù)的格式考察:注意該函數(shù)的第二個部分是蛆這樣的地址,不是目;scanf(“%d%d%*d%d”,&a,&b,&c):跳過輸入的第三個數(shù)據(jù)。putchar,getchar函數(shù)的考査:chara=getchar()是沒有參數(shù)的,從鍵盤得到你輸入的ー個字符給變量a。putchar('y')把字符y輸出到屏幕中。1.以下不是C語言的特點的是()。A、語言簡潔緊湊B、能夠編制出功能復(fù)雜的程序C、C語言可以直接對硬件操作D、C語言移植性好2.下列字符序列中,不可用作C語言標識符的是()〇A.abcl23 B.no.l C._123_ D._ok5.下列符號中,不屬于轉(zhuǎn)義字符的是()。A.\\ B.\0xAA C.\t D.\06.不屬于C語言關(guān)鍵字的是()?A.int B.break C.while D.character7.是C語言提供的合法關(guān)鍵字的是()。A.Float B.signedC.integerD.Char8,以下不能定義為用戶標示符的是(A.scanf B.Voidー個C程序是由().ー個主程序和若干子程序組成ー個或多個函數(shù)組成C.若干過程組成D.若干子程序組成C語言程序的基本單位是()〇C._3com_D.intA.程序行 B.語句12.以下說法中正確的是()〇c,函數(shù)D.字符A.C語言程序總是從第一個定義的函數(shù)開始執(zhí)行B.在C語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義C語言程序總是從main()函數(shù)開始執(zhí)行C語言程序中的main()函數(shù)必須放在程序的開始部分13.C編譯程序是()。C程序的機器語言版本ー組機器語言指令C.將C源程序編譯成目標程序D.由制造廠家提供的ー套應(yīng)用軟件.以下選項中,合法的用戶標識符是()。A.long B._2abc C.3dmax D.A.dat.以下選項中,合法的實型常數(shù)是()〇A.5E2.0 B.E-3 C..2E0 D.1.3E.已知大寫字母A的ASCII碼值是65,小寫字母a的ASCII碼是97,則用ハ進制表示的字符常量へ101,是()?A.字符A B,字符a C.字符cD.非法的常量21.與數(shù)學式子之:對應(yīng)的C語言表達式是()。2x—1A.9*xAn/(2*x-l) B.9*x**n/(2*x-l)C.9*pow(x,n)*(V(2*x-l)) D.9*pow(n,x)/(2*x-l).在C語言中,要求運算數(shù)必須是整型的運算符是(),A./ B.++ C.*= D.%.若有說明語句:chars='\72':則變量s()。A.包含一個字符B.包含兩個字符C.包含三個字符D.說明不合法,s的值不確定.若有定義:intm=7;floatx=2.5,y=4.7;則表達式x+m%3*(intXx+y)%2/4的值是()。A.2.500000 B.2.750000 C.3.500000 D.0.000000.在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲形式是().A.補碼 B.反碼 C.原碼 D.ASCII碼
.putchar函數(shù)可以向終端輸出ー個()◎B.字符串D.字符或字符型變量值。B.字符串D.字符或字符型變量值。D,提示出錯、無結(jié)果?以下不合法的scanf〇函數(shù)調(diào)用語句C.實型變量值。.以下程序段的輸出結(jié)果是()。inta=12345;printf("%2d\n”,a);A.12B.34C.12345.若x和y均定義為int型,z定義為double為(scanf("%d%lx,%le〃,&x,&y,&z);scanf(〃%2d*%d%lf〃,&x,&y,&z);scanf("%x%*d%o”,&x,&y);scan耳“%x%o%6.2f〃,&x,&y,&z);45.己有定義inta二?2;和輸出語句:printf("%8lx",a)?以下正確的敘述是()A.整型變量的輸出格式符只有%d?種%x是格式符的ー種,它可以適用于任何ー種類型的數(shù)據(jù)%x是格式符%8lx不是錯誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度52.以下程序的輸出結(jié)果是()〇(注:一代表空格)#include"stdio.h"main(){p「intf(〃、nstringl=%15s*","programming");printf("\nstring2=%-5s*w,"boy");printf("string3=%2s*printf("\nstring2=%-5s*w,"boy");printf("string3=%2s*w,"girl");)A.stringl二programmingljlj——string2=boy*string3=gi*C.stringl=programmingl_ii_ii_ilj!string2=ljl_jboy*string3=girl*.結(jié)構(gòu)化設(shè)計中的三種基本結(jié)構(gòu)是ー.C語言源程序文件的后綴是接后生成文件的后綴是〇5.一個函數(shù)由兩部分組成,它們是ーB.stringl=しji_ii_?ljprogramming*string2=boyljlj*string3=gi*D.stringl=しji_ilji_jprogramming*string2=boyljlj*string3=girl*經(jīng)過編譯后生成文件的后綴是,經(jīng)過鏈.函數(shù)體一般包括ヽ。.C語言是通過來進行輸入和輸出的。.以下程序的執(zhí)行結(jié)果。#include"stdio.h"main(){shorti=-l,j=l;printf("dec:%d,oct:%〇,hex:%x,unsigned:%u\n",i,i,i,i);printf("dec:%d,oct:%o/hex:%x,unsigned:%u\n",jJJ,j);}7.a二12,n=5,表達式a%二(n%=2)值是.有一個輸入函數(shù)scanf(飛d”,k);則不能使float類型變量k得到正確數(shù)值的原因是和〇.putchar。函數(shù)可以向終端輸出ー個〇10.已有定義inti,j;floatx;為將一10賦給i,12賦給j,410.34賦給x,則對應(yīng)以下scanf()函數(shù)調(diào)用語句的數(shù)據(jù)輸入形式是一〇scanf(?〇%x%e",h,&j,&x);ILpirntfO函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占5列,如果字符串長度大于5I則?12.使用getchar()和putchar()函數(shù)必須在源程序中加 .9.寫出下面程序的運行結(jié)果。main(){inti,j,m,n;i=5;j=6;m=++i;n=―j;printf("%d,%d,%d,%d",i,j,m,n);).在C語言中,書寫ハ進制數(shù)時必須加前綴;書寫十六進制數(shù)時必須加前綴ー。.在微機上,int型、short型、long型、float型和double型數(shù)據(jù)一般在內(nèi)存中分別占-fct* t±r-!+- <±?-Hr c±?-h-xri -H-.設(shè)有下列運算符:く〈、+、++、&&、〉=,其中優(yōu)先級最高的是,優(yōu)先級最低的是,選擇結(jié)構(gòu)C語言的語句表達式語句:由表達式末尾加上分號構(gòu)成。函數(shù)調(diào)用語句:由函數(shù)調(diào)用表達式加上分號構(gòu)成??照Z句::選擇結(jié)構(gòu)語句:if語句switch語句循環(huán)語句:for語句while語句dowhile語句復(fù)合語句:用花括號{)將以上任意語句括起來構(gòu)成一條復(fù)合語句。C程序的基本結(jié)構(gòu)voidmain(){聲明部分:用來定義變量和聲明自定義函數(shù)的原型,需以‘';"結(jié)尾,如intx;執(zhí)行語句部分:第六點里介紹的各種語句,如x=3;printf("%d",x);}C語言中是用匪9悽示邏輯真的,兩表示邏輯假的。C語言有構(gòu)造類型,沒有邏輯類型。關(guān)系運算符號:注意。的寫法,==和=的區(qū)別!(考試重點)if只管后面一個語句,要管多個,請用大括號!1)關(guān)系表達式:a、表達式的數(shù)值只能為1(表示為真),或。(表示假)。如9>8這個關(guān)系表達式是真的,所以9>8這個表達式的數(shù)值就是1。如7く6這個關(guān)系表達式是假的,所以7く6這個表達式的數(shù)值就是〇2)邏輯表達式:核心:表達式的數(shù)值只能為1(表示為真),或〇(表示假)。a)共有&& || !三種邏輯運算符號。!>&&>||優(yōu)先的級別。c)注意短路現(xiàn)象??荚嚤容^喜歡考到。詳細請見書上例子,一定要會做例1和例2d)表示x小于〇大于10的方法。0<x<10是不行的(一定記住)。是先計算0<x得到的結(jié)果為1或則〇;再用0,或1與10比較得到的總是真(為1)?所以一定要用(0<x)&&(x<10)表示比0大比10小。3)if語句a、else是與最接近的if且沒有else的語句匹配。b、交換的程序?qū)懛?t=x;x=y;y=t;c>if(a<b)t=a;a=b;b=t;if(a<b){t=a;a=b;bエ;}兩個的區(qū)別,考試多次考到了!d、單獨的if語句:if(a<b)t=a;標準的if語句:if(a<b)min=a;elsemin=b;嵌套的if語句:if(a<b)if(b>c)printf("ok!");多選ー的if語句if(a==t)printf("a”);elseif(b==t)printf("b");elseif(c==t)printf("c");elsepritnf("d");通過習題,要熟悉以上幾種if語句!經(jīng)典考題:結(jié)合上面四種if語句題型做題,答錯了,請自行了斷!預(yù)備,開始!inta=Lb=0;if(!a)b++;elseif(a==0)if(a)b+=2;elseb+=35請問b的值是多少?如果沒有看懂題目,你千萬不要自行了斷,這樣看得懂不會做的人才會有理由的活著。正確的是b為3。inta=l,b=0;if(!a)b++: 是假的不執(zhí)行elseif(a==0)是假的執(zhí)行if(a)b+=2;屬于elseif的嵌套if語句,不執(zhí)行。elseb+=3; if-else-if語句沒有一個正確的,就執(zhí)行else的語句!4)條件表達式:表達式1?表達式2:表達式3へ考裁。銖:真前假后。b、注意是當表達式1的數(shù)值是非0時,オ采用表達式2的數(shù)值做為整個運算結(jié)果,當表達式1的數(shù)值為0時,就用表達式3的數(shù)值做為整個的結(jié)果。inta=l,b=2,c=3,d=4,e=5;k=a>b?c:d>e?d:e;求k的數(shù)值時多少?答案為san5)switch語句:a)執(zhí)行的流程一定要弄懂!上課時候詳細的過程講了,請自己一定弄懂!b)注意有break和沒有break的差別,沒有break時候,只要有一個case匹配了,剩下的都要執(zhí)行,有break則是直接跳出了switch語句switch只可以和break一起用,不可以和continue用。switch(x) x:是整型常量,字符型常量,枚舉型數(shù)據(jù).{case[1]:…. 不可以是變量。case2:….}if語句的三種結(jié)構(gòu)單邊:if(表達式)語句雙邊:if(表達式)語句1else語句2多層(重點掌握):if(表達式!)語句1elseif(表達式2)語句2elseif(表達式3)語句3else語句nswitch語句switch(表達式)(case表達式1:語句case表達式2:語句case表達式n:語句default:語句}2.設(shè)a=5,b=6,c=7,d=8,m=2,n=2,貝リ執(zhí)行(m=a>b)&&(n=c>d)后n的值為()〇A.1 B.2 C.3 D.43.設(shè)x、y和z都是int類型變量,且x=3,y=4,z=5,則下面的表達式中,值為0的表達式為().A.'X,&&,丫, B.x<=yC.x||y+z&&y-z D.!((x<y)&&!z||1).為了避免嵌套的if-else語句的二義性,C語言規(guī)定else總是與〇組成配對關(guān)系。A.縮排位置相同的ifB,在其之前未配對的ifC.在其之前未配對的最近的ifD.同一行上的if.邏輯運算符兩側(cè)運算對象的數(shù)據(jù)類型()。A,只能是〇或1B,只能是。或非。正數(shù)C,只能是整型或字符型數(shù)據(jù)D.可以是任何類型的數(shù)據(jù).以下關(guān)于運算符優(yōu)先順序的描述中正確的是()。A.關(guān)系運算符〈算術(shù)運算符(賦值運算符〈邏輯與運算符B.邏輯與運算符〈關(guān)系運算符(算術(shù)運算符〈賦值運算符C,賦值運算符〈邏輯與運算符〈關(guān)系運算符〈算術(shù)運算符D.算術(shù)運算符(關(guān)系運算符〈賦值運算符(邏輯與運算符.下列運算符中優(yōu)先級最高的是〇。A.< B.&& C.+ D.!=.判斷char型變量s是否為小寫字母的正確表達式是()。A.,a,<=s<=,z, B.(s>=,a,)&(s<=,z,)C.(s>二'a')&&(s<二’z') D.('a'<=s)and('z'>=s).若希望當x的值為奇數(shù)時,表達式的值為“真”,x的值為偶數(shù)時,表達式的值為“假”。則以下不能滿足要求的表達式是()。A.x%2==l B.!(x%2==0)C.!(x%2) D.x%2.假定等級和分數(shù)有以下對應(yīng)關(guān)系:等級:A 分數(shù):85——100等級:B 分數(shù):60——84等級:C 分數(shù):60以下對于等級grade輸出相應(yīng)的分數(shù)區(qū)間,能夠完成該功能的程序段是()。switch(grade){case'A':printf(〃85 100\n〃);case'B':printf(z'6O 84\n〃);case'C:printf(〃<60\n〃);default:printf("gradeiserror!\n");)switch(grade){case'A':printf(〃85 100\n〃);break;case'B':printf(〃60 84\n〃);case'C:printf(〃<60\n");default:printf("gradeiserror!\n");)switch(grade){case'A':printf("85 100\n");break;case'B':printf("60 84\n");break;case'C:printf(〃<60\n");default:printf("gradeiserror!\n");)switch(grade){case'C:printf("<60\n");break;case'B':printf(z'6O 84\nzz);break;default:printf(〃gradeiserror!\nzz);break;casezAz:printf(zz85 100\nzz);).有如下程序,寫出該執(zhí)行結(jié)果()。include"stdio.h"main()(floatx=2.0zy;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;print耳〃%f\n〃メ);)A.0.000000B.0.250000C.0.500000D.1.00000030.有以下程序,程序運行后的輸出結(jié)果是()。#include"stdio.h"main(){inta=15,b=21,m=0;switch(a%3){case0:m++;break;case1:m++;switch(b%2){default:m++;case0:m++;break;))printf("%d\n"/m);)A.1 B.2 C.3 D.4.若從鍵盤輸入58,則輸出結(jié)果是〇#include"stdio.h"main(){inta;scanf("%d"/&a);if(a>50)print耳"%d",a);if(a>40)printf("%d"/a);if(a>30)printf("%d"/a);}.設(shè)intx=9,y=8;表達式xニニy+1的結(jié)果是0.定義intx,y:執(zhí)行y二(x二l,++x,x+2);后,y的值是07.以下程序的運行結(jié)果是=#include"stdio.h"main()(inta,b,c,s,w,t;s=w=t=0;a=-1;b=3;c=3;if(c>0)s=a+b;if(a<=0){if(b>0)if(c<=0)w=a-b;)elseif(c>0)w=a-b;elset=c;printf(zz%d%d%dzz,s,w,t);|.下面程序根據(jù)以下函數(shù)關(guān)系,對輸入的每個x值,計算出y值。請在【】內(nèi)填空。Xy2<x<=10x(x+2)-l<x<=2VxX<=-1x-1#includezzstdio.hzzmain()(intx,y;scanf(zz%dzz,&x);if([1])y=x*(x+2);elseif([2])y=l/x;elseif(x<=-l)y=x-l;else[3];if(y!=-1)printf(zz%dzz,y);elseprintf(zzerrorzz);}.以下程序的功能是計算一元二次方程ax2+bx+c=0的根。請在【】內(nèi)填入正確內(nèi)容。include"stdio.h"#include"math.h"main()(floata/b/c/t/disc/w/terml/term2;printf(zzentera,b,c:zz);scanf(%f%f%fzz,&a,&b,&c);if(⑴)if([2])printf(zznoanswerduetoinputerror\nzz);elseprintf(zzthesinglerootis%f\nzz,-c/b);else{disc=b*b-4*a*c;w=2*a;terml=-b/w;t=abs(disc);term2=sqrt(t)/w;if([3])printf("complexroot\nrealpart=%fimagpart=%f\nz\terml,term2);elseprintf("realroots\nrootl=%froot2=%f\n"zterml+term2/terml-term2);}}.以下程序的功能是判斷輸入的年份是否是閏年。請在【】內(nèi)填入正確內(nèi)容。#include"stdio.h"main()(intyear;flag;printf(zzpleaseinputtheyeartojudewhetheritisaleapyear:");scanf(〃%d〃,&year);if(year%400==0)flag=l;elseif([1])flag=l;else[2];if(flag)printf("%disaleapyear\n",year);elseprintf("%disnotaleapyear!\n",year);).以下程序是對用戶輸入的字母進行大小寫轉(zhuǎn)換。請在【】內(nèi)填入正確內(nèi)容。include"stdio.h"main(){charch;printf("pleaseinputaletter:");scanf("%c",&ch);if([1])ch=ch+32;elseif(ch>=zaz&&ch<=zzz)[2];printf("theconvertedletteris:%c\n”,ch);}.以下程序是對從鍵盤輸入的任何三個整數(shù),求出其中的最小值。請在【】內(nèi)填入正確內(nèi)容。#include"stdio.h"main()(inta,b,c,min;printf("pleaseinputthreenumbers:");scanf(〃%d%d%d〃,&a,&b,&c);if(⑴)min=b;elsemin=a;if(min>c)【2】;printf("min=%d\n",min);}20.以下程序完成兩個數(shù)的四則運算。請在【】內(nèi)填入正確內(nèi)容。#include"stdio.h"main()(floatx,y;charoperator;printf(z,pleaseinputtheexpression:");seanf("%f%c%f〃,&x,&operator,&y);switch([1]){case,+,: printf("%g%c%g=%g\n",x,operator,y,x+y);[2];case’?': printf(〃%g%c%g二%g\n",x,operator,y,x-y);break;case' : printf("%g%c%g=%g\n",x,operator,y,x*y);break;caseソ,:if(y==0.0)printf(〃除零錯誤!\nり;elseprintf("%g%c%g=%g\n",x,operator,y,x/y);break;[3]: printf(〃表達式存在錯誤!\n");)}20.以下程序的運行結(jié)果是().main(){intm=5;if(m++>5)printf("%d\n",m);elseprintf("%d\n”,m—);)A)4B)5C)6D)77.以下程序的輸出結(jié)果是〇main(){intx=l,i=l;for(;x<50;i++){if(x>=10)break;if(x%2!=l){x+=3;continue;)x-=l;}printf("x=%d,i=%d\n",x,i);循環(huán)控制for循環(huán)語句for(表達式1;表達式2:表達式3)循環(huán)體語句語句執(zhí)行過程:計算表達式1判斷表達式2的值是否為〇,若為〇,語句執(zhí)行結(jié)束,若不為0,進入步驟3while(表達式)循環(huán)體語句執(zhí)行過程:判斷表達式的值是否為非〇,若是進入步驟2,否則結(jié)束語句執(zhí)行。執(zhí)行循環(huán)體語句,重新回到步驟1。do循環(huán)體語句while(表達式):執(zhí)行過程:執(zhí)行循環(huán)體語句,進入步驟2判斷表達式的值是否為非。,若是重新回到步驟1,否則結(jié)束語句執(zhí)行。1)三種循環(huán)結(jié)構(gòu):for()swhile();do-while。三種。for循環(huán)當中必須是兩個分號,千萬不要忘記。c)寫程序的時候一定要注意,循環(huán)一定要有結(jié)束的條件,否則成了死循環(huán)?d)do-while()循環(huán)的最后ー個while。;的分號一定不能夠丟。(當心上機改錯),do-while循環(huán)是至少執(zhí)行一次循環(huán)。2)break和continue的差別記憶方法:break!是打破的意思,(破了整個循環(huán))所以看見break就退出整個一層循環(huán)。continue!是繼續(xù)的意思,(繼續(xù)循環(huán)運算),但是要結(jié)束本次循環(huán),就是循環(huán)體內(nèi)剩下的語句不再執(zhí)行,跳到循環(huán)開始,然后判斷循環(huán)條件,進行新一輪的循環(huán)。3)嵌套循環(huán)就是有循環(huán)里面還有循環(huán),這種比較復(fù)雜,要一層ー層ー步ー步耐心的計算,一般記住兩層是處理二維數(shù)組的。4)while((c=getchar())!='\n')和while(c=getchar()!=へnり的差別先看a=3!=2和(a=3)!=2的區(qū)別:(!=號的級別髙于=號所以第一個先計算3!=2)第一個a的數(shù)值是得到的1;第二個a的數(shù)值是3??荚囎⒁恻c:括號在這里的重要性。5)每行輸出五個的寫法:for(i=0ji<=100;i++){printf(“対”,i);
if((i+l)%5=0)printf("\n");如果i是從1開始的話,就是if(i%5=0)printf(“\n”);}6)如何整除ー個數(shù):i%5=0表示整除5,同時表示是偶數(shù)!8)for只管后面一個語句:inti=3;for(i=3;i<6;i++):printf(“ザ):9)不停的輸入,直到輸入#停止輸入!.當執(zhí)行以下程序段時。x=-l;do{x=x*x;}while(!x);A.循環(huán)體將執(zhí)行一次C.循環(huán)體將執(zhí)行無數(shù)多次.執(zhí)行以下程序后輸出的結(jié)果是()。main(){inty=10;do{y-;}while(-y);printf("%d\n”,y-);}A.-l B.l C.8.下面程序的輸出結(jié)果是()。main(){intx=3,y=6,a=0;while(x++!=(y-=l)){a+=l;if(y<x)break;}printf(Hx=%d,y=%d,a=%d\n",x,y,a);}A.x=4/y=4/a=lC.x=5/y=4/a=3.若i,j已定義為int類型,則以下程序段中內(nèi)for(i=5;i;i-)請問最終打印幾個#號?答案為ー個!while((x=getchar())!=,#'請問最終打印幾個#號?答案為ー個!while((x=getchar())!=,#')B.循環(huán)體將執(zhí)行兩次D.系統(tǒng)將提示有語法錯誤D.0B.x=5,y=5,a=lD.x=5/y=4/a=l不的總的執(zhí)行次數(shù)是()?{...)A.20 B.24 C.25 D.3011.在下列選項中,沒有構(gòu)成死循環(huán)的程序段是()。A.inti=100;while(1)i=i%100+l;if(i>100)break:}B.for(;;);C.intk=1000;do{++k;}while(k>=10000);D.ints=36;while(s);-s;12.若輸入B,以下程序的運行結(jié)果為()。main(){chargrade;scanf("%c",&grade);switch(grade){case'A':printf(">=85.");case'B':case'C':printf(">=60.");case'D,:printf("<60.M);default:printf("error.");})A.>=85. B.>=60. C.>=60.<60.error.D.error.30.下列程序段的輸出結(jié)果為().main(){intx=3;do{printf("%3d",x-=2);}while(l(—x));}A.l B.30 C.l-2 D.死循環(huán).若輸入字母C,程序輸出結(jié)果為[1I若輸入字符?,程序?qū)ⅰ?】。#include<stdio.h>main(){charcl,c2;cl=getchar();while(cl<9711cl>122)cl=getchar();c2=cl-32;printf("%c,%c\n"/cl/c2);}.以下程序運行的結(jié)果。main(){intx=2,y,z;x*=3+l;printf("%d;'/x++);x+=y=z=5;printf("%d;,/x);x=y==z;printf("%d\n,x);}.以下程序運行的結(jié)果〇#include<stdio.h>#include<math.h>main(){inti,k,m,n=0;for(m=l;m<=10;m+=2){if(n%10==0)printf("\n");k=sqrt(m);for(i=2;i<=k;i++)if(m%i==O)break;if(i>k){printf(”%2d”,m);n++;))).如果輸入‘1','2',,3',,4',程序運行輸出的是。#include<stdio.h>main(){charc;intしk;k=0;for(i=0;i<4;i++){while(l){c=getchar();if(c>='0'&&c<='9')break;}k=k*lO+c-'O';)printf("k=%d\n"/k);).運行以下程序后,如果從鍵盤上輸入china#〈回車〉,則輸出結(jié)果為include<stdio.h>main(){intvl=0zv2=0;charch;while((ch=getchar())!='#')switch(ch){case'a':case'h':default:vl++;case'O':v2++;printf(”%d,%d\n”,vl,v2);.程序運行結(jié)果是0#include<stdio.h>main(){inti;for(i=l;i+l;i++){if(i>4){printf(',%d\t,'/k+);break;}printグ%d\t”,i++);)).以下程序運行的結(jié)果是〇#include<stdio.h>main(){inta,b;for(a=lzb=l;a<=100;a++){if(b>=20)break;if(b%3==l){b+=3;continue;)b-=5;}printf("%d\n,a);}.程序運行的結(jié)果是0main(){intn=0;while(n++<=l)printf("%d\ピ,n);printf("%d\n,n);).此程序運行時,輸入qwert?程序的運行結(jié)果是。#include<stdio.h>main(){charc;while((c=getchar())!=,?,)putchar(++c);}18.雞問題:100元錢買!00只雞,公雞ー只5元錢,母雞ー只3元錢,小雞一元錢三只,求100元錢能買公雞、母雞、小雞各多少只?#include<stdio.h>main(){intcocks,hens,chicks;cocks=0;while(cocks<=19){hens=O;while(hens<=33){chicks=100.0-cocks-hens;if(5.0*cocks+3.0*hens+chicks/3.0==100.0)printf("%d,%d,%d\rT,cocks,hens,chicks);[1];)[2];)}.下列程序計算平均成績并統(tǒng)計90分及以上人數(shù)。main(){intn,m;floatgrade,average;average=n=m=[1];while([2]){scanf(u%f",&grade);if(grade<O)break;n++;average+=grade;if(grade<90)[3];m++;}if(n)printf("%.2f%d\n",average/n,m);).下列程序計算Fibonacci數(shù)列:1,1,2,3,5,8,13……的前40項。main(){intl;longfl,f2;[1];for(l=0;l<20;l++){printf(H%12ld%12ld",fl,f2);if(l%2)printf("\n");fl+=f2;[2];|).下列程序判斷ー個數(shù)是否為素數(shù)。#include<stdio.h>#include<math.h>main(){intl,k,m;scanf("%d",&m);k=sqrt([1]);for(l=2;l<=k;l++)if(m%l==O)[2];if(【3】)printf(”%dyes、バ,m);elseprintf("%dno\n,m);}24.從鍵盤上輸入兩個整數(shù)m和n,求其最大公約數(shù)。main(){inta/b/numl/num2/temp;scanf("%d/%d"z&numl/&num2);if(Hl){temp=numl;numl=num2;num2=temp;|a=numl;b=num2;while(b!=O){temp=[2];a=b;b=temp;|printf("%d,%d",a,numl*num2/a);)11.以下程序的輸出結(jié)果是。main(){inti,j;for(i=0;i<5;i++){for(j-l;j<10;j++)if(j==6)break;if(i<3)continue;if(i>3)break;)printf(”i=%d,j=%d\n”,i,j);)15.以下程序段中內(nèi)嵌循環(huán)共被執(zhí)行的次數(shù)為:()for(i=5;i;i-)for(j=0;j<4;j++){...}A.20 B.24 C.25數(shù)組數(shù)組:存放的類型是一致的。多個數(shù)組元素的地址是連續(xù)的。1、ー維數(shù)組的初始化:inta[5]=(l.2,3,4,5}:合法
inta[5]={l,2,3,}:合法inta[]={l,2,3,4,5): 合法,???后面決定前面的大小!inta[5]={l,2,3,4,5,6):不合法,賦值的個數(shù)多余數(shù)組的個數(shù)了2、一維數(shù)組的定義;inta[5]5注意這個地方有一個重要考點,定義時數(shù)組的個數(shù)不是變量一定是常量。inta[5]intinta[5]inta[l+l]inta[1/2+4]intx=5,inta[x];defineP5inta[P]合法,個數(shù)是常量2,是個算術(shù)表達式合法,同樣是算術(shù)表達式不合法,因為個數(shù)是x,是個變量,非法的,合法,define后的的P是符號常量,只是長得像變量3、二維數(shù)組的初始化inta[2][3]={1,2,3,4,5,6}: 合法,很標準的二維的賦值.inta[2][3]={l,2,3,4,5,}: 合法,后面一個默認為〇?inta[2][3]={{l,2,3,}{4,5,6}}: 合法,每行三個.inta[2][3]={{l,2,}{3,4,5}}: 合法,第一行最后ー個默認為0。inta[2][3]={l,2,3,4,5,6,7}; 不合法,賦值的個數(shù)多余數(shù)組的個數(shù)了。inta[][3]={1,2,3,4,5,6}: 不合法,不可以缺省行的個數(shù)。^^[2] 以缺省列的個.。補充:1)ー維數(shù)組的重要概念:對a[10]這個數(shù)組的討論。1、a表示數(shù)組名,是第一個元素的地址,也就是元素a[0]的地址。(等價于鬭)2、a是地址常量,所以只要出現(xiàn)a++,或者是a=a+2賦值的都是錯誤的。3、a是一維數(shù)組名,所以它是列指針,也就是說a+1是跳一列。對a[3][3]的討論。1、a表示數(shù)組名,是第一個元素的地址,也就是元素a[O][〇]的地址。2、a是地址常量,所以只要出現(xiàn)a++,或者是a=a+2賦值的都是錯誤的。3、a是二維數(shù)組名,所以它是行指針,也就是說■是^?。4、a[0]、a[l]、a[2]也都是地址常量,不可以對它進行賦值操作,同時它們都是列指針,a[O]+l,a[l]+l,a[2]+l都是跳一列。5、注意a和a[〇]ヽa[l]、a[2]是不同的,它們的基類型是不同的。前者是一行元素,后三者是一列元素。2)二維數(shù)組做題目的技巧:如果有a[3][3]={1,2,3,4,5,6,7,8,9}這樣的題目。步驟ー:把他們寫成: 第一列第二列第三列a[〇]今 1 2 3 ー〉第一行a[l]> 4 5 6 —>第二行a[2]今 ? 8 9 ー〉第三行步驟ニ:這樣作題目間很簡單:*(a[O]+l)我們就知道是第一行的第一個元素往后面跳一列,那么這里就是a[0][1]元素,所以是1。*(a[l]+2)我們就知道是第二行的第一個元素往后面跳二列。那么這里就是a[l][2]元素,所以是6。一定記?。褐灰嵌S數(shù)組的題目,一定是寫成如上的格式,再去做題目,這樣會比較簡單。3)數(shù)組的初始化,ー維和二維的,ー維可以不寫,二維第二個一定要寫inta[]={l,2}合法。inta[][4]={2,3,4}合法。但inta[4]ロ={2,3,4}非法。4)二維數(shù)組中的行指針inta[l][2];其中a現(xiàn)在就是一個行指針,a+1跳一行數(shù)組元素。 指配(*)p[2]指針a[0],a[l]現(xiàn)在就是ー個列指針。a[O]+l跳ー個數(shù)組元素。|搭配?p⑵指針數(shù)組使用5)還有記住:a[2]變成*(a+2) a[2][3]變成*(a+2)[3]再可以變成 ?(*(a+2)+3)strlen(字符數(shù)組名或字符指針變量);字符串測長函數(shù)charstr[20]="hell。world!";intlen;len=strlen(str);得出的結(jié)果是(en的值為12strcat(字符串1的地址,字符串2的地址):將字符串2的內(nèi)容連接到字符串1的尾部。charstrl[2O]="ABC”,str2[2O]="xyz";strcat(strlzstr2);則程序運行的結(jié)果是str!內(nèi)存放的字符串變?yōu)锳BCxyz,當然str2存放的字符串還是xyz.strcmp(字符串1的地址,字符串2的地址):比較串1和串2哪個比較大。比較大小的依據(jù)是,兩個字符串從左往右相應(yīng)位置上第一個不相等的字符ASCII碼值之差。strcpy(字符串1的地址,字符串2的地址):將字符串2的內(nèi)容復(fù)制到字符串1內(nèi)。charstrl[2O]=,,ABC,,,str2[2O]=,,xyzw;.以下對ー維整型數(shù)組a的正確說明是()。A.inta(10); B.intn=10,a[n];C.intn; D.ttdefineSIZE10scanf&n); inta[SIZE];inta[n];.在C語言中,引用數(shù)組元素時,其數(shù)組下標的數(shù)據(jù)類型允許是()。A.整型常量B.整型表達式C.整型常量或整型表達式D.任何類型的表達式8.以下程序段給數(shù)組所有的元素輸入數(shù)據(jù),請選擇正確答案填入()。#include<stdio.h>main()(inta[10],i=0;while(i<10)scanf(螺d”, );
A.a+(i++) B.&a[i+l]c.a+iD.&a[++i]10.以下程序的輸出結(jié)果是()main()(inti,a[10];for(i=9;i>=0;i—)a[i]=10-i;printf("%d%d%d”,a[2],a[5],a[8]);)A.258 B.741c.852D.36911.以下程序運行后,輸出結(jié)果是()。main()(intn[5]={0,0,0},i,k=2;for(i=0;i<k;i++)n[i]=n[i]+l;printfC%d\n*,n[k]);)A.不確定的值 B.2c.1D.012.以下程序運行后,輸出結(jié)果是()。main()(inty=18,i=0,j,a[8];do{a[i]=y%2;i++;y=y/2;}while(y>=l);for(j=i-l;j>=0;j-)printfa[j]);printf("\n〃);}A.10000 B.10010 C.00110 D.1010013.以下程序運行后,輸出結(jié)果是()。main(){inta[10],al[]={1,3,6,9,10},a2[]={2,4,7,8,15},i=0,j=0,k;a[k]=al[i++];a[k]=a2[j++];printfa[k]);for(k=0;k<4a[k]=al[i++];a[k]=a2[j++];printfa[k]);for(k=0;k<4;k++)A.1234 B.1324C.2413 D.4321A.1234 B.1324C.2413 D.432114.以下程序運行后,輸出結(jié)果是()。14.以下程序運行后,輸出結(jié)果是()。main()inti/k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++) p[i]=a[i*(i+l)];for(i=0;i<3;i++) k+=p[i]*2;printf("%d\n",k);)A.20 B.21 C.22 D.23.以下程序運行后輸出結(jié)果是()。main()(intn[3],i,j,k;for(i=0;i<3;i++)n[i]=0;k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)n[j]=n[i]+l;printfC%d\n*,n[l]); }A.2 B.1 C.0 D.3.下列程序的主要功能是輸入10個整數(shù)存入數(shù)組a,再輸入ー個整數(shù)x,在數(shù)組a中查找X。找到則輸出x在10個整數(shù)中的序號(從1開始);找不到則輸出〇。程序缺少的是()。mainO(inti,a[10],x,flag=0;for(i=0;i<10;i++)scanf&a[i]);scanf&x);for(i=0;i<10;i++)if{flag=i+l;break;}printf(*%d\n*,flag);)A.x!=a[i] B. !(x-a[i]) C. x-a[i] D.!x~a[i].若說明:inta[2][3];則對a數(shù)組元素的正確引用是()。A.a(l,2) B. a[l,3] C. a[l>2][!l] D.a[2][0].若有定義:intM3][4有定}:則下述正確的是()。A.此定義語句不正確B.沒有元素可得初值〇C.數(shù)組b中各元素均為〇D.數(shù)組b中各元素可得初值但值不一定為020.若有以下的定義:intt[5][4];能正確引用t數(shù)組的表達式是()。A.t[2][4]B.t[5][0] C.t[0][0]D.t[0,0]21.在定義intm[][3]={1,2,3,4,5,6};后,m[1][〇]的值是()。A.4B.1 C.2D.522.在定義intn[5][6]后第10個元素是()。A.n[2][5]B.n[2][4] C.n[l][3]D.n[l][4].若二維數(shù)組c有m歹リ,則計算任一元素在數(shù)組中的位置的公式為()。(假設(shè)c[〇][0]位于數(shù)組的第一個位置)A.i*m+j B.j*m+i C.i*m+j-lD.i*m+j+l.若有以下定義語句,則表達式“xド]的值是()。floatx[3][3]={{1.0,2.0,3.0},{4.0,5.0,6.0}};A.0.0 B.4.0 C.5.0 D.6.0.有以下程序main()(inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=l;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printfC%d\n*?s);}該程序的輸出結(jié)果是()。A.18 B.19 C.20 D.21.若定義如下變量和數(shù)組:inti;intx[3][3]={1,2,3,4,5,6,7,8,9};則下面語句的輸出結(jié)果是()。for(i=0;i<3;i++)printfx[i][2-i]);A.159 B.147 C.357 D.369.下述對C語言字符數(shù)組的描述中錯誤的是()。A,字符數(shù)組可以存放字符串B,字符數(shù)組中的字符串可以整體輸入、輸出C.可以在賦值語句中通過賦值運算符“イ對字符數(shù)組整體賦值D.不可以用關(guān)系運算符對字符數(shù)組中的字符串進行比較31.不能把字符串:Hello!賦給數(shù)組b的語句是()。charstr[10]={'H'e',T',T'〇','!’};charstr[10];str="Hello!";charstr[10];strcpy(str,"Hell〇!〃);charstr[10]=*Hello!";.合法的數(shù)組定義是()。A.inta口="string”; B.inta[5]={0,1,2,3,4,5};C.ints="string”; D.chara[]={0,1,2,3,4,5};38.運行下面的程序,如果從鍵盤上輸入:123く空格>456く空格>789く回車》,輸出結(jié)果是()。B.1,456,789A.B.1,456,789C.1,23,456,789 D.1,23,456main(){chars[100];intc,i;scanf("祝",&c);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s\n",c,i,s);
39.運行下面的程序,如果從鍵盤上輸入:39.運行下面的程序,如果從鍵盤上輸入:abく回車>c〈回車)defく回車〉則輸出結(jié)果為()A.a B.0a C.abbbcccdddD.abcdef#include<stdio.h>#defineN6main()(charc[N];inti=0;for( ;i<N;c[i]=getchar(),i++);for(i二〇;iくN;i++) putchar(c[i]);printf("\n");}41?判斷兩個字符串是否相等,正確的表達方式是()。A.while(sl==s2) B.while(sl=s2)C.while(strcmp(sl,s2)=0) D.while(strcmp(sl,s2)=0)42.以下程序的輸出結(jié)果是()。main()(charstr[12]={,sVt,;r,;iVnVg'};printf("如、n”,strlen(str));}A.6 B.7 C.11 D.12.C語言中,數(shù)組元素的下標下限為〇.C程序在執(zhí)行過程中,不檢查數(shù)組下標是否。存儲.在定義時對數(shù)組的每ー個元素賦值叫數(shù)組的;C語言規(guī)定,只有類型和存儲類型的數(shù)組才可定義時賦值。存儲.下面程序的運行結(jié)果是〇^defineN5main(){inta[N]={l,2,3,4,5},i,temp;for(i=0;i<N/2;i++){temp=a[i]; a[i]=a[N-i-l];a[N-i-l]=temp;}printf("\n");for(i=0;iくN;i++)printf('%d",a[i]);7.以下程序的功能是:從鍵盤上輸入若干個學生的成績,計算出平均成績,并輸出低于平均分的學生成績,用輸入負數(shù)結(jié)束輸入。請?zhí)羁铡ain(){floatx[1000],sum=0.0,ave,a;intn=0,i;printf(""Entermark:\n");scanf(〃%f〃,&a):while(a>=0.0&&n<1000){sum+=[1]; x[n]=[2];n++; scanf&a);)ave=[3];printf("Output:\n");printf("ave=%f\n",ave);for(i二〇;iくn;i++)if([4])printf("%f\n\x[i]);)9.輸入!0個整數(shù),用選擇法排序后按從小到大的次序輸出。^defineN10main()(inti,j,min,temp,a[N];for(i=0;i<N;i++)scanf("%d", [1]);printf("\n");for(i=0;[2];i++){min=i;for(j=i;j<N;j++)if(a[min]>a[j]) [3];temp=a[i];a[i]=a[min];a[min]=temp;}for(i二〇;iくN;i++)printf("%5d",a[i]);printfC\n");).以下程序運行結(jié)果是.#include<stdio.h>main()(inta[3][3]={1,2,3,4,5,6,7,8,9},i,sl=0,s2=l;for(i=0;i<=2;i++) {sl=sl+a[i][i];s2=s2*a[i][i];};printf(*sl=%d,s2=%d”,si,s2);).以下程序完成功能是:計算兩個3*4階矩陣相加,并打印出結(jié)果。請?zhí)羁铡?include<stdio.h>main()(inta[3][4]={{3,-2,1,2},{0,1,3,-2},{3,1,0,4});intb[3][4]={{-2,3,0,-1},{1,0,-2,3},{-2,0,1,-3}};inti,j,c[3][4];for(i=0;i<3;i++)for(j=0;j<4;j++)for(i=0;i<3;i++){for(j=0;j<4;j++)printf(飛d”,c⑴[j]);printf('\n");18.從鍵盤輸入由5個字符組成的單詞,判斷此單詞是不是hello,并顯示結(jié)果。#include<stdio.h>main()(staticcharstr[[={ヽ‘,'e','1','1',’〇’};charstrl[5];[1];for(i=0;i<5;i++)[2];flag=0;for(i=0;iく5;i++)if[3]{flag=l;break;}if(flag) printf(z/thiswordisnothello");else printf("this wordishello");}23.以下程序功能是:統(tǒng)計從終端輸入的字符中每個大寫字母的個數(shù)。用#號作為輸入結(jié)束標志,請?zhí)羁铡?include<stdio.h>#include<ctype.h>main()(intnum[26],i;charc;for(i=0;i<26;i++)num[i]=0;while([1] !='#')
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年個人房產(chǎn)抵押權(quán)抵押權(quán)轉(zhuǎn)讓合同3篇
- 2025年度個人貸款擔保轉(zhuǎn)讓合同4篇
- 2025版住宅室內(nèi)精裝修與裝飾工程施工合同5篇
- 人類的起源和發(fā)展課件2
- 出租車行業(yè)環(huán)保措施考核試卷
- 團隊建設(shè)力量培養(yǎng)項目計劃書考核試卷
- 印刷業(yè)科技創(chuàng)新與成果轉(zhuǎn)化考核試卷
- 二零二五年度藝術(shù)品交易居間代理合同樣本3篇
- 2025年創(chuàng)業(yè)創(chuàng)新貸款協(xié)議
- 2025年合作知名作者的高需求小說電子書協(xié)議
- 廣東省佛山市2025屆高三高中教學質(zhì)量檢測 (一)化學試題(含答案)
- 人教版【初中數(shù)學】知識點總結(jié)-全面+九年級上冊數(shù)學全冊教案
- 2024-2025學年人教版七年級英語上冊各單元重點句子
- 2024年九年級語文中考名著閱讀《儒林外史》考前練附答案
- 抖音麗人行業(yè)短視頻直播項目運營策劃方案
- 2024年江蘇揚州市邗城文化旅游發(fā)展有限公司招聘筆試參考題庫含答案解析
- 小學六年級數(shù)學100道題解分數(shù)方程
- 社區(qū)獲得性肺炎護理查房內(nèi)科
- 淺談提高中學生歷史學習興趣的策略
- 項目管理實施規(guī)劃-無錫萬象城
- 浙大一院之江院區(qū)就診指南
評論
0/150
提交評論