C語言經典100題二級

2021-03-04 00:53:12 字數 6022 閱讀 1130

c語言程式設計複習指導

一、程式設計題

1、多項式求和(積)

例1:3!+5!+7!+...+n!,求直到s>=680000為止的奇數n。(n=11)

main()

printf("%d",i);

}例2:請程式設計計算1-1/2+1/3-1/4+1/5-...+1/99。(精確到小數點後3位)。(0.698)

main()

printf("%.3f",s);

getch();

}例3:1+1/3+1/9+1/27…+1/n>1.489時最小的n。(n=81)

main()

printf("%d",i);

getch();

}例4:求4*(1-1/3+1/5-1/7+…)的值,直到最後一項的絕對值小於10的負6次方為止。(3.141594)

#include "math.h"

main()

printf("%f",4*s);

getch();

}2、窮舉法的應用

例1:百錢百雞問題。

例2:大作業本單價4元,中作業本單價2元,小作業本單價1元,當天共賣出大中小作業本30本,每種至少賣出1本,金額100元,問大中小作業本共有幾種組合情況。(3)

main()

printf("\n%d",s);

}3、迭代法的應用

例1:已知乙個數列的前三個數是1,2,3,從第四個數起,每個數都是前三個數之和。下面的程式是求出該數列的第15個數。

程式可能有錯誤,如有錯誤請改正,將運算結果填入文字框。(4841)

main()

,i=4;

while (i=15)

printf("%d",a[15]);

}4、拆數技巧的應用

例1:計算各位數字之和等於30的4位偶數的個數。

例2:回文數。

5、求素數、完數、水仙花數等。

例:已知函式f是判斷素數的函式。編寫程式計算500-1000之間素數的和。(54591)

f(long n)

main()

二、選擇題

習題三一、二 2、三 3

習題四一、二

習題五一、

二、三 1、2、4、7

習題六一、二

習題七一

已知巨集定義 #define sq(x) x*x,執行語句printf("%d",10/sq(3));後的輸出結果是____。

a) 1 b) 3 c) 9 d) 10

【1.1】 以下不正確的c語言識別符號是____。

a) int b) a_1_2 c) ab1exe d) _x

【1.2】以下是正確的c語言識別符號是____。

a) #define b) _123 c) %d d) \n

【1.3】下列四組字串中都可以用作c語言程式識別符號的一組是____。

a) print    b) i\am    c) pxq    d) str_l

_3d       one_half    my->book  cpp

oodb      start$it    line#    pow

abc       **ai     his.age    while

【1.4】下面各選項組中,均是c語言關鍵字的組是____。

a) auto,enum,include b) switch,typedef,continue

c) signed,union,scanf d) if,struct,type

【1.5】下列不屬於c語言關鍵字的是_____。

a) default b) register c) enum d) external

【1.6】c語言程式從main()函式開始執行,所以這個函式要寫在____。

a) 程式檔案的開始 b) 程式檔案的最後

c) 它所呼叫的函式的前面 d) 程式檔案的任何位置

【1.7】下列關於c語言的敘述錯誤的是____

a) 大寫字母和小寫字母的意義相同

b) 不同型別的變數可以在乙個表示式中

c) 在賦值表示式中等號(=)左邊的變數和右邊的值可以是不同型別

d) 同乙個運算符號在不同的場合可以有不同的含義

【1.8】在c語言中,錯誤的int型別的常數是____。

a) 32768 b) 0 c) 037 d) 0xaf

【1.9】執行語句 printf("%x",-1);螢幕顯示____。

a) -1 b) 1 c) -ffff d) ffff

【1.11】已知 long i=65539;執行語句printf("%d",i);螢幕顯示____。

a) 65539 b) -3 c) 3 d) 程式不能執行

【1.12】在c語言中,整數-8在記憶體中的儲存形式是____。

a) 1111 1111 1111 1000 b) 1000 0000 0000 1000

c) 0000 0000 0000 1000 d) 1111 1111 1111 0111

【1.13】c語言中字元型(char)資料在記憶體中的儲存形式是____。

a) 原碼 b) 補碼 c) 反碼 d) ascii碼

【1.14】將字元g賦給字元變數c,正確的表示式是____。

a) c=\147 b) c="\147" c) c='\147' d) c='0147'

【1.15】下列轉義字元中錯誤的乙個是____。

a) '\000' b) '\0014' c) '\x111' d) '\2'

【1.16】將空格符賦給字元變數c,正確的賦值語句是____。

a) c='\0' b) c=null c) c=0 d) c=32

【1.17】已知:char a='\70';則變數a中____。

a) 包含1個字元 b) 包含2個字元 c) 包含3個字元 d) 說明非法

【1.18】字串"\"eof\n=-\61\""的長度是____。

a) 8 b) 9 c) 14 d) 非法字串

【1.19】字串""的長度是____。

a) 0 b) 1 c) 2 d) 非法字串

【1.20】已知:char a;int b;float c;double d;執行語句"c=a+b+c+d;"後,變數c的資料型別是____。

a) int b) char c) float d) double

【1.21】溫度華氏和攝氏的關係是: c=(5/9)(f-32)。已知:float c,f;由華氏求攝氏的正確的賦值表示式是____。

a) c=5/9(f-32) b) c=5*(f-32)/9

c) c=5/9*(f-32) d) 三個表示式都正確

【1.22】逗號表示式"(a=3*5,a*4),a+15"的值是____。

a) 15 b) 60 c) 30 d) 不確定

