本文目錄一覽:
c語言習題 麻煩高手來做一下
14:
1#includestdio.h
main()
{ int i,j;
for(i=0;i9;i++)
{ j=i*10+6;
if(j%3==0)
printf(“%d\n”,j);
continue;
}
}
2)#includestdio.h
main()
{ int j,s,p,n;
scanf(“%d”,n);
for(s=p=0,j=1;j=n;j++)
{p=p+j;
s=s+p;
}
printf(“%d”,s);
}
13
#includestdio.h
void main()
{int i,a,b,c,d,e,n;
for(i=10000;i=99999;i++)
{ a=i/10000;
b=i/1000%10;
c=i/100%10;
d=i/10%10;
e=i%10;
if (a==eb==d)
printf(“%-8d”,i);
n++;
}
if(n%5==0) printf(“\n”);
}
12
#include stdio.h
void main()
{
long int num;
int indiv,ten,hundred,thousand,tenthousand,place;
printf(“請輸入一個整數(0-99999):”);
scanf(“%ld”,num);
if(num9999)
place=5;
else if(num999)
place=4;
else if(num99)
place=3;
else if(num9)
place=2;
else place=1;
printf(“place=%d\n”,place);
printf(“每位數字為:”);
tenthousand=num/10000;
thousand=(num-tenthousand*10000)/1000;
hundred=(num-tenthousand*10000-thousand*1000)/100;
ten=(num-tenthousand*10000-thousand*1000-hundred*100)/10;
indiv=num-tenthousand*10000-thousand*1000-hundred*100-ten*10;
switch(place)
{case 5: printf(“%d,%d,%d,%d,%d”,tenthousand,thousand,hundred,ten,indiv);
printf(“\n反序數字為:”);
printf(“%d%d%d%d%d\n”,indiv,ten,hundred,thousand,tenthousand);
break;
case 4:printf(“%d,%d,%d,%d”,thousand,hundred,ten,indiv);
printf(“\n反序數字為:”);
printf(“%d%d%d%d\n”,indiv,ten,hundred,thousand);
break;
case 3:printf(“%d,%d,%d\n”,hundred,ten,indiv);
printf(“\n反序數字為:”);
printf(“%d%d%d\n”,indiv,ten,hundred);
case 2:printf(“%d,%d\n”,ten,indiv);
printf(“\n反序數字為:”);
printf(“%d%d\n”,indiv,ten);
case 1:printf(“%d\n”,indiv);
printf(“\n反序數字為:”);
printf(“%d\n”,indiv);
}
}
11
#includestdio.h
main()
{ int n;
printf(“請輸入 ASCII碼值:\n”);
scanf(“%d”,n);
if(n32)
printf(“這是一個控制字符”);
else if(n=48n=57)
printf(“這是一個數字”);
else if(n=65n=90)
printf(“這是一個大寫字母”);
else if(n=97n=122)
printf(“這是一個小寫字母”);
}
10
main()
{
long int i;
int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
scanf(“%ld”,i);
bonus1=100000*0.1;
bonus2=bonus1+100000*0.075;
bonus4=bonus2+200000*0.05;
bonus6=bonus4+200000*0.03;
bonus10=bonus6+400000*0.015;
if(i=100000)
bonus=i*0.1;
else if(i=200000)
bonus=bonus1+(i-100000)*0.075;
else if(i=400000)
bonus=bonus2+(i-200000)*0.05;
else if(i=600000)
bonus=bonus4+(i-400000)*0.03;
else if(i=1000000)
bonus=bonus6+(i-600000)*0.015;
else
bonus=bonus10+(i-1000000)*0.01;
printf(“bonus=%d”,bonus);
}
9
#includestdio.h
main()
{ int n;
printf(“請輸入年份:\n”);
scanf(“%d”,n);
if((n%400==0)||(n%4==0)(n%100!=0))
printf(“這一年是閏年\n”);
else
printf(“這一年不是閏年\n”);
}
c語言複習題
1. main()函數
2. main()函數
3. 8
4. 1位元組
5. 9
6. ‘\0’
7. x=2,n=6
8. 非0值
9. x*y*z0(x0||y0||z0)
10. -264(該死的雜種才會出這種變態爛題)
11. 1
12. a[0]、a[1]、a[2]
13. 6
14. 行下標的的下限為0,列下標的上限為4
15. 題目有誤,對P宏重定義。如果宏定義如下:
#define Q 2
#define P Q+4
那麼i=P*2,i的值是10
16. 換行 退格
17. 5.5
18. 1
19. a[2]元素 2
20. 1
21. a=1,b=2,c=3(之後按回車)
22. 9
23. 10
24. C語言只有一種調用方式:__cdecl式(從右至左的順序壓參數入棧)
我猜這個題目應該是說調用函數時參數的傳遞方式吧?有傳值和傳址兩種(實際上都是傳值)
25. char a[10]=”friend”;
計算機二級C語言考試要怎麼複習?
1、理論考試一共60分。
(1)計算機基礎題20分,主要為大學計算機信息技術這門課所學計算機基礎知識,全部為單選題,每題1分。
(2)C語言知識題40分。單選題10分(每題1分),一般考的都是基礎知識;填空題30分,每空1分,其中5分為基礎知識填空,25分為語言運用填空(比如:遞歸、排序、二維數組、單鏈表等知識點讀程序填寫題)。
2、上機考試一共40分,分兩道題。
(1)改錯題(18分):一般為4個錯誤,包括語法錯誤(如數組的聲明與初始化錯誤、函數定義錯誤等)、運行錯誤(如缺少頭文件)、邏輯錯誤(如==寫成=號,給字符數組名賦值等)。
(2)編程題(22分):編程題一般要求編寫兩個函數,涉及到算法的應用(比如:排序、迴文數問題等)。一般編程題考得最多的是數字處理問題,一般只能平時多積累,多上機編程與調試。
二、如何準備二級C語言考試
其實二級考試目前趨勢:考點越來越廣,而題目難度越來越簡單。
1、重視理論考試中計算機基礎知識的20分題目
該部分佔總分的20%(20分),占理論考試分的33.3%(20/60分)。由於該部分知識是當年計算機一級考試題目,且都是單選題。這些分比C語言部分拿起來更容易,因此,一定要重視計算機基礎知識題,複習時只要將大學計算機信息技術期末考試前老師發的題庫好好做,弄懂了,爭取拿到18-20分。
2、C語言理論知識準備。應有計劃針對考點地做一些往年的二級考試真題。重要的考點包括:遞歸、二維數組、結構體、排序與查找、字符串處理、單鏈表、遞推法、窮舉法、方程求根、靜態局部變量、變量作用域、宏定義與宏替換等。
3、上機考試準備。
(1)應將學校C語言課程實驗中做過的程序全部弄懂,也就是會自己根據題目變化能再編寫出來。
(2)要多找一些往年的真題來調試,不斷體會其中錯誤之處的提示;往年的編程題應該找來自己編編,如果實在編不出來也沒關係,就對照着答案看,看懂了,自己再關上書編寫出來也可以。
(3)平時應該好好積累一些基本功能實現的小程序編寫方法,這些小程序可以稱為「基本動作」,而上考試編程題往往會利用2-3個這樣的基本動作進行有機整合就能編寫出來。這些「基本動作」包括:判斷素數、判斷迴文數、判斷水仙花數、直接選擇排序、二分查找、求反序數、同一數組元素逆置、求某數的(真)因子之和、字符串中插入/刪除字符或子串、單鏈表的建立、單鏈表的查找/檢索、單鏈表的輸出、單鏈表中插入/刪除一個結點、一或二維數組找極值(最大值或最小值)、進制轉換(如:十進制整數轉換成二進制,八、十六進制與二進制互相轉換)、求最大公約數和最小公倍數等。
(4)做改錯題時,一定要利用好上機考試前那幾分鐘,可以好好看看改錯題(注意試捲髮給你後不要去看其他的,只看改錯的程序),如果能找出幾個錯誤,應該很好。此時找錯誤應從:函數形參與實參的對應,主函數中字符串或數組定義與初始化部分,字符串賦值、比較等處找錯誤。開始輸入程序時,不要求快,一定要準確,不然因你自己輸入造成的錯誤會給你後面調試程序造成很大麻煩。
(5)編程題編寫的過程:先編寫主函數,因為主函數比較簡單,有些比如打開文件、寫文件、關閉文件部分是固定的,另一按題目要求一步步寫應該很容易寫出主函數;其次再編程自定義函數,編寫時一定要注意這樣的順序:從框架到填寫每個空,這樣大空填成小空,填着填着就編得差不多了。
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;右移一位表示除以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)
這個思想很重要!
此日誌來自QQ校友社區(xiaoyou.qq
大一期末C語言考試的重點是什麼??
我上點選擇題
1、以下不正確的描述為【 】。
(A) 調用函數時,實參可以是表達式
(B) 調用函數時,實參與形參可以共用內存單元
(C) 調用函數時,將為形參分配內存單元
(D) 調用函數時,實參與形參的類型必須一致
2、以下正確的敘述是【 】。
(A) C語言的主函數是無參函數
(B) C語言的主函數最多允許有1個形式參數
(C) C語言的主函數最多允許2個形式參數
(D) C語言的主函數可以有2個以上形式參數
3、C語言中函數返回值的類型是由【 】決定的。
(A) return語句中的表達式類型
(B) 調用該函數的主調函數類型
(C) 調用函數時臨時
(D) 定義函數時所指定的函數類型
4、若x為int型變量,則以下函數fun【 】。
fun(int x)
{
printf(“%d”,x);
}
(A) 返回值為void類型
(B) 無法確定返回值
(C) 返回值為int類型
(D) 沒有返回值
5、以下不正確的描述為【 】。
(A) 不同函數中可以使用相同名字的變量
(B) 形式參數是局部變量
(C) 一個函數內部定義的變量只能在本函數範圍內有效
(D) 在一個函數內部的複合語句中定義的變量可以在本函數範圍內有效
6、C語言規定,調用一個函數時,實參變量和形參變量之間的數據傳遞是【 】。
(A) 地址傳遞
(B) 值傳遞
(C) 由實參傳給形參,並由形參傳回來給實參 十
(D) 由用戶指定傳遞方式
7、若用數組名作為函數調用時的實參,則實際上傳遞給形參的是【 】。
(A) 數組首地址
(B) 數組的第一個元素值
(C) 數組中全部元素的值
(D) 數組元素的個數
8、凡是函數中未指定存儲類別的變量,其隱含的存儲類別為【 】。//應該為局部變量
(A) 自動(auto)
(B) 靜態(static)
(C) 外部(extem)
(D) 寄存器(register)
9、在C語言中,對於存儲類型為【 】的變量,只有在使用它們時才佔用內存單元。
(A) static和auto
(B) register和extern
(C) register和static
(D) auto和register
10、在一個源文件中定義的全局變量的作用域為【 】。
(A)本文件的全部範圍
(B)本程序的全部範圍
(C)本函數的全部範圍
(D)從定義變量的位置開始至文件結束
11、在一個C源程序文件中,若要定義一個只允許本源文件中所有函數使用的全局變量,則該變量需要使用的存儲類別為【 】。
(A)extern
(B)register
(C)auto
(D)static
12、以下不正確的描述為【 】。
(A)在函數之外定義的變量稱為外部變量,外部變量是全局變量
(B)在一個函數中既可以使用本函數中的局部變量,又可以使用全局變量
(C)外部變量定義和外部變量說明的含義不同
(D)若在同一個源文件中,外部變量與局部變量同名,則在局部變量的作用範圍內,外部變量不起作用
13、以下正確的函數定義形式是【 】。
(A)double fun(int x,int y)
(B)double fun(int x; int y)
(C)double fun(int x,int y);
(D)double fun(int x,y);
14、以下說法正確的是【 】。
(A) 實參和與其對應的形參各佔用獨立的存儲單元
(B) 實參和與其對應的形參共佔用一個存儲單元
(C) 只有當實參和與其對應的形參同名時才共用存儲單元
(D) 形參是虛擬的,不佔用存儲單元
15、若調用一個函數,且此函數中沒有return語句,則正確的說法是【 】。
(A) 沒有返回值
(B) 返回若干個系統默認值
(C) 能返回一個用戶所希望的函數值
(D) 返回一個不確定的值
16、以下敘述正確的是【 】。
(A )定義函數時,形參的類型說明可以放在函數體內
(B) return後邊的值不能為表達式
(C) 如果函數的類型與返回值類型不一致,以函數類型為準
(D) 如果形參與實參的類型不一致,以實參類型為準
17、以下程序有語法性錯誤,有關錯誤的原因的正確說法是【 】。
main( )
{int G=5,K;
void Prt_char();
……
K=Prt_char(G);
……
}
(A) 語句void prt_char();有錯,它是函數調用語句,不能用void說明
(B) 變量名不能使用大寫字符
(C) 函數說明和函數調用語句之間有矛盾
(D) 函數名不能使用下劃線
18、以下正確的描述是【 】。
(A) 函數的定義可以嵌套,但函數的調用不可以嵌套
(B) 函數的定義不可以嵌套,但函數的調用可以嵌套
(C) 函數的定義和函數的調用均不可以嵌套
(D) 函數的定義和函數的調用均可以嵌套
19、以下說法正確的是【 】。
如果在一個函數中的複合語句中定義了一個變量,則該變量
(A) 只在該複合語句中有效
(B) 在該函數中有效
(C) 在本程序範圍內均有效
(D) 為非法變量說明
20、以下程序的正確運行結果是【 】。
f(int a)
{int b=0; static int c=3;
b++; c++;
return(a+b+c);
}
main()
{int a=2,i;
for(i=0;i3;i++) printf(“%4d”,f(a));
}
(A) 7 7 7 (B) 7 10 13
(C) 7 9 11 (D) 7 8 9
21、請選擇正確的運行結果填入【 】中。
#include stdio.h
fun(int x,int y)
{static int m=0,i=2;
i+=m+1;
m=i+x+y;
return(m);
}
main()
{
int j=4,m=1,k;
k=fun(j,m);
printf(“%d,”,k);
k=fun(j,m);
printf(“%d\n”,k);
}
(A) 08, 20 (B) 8, 8 (C) 8, 17 (D) 8, 16
22、請選擇正確的運行結果填入【 】中。
#include stdio.h
int x,y;
num( )
{
int a=15,b=10;
int x,y;
x=a-b;
y=a+b;
return;
}
main( )
{int a=7,b=5;
x=a+b;
y=a-b;
num( );
printf(“%d,%d\n”,x,y);
}
(A) 12,2 (B) 5,25 (C) 2,12 (D)不確定
一、填空題
1、一個C語言程序的語句至少應包含一個______。
2、C語言源程序文件的擴展名是______,經過編譯、連接後,生成文件的擴展名是______。
3、結構化程序由順序結構、______和______三種基本結構組成。
4、C語言的執行是從______開始執行的。
5、C源程序的語句分隔符是______。
6、在C語言中,用關鍵字______定義單精度實型變量。
7、表達式S=12應當讀做「______」。
8、C語言源程序的基本單位是______。
9、設int x=9,y=8;表達式x-=y+1的結果是______。
10、若a為整型變量,a=12,則表達式:a * =2+3的值______。
11、調用C語言對輸入輸出處理的庫函數時,在# include命令行中應包含的頭文件是______。
12、表達式9%5的結果是______。
13、若a為整型變量,a=12,則表達式:a+=4的值______。
14、 在C語言中,要求運算數必須是整型的運算符是______。
15、在C語言中,用______表示邏輯「真」值。
16、7、表達式10/3的結果是______。
17、通常一個位元組包含______個二進制位。
18、 假設所有變量均為整型,a=2,b=5,b++則表達式a+b的值是______。
19、在C語言中,最基本的數據類型只有四種,它們分別是:______、______、______和double。
20、一個C程序有且僅有一個______函數。
21、若a為整型變量,a=12,則表達式:a-=2的值______。
22、在C語言中,有三種邏輯運算符,它們分別是:______、______、______。
23、在C語言中,字符輸入函數和字符輸出函數分別是:______和______。
24、C程序開發的四個步驟是______、______、______和執行。
25、C程序的結構分別是:順序結構、______、______。
26、if語句中的表達式可以是關係表達式、______、______。
27、______是C語言中惟一一個三元運算符。
28、C語言提供的預處理命令主要包括如下三種:宏定義、______、______。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/244873.html