C语言练习题
C語(yǔ)言練習(xí)題
1. 以下選項(xiàng)中,合法的一組C語(yǔ)言數(shù)值常量是( )
A)028 .5e-3 .0xf
B)12. OXa23 4.5e0
C).177 4e1.5 Oabc
D)0x8A 10,000 3.e5
2. 設(shè)整型變量x為7,則以下各表達(dá)式的值分別是( )。
(1)y=x%3 (2) y=(++x)/3 (3) y=x/3 (4) y=8-(--x)
3. 若已定義int x=5, y=9, z; 語(yǔ)句z=x>y; 運(yùn)行后z的值為( )。
4. ( )為正確的變量名。
A. int B. –k15 C. k_5 D. k.jeep
5. 語(yǔ)句x=5%4+(4/5); 運(yùn)行后,整型變量x的值為( )。
6. 若有定義 int i=1, j=9; 則表達(dá)式(++j) * (i--)的值為( )。
A. 10 B. 9 C. 8 D. 0
8. 判定邏輯值為“真”的最準(zhǔn)確敘述是( )。
A. 大于0的數(shù) B. 非0的整數(shù) C. 非0的數(shù) D. 1
9. ( )為正確的字符常量。
A. 'M' B. "\" C. "c" D. "24m"
10. C語(yǔ)言基本數(shù)據(jù)類型包括( )。
A. 整型、實(shí)型、邏輯型 B. 整型、實(shí)型、字符串型
C. 整型、字符型、邏輯型 D. 整型、字符型、實(shí)型
11. 若已定義int x,y,z; char a,b,c; 擬從鍵盤輸入一個(gè)值賦給變量y,則正確的函數(shù)調(diào)用是( )。
12. 下列輸出語(yǔ)句的書寫正確的是( )。
A. printf("This is C Program."); B. print("This is C Program.");
C. printer("This is C Program."); D. printf("This is C Program.")
13. C程序運(yùn)行包括編輯、編譯、連接、執(zhí)行四個(gè)步驟,每個(gè)步驟執(zhí)行后的文件分別是( ),后綴名是( ),( )是二進(jìn)制文件,( )可以被計(jì)算機(jī)執(zhí)行。
14. C語(yǔ)言有( )種注釋符號(hào)。分別是( ),有什么區(qū)別?
15. 有表達(dá)式:a += a -= a * a,如果a的初始值為9,則表達(dá)式執(zhí)行后a的值為( )。
16. C語(yǔ)言中運(yùn)算對(duì)象必須是整型的運(yùn)算符是( )。
17. 以下程序運(yùn)行后的輸出結(jié)果是( )。
int main( )
{
int a=0, b=1, c=2;
if(c = a) printf("%d
", c);
else printf("%d
", b);
return 0;
}
18. 以下程序運(yùn)行后的輸出結(jié)果是( )。
int main( )
{
int x, a=0, b=1;
x=a++ && b++ ; // x=a++ || b++ ; // x= ++ a && ++ b ; // x= ++ a || ++ b ;
printf("%d, %d
", x, b);
return 0;
}
A. 0, 1 B. 1, 1 C. 0, 2 D. 1, 2
19. 以下程序運(yùn)行后的輸出結(jié)果是( )。
int main( )
{
int a=0, b=1, m;
m=a>b ? a:b;
printf(“%d
”, m);
return 0;
}
A. 0 B. 1 C. 2 D. 編譯有錯(cuò)
20. 如果有如下程序段,下面描述正確的是( )。
int i; while(i=0) i=i+1;
A. 循環(huán)執(zhí)行一次 B. 循環(huán)是無限循環(huán)
C. 循環(huán)體語(yǔ)句一次也不執(zhí)行 D. 循環(huán)體語(yǔ)句執(zhí)行一次
21. 與while(x)等價(jià)的語(yǔ)句( )。
A. while(x==0) B. while(x==1)
C. while(x!=0) D. while(x!=1)
22. 下面有關(guān)for循環(huán)的正確描述是( )。
A. for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況
B. for循環(huán)是先執(zhí)行循環(huán)體語(yǔ)句,后判斷表達(dá)式
C. 在for循環(huán)中,不能用break語(yǔ)句跳出循環(huán)體
D. for循環(huán)的循環(huán)體語(yǔ)句中,可以包含多條語(yǔ)句,但必須用花括號(hào)括起來
24. 下列數(shù)組定義方式不正確的語(yǔ)句是( )。
A. char x[5]; B. char y[]={'h','e','l','l','o'};
C. int x[6]={12,13,14,15}; D. int y[];
25. 若有以下的定義:int t[5][4];能正確引用t數(shù)組的表達(dá)式是( )。
A. t[2][4] B. t[5][0] C. t[0][0] D. t[0,0]
27. 若有以下定義:int a[5]={ 1, 2, 3, 4, 5 },表達(dá)式a[a[3]]的值是( )。
A. 5 B. 4 C. 3 D. 2
2. 有以下程序段,運(yùn)行后的輸出結(jié)果是 。
#include <stdio.h>
main( )
{
int a=9;
while(a>6)
{
if(a%2 ) { printf("%d,", a--); continue; } //break
a--;
}
}
3. 有以下程序段,運(yùn)行后的輸出結(jié)果是 。
main( )
{
int k=4, n=0;
do{
switch(k)
{
case 1: n+=1;
case 2: n+=2; break;
case 3: n+=3;
case 4: n+=4; break;
default: n+=5;
}
k--;
}while(k>0);
printf("%d", n);
}
5. 程序輸出結(jié)果為: 。
main( )
{
int b [3][3]={0,1,2,0,1,}, i, t=1;
for(i=0;i<3;i++)
t+=b[i][i];
printf("%d",t);
}
二、判斷題
1. 一個(gè)C語(yǔ)言源程序可以包含兩個(gè)或者兩個(gè)以上main()函數(shù)。
2. 編寫C語(yǔ)言程序時(shí),每行只能寫一條語(yǔ)句。
3. 變量必須先定義后使用。
4. int a=0, b=1, c=2; 表達(dá)式a<=c<=b值為1。
5. 選擇結(jié)構(gòu)中條件控制語(yǔ)句必須為邏輯表達(dá)式或者關(guān)系表達(dá)式。
6. do---while循環(huán)語(yǔ)句的循環(huán)體至少執(zhí)行一次,是當(dāng)型循環(huán)。
7. continue語(yǔ)句只結(jié)束本次循環(huán),而不是終止整個(gè)循環(huán)的執(zhí)行。
break語(yǔ)句的作用是什么?與continue的區(qū)別是什么?
8. 有定義char str[3][4];該二維數(shù)組共有4行3列。
9. 聲明一個(gè)長(zhǎng)度為10的一維整型數(shù)組a時(shí),可以用這樣的語(yǔ)句:int n=10, a[n];。
10. C程序是由若干個(gè)函數(shù)組成的。
五、程序設(shè)計(jì)題
1. 通過鍵盤輸入一個(gè)小寫字符,將其轉(zhuǎn)換為大寫字母,并輸出。
2. 使用while語(yǔ)句求201+202+203+……+300。
1. 有公式如圖,輸入一個(gè)x值,輸出對(duì)應(yīng)的y值。
2. 編寫程序,從鍵盤獲取兩個(gè)小數(shù)x, y,
輸出較大值/較小者/和/差/乘積
3. 輸出100~200之間不能被3整除的數(shù)
4. 對(duì)10個(gè)數(shù)組元素依次賦值為0,1,2,3,4,5,6,7,8,9,要求按逆序輸出,輸出結(jié)果為:9,8,7,6,5,4,3,2,1,0。
5.將 數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其它元素不變。
求斐波那契數(shù)列的前10項(xiàng)。
計(jì)算1/2 2/5 3/8 4/11 5/14 前10項(xiàng)分值的和。
總結(jié)
- 上一篇: 【数据结构总结】第一章:数据结构基本概念
- 下一篇: 正则表达式匹配原理