c語言英語版複習,c語言必背英語

本文目錄一覽:

C語言怎麼複習啊,求指導

總體上必須清楚的:

1)程序結構是三種: 順序結構 , 循環結構(三個循環結構), 選擇結構(if 和 switch)?

2)讀程序都要從main()入口, 然後從最上面順序往下讀(碰到循環做循環,碰到選擇做選擇)。?

3)計算機的數據在電腦中保存是以 二進位的形式. 數據存放的位置就是 他的地址.?

4)bit是位 是指為0 或者1。 byte 是指位元組, 一個位元組 = 八個位.?

5)一定要記住 二進位 如何劃成 十進位。?

概念常考到的:?

1、編譯預處理不是C語言的一部分,不再運行時間。C語言編譯的程序稱為源程序,它以ASCII數值存放在文本文件中。?

2、每個C語言程序中main函數是有且只有一個。?

3、在函數中不可以再定義函數。?

4、演算法的是一定要有輸出的,他可以沒有輸入。?

5、break可用於循環結構和switch語句。?

6、逗號運算符的級別最低。?

第一章?

1)合法的用戶標識符考查:?

合法的要求是由字母,數字,下劃線組成。有其它元素就錯了。?

並且第一個必須為字母或則是下劃線。第一個為數字就錯了。?

關鍵字不可以作為用戶標識符號。main define scanf printf 都不是關鍵字。迷惑你的地方If是可以做為用戶標識符。因為If中的第一個字母大寫了,所以不是關鍵字。?

2)實型數據的合法形式:?

2.333e-1 就是合法的,且數據是2.333×10-1。?

考試口訣:e前e後必有數,e後必為整數。.?

3)字元數據的合法形式::?

‘1’ 是字元佔一個位元組,”1″是字元串佔兩個位元組(含有一個結束符號)。?

  ‘0’ 的ASCII數值表示為48,’a’ 的ASCII數值是97,’A’的ASCII數值是65。?

4) 整型一般是兩個位元組, 字元型是一個位元組,雙精度一般是4個位元組:?

考試時候一般會說,在16位編譯系統,或者是32位系統。碰到這種情況,不要去管,一樣做題。掌握整型一般是兩個位元組, 字元型是一個位元組,雙精度一般是4個位元組就可以了。?

5)轉義字元的考查:?

在程序中 int a = 0x6d,是把一個十六進位的數給變數a 注意這裡的0x必須存在。?

在程序中 int a = 06d, 是一個八進位的形式。?

在轉義字元中,』\x6d』 才是合法的,0不能寫,並且x是小寫。?

『\141』 是合法的, 0是不能寫的。?

『\108』是非法的,因為不可以出現8。?

6)算術運算符號的優先順序別:?

同級別的有的是從左到右,有的是從右到左。?

7)強制類型轉換:?

一定是 (int)a 不是 int(a),注意類型上一定有括弧的。?

注意(int)(a+b)和(int)a+b 的區別。 前是把a+b轉型,後是把a轉型再加b。?

8)表達式的考查:?

是表達式就一定有數值。?

賦值表達式:表達式數值是最左邊的數值,a=b=5;該表達式為5,常量不可以賦值。?

自加、自減表達式:假設a=5,++a(是為6), a++(為5);?

運行的機理:++a 是先把變數的數值加上1,然後把得到的數值放到變數a中,然後再用這?

個++a表達式的數值為6,而a++是先用該表達式的數值為5,然後再把a的數值加上1為6,?

再放到變數a中。 進行了++a和a++後在下面的程序中再用到a的話都是變數a中的6了。?

考試口訣:++在前先加後用,++在後先用後加。?

逗號表達式:優先順序別最低 ;表達式的數值逗號最右邊的那個表達式的數值。-

(2,3,4)的表達式的數值就是4。?

9)位運算的考查:?

 會有一到二題考試題目。?

總的處理方法:幾乎所有的位運算的題目都要按這個流程來處理(先把十進位變成二進位再變成十進位)。?

例1: char a = 6, b;?

b = a2; 這種題目的計算是先要把a的十進位6化成二進位,再做位運算。?

例2: 一定要記住,?

例3: 在沒有捨去數據的時候,右移一位表示除以2。?

10)018的數值是非法的,八進位是沒有8的,逢8進1。 ?

11)%符號兩邊要求是整數。不是整數就錯了。?

12) 三種取整丟小數的情況:?

 1、int a =1.6;?

2、(int)a;?

3、 ?

?

第二章?

1)printf函數的格式考查:?

%d對應整型;%c對應字元;%f對應單精度等等。寬度的,左對齊等修飾。-

%ld對應 long int;%lf 對應double。?

2)scanf函數的格式考察:?

注意該函數的第二個部分是a 這樣的地址,不是a; ?

Scanf(「%d%d%*d%d」,a,b,c); 跳過輸入的第三個數據。?

3)putchar ,getchar 函數的考查:?

char a = getchar() 是沒有參數的,從鍵盤得到你輸入的一個字元給變數a。?

putchar(『y』)把字元y輸出到屏幕中。?

4)如何實現兩個變數x ,y中數值的互換(要求背下來)?