【1.23】如果int a=1,b=2,c=3,d=4;則條件表示式"a

【1.24】為求出s=10!的值,則變數s的型別應當為____。

a) int b) unsiged c) long d) 以上三種型別均可

【1.25】已知int i=10;表示式"20-0<=i<=9"的值是____。

a) 0 b) 1 c) 19 d) 20

【1.26】已知int x=1,y;執行語句 y=++x>5&&++x<10; 後變數x的值是____。

a) 1 b) 2 c) 3 d) 4

【1.27】為判斷字元變數c的值不是數字也不是字母時,應採用下述表示式____。

a) c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122

b) !(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122)

c) c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122

d) !(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122)

【1.28】已知 int a[3][2]=;則表示式"a[0][0]/a[0][1]/a[0][2]"的值是____。

a) 0.166667 b) 1 c) 0 d) 錯誤的表示式

【1.29】已知 int x=1,y=1,z=1;表示式"x+++y+++z++"的值是____。

a) 3 b) 4 c) 5 d) 表示式錯誤

【1.30】用十進位制表示表示式"12|012"的值是____。

a) 1 b) 0 c) 12 d) 14

【1.31】已知以下程式段____:

int a=3,b=4;

a=a^b;

b=b^a;

a=a^b;

則執行以上語句後a和b的值分別是____。

a) a=3,b=4 b) a=4,b=3 c) a=4,b=4 d) a=3,b=3

【1.32】在位運算中,運算元每右移一位,其結果相當於____。

a) 運算元乘以2 b) 運算元除以2 c) 運算元除以16 d) 運算元乘以16

【1.33】已知 char a=222;執行語句a=a&052;後,變數a的值是____。

a) 222 b) 10 c) 244 d) 254

【1.34】已知二進位制數a是00101101,如果想通過整型變數b與a做異或運算,使變數a的高4位取反,低4位不變,則二進位制數b的值應是____。

a) 11110000 b) 00001111 c) 11111111 d) 00000000

【1.35】已知 int a=15,執行語句a=a<<2以後,變數a的值是____。

a) 20 b) 40 c) 60 d) 80

【1.36】已知int x=5,y=5,z=5;執行語句x%=y+z;後,x的值是____。

a) 0 b) 1 c) 5 d) 6

【1.37】使用語句scanf("x=%f,y=%f",&x,&y);輸入變數x、y的值(□代表空格),正確的輸入是____。

a) 1.25,2.4 b) 1.25□2.4 c) x=1.25,y=2.4 d) x=1.25□y=2.4

【1.38】下列迴圈語句中有語法錯誤的是____。

a) while(x=y) 5; b) while(0) ;

c) do 2;while(x==b); d) do x++ while(x==10);

【1.39】已知int x=(1,2,3,4);變數x的值是____。

a) 1 b) 2 c) 3 d) 4

【1.40】表示式sizeof(double)是____。

a) 函式呼叫 b) double型表示式 c) int型表示式 d) 非法表示式

【1.41】執行語句printf("2:%d,",printf("1:%d,",scanf("%d",&x)));以後的輸出結果是____。

a) 2:1,1:1, b) 1:1,2:1, c) 2:4,1:1 d) 1:1,2:4,

【1.42】已知:int x,y;double z;則以下語句中錯誤的函式呼叫是____。

a) scanf ("%d,%lx,%le",&x,&y,&z); b) scanf ("%2d*%d%lf",&x,&y,&z);

c) scanf ("%x%*d%o",&x,&y); d) scanf ("%x%o%6.2f",&x,&y,&z);

【1.43】與條件表示式"(n)?(c++):(c--)"中的表示式(n)等價的表示式是____。

a) (n==0) b) (n==1) c) (n!=0) d) (n!=1)

【1.44】已知int i=1,j=0;執行下面語句後j的值是____。

while(i)

switch(i)

a) 1 b) 2 c) 3 d) 死迴圈

【1.45】求取滿足式 12+22+32+ …… +n2 ≤1000的n,正確的語句是____。

a) for(i=1,s=0;(s=s+i*i)<=1000;n=i++) ;

b) for(i=1,s=0;(s=s+i*i)<=1000;n=++i) ;

c) for(i=1,s=0;(s=s+i*++i)<=1000;n=i) ;

d) for(i=1,s=0;(s=s+i*i++)<=1000;n=i) ;

c語言經典程式100題

程式1 題目 有1 2 3 4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?1.程式分析 可填在百位 十位 個位的數字都是1 2 3 4。組成所有的排列後再去 掉不滿足條件的排列。2.程式源 main 程式2 題目 企業發放的獎金根據利潤提成。利潤 i 低於或等於10萬元時,獎金可提1...

C語言經典100例

程式1 題目 有1 2 3 4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?1.程式分析 可填在百位 十位 個位的數字都是1 2 3 4。組成所有的排列後再去掉不滿足條件的排列。2.程式源 main 程式2 題目 企業發放的獎金根據利潤提成。利潤 i 低於或等於10萬元時,獎金可提10...

C語言二級程式設計題技巧總結

上機程式設計題總結 一 程式設計題的基本演算法 1.求和問題。1 迴圈控制變數 計數器的範圍。2 和變數的初值一般為0。3 如是分數求和,請注意整除問題。4 在確保前三個條件的情況下,按程式設計的思路,一步步完善。2.求乘積問題。1 積變數 2 乘積表示式作分母的時候,是乙個整體,括號。3.找最大值...