




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、計(jì)算機(jī)二級(jí)考試 C 語言知識(shí)點(diǎn)總結(jié)(完全針對(duì)考試大綱 )總體上必須清楚的 :1) 程序結(jié)構(gòu)是三種 : 順序結(jié)構(gòu) , 循環(huán)結(jié)構(gòu) (三個(gè)循環(huán)結(jié)構(gòu) ), 選擇結(jié)構(gòu) (if 和 switch)2) 讀程序都要從 main()入口,然后從最上面順序往下讀(碰到循環(huán)做循環(huán),碰到選擇做選擇)。3) 計(jì)算機(jī)的數(shù)據(jù)在電腦中保存是以二進(jìn)制的形式,數(shù)據(jù)存放的位置就是他的地址.4) bit 是位 是指為 0 或者 1 。 byte 是指字節(jié) , 一個(gè)字節(jié) = 八個(gè)位 . 1B=8b5) 一定要記住 二進(jìn)制 與 十進(jìn)制互化。 101045概念常考到的:1、編譯預(yù)處理不是C語言的一部分,不再運(yùn)行時(shí)間。C語言編譯的程序稱為
2、源程序,它以 ASCII 數(shù)值存放在文本文件中。2、每個(gè)C語言程序中main函數(shù)是有且只有一個(gè)。3、在函數(shù)中不可以再定義函數(shù)。4、函數(shù)是一定要有輸出的,他可以沒有輸入。5、break可用于循環(huán)結(jié)構(gòu)和 switch語句。6、逗號(hào)運(yùn)算符的級(jí)別最低。第一章知識(shí)點(diǎn)第一個(gè)為數(shù)字就錯(cuò)了。main define scanf printf 都不是關(guān)鍵字。迷惑你的地 If 中的第一個(gè)字母大寫了,所以不是關(guān)鍵字。 Main1 )合法的用戶標(biāo)識(shí)符考查: 合法的要求是由字母,數(shù)字,下劃線組成。有其它元素就錯(cuò)了。 并且第一個(gè)必須為字母或則是下劃線。關(guān)鍵字不可以作為用戶標(biāo)識(shí)符號(hào)。 方 If 是可以做為用戶標(biāo)識(shí)符。因?yàn)?.
3、333X 10-1。2) 實(shí)型數(shù)據(jù)的合法形式: 2.333e-1 就是合法的,且數(shù)據(jù)是考試口訣: e 前 e 后必有數(shù), e 后必為整數(shù)。 .3) 字符數(shù)據(jù)的合法形式 :: sizeof'1' 是字符占一個(gè)字節(jié), "1"是字符串占兩個(gè)字節(jié) (含有一個(gè)結(jié)束符號(hào) /0)。 ”asf” '0'的ASCII數(shù)值表示為48, 'a'的ASCII數(shù)值是97, 'A'的ASCII數(shù)值是65。4) a 整型一般是四個(gè)字節(jié) , 字符型是一個(gè)字節(jié),雙精度一般是 8 個(gè)字節(jié):考試時(shí)候一般會(huì)說,在 16位編譯系統(tǒng),或者是 32位系統(tǒng)。
4、碰到這種情況,不要去管,一樣做題。 掌握整型一般是四個(gè)字節(jié) , 字符型是一個(gè)字節(jié), 雙精度一般是 8 個(gè)字節(jié)就可以了。5) 轉(zhuǎn)義字符的考查:在程序中 int a = 0x6d ,是把一個(gè)十六進(jìn)制的數(shù)給變量 a 注意這里的 0x 必須存在。 在程序中 int b= 067, 是一個(gè)八進(jìn)制的形式。a退格 (BS) 換頁 (FF) 換行 (LF) 回車 (CR)bfnrt響鈴 (BEL) 007水平制表 (HT) 009 垂直制表 (VT) 011008012010013v063039反斜杠 092?問號(hào)字符'"單引號(hào)字符雙引號(hào)字符034一定是注意(int)( a+b)和(int)
5、 a+b 的區(qū)別。8) 表達(dá)式的考查:是表達(dá)式就一定有數(shù)值。 賦值表達(dá)式:表達(dá)式數(shù)值是最左邊的數(shù)值, 自加、自減表達(dá)式:假設(shè) a=5;a=+aint a = 6, b; 00000001b = a>>2; 這種題目的計(jì)算是先要把 a 的十進(jìn)制 6 化成二進(jìn)制, 再做位運(yùn)算。 0110011000 步驟 2: 步驟 3:018 的數(shù)值是非法的,八進(jìn)制是沒有一定要記住,在沒有舍去數(shù)據(jù)的時(shí)候,<<左移一位表示乘以 2; >>右移一位表示除以 2。8 的,逢 8進(jìn)7%210)11)12) 兩種取整丟小數(shù)的情況:1、int a =1.6 ;2、(int)a;%符號(hào)兩邊
6、要求是整數(shù)。不是整數(shù)就錯(cuò)了。1。 0xt96/40空字符 (NULL) 000 0ddd 任意字符 三位八進(jìn)制 0xhh 任意字符 二位十六進(jìn)制6) 算術(shù)運(yùn)算符號(hào)的優(yōu)先級(jí)別: 同級(jí)別的有的是從左到右,有的是從右到左。7) 強(qiáng)制類型轉(zhuǎn)換: float a=1.5 float b=2.6(int) a不是int (a),注意類型上一定有括號(hào)的。前是把 a+b 轉(zhuǎn)型,后是把 a 轉(zhuǎn)型再加 b。a=b=5;該表達(dá)式為5,常量不可以賦值。5=5是為 6) ;a=5; b=a+( b 為 5,a=6);考試口訣: + 在前先加后用, + 在后先用后加。 逗號(hào)表達(dá)式:優(yōu)先級(jí)別最低 ;表達(dá)式的數(shù)值逗號(hào)最右邊的
7、那個(gè)表達(dá)式的數(shù)值。5 3 6 b=(c=a+3, d=c+5 , 4)的表達(dá)式的數(shù)值就是4。9) 位運(yùn)算的考查:會(huì)有一到二題考試題目。先把十進(jìn)制變成二進(jìn)制再總的處理方法: 幾乎所有的位運(yùn)算的題目都要按這個(gè)流程來處理 變成十進(jìn)制) 。步驟 1:2)3)第二章知識(shí)點(diǎn)1)printf 函數(shù)的格式考查:%d 對(duì)應(yīng)整型; %c 對(duì)應(yīng)字符;%ld 對(duì)應(yīng) long int ;%lf 對(duì)應(yīng) scanf 函數(shù)的格式考察: 注意該函數(shù)的第二個(gè)部分是 &a%f 對(duì)應(yīng)單精度等等。 double 。寬度的,左對(duì)齊等修飾。這樣的地址,不是 a;a。Scanf(“%d%d%*d%d ” ,&a,&b
8、,&c); 跳過輸入的第三個(gè)數(shù)據(jù)。 putchar ,getchar 函數(shù)的考查: char a = getchar() 是沒有參數(shù)的,從鍵盤得到你輸入的一個(gè)字符給變量putchar( y' )把字符 y 輸出到屏幕中。4)如何實(shí)現(xiàn)兩個(gè)變量 x ,y 中數(shù)值的互換(要求背下來) 不可以把 x=y ,y=x; 要用中間變量 t=x ; x=y ; y=t 。5)如何實(shí)現(xiàn)保留三位小數(shù),第四位四舍五入的程序,(要求背下來) x=1.2345x=(int)(x*1000+0.5)/1000.0這個(gè)有推廣的意義,注意 x = (int )x 這樣是把小數(shù)部分去掉。第三章1)特別要注意:
9、c 語言中是用非 0 表示邏輯真的,用 0 表示邏輯假的。 關(guān)系表達(dá)式:表達(dá)式的數(shù)值只能為 1(表示為真) ,或 0(表示假) a=7>8; 當(dāng)關(guān)系的表達(dá)是為真的時(shí)候得到1。如 9>8 這個(gè)是真的,所以表達(dá)式的數(shù)值就是1;2)邏輯表達(dá)式:a) b) c)d)0<x只能為 1(表示為真) ,或 0(表示假)共有 && 并且 | 或者 ! 三種邏輯運(yùn)算符號(hào)。! >&&>| 優(yōu)先的級(jí)別。 注意短路現(xiàn)象??荚嚤容^喜歡考到。 要表示 x 是比 0 大,比 10 小的方法。 0<x<10 是不可以的(一定記?。?,是先計(jì)算 得到的結(jié)
10、果為 1 或則 0;再用 0,或 1 與 10 比較得到的總是真(為 1)。所以一定要用 (0<x)&&(x<10) 表示比 0 大比 10 小。3)條件表達(dá)式:表達(dá)式 1 ?表達(dá)式 2 :表達(dá)式 3 a=3 a?b:c 注意是當(dāng)非 0時(shí)候是表達(dá)式 2 的數(shù)值,當(dāng)為 0 是就是表達(dá)式 2的數(shù)值。 考試口訣:真前假后。i f語句else 是與最接近的 if 且沒有 else 的相組合的。 switch 語句:一定要注意 有 break 和沒有 break 的差別,沒有 break 時(shí)候,只要有一個(gè) case 匹配了,4) 5)a) 剩下的都要執(zhí)行,有 break 則是
11、直接跳出了 swich 語句。b) switch 只可以和 break 一起用,不可以和 continue 用。第四章1)三種循環(huán)結(jié)構(gòu):a)for() ; while(); do- while() 三種。b)for 循環(huán)當(dāng)中必須是兩個(gè)分號(hào),千萬不要忘記。C)寫程序的時(shí)候一定要注意,循環(huán)一定要有結(jié)束的條件,否則成了死循環(huán)。d) do-while() 循環(huán)的最后一個(gè) while(); 的分號(hào)一定不能夠丟。 (當(dāng)心上機(jī)改錯(cuò))2)break 和 Continue 的差別記憶方法:break :是打破的意思,(破了整個(gè)循環(huán))所以看見 break就退出真?zhèn)€一層循環(huán)。continue:是繼續(xù)的意思,(繼續(xù)循
12、環(huán)運(yùn)算),但是要結(jié)束本次循環(huán),就是循環(huán)體內(nèi)剩下的語 句不再執(zhí)行,跳到循環(huán)開始,然后判斷循環(huán)條件,進(jìn)行新一輪的循環(huán)。3)嵌套循環(huán)就是有循環(huán)里面還有循環(huán),這種比較復(fù)雜,要一層一層一步一步耐心的計(jì)算,一般記住 兩層是處理二維數(shù)組的。4) while (c=getchar() != ' n') 和 while (c=getchar() != ' n')的差別先看 a = 3 != 2 和 ( a=3)! =2 的區(qū)別:(!=號(hào)的級(jí)別高于=號(hào)所以第一個(gè)先計(jì)算 3! =2)第一個(gè)a的數(shù)值是得到的1;第二個(gè)a 的數(shù)值是 3。考試注意點(diǎn) : 括號(hào)在這里的重要性。第五章函數(shù):是具
13、有一定功能的一個(gè)程序塊;1) 函數(shù)的參數(shù),返回?cái)?shù)值(示意圖)main()int a = 5,b=6,c;c = add(a,b);printf(“ %d” ,c);調(diào)用函數(shù)a,b 是實(shí)參整個(gè)函數(shù)得到一個(gè)數(shù)值就是Add 函數(shù)的返回?cái)?shù)值。int add ( int x, int y)int z;z=x+y;return z;被調(diào)用函數(shù) x, y 是形式參數(shù) 函數(shù)返回?cái)?shù)值是整型z 就是這個(gè) add 函數(shù)計(jì)算后得到的結(jié)果,就是函數(shù)返回給主程序的返回?cái)?shù)值。程序是在從上往下順序執(zhí)行,當(dāng)碰到了函數(shù)add后,把a(bǔ),b的數(shù)值穿給調(diào)用函數(shù),程序暫時(shí)中斷等待返回?cái)?shù)值。當(dāng)?shù)玫搅朔祷財(cái)?shù)值后,再順序的往下執(zhí)行傳數(shù)值,和傳
14、地址的差別。 (考試的重點(diǎn)) 形參的變化不會(huì)改變實(shí)參的變化。 形參的變化就會(huì)有可能改變實(shí)參的變化。2) 一定要注意參數(shù)之間的傳遞實(shí)參和形參之間傳數(shù)值的話,傳地址的話,3) 函數(shù)聲明的考查: 一定要有:函數(shù)名,函數(shù)的返回類型,函數(shù)的參數(shù)類型。 不一定要有:形參的名稱。第六章指針變量的本質(zhì)是用來放地址,而一般的變量是放數(shù)值的。int *p 中 *p 和 p 的差別:*p 可以當(dāng)做變量來用; *的作用是取后面地址 p 里面的數(shù)值p 是當(dāng)作地址來使用。*p+ 和 (*p)+ 的之間的差別:改錯(cuò)題目中很重要*p+ 是 地址會(huì)變化。( *p ) + 是數(shù)值會(huì)要變化??剂撕芏啻危┤髁x:(考試的重點(diǎn)) 數(shù)
15、組名:表示第一個(gè)元素的地址。數(shù)組名不可以自加,他是地址常量名。 函數(shù)名:表示該函數(shù)的入口地址。字符串常量名:表示第一個(gè)字符的地址。第七章1 一維數(shù)組的重要概念:對(duì) a10 這個(gè)數(shù)組的討論。1、a表示數(shù)組名,是第一個(gè)元素的地址,也就是元素a10的地址。2、a是地址常量,所以只要出現(xiàn)a+,或者是a=a+2賦值的都是錯(cuò)誤的。3、a 是一維數(shù)組名,所以它是列指針,也就是說 a+1 是跳一列。對(duì) a33 的討論。1、a表示數(shù)組名,是第一個(gè)元素的地址,也就是元素a10的地址。2、a是地址常量,所以只要出現(xiàn)a+,或者是a=a+2賦值的都是錯(cuò)誤的。3、a 是二維數(shù)組名,所以它是行指針,也就是說 a+1 是跳一
16、行。4、 a0、a1、a2也都是地址常量,不可以對(duì)它進(jìn)行賦值操作,同時(shí)它們都是列指針,a0+1 , a1+1 , a2+1 都是跳一列。5、注意a和a0、a1、a2是不同的,它們的基類型是不同的。前者是一行兀素,后三 者是一列元素。二維數(shù)組做題目的技巧:如果有 a33=1,2,3,4,5,6,7,8,9步驟一:a0 aa1 aa2 a步驟二:這樣作題目間很簡(jiǎn)單:*(a0+1) 我們就知道是第一行的第一個(gè)元素往后面跳一列,是1。*(a1+2) 我們就知道是第二行的第一個(gè)元素往后面跳二列。是 6。一定記?。?只要是二維數(shù)組的題目, 數(shù)組的初始化,一維和二維的,int a=1 , 2 合法。二維數(shù)組
17、中的行指針int a12 ;其中 a 現(xiàn)在就是一個(gè)行指針,把他們寫成:124578這樣的題目。 第一列 第二列 第一行 第二行 第三行第三列那么這里就是那么這里就是a01 元素, 所以a12 元素, 所以定是寫成如上的格式, 再去做題目, 一維可以不寫,二維第二個(gè)一定要寫int a4=2 , 3,4合法。 但 int a4=2 , 3, 4非法。這樣會(huì)比較簡(jiǎn)單。a+1跳一行數(shù)組元素。搭配(*) p2指針a0, a1現(xiàn)在就是一個(gè)列指針。a0+1跳一個(gè)數(shù)組元素。搭配*p2指針數(shù)組使用還有記住脫衣服法則:a2 變成 * ( a+2) 這個(gè)思想很重要!a23 變成 * (a+2)3 再可以變成*(a+
18、2)+3)第一章 C 語言概述一、選擇題:1、一個(gè) C 程序的執(zhí)行是從(A 本程序的 main 函數(shù)開始,到B 本程序文件的第一個(gè)函數(shù)開始,C 本程序的 main 函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束 D 本程序文件的第一個(gè)函數(shù)開始,到本程序 main 函數(shù)結(jié)束A )。main 函數(shù)結(jié)束到本程序文件的最后一個(gè)函數(shù)結(jié)束2、 A.在 C 語言中,每個(gè)語句必須以( D )結(jié)束。 回車符 B. 冒號(hào) C. 逗號(hào) D. 分號(hào)C 語言規(guī)定:在一個(gè)源程序中, 必須在最開始 B.D.3、A.C. 可以任意main 函數(shù)的位置( C )。 必須在系統(tǒng)調(diào)用的庫函數(shù)的后面 必須在最后4、一個(gè) C 語言程序是由(
19、 BA. 一個(gè)主程序和若干子程序組成C. 若干過程組成)。B. 函數(shù)組成D. 若干子程序組成5、 A. B. C. D.下列說法中錯(cuò)誤的是 ( D 主函數(shù)可以分為兩個(gè)部分:主函數(shù)說明部分和主函數(shù)體 主函數(shù)可以調(diào)用任何非主函數(shù)的其他函數(shù) 任何非主函數(shù)可以調(diào)用其他任何非主函數(shù) 程序可以從任何非主函數(shù)開始執(zhí)行)。6、 A. C.用 C 語言編寫的源文件經(jīng)過編譯,若沒有產(chǎn)生編譯錯(cuò)誤,則系統(tǒng)將 生成可執(zhí)行目標(biāo)文件 輸出運(yùn)行結(jié)果B. 生成目標(biāo)文件D. 自動(dòng)保存源文件二、填空題:1、 C 語言只有 32 個(gè)關(guān)鍵字和 9 種控制語句。2、每個(gè)源程序有且只有一個(gè)main 函數(shù),系統(tǒng)總是從該函數(shù)開始執(zhí)行3、C 語
20、言程序的注釋可以出現(xiàn)在程序中的任何地方,它總是以 *C 語言程序。符號(hào)作為開始標(biāo)記,以*/ 符號(hào)作為結(jié)束標(biāo)記。4、數(shù)5、是6、C 語言中,輸入操作是由庫函數(shù) scanf 完成的,輸出操作是由庫函 printf 完成的。系統(tǒng)默認(rèn)的 C 語言源程序文件的擴(kuò)展名是 .c .obj ,經(jīng)過連接后生成的可執(zhí)行文件的擴(kuò)展名是C 語言的標(biāo)識(shí)符只能由字母、數(shù)字和 下劃線,經(jīng)過編譯后生成的目標(biāo)文件的擴(kuò)展名.exe 。三種字符組成。第三章數(shù)據(jù)類型、運(yùn)算符和表達(dá)式 一、選擇題:1 、以下選項(xiàng)中,不正確的 C 語言浮點(diǎn)型常量是( A. 160. B. 0.12 C. 2e4.2 D. 0.0C )。2、以下選項(xiàng)中,
21、( D )是不正確的 C 語言字符型常量。A. 'a' B. 'x41' C. '101' D. "a" 在 C 語言中,字符型數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中,以字符的(B. 反碼 C. ASCII 碼 D. BCD 碼3、 A.C )形式存儲(chǔ)。4、原碼若 x、i=4,i、j和k都是int型變量,則計(jì)算下面表達(dá)式后,x的值是(C )。j=16, k=32)B. 16C.32x=A. 45、算術(shù)運(yùn)算符、賦值運(yùn)算符和關(guān)系運(yùn)算符的運(yùn)算優(yōu)先級(jí)按從高到低依次為A. 算術(shù)運(yùn)算、賦值運(yùn)算、關(guān)系運(yùn)算B.C. 關(guān)系運(yùn)算、賦值運(yùn)算、算術(shù)運(yùn)算D.6、 若有代數(shù)
22、式,則不正確的 C 語言表達(dá)式是A.a/b/c*e*3 B. 3*a*e/b/cC.3*a*e/b*c7、表達(dá)式 !x|a=b 等效于 ( D )。D.52( B )。算術(shù)運(yùn)算、關(guān)系運(yùn)算、賦值運(yùn)算關(guān)系運(yùn)算、算術(shù)運(yùn)算、賦值運(yùn)算C )。D. a*e/c/b*3A. !(x|a)=b) B. !(x|y)=b C. !(x|(a=b)8、設(shè)整型變量 m,n,a,b,c,d 均為 1,執(zhí)行 (m=a>b)&&(n=c>d)A. 0, 0 B. 0, 1 C. 1, 0 D. 1, 19、設(shè)有語句int a=3 ;,則執(zhí)行了語句 a+=a-=a*=a;后,變量A. 3 B.
23、0 C. 9 D. -1210、在以下一組運(yùn)算符中,優(yōu)先級(jí)最低的運(yùn)算符是A. * B. !=11 、設(shè)整型變量A. 6B. 1212、若已定義 xA. 1B. 2D. (!x)|(a=b)后, m,n 的值是( A)。a 的值是 ( B ) 。( D )。C. + D. =i 值為 2 ,表達(dá)式 (+i)+(+i)+(+i) 的結(jié)果是C. 15 D. 表達(dá)式出錯(cuò)和y為double類型,則表達(dá)式x=1 , y=x+3/2的值是(C )。C. 2.0 D. 2.5( B )。13、sizeof (double) 的結(jié)果值是 ( A )。A. 814、設(shè)A. 415、設(shè)B. 4C. 2D. 出錯(cuò)a=
24、1, b=2 , c=3, d=4,則表達(dá)式:a<b? a : c<d? a : d 的結(jié)果為(D )。 B. 3C. 2a 為整型變量,A. 10<a<15C. a>10 && a<1516、設(shè) f 是實(shí)型變量,D. 1 不能正確表達(dá)數(shù)學(xué)關(guān)系: 10<a<15 的 C 語言表達(dá)式是 ( A )。B. a= =11| a= =12 | a= =13 | a= =14 D. !(a<=10) && !(a>=15) 下列表達(dá)式中不是逗號(hào)表達(dá)式的是( D )。A. f= 3.2, 1.0 B. f>0
25、, f<10 C. f=2.0, f>017、 表達(dá)式 18/4*sqrt(4.0)/8 值的數(shù)據(jù)類型是(A. int B. float C. double D. 不確定 18、已知字母 A 的 ASCII 碼為十進(jìn)制數(shù) 65,且C2=' A' + ' 6' - 3'后 c2 中的值是(A )。A. D B. 68 C. 不確定的值19、以下用戶標(biāo)識(shí)符中,合法的是(A. int B. nit C. 123D. f=(3.2, 1.0) C )。c2 為字符型,則執(zhí)行語句D. C B )。D. a+b20、C 語言中,要求運(yùn)算對(duì)象只能為整數(shù)的運(yùn)
26、算符是(A. % B. /C. >D. *21、 若有說明語句:char c='72'則變量c在內(nèi)存占用的字節(jié)數(shù)是(A. 1B. 2C. 3D. 422、字符串 "ABC" 在內(nèi)存占用的字節(jié)數(shù)是(A. 3B. 4C. 6D. 823、 要為字符型變量a 賦初值,A. char a="3" B. char a=?3?;24、下列不正確的轉(zhuǎn)義字符是( A. B. ' C. 074 D. 0A )。A )。B )。下列語句中哪一個(gè)是正確的( BC. char a=%;D. char a=*;C )。)。二、填空題:1、 C 語言中
27、的邏輯值“真”是用2、若 x 和 n 都是 int 型變量,且 后 x 的值為 0 。3、10 表示的。4、5、6、7、8、1 表示的,邏輯值“假”是用x 的初值為 12,n 的初值為 5,則計(jì)算表達(dá)式 x%=(n%=2)設(shè) c='w',a=1,b=2,d=-5, 則表達(dá)式 'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, 、 0 、 1 、 1 。設(shè) float x=2.5,y=4.7; int a=7; ,表達(dá)式 x+a%3*(int)(x+y)%2/4 的值為 判斷變量 a、 b 的值均不為 0 的邏輯表達(dá)式為 a
28、!=0&&b!=0 求解賦值表達(dá)式 求解逗號(hào)表達(dá)式 數(shù)學(xué)式 a/(b*c) 的b=a=2 的值分別為2.5 。 a=(b=10)%(c=6) ,表達(dá)式值、 a、b、 c 的值依次為 x=a=3,6*a 后,表達(dá)式值、 x、 a 的值依次為 18,3,3 。 C 語言表達(dá)式 a/b/c 。a、4,4,10,6 。三、編程題 :1、 設(shè)長(zhǎng)方形的高為2、 編寫一個(gè)程序,將大寫字母 1main()fl oat x=1.5,y=2.3;printf(2. main() char c=?A?;printf(1 .5,寬為 2.3,編程求該長(zhǎng)方形的周長(zhǎng)和面積。A 轉(zhuǎn)換為小寫字母 a。area
29、nis”%,x6*.y2)f;%d” ,c+32);順序結(jié)構(gòu)答案一、單項(xiàng)選擇題AADAB CCBBD1正確的程序?yàn)? include "stdio.h" main( )程序改錯(cuò)題 2char c ; getchar(c); putchar('007') ; /* 鳴笛 */ putchar( );正確的程序?yàn)閙ain( ) int a,b,s,l;scanf("%d,%d",&a,&b);s=a*b; l=2*(a+b); printf("l=%d,s=%dn", l ,s); 三、寫出程序運(yùn)行結(jié)果1
30、68 2. x=4 y=11四、編程題1. main( ) int a,b,c,sum;float ave;scanf( “ %d%d%”d ,&a,&b,&c);sum=a+b+c; ave=sum/3.0;printf( “ sum=%d, n” ,sum,ave); 五、選做題1.void main( ) float a,b,temp; printf("input a and b:"); scanf("%d,%d",&a ,&b);temp = a; a = b; b = temp; printf("
31、;a=%d , b=%dn", a , b); 選擇結(jié)構(gòu)答案 一、單項(xiàng)選擇題1.B 2.A 3.D 4.C 5.D 6.B 7.C二、填空題1.2.3.5534VeryGood Good VeryGood Fail Pass Pass5 44401.-136閱讀程序,寫出運(yùn)行結(jié)果10, 4, 3;1四、程序設(shè)計(jì)題1. main( ) int a,b,x,y;scanf( “%d %d” ,&a,&b); x=a*a+b*b;if(x>100)y=x/100; print f( “ %d” ,y); else printf(“ %d” ,a+b);2. if 結(jié)構(gòu)
32、 main() float t;char c;printf( “ input score,max as 1n0”0: ); scanf( “ %f” ,&t);if(t>=90) ch=?A?;else if(t>=80) ch=?B?; else if(t>=70) ch=?C?; else if(t>=60) ch=?D?;else ch=?E?; printf( “ Grade=n%”d ,ch); switch 結(jié)構(gòu) main() float t;char c;printf( “ input score,max as 1n0”0: ); scanf( “
33、 %f” ,&t);switch(t/10) case 10: case 9: ch=?A?;break;case 8: ch=?B?;break;case 7: ch=?C?;break;case 6: ch=?D?;break; case 5: ch=?E?; printf( “ Grade=n%”d ,ch);五、選做題1. main() int a,b,c,t;scanf( “ %d%d%”d ,&a,&b,&c); if(a<b)t=a;a=b;b=t; if(a<c)t=a;a=c;c=t; if(b<c)t=b;b=c;c=t;
34、printf( “ %d,%d,n%”d ,a,b,c);2. switch(s>0)&&(s<=10)case 1: switch (s>=3)&&(s<=6) case 1: x=2; break;case 0: switch (s>1)|(s>8) case 1: x=3; break; case 0: x=1; break; break;case 0: x=0; break;循環(huán)結(jié)構(gòu)答案一、選擇題1B 2.A 3.A 4.C 5.A 6.B 7.A 8.C 9.D 10.D二、填空題1. x1 x1/2-22. ch=
35、getchar() ch>=?A?&&ch<=?Z?3. s=s+t*i t=-t三、閱讀下列程序,寫出程序運(yùn)行的輸出結(jié)果852892112.3.4.5SUM=2468四、程序改錯(cuò)1.main()*/ int i=200,n=0; /*n 用來記錄每行已打印數(shù)的個(gè)數(shù) while(i<=300)if(i%7=0) /break;printf("%5d",i); n=n+1;if(n=5) /* 滿 5 個(gè)換行 */ printf("n"); n=0; i+; 2). main( ) int i,s=0,t=1;for(i=
36、1;i<=7;i+) t=t*i; s=s+t; printf("sum=%dn",s);五、程序設(shè)計(jì)題1. main() int x,g,s,b;for(x=100;x<1000;x+) b=x/100;s=x%100/10;g=x%10; if(g*g*g+s*s*s+b*b*b)=x) printf(“n%”d ,x) ; 2. main() int i,s=0,f=1; for(i=2;i<80;i+) s=s+f*(i-1)/i; f=-f; n” ,s);六、選做題1. main() float s=0,m=2.0,n=1.0,p;int i;
37、for(i=1;i<=20;i+)s=s+m/n; p=m; m=m+n; n=p; n” ,s);2.#include <stdio.h>main( ) int i,j,k,s=1;for(i=1;i<=20;i+)for(j=1;j<=50;j+) k=100-i*5-j*2;if(k>=0) printf( “%2d %2d %i,2j,dk)”; , s=s+1;if(s%5=0) printf( n“” );數(shù)組習(xí)題第7章A卷1. 單項(xiàng)選擇題(1) int a4=5,3,8,9;其中 a3的值為(4A. 5(2) 以下A. gets(3) 以下A.
38、 int a7;D. 9)所在的頭文件與其他3 個(gè)不同。 AD. strcmpDC. char c5; D. int n,dn;BC. char c3 = '1', '2', '3', '0'D. char)是錯(cuò)誤的。 long bN;)形式是錯(cuò)誤。(4) 對(duì)字符數(shù)組進(jìn)行初始化, A. char c1 ='1', '2', '3'c4 ="123"(5) 在數(shù)組中,數(shù)組名表示B. char c2 =123;)。AB. 數(shù)組第 2D.數(shù)組最后A. 數(shù)組第 1 個(gè)元素
39、的首地址 C. 數(shù)組所有元素的首地址) 。 D char c=?a?, d, g ;D. a'd'-c則 printf( "%dn",strlen(s);B. a4 C. a'd'-'c'char s12 = "string" ;C. 11 D. 12char s12 = "string" C. 11D. 12)。 AB. int a5 =0,1,2,3,4,5;的輸出是 ()。的輸出是 ()。C. char a="string " ;D. char)。 DB. in
40、t a 3 =0,1,2,3,4;D. int a23=0,1,2,3,4,5,;()。 DB. char a 3 ='abc', '1'D. char a 3 = "a", "1" printf("%sn", str2) ; 的輸出是 ( "windows"D. 輸出語句出錯(cuò)() 。 CB. int x22=1,2,3,4;D. int m3=1,2,3,4,5,6;,值為 6 的數(shù)組元素是 (D. a23D)。 C)。 B/ 第 A 行B. 3 C. 8 個(gè)字符串函數(shù)中, (B.
41、 strcpy C. strlen 個(gè)數(shù)組定義中, (B. #define N 5(個(gè)元素的首地址1 個(gè)元素的首地址(6) 若有以下數(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(7) 若有以下說明,則數(shù)值為 4 的表達(dá)式是 ( int a12 =1,2,3,4,5,6,7,8,9,10,11,12;A. ag-c(8) 設(shè)有定義:A. 6B. 7則 printf("%dn ", sizeof(s);(9) 設(shè)有定義:A. 6B. 7(10)
42、 合法的數(shù)組定義是 ( A. char a = "string " ; a =0,1,2,3,4,5(11) 合法的數(shù)組定義是 ( A. int a3 =0,1,2,3,4,5; C. int a23=0,1,2,3,4,5,6;(12) 下列語句中,正確的是A. char a3 ='abc', '1' C. char a3 ='a', "1"(13) 下列定義的字符數(shù)組中,輸出 static str320 = "basic", "foxpro", A. basic
43、B. foxpro C. windows)。(14) 下列各語句定義了數(shù)組,其中哪一個(gè)是不正確的 A. char a310="China","American","Asia"C. float x2 =1,2,4,6,8,10;(15) 數(shù)組定義為 int a32=1,2,3,4,5,6 A. a32 B. a21 C. a12)。(16) 下面的程序中哪一行有錯(cuò)誤 ( #include <stdio.h> main() float array5=0.0;int i;for(i=0;i<5;i+)scanf("
44、;%f",&arrayi);for(i=1;i<5;i+)array0=array0+arrayi;/ 第 B 行printf("%fn",array0); /第 C 行A. 第 A 行 B. 第 B 行 C. 第 C 行 D. 沒有(17) 下面哪一項(xiàng)是不正確的字符串賦值或賦初值的方式A. char *str; str="string"B. char str7='s','t','r','i','n','g'C. char str110
45、;str1="string"D. char str1="string",str2="12345678"(18) 若有以下說明和語句,則輸出結(jié)果是哪一項(xiàng) (strlen(s)為求字符串s的長(zhǎng)度的函數(shù))char s12="a book!"printf("%d",strlen(s);A. 12 B. 8 C. 7 D. 11(19) 若有以下說明和語句,則輸出結(jié)果是 (strlen(s)為求字符串s的長(zhǎng)度的函數(shù))char sp="tv0willn"printf("%d&q
46、uot;,strlen(sp);A. 14 B. 3 C. 9 D. 字符串中有非法字符(20) 若有以下說明和語句,則輸出結(jié)果是 (char str=""c:abc.dat""printf("%s",str);A. 字符串中有非法字符B. "c:abc.dat")。 C)。 B)。 CC. "c:abc.dat"D. "c:abc.dat"2. 填空題(1) C 語言中,數(shù)組的各元素必須具有相同的必須是正整數(shù)、 0、或者數(shù)據(jù)類型 ,0,符號(hào)常量 ,越界(2) C 語言中,數(shù)
47、組在內(nèi)存中占一片的存儲(chǔ)區(qū),由代表它的首地址。數(shù)組名是一個(gè)常量,不能對(duì)它進(jìn)行賦值運(yùn)算。連續(xù) ,數(shù)組名 ,地址執(zhí)行 static int b5, a 3 =1,2,3,4,5,6; 后,b4=設(shè)有定義語句 static int a34 =1,2,3; 則,a21的值為。2,0,0如定義語句為 char a = "windows",b = "95" ,語句,元素的下標(biāo)下限為。但在程序執(zhí)行過程中,不檢查元素下標(biāo)是否,下標(biāo)(3)(4)為, a12 = a10 值為。 0,6, a11 值(5)為printf("%s",strcat(a,b);
48、的輸出結(jié)果。 Windows95根據(jù)以下說明,寫出正確的說明語句:men是一個(gè)有10個(gè)整型元素的數(shù)組。(6)step是一個(gè)有4個(gè)實(shí)型元素的數(shù)組,元素值分別為1.9, -2.33, 0, 20.6。grid是一個(gè)二維數(shù)組,共有4行,10列整型元素。int mesh10; float step4 = 1.9, -2.33, 0, 20.6; int grid410;array是一個(gè)一維整形數(shù)組,有10個(gè)元素,前6個(gè)元素的初值是 9,4,7,49,32,-5,正確的說明語句為:。該數(shù)組下標(biāo)的取值范圍是從_到的第二個(gè)元素表示為:。用賦值語句把為:。把第六個(gè)和第四個(gè)元素之和存入第一個(gè)元素表示為:(從小到
49、大)。用scanf函數(shù)輸入數(shù)組39 存入第一個(gè)元素表示int array10 = 9,4,7,49,32,-5;0 9 scanf("%d",&array1);array5+array3;(8) 寫 出 以 下 初 始 化 數(shù) 組 的 長(zhǎng) 度 : int chn3; 數(shù) 組 chn isa=1.0,2.0,3.0,4.0,5.0;array0 = 39; array0=的 長(zhǎng) 度 為 _ 。 float數(shù)組isa的長(zhǎng)度為 。int doom8;數(shù)組doom的長(zhǎng)度為 。float pci42;數(shù)組pci的長(zhǎng)度為 _。int ast33;數(shù)組ast的長(zhǎng)度為_。int a
50、tt34;數(shù)組att的長(zhǎng)度為float de叩3=1,4,7,2,5,3,6,9;數(shù)組 dell 的長(zhǎng)度為。'36(9) 若有以下整型的a數(shù)組,數(shù)組元素和它們得值如下所示:數(shù)組元素 :a0 a1a2a3a4a5a6元素的值 :941282107 請(qǐng)寫出對(duì)該數(shù)組的說明,并賦以上初值。 該數(shù)組的最小下標(biāo)值為_,最大下標(biāo)值為 _。寫出下面各式的值:aa9的值為;aa4+a8int a10=9,4,12,8,2,10,7,5,1,3;0988(10) 字符串 "abn012/"" 的長(zhǎng)度為a7a851的值為 _。10O6 20 16 32 18 24a933.(判
51、斷題)c2=c1;(1) C 允許對(duì)數(shù)組的大小作動(dòng)態(tài)定義,即可用變量定義數(shù)組的大小。(2)(3)(4)(5)(6)字符數(shù)組不要求它的最后一個(gè)字符為0',甚至可以不包含 0'。數(shù)組定義 int a10; 也可以寫成 int a(10); 。 在對(duì)全部數(shù)組元素賦初值時(shí),可以不指定數(shù)組長(zhǎng)度。定義s為5X 6(5行6列)的數(shù)組可寫成 float a5,6;數(shù)組定義int a10;表示數(shù)組名為a,此數(shù)組有10個(gè)元素。)(7)數(shù)組定義int a10;表示數(shù)組名為a,此數(shù)組有10個(gè)元素,第10個(gè)元素為a10。 )(8) static char c= “a book”; 與 static ch
52、ar c=“a book”; 等價(jià)。) (9) static char c='a' ,' ','b','o','o','k','0' 與 static char c='a' ,' ' ,'b','o','o','k') (10) 設(shè)已有說明: static char c110,c210; 下面程序片段是合法的。c1=“book”;等價(jià)。4. 程序填空題(1) 輸入 20 個(gè)數(shù),輸出它們的平
53、均值,輸出與平均值之差的絕對(duì)值為最小的數(shù)組元素。請(qǐng) 填空。#include <stdio.h>void main( )float a20,pjz=0,s,t; int i,k;for(i=0;i<20;i+) pjz+=ai;s=fabs(a0-pjz);for(i=1;i<20;i+)if(fabs(ai-pjz)<s)s=fabs(ai-pjz); t=ai;for(i=0;i<20;i+) scanf(%f” ,&ai); pjz/=20; printf(n” ,piz,t); “ %f,%f(2) 以下程序以每行 10 個(gè)數(shù)據(jù)的形式輸出 a
54、數(shù)組,請(qǐng)?zhí)羁铡?void main( );int a50,i; printf(" 輸入 50 個(gè)整數(shù) :"); for(i=0; i<50; i+) scanf( "%d", for(i=1; i<=50; i+) if( ) printf( "%3dn" , printf( "%3d",ai-1); &ai i%10=0 ai-1(3) 下面程序的功能是輸出數(shù)組 s 中最大元素的下標(biāo),請(qǐng)?zhí)羁铡?void main( )int k, p;int s =1,-9,7,2,-10,3;for(p=0,k=p; p<6; p+) if(sp>sk) ;printf("%dn" ,k);k=p (4) 這個(gè)程序輸入了 20 個(gè)數(shù)存放在一個(gè)數(shù)組中 , 并且輸出其中最大者與最小者、 20 個(gè)數(shù)的和及它們
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 債務(wù)劃清責(zé)任合同范本簡(jiǎn)易
- 雙軟認(rèn)證合同范本
- 農(nóng)村房屋合同范例
- 不買社保勞務(wù)合同范本
- 合作木柴出售合同范本
- 公司裁員合同范本
- 廠房回收拆除合同范例
- 農(nóng)村果林租賃合同范本
- 印花材料供應(yīng)合同范本
- 東麗區(qū)恒溫配送合同范本
- 口腔健康與全身健康課件
- 人教版九年級(jí)化學(xué)上冊(cè)第四單元作業(yè)設(shè)計(jì) 自然界的水
- 腦血管造影病人的護(hù)理-課件
- 阿里巴巴管理精髓管理者必修的24招
- 醫(yī)務(wù)科輪轉(zhuǎn)人員規(guī)定
- 統(tǒng)編版一年級(jí)語文下冊(cè) 口語交際 聽故事講故事 小貓種魚 一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 普通地質(zhì)學(xué)教材
- 《工業(yè)控制網(wǎng)絡(luò)及組態(tài)技術(shù)》教案
- 多重耐藥菌相關(guān)知識(shí)
- 2021年云南省中考地理試卷(附答案詳解)
- 物業(yè)管理工作流程圖全套2
評(píng)論
0/150
提交評(píng)論