不可以把 x=y ,y=x; 要用中間變數 t=x;x=y;y=t。?

5)如何實現保留三位小數,第四位四捨五入的程序,(要求背下來)?

這個有推廣的意義,注意 x = (int)x 這樣是把小數部分去掉。?

第三章?

特別要注意:c語言中是用非0表示邏輯真的,用0表示邏輯假的。?

1)關係表達式:?

表達式的數值只能為1(表示為真),或0(表示假)?

當關係的表達是為真的時候得到1。如 98這個是真的,所以表達式的數值就是1;?

2)邏輯表達式:?

只能為1(表示為真),或0(表示假)?

a) 共有 || ! 三種邏輯運算符號。?

b) !|| 優先的級別。?

c) 注意短路現象。考試比較喜歡考到。?

d) 要表示 x 是比0大,比10小的方法。0x10是不可以的(一定記住)。是先計算0x 得到的結果為1或則0;再用0,或1與10比較得到的總是真(為1)。所以一定要用 (0x)(x10)表示比0大比10小。?

3)if 語句?

else 是與最接近的if且沒有else的相組合的。?

4)條件表達式:?

 表達式1 ?表達式2 :表達式3?

 注意是當非0時候是表達式2的數值,當為0是就是表達式2的數值。?

考試口訣:真前假後。?

5)switch語句:?

a)一定要注意 有break 和沒有break的差別,書上(34頁)的兩個例子,沒有break時候,只要有一個case匹配了,剩下的都要執行,有break則是直接跳出了swiche語句。?

  b)switch只可以和break一起用,不可以和continue用。?

?

第四章?

1)三種循環結構:?

a)for() ; while(); do- while()三種。?

b)for循環當中必須是兩個分號,千萬不要忘記。?

c)寫程序的時候一定要注意,循環一定要有結束的條件,否則成了死循環。-

d) do-while()循環的最後一個while();的分號一定不能夠丟。(當心上機改錯)?

2) break 和 continue的差別?

記憶方法:?

break:是打破的意思,(破了整個循環)所以看見break就退出真箇一層循環。-

continue:是繼續的意思,(繼續循環運算),但是要結束本次循環,就是循環體內剩下的語句不再執行,跳到循環開始,然後判斷循環條件,進行新一輪的循環。?

3)嵌套循環?

就是有循環裡面還有循環,這種比較複雜,要一層一層一步一步耐心的計算,一般記住兩層是處理二維數組的。?

4) while((c=getchar())!=』\n』) 和 while(c=getchar() !=』\n』)的差別?

先看a = 3 != 2 和 (a=3)!=2 的區別:?

(!=號的級別高於=號 所以第一個先計算 3!=2) 第一個a的數值是得到的1;第二個a的數值是3。?

考試注意點: 括弧在這裡的重要性。?

?

第五章?

函數:是具有一定功能的一個程序塊;?

1) 函數的參數,返回數值(示意圖):?

main()?

{?

int a = 5,b=6,c;?

c = add(a,b);?

printf(「%d」,c);?

}?

?

調用函數?

a,b是實參?

整個函數得到一個數值就是?

Add函數的返回數值。?

int add ( int x, int y)?

{?

int z;?

z=x+y;?

return z;?

}?

被調用函數?

x,y是形式參數?

函數返回數值是整型?

?

z就是這個add函數計算後得到的結果,就是函數返回給主程序的返回數值。?

程序是在從上往下順序執行,當碰到了函數add後,把a,b的數值穿給調用函數,程序暫時中斷等待返回數值。當得到了返回數值後,再順序的往下執行?

2)一定要注意參數之間的傳遞?

實參和形參之間 傳數值,和傳地址的差別。(考試的重點)?

傳數值的話,形參的變化不會改變實參的變化。?

傳地址的話,形參的變化就會有可能改變實參的變化。?

3)函數聲明的考查:?

一定要有:函數名,函數的返回類型,函數的參數類型。?

不一定要有:形參的名稱。?

?

第六章?

指針變數的本質是用來放地址,而一般的變數是放數值的。?

int *p 中 *p和p的差別:?

*p可以當做變數來用;*的作用是取後面地址p裡面的數值?

p是當作地址來使用。?

*p++ 和 (*p)++的之間的差別:改錯題目中很重要?

*p++是 地址會變化。?

(*p)++ 是數值會要變化。 ?

三名主義:(考試的重點)?

數組名:表示第一個元素的地址。數組名不可以自加,他是地址常量名。(考了很多次)?

函數名:表示該函數的入口地址。?

字元串常量名:表示第一個字元的地址。?

?

第七章?

1一維數組的重要概念:?

對a[10]這個數組的討論。?

1、a表示數組名,是第一個元素的地址,也就是元素a[10]的地址。?

2、a是地址常量,所以只要出現a++,或者是a=a+2賦值的都是錯誤的。?

3、a是一維數組名,所以它是列指針,也就是說a+1是跳一列。 ?

對a[3][3]的討論。?

1、a表示數組名,是第一個元素的地址,也就是元素a[10]的地址。?

2、a是地址常量,所以只要出現a++,或者是a=a+2賦值的都是錯誤的。?

3、a是二維數組名,所以它是行指針,也就是說a+1是跳一行。?

4、a[0]、a[1]、a[2]也都是地址常量,不可以對它進行賦值操作,同時它們都是列指針,a[0]+1,a[1]+1,a[2]+1都是跳一列。?

5、注意a和a[0] 、a[1]、a[2]是不同的,它們的基類型是不同的。前者是一行元素,後三者是一列元素。?

二維數組做題目的技巧:?

如果有a[3][3]={1,2,3,4,5,6,7,8,9}這樣的題目。?

步驟一:把他們寫成:第一列 第二列 第三列?

a[0]à  1 2 3 -第一行?

a[1]à 4 5 6  —第二行?

a[2]à 7 8 9  -第三行?

步驟二:這樣作題目間很簡單:?

*(a[0]+1)我們就知道是第一行的第一個元素往後面跳一列,那麼這裡就是a[0][1]元素,所以是1。?

*(a[1]+2)我們就知道是第二行的第一個元素往後面跳二列。那麼這裡就是a[1][2]元素,所以是6。?

一定記住:只要是二維數組的題目,一定是寫成如上的格式,再去做題目,這樣會比較簡單。?

數組的初始化,一維和二維的,一維可以不寫,二維第二個一定要寫?

int a[]={1,2} 合法。 int a[][4]={2,3,4}合法。 但int a[4][]={2,3,4}非法。?

二維數組中的行指針?

int a[1][2]; ?

其中a現在就是一個行指針,a+1跳一行數組元素。 搭配(*)p[2]指針?

a[0],a[1]現在就是一個列指針。a[0]+1 跳一個數組元素。搭配*p[2]指針數組使用?

還有記住脫衣服法則:?

a[2] 變成 *(a+2) a[2][3]變成 *(a+2)[3]再可以變成 *(*(a+2)+3)?

這個思想很重要!?

c語言常用英語

運算符與表達式: 5. `parameter 參數 2 條件語句

1.constant 常量 6.static 靜態的 condition

2. variable 變數 7.extern 外部的 statement) 選擇 select

3. identify 標識符 指針: 表達式 expression

4. keywords 關鍵字 1. pointer 指針 邏輯表達式 logical expression

5. sign 符號 2. argument 參數 關係表達式 Relational expression

6. operator 運算符 3. array 數組 優先 priority

7. statement語句 4. declaration 聲明 運算 operation

8. syntax 語法 5. represent 表示 結構 structure

9. expression 表達式 6. manipulate 處理 3 循環語句

10. initialition 初始化 結構體、共用體、鏈表 (circle statement) 循環 circle

11. number format 數據格式 1 structure 結構 條件 condition

12 declaration 說明 2 member成員 變數 variant

13. type conversion 類型轉換 3 tag 標記 過程 process

14.define 、definition 定義 4 function 函數 優先 priority

條件語句: 5 enumerate 枚舉 運算 operation

1.select 選擇 6 union 聯合(共用體) 4 函數

2. expression 表達式 7 create 創建 (function) 調用 call

3. logical expression 邏輯表達式 8 insert 插入 返回值 return value

4. Relational expression 關係表達式 9 delete 刪除 函數 function

5.priority優先 10 modify 修改 聲明 declare

6. operation運算 文件 參數 parameter

7.structure 結構 1、file 文件 靜態的 static

循環語句: 2、open 打開 外部的 extern

1.circle 循環 3、close 關閉 5 數組和指針(array and

2. condition 條件 4、read 讀 pointer) 數組 array

3. variant 變數 5、write 寫 引用 reference

4. process過程 6、error 錯誤 元素 element

5.priority優先 序號 主要章節 常用英漢對照辭彙 備註 地址 address

6. operation運算 1 運算符與表達式 排序 sort

數組: ( operator and expression ) 漢語 英語 字元 character

1. array 數組 常量 constant 字元串 string

2. reference 引用 變數 variable 應用 application

3. element 元素 標識符 identify 指針 pointer

4. address 地址 關鍵字 keywords 參數 argument

5. sort 排序 符號 sign 數組 array

6. character 字元 運算符 operator 聲明 declaration

7. string 字元串 語句 statement 表示 represent

8. application 應用 語法 syntax 處理 manipulate

函數: 表達式 Expression 6 結構體、

1.call 調用 初始化 Initialization 共用體

2.return value 返回值 數據格式 number format (structures union 結構 structure

3.function 函數 類型轉換 type conversion 成員 member

4. declare 聲明 定義 Define 、 definition 標記 tag

函數 function archaic a.己廢的,古老的 teaching programming 編程教學

枚舉 enumerate mainmodule 主模塊 lengthy a.冗長的,漫長的

聯合 ( 共用體 ) union sufficient a.充分的,足夠的 alter vi./vt.改變

創建 create submodule 子模塊 flaw n.缺點裂紋

插入 insert data processing 數據處理 devclop vt.發達

刪除 delete modify v.修正,修改 separate a.各別的

修改 modify business application 商業應用 recompile v.編譯

7 文件 outline n.輪廓,概要 assist n.幫助

( file) 文件 file scientific application 科學應用 cycle n.循環

打開 open compose分解 technician n.技師

關閉 close lexical a.字典的,辭彙的 remove vt.移動,除去

讀 read code 代碼 straight line 直線

寫 write non-programmer n.非編程人員 category n.種類,類項

錯誤 error node vt改為密碼 rectangle n.長方形,矩形

Program Design 程序設計 notation n.記號法,表示法,注釋 P-code p代碼

writing program 編寫程序 pseudocode n.偽代碼 virtrally ad.事實上

standardize vt.使標準化 verbosity n.嘮叨,冗長 symology n.象徵學象徵的使用

coding the program 編程 commas n.逗點逗號 register n.寄存器

simplify vt.單一化,簡單化 record n.記錄 to summaries 總之,總而言之

programming 程序 documentation 文檔 by convention 按照慣例

revision n.校訂,修正 subrecord n.子記錄 cyptic n.含義模糊的,隱藏的

programmer n.程序員 flowchart/flow 程表/流程 diamond-shaped a,菱形的

occupy vt.佔領,住進 data division 數據部 bracket n.括弧

logic n.邏輯,邏輯學 visual a.視覺的 decision n判斷

BASIC 初學者通用符號指令代碼 procedure division 過程部 obviate 除去,排除

machine code 機器代碼 represent vt.表現,表示,代表 terminal n. a終端機,終端的

teaching language 教學語言 comprise vt.包含 構成 keyword n.關鍵字

debug n.DOS命令,調試 structured techniques結構化技術 card reader 閱讀器

simplicity n.單純,簡樸 operator n.運算符,運算元 underline vt.下劃線

compactness a.緊湊的,緊密的 straightforward a.筆直的率直的 translator program 譯程序

timesharing system 分時系統 commercial package 商業軟體包 monadic a. monad(單位)的

description n.描述,說明 subroutine n.子程序 Programming 程序設計

interactive language 互動式語言 generator n.產生器,生產者dec/binary n.二進位

break n.中斷 driver module 驅動模塊 source language 源語

manufacturer n.製造業者 mathematician n.專家 shift 變化,轉移,移位

structure chart 結構圖 line by line 逐行 machine language 機器

dialect n.方言,語調 operator n.作符 overflow n.溢出

the program flow 程序流 translate vt.翻譯,解釋 machine instruction 機器指令

expense n.費用,代價 forerunner n.先驅 arithmetic n.算術,演算法

manager module 管理模塊 modular 摸塊化 computer language 計算機語

uniformity n.同樣,劃一 ancestor n.祖宗 composite symbol 複合型符號

worder module 工作模塊 cumbersome a.討厭的,麻煩的 assembly language 彙編語

assignment n.賦值 double :聲明雙精度變數或函數

floating point number浮點數 int: 聲明整型變數或函數

proliferation n.增服 struct:聲明結構體變數或函數

high-level language高級語 break:跳出當前循環pointer n.指針

natural language 自然語言 else :條件語句否定分支(與 if 連用)

array n.數組矩陣, long :聲明長整型變數或函數

source text 源文本 switch :用於開關語句

subscript n.下標 case:開關語句分支

intermediate language 中間語言 enum :聲明枚舉類型

type conversion 類型轉換 register:聲明積存器變數

software development 軟體開發 typedef:用以給數據類型取別名(當然還有其他作用)

address arithmetic 地址運算 char :聲明字元型變數或函數

map vt.映射,計劃 extern:聲明變數是在其他文件正聲明(也可以看做是引用變數)

denote vt.指示,表示 return :子程序返回語句(可以帶參數,也看不帶參數)

maintenance cost 維護費用 union:聲明聯合數據類型

subprogram n.子程序 const :聲明只讀變數

legibility n.易讀性,易識別 float:聲明浮點型變數或函數

separate compilation 分離式編澤 short :聲明短整型變數或函數

amend vt.修正,改善 unsigned:聲明無符號類型變數或函數

alphabetic a.照字母次序的 continue:結束當前循環,開始下一輪循環

consumer n.消費者 for:一種循環語句(可意會不可言傳)

digit n.數字位數 signed:生命有符號類型變數或函數

enormous a.巨大的,龐大的 void :聲明函數無返回值或無參數,聲明無類型指針(基本上就這三個作用)

numeric expression 數值表達式 default:開關語句中的「其他」分支

reliability n.可信賴性,可信度 goto:無條件跳轉語句

tap n.輕打,輕敲,選擇 sizeof:計算數據類型長度

safety n.安全,安全設備 volatile:說明變數在程序執行中可被隱含地改變

print zone 列印區 do :循環語句的循環體

property n.財產,所有權 while :循環語句的循環條件

column n.列

correctness n.正確, static :聲明靜態變數

functionality n.機能 if:條件語句

semicolon n.分號

portable a.叮攜帶的,可搬運的 auto :聲明自動變數 一般不使用

survey n.概觀.

altoggle n.肘節開關

task n.作,任務

declaration n.宣告 說明

source program 源程序

mufti-dimension array 多維數組

object program 目標程序

記得採納哦

英語四級、計算機二級——C語言應該怎樣複習?考試有哪些題型?

這個是大學生在校期間,所要獲得的最基本的兩個證書!很有必要拿到的!我考的是VF!C不曉得!

我在三年級才過,時間倒的浪費了不少!主要是到大學以後有太多的誘惑,讓你力不從心。不過我相信只要有心,是沒有問題的!

變化一:聽力比重提高

新題型中,聽力的比重由20%上升到35%,閱讀理解比重由40%下降到35%。劉暢認為,以前在四六級考試中被公認的「得閱讀者得天下」應改為「得聽力者得天下,得閱讀者守天下」。

題型也分為小對話、長對話、短文章、複合式聽寫四種。第一部分由8個小對話和2個長對話組成;第二部分是3篇短文章;第三部分為複合式聽寫。增設了難度介於小對話和短文之間的長對話,每個長對話後有3~4道題。

變化二:增設快速閱讀

閱讀的比重減為35%。其中,仔細閱讀的文章減少至2篇,分數佔全卷的20%,題型為廣大考生熟悉的四選一。另出現兩種新的閱讀考查方法:快速閱讀和選詞填空。選詞填空考查方式為:在一篇220字左右的文章中,從給出的15個備選單詞中選出10個填入文章空白處。另外,快速閱讀要求在15分鐘內完成一篇1200字左右的文章和後面的10道題,前7個是判斷正誤,後3個是填空題(答案基本都是原文中出現的原詞)。

變化三:綜合部分難度增加

綜合部分為完形填空或改錯、漢譯英或簡短回答,分數佔全卷的15%。其特點是題型選擇多樣,並有一定比例的主觀題。

其中漢譯英不是整句翻譯,而是英文句子中留出中文部分,相當於片語考查;選詞填空與老題型完形填空比,更注重考查詞的辨析和基本用法。

劉暢認為,雖然新四級中取消了考查語法辭彙的「結構與辭彙」部分,而用上了更加靈活的考查方式。所以,背單詞的習慣不僅不能丟,還要能正確使用。

變化四:寫作還是要多練。多說就有辦法!

加快答題速度加強針對訓練

1.聽力平時要練習關鍵詞速記;堅持每天聽半小時英語,臨考前增加聽力練習時間。

2.利用原四級真題進行快速閱讀訓練,限時閱讀和不限時閱讀交叉進行,以調整「考試生物鐘」。

3.仔細閱讀時間減少,盡量擠出選詞填空的時間來彌補。

4.寫作可採用中英文互譯法提高英語基本表達能力。選取一句地道英文將其譯為中文,過段時間後再將這句中文翻譯成英文,並與原文對照,找出不足。

劉暢強調,由於新題型剛剛公布,市面還沒有成熟的模擬題,建議考生扎紮實實做十年內真題,摸清出題思路和模式,對備考新四級仍然是最有效的方法

誰有C語言的複習資料。。。我明天要考試啊。。。幫忙吶。。。

填空:

1.一個C程序的執行是從( A )

A 本程序的main函數開始,到main函數結束

B 本程序的第一個函數開始,到本程序文件的最後一個函數結束

C 本程序的main函數開始,到本程序文件的最後一個函數結束

D 本程序的第一個函數開始,到本程序main函數結束

2.以下能正確地定義整型變數a,b B int a和c並為其賦初值5的語句是( A )

A int a=5, b=5, B.c=5;,b,c=5; C a=5,b=5,c=5; D a=b=c=5;

3.為了避免在嵌套的條件語句if-else中產生二義性,C語言規定else子句總是與( B )配對。

A 縮排位置相同的if B 其之前最近的if

C 其之後最近的if D 同一行上的if

4.以下正確的描述是:( C )

A while、do-while、for循環中的循環體語句都至少被執行一次(有時while循環一次也不執行)

B do-while循環中,while(表達式)後面的分號可以省略(while循環中分號可以省略,do-while循環不能省略)

C while循環體中,一定要有能使while後面表達式的值變為「假」的操作

D do-while循環中,根據情況可以省略while

5.C語言規定,簡單變數作為實參時,它和對應形參之間的數據傳遞方式是( D )。

A 地址傳遞 B 由用戶指定傳遞方式

C 由實參傳給形參,再由形參傳回給實參 D 單向值傳遞(實參傳給形參)

6.凡是函數中未指定存儲類別的局部變數,其隱含的存儲類別為( A )。

A 自動(auto) B 靜態(static)

C 外部(extern) D 寄存器(register)

7.以下關於宏的敘述中正確的是( C )。

A 宏名必須用大寫字母表示 B 宏替換時要進行語法檢查

C 宏替換不佔用運行時間 D 宏定義中不允許引用已有的宏名

8.說明一個結構體變數時,系統分配給它的內存是( A )

A 各成員所需內存量的總和 B結構中第一個成員所需內存量

C 成員中占內存量最大都所需的容量 D結構中最後一個成員所需內存量

9.表達式0x130x17的值是( B )(這兩個十六進位數先化為十進位,再化為二進位,進行運算,再將二進位結果化為十進位,再化為十六進位)

A 0x17 B 0x13 C 0x f8 D 0xec

10.若要用fopen函數打開一個新的二進位文件,該文件既要能讀也要能寫,則文件方式字元串應是( B )

A “ab+” B “wb+” C “rb+” D “ab”

11.以下敘述中正確的是 ( C )

A C語言比其他語言高級

B C語言可以不用編譯就能被計算機識別執行

C C語言以接近英語國家的自然語言和數學語言作為語言的表達形式

D C語言出現得最晚,具有其他語言的一切優點

12.定義:int a=8,b=5,c;,執行語句c=a/b+0.4;後,c的值為( B )

A 1.4 B 1 C 2.0 D 2

13.以下非法的賦值語句是( C )

A. n=(i=2,++i); B. j++; C. ++(j+1); D. x=j0;

14.以下不能正確定義二維數組的選項是( D )

A. int a[2][2]={{1},{2}};

B. int a[][2]={1,2,3,4};

C. int a[2][2]={{1},{2,3}};

D. int a[][]={{1,2},{3,4}};

15.若有說明語句:int a,b,c,*d=c;,則能正確從鍵盤讀入3個整數分別賦給變數a、b、c的語句是( A )

A.scanf(%d%d%d」,a,b,d);

B.scanf(%d%d%d」,a,b,d);

C.scanf(%d%d%d」, a, b,d);

D.scanf(%d%d%d」,a,b,*d);

16.以下程序段中,b的值是( B )

int a[10]={1,2,3,4,5,6,7,8,9,10},*p,b;

p=a[0]; b=p[5];

A. 5 B. 6 C. 8 D. 9

17.以下哪一個表達式取值是正確的?( D )

A.65結果為6 B.6&&5結果為7

C.6||5結果為7 D.65結果為0

18.下列C語言標識符不合法的是: ( C )(C語言的標識符第一個字元必須為字母或下劃線)

A. PERFECT B. perfectname

C. 8_number D. _number1

19.有以下程序結果 ( C )

main( )

{ int x=102,y=012;

printf(「%2d,%2d\n」,x,y);}(012是八進位,轉化為十進位是10)

A. 10,01 B. 02,12

C. 102,10 D. 02,10

20.設有如下程序

char str[]=」hello」;

char *ptr;

ptr=str;

執行完上面的程序段後,*(ptr+5)的值為 ( B )

A. 『0』 B. 『\0』

C.不確定的值 D. 『0』的地址

21.C語言中,定義PI為一個符號常量,正確的是 ( A )

A.#define PI 3.14 B.define PI 3.14

C.#include PI 3.14 D.include PI 3.14

22.關於c表達式5||(a=b+c)==3的值,正確的說法為( A )

A.值為1 B.值為5 C.值為0 D.3

填空

1.若有定義語句:int x=3,y=2;float a=2.5,b=3.5;

則表達式(x+y)%2+(int)a/(int)b 的值為( 1 )。

2.設a、b、c均為int型變數且a=6,b=4,c=2,

則表達式 !(a-b)+c-1b+c/2的值是( 1 )。

3.若有定義:int a[3][4]={{1,2},{0},{4,6,8,10}};則初始化後,a[1][2]得到的初值是( 0 )。

4.從函數的形式看,函數分( 無參函數 )和( 有參函數 )兩類。

5.結構化程序由( 順序程序 )、( 選擇程序 )和( 循環 )。

6.在C語言中,作為雙目運算符時表示的是( 按位與運算符 ),而作為單目運算符時表示的是( 取地址運算符 )。

7.static對局部變數來說,它使變數由( 動態 )存儲方式改變為( 靜態 )存儲方式。

8.C語言的標識符只能有三種字元組成,它們是( 字母 )、( 數字 )和( 下劃線 )。

9.給以下程序輸入2個數值給a,b變數,b中的值給a,變數a中的值給b,實現a,b交換,輸出a,b的值。

#include stdio.h

main()

{int a,b,__t___;

printf(“enter a,b,”);scanf(“%d%d”,a,b);

____t=a____; __a=b____;_ b=t ;

printf(“%d%d”,a,b);

}

10.設int a[2][3]={{5},{6}};則數組元素( a[0][0] )的值為5。

11.若定義結構體變數

struct student

{ int num;

char name[10];

int age;

}student1;

則結構體變數student1在內存中占 14 位元組。

讀程序寫結果

1.寫出下列程序的執行結果。

#include stdio.h

void main( )

{

int i, j, m, n;

i=6; j=9;

m=++i; n=j++;

printf(「%d,%d,%d,%d\n」, i, j, m, n);

} 71079

2.寫出下列表達式的值:

(1) x+a%3*(int)(x+y)%2/4 設x=5.2,a=7, y=7.4

=5.2+7%3*(int)(5.2+7.4)%2/4

=5.2+1*12%2/4

=5.2

(2) (float)(a+b)/2+(int)x%(int)y 設a=2, b=3, x=5.3, y=5.2

=(float)(2+3)/2+(int)5.3%(int)5.2

=2.5+5%5

=2.5

3.寫出下列程序的執行結果。

#include stdio.h

void main( )

{

int x=2, y=-1, z=2;

if(xy)

if(y0) z=0;

else z+=1;

printf(「z=%d\n」, z);

} z=2

4.寫出下列語句的執行結果。

#include stdio.h

void main( )

{

int i;

for(i=1; i=5; i++)

switch(i%5)

{

case 0: printf(“*”); break;

case 1: printf(“#”); break;

default: printf(“\n”);

case 2: printf(“”);

}

}

#

*

5.寫出下列語句的執行結果。

#include stdio.h

void main( )

{

int a[6][6], i, j;

for(i=1; i6; i++)

for(j=1; j6; j++)

a[i][j]=(i/j)*(j/i);

for(i=1; i6; i++)

{ for(j=1; j6; j++)

printf(「%2d」,a[i][j]);

printf(「\n」);

}

}

1 0 0 0 0

0 1 0 0 0

0 0 1 0 0

0 0 0 1 0

0 0 0 0 1

6.寫出下列程序的執行結果。

#include stdio.h

void main( )

{

char a[ ]=”morning”, t;

int i, j=0;

for(i=1; i7; i++)

if(a[j]a[i]) j=i;

t=a[j]; a[j]=a[7]; a[7]=a[j];

puts(a);

}

mo

7.寫出下列語句的執行結果。

#include stdio.h

#define MAX 10

int a[MAX], i;

void sub1( )

{ for(i=0; iMAX; i++) a[i]=i+i; }

void sub2( )

{ int a[MAX], i, max;

max =5;

for(i=0; imax; i++) a[i]=i;

}

void sub3(int a[])

{ int i;

for(i=0; iMAX; i++) printf(“%d,”, a[i]);

printf(“\n”);

}

void main( )

{ printf(“\n”); sub1( ); sub3(a); sub2( ); sub3(a); }

空一行

0,2,4,6,8,10,12,14,16,18,

0,2,4,6,8,10,12,14,16,18,

8.寫出下列語句的執行結果。

#include stdio.h

void main( )

{ int a=2, i;

for(i=0; i3; i++) printf(「%4d」, f(a));

}

f(int a)

{ int b=0; static int c=3;

b++; c++;

return (a+b+c);

}

9.寫出下列程序的執行結果。

#include stdio.h

void swap(int *pt1, int *pt2)

{ int temp;

temp=*pt1; *pt1=*pt2; *pt2=temp;

}

void exchange(int *q1, int *q2, int *q3)

{ if(*q1*q2) swap(q1, q2); //if(ab) a b zuojiaohuan

if(*q1*q3) swap(q1, q3); //ac

if(*q2*q3) swap(q2, q3); //bc —-

}

void main( )

{

int a=5, b=7, c=9, *p1, *p2, *p3;

p1=a; p2=b; p3=c;

exchange(p1, p2, p3);

printf(「\n%d,%d,%d\n」, a, b, c);

}

空一行

9,7,5

10.寫出下列程序的執行結果。

#include stdio.h

int *p;

void pp(int a, int *b)

{ int c=4;

*p=*b+c;

a=*p-c;

printf(「(2):%d,%d,%d\n」, a, *b, *p);

}

void main( )

{ int a=1, b=2, c=3;

p=b; pp(a+c, b);

printf(「(1):%d,%d,%d\n」, a, b, *p);

}

(1):2,6,6

(2):1,6,6

11.以下程序的輸出結果是:( 2 )

main( )

{ int a=2,b=-1,c=2;

if(ab)

if(b0) c=0;

else c+=1;

printf(「%d\n」,c);

}

12.有以下程序輸出結果是: 6

main( )

{ int a=5,b=4,c=6,d;

printf( 「%d\n」, d=ab ? (ac ? a:c):(b));

}

13.有以下程序執行後的結果是 25

main()

{ int i, s=0;

for (i=0;i10;i+=2)

s+=i+1;

printf (「%d\n」,s);

}

14.執行以下程序後,輸出的是( ###### )

main( )

{ int i, j;

for( i=1;i3;i++)

for (j=2;j=4; j++)

printf (「#」);

}

15.有以下程序,執行結果為: 24

main( )

{

int p[7]={11,13,14,15,16,17,18},i=0,k=0;

while(i7 p[i]%2) {k=k+p[i];i++;}

printf(「%d\n」,k);

}

16.有以下程序的輸出結果是: 543

void f(int x, int y)

{ int t;

if (xy) { t=x; x=y; y=t;}

}

main()

{ int a=4,b=3,c=5;

f(a,b); f(a,c); f(b,c);

printf(「%d,%d,%d\n」,a,b,c);

}

17.有以下程序執行後的輸出結果是 3 6 9

main()

{ int m[][3]={1,4,7,2,5,8,3,6,9};

int i,k=2;

for(i=0;i3;i++)

{ printf(「%d 」,m[k][i]);}

}

18.有以下程序執行後的輸出結果是 8,7,7,8

main( )

{ int a=7,b=8,*p,*q,*r;

p=a; q=b;

r=p; p=q; q=r;

printf(「%d,%d,%d\n」,*p,*q,a,b);

}

19.以下程序的輸出結果是

int m=13;

int fun2(int x,int y)

{ int n=3;

return(x*y-n);

}

main( )

{ int a=7,b=5;

printf(「%d\n」,fun2(a,b)/m);

}

2

20.有以下程序,執行結果為:

main( )

{ int a=2,b=3,*P;

P=a; b= *P+4;

printf(「%d\n」,b);

*P=4;

printf(「%d,%d\n」,a, *P);

}

6

4,4

21.以下程序的輸出結果

main( )

{ int i=1,j=3;

printf(「%d,」,i++);

{ int i=0;

i+=j*2;

printf(「%d,%d,」,i,j);

}

printf(「%d,%d\n」,i,j);

}

1,6,3,2,3

編程題

1. 從鍵盤輸入12個整數,用起泡法對這12個整數進行由小到大的排序。(課本134頁)

2. 有一分數序列如下,求出這個數列的前40項之和。(課本129頁)

2/1,3/2,5/3,8/5,13/8,21/13,……

3. 從鍵盤輸入10個整數保存在一個一維數組中,利用指針編寫程序,將該數組中的10個整數按相反順序存放。(課本237頁)

4. 有一個4×5的矩陣如下,求所有元素中的最大值、最小值及其相應的下標。(課本139頁)

5. 用弦截法求方程f(x)=3×3+2×2-5x-6的根(課本168頁)

6. 用π/4≈1-1/3+1/5-1/7+∙∙∙公式求π的近似值,直到某一項的絕對值小於10-7為止。(課本124頁)

7. 利用指針編寫程序,將數組a中n個整數按相反順序存放。(同上例3)

8. 通過循環按行順序為一個5X5的二維數組a賦1~25的自然數,然後輸出該數組的左下三角

編程題答案

(1)

#includestdio.h

void main()

{

int a[12];

int i,j,t;

printf(「input 12 numbers:\n」);

for(i=0;i12;i++)

scanf(「%d」,a[i]);

printf(「\n」);

for(j=0;j11;j++)

for(i=0;i11-j;i++)

if(a[i]a[i+1])

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

printf(「the sorted numbers :\n」);

for(i=0;i12;i++)

printf(「%d」,a[i]);

printf(「\n」);

}

(2)

#includestdio.h

void main()

{

int i,t,n=40;

float a=2,b=1,s=0;

for(i=1;i=n;i++)

{

s=s+a/b;

t=a;

a=a+b;

b=t;

}

printf(「sum=%9.6f\n」,s);

}

(3)

#includestdio.h

void main()

{

void inv(int x[],int n);

int i,a[10]={3,7,9,11,0,6,7,5,4,2};

prinf(「the oringal array:\n」);

for(i=0;i10;i++)

printf(「%d」,a[i]);

printf(「\n」);

inv(a,10);

printf(「the array has been inverted:\n」);

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

printf(「%d」,a[i]);

printf(「\n」);

}

void inv(int x[],int n)

{

int temp,i,j,m=(n-1)/2;

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

{

j=n-1-i;

temp=x[i];

x[i]=x[j];

x[j]=temp;

}

return;

}

(4)

#includestdio.h

void main()

{

int i,j,row=0,colum=0,max;

int a[4][5]={{1,3,5,7,9},{2,4,6,8,10},{-5,-4,-3,-2,-1},{15,17,19,21,0}};

max=a[0][0];

for(i=0;i=2;i++)

for(j=0;j=3;j++)

if(a[i][j]max)

{

max=a[i][j];

row=i;

colum=j;

}

printf(「max=%d,row=%d,colum=%d\n」,max,row,colum);

}

(5)

#includestdio.h

#includemath.h

float f(float x)

{

float y;

y=((x+2/3)*x-5/3)*x-2.0;

return(y);

}

float xpoint(float x1,floatx2)

{

float y;

y=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1)); (此程序運行無錯誤,有兩警告)

return(y);

}

float root(float x1.float x2)

{

float x,y,y1;

y1=f(x1);

do

{

x=xpoint(x1,x2);

y=f(x);

If(y*y10)

{

y1=y;

x1=x;

}

else

x2=x;

}

while(fabs(y)=0.0001);

return(x);

}

void main()

{

float x1,x2,f1,f2,x;

do

{

printf(「input x1,x2:\n」);

scanf(「%f,%f」,x1,x2);

f1=f(x1);

f2=f(x2);

}

while(f1*f2=0);

x=root(x1,x2);

printf(「A root of equation is%8.4\n」,x);

}

(6)

#includestdio.h

#includemath.h

void main()

{

int s;

float n,t,pi;

t=1;

pi=0;

n=1.0;

s=1;

while(fabs(t)1e-6)

{

pi=pi+t;

n=n+2;

s=-s;

t=s/n;

}

pi=pi*4;

printf(「pi=%10.6f\n」,pi);

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/187427.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-28 06:22
下一篇 2024-11-28 06:22

相關推薦

  • 英語年齡用連字元號(Hyphenation for English Age)

    英語年齡通常使用連字元號表示,比如 “five-year-old boy”。本文將從多個方面探討英語年齡的連字元使用問題。 一、英語年齡的表達方式 英語中表…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28

發表回復

登錄後才能評論