若已有定義intmn則m為奇數或者n為奇數的表示式為

時間 2021-06-18 03:52:01

1樓:糜含之

neusoft

《c語言程式設計》習題集

《c程式設計》習題集

第一章c語言基礎知識

1.1 填空題

1.要把高階語言編寫的源程式轉換為目標程式,需要使用

a) 編輯程式 b) 驅動程式 c) 診斷程式 d) 編譯程式

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

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);

3.以下選項中合法的使用者識別符號是______。

a) long b) _2test c) 3dmax d) a.dat

4.設a和b均為double型常量,且a=5.5、b=2.5,則表示式(int)a+b/b的值是______。

a) 6.500000 b) 6 c) 5.500000 d) 6.000000

5.已知i、j、k為int型變數,若從鍵盤輸入:1,2,3《回車》,使i的值為1、j的值為2、k的值為3,以下選項中正確的輸入語句是______。

a) scanf("%2d%2d%2d",&i,&j,&k);

b) scanf(""%d %d %d",&i,&j,&k);

c) scanf("%d,%d,%d",&i,&j,&k);

d) scanf("i=%d,j=%d,k=%d",&i,&j,&k);

6.c語言程式的執行,總是起始於()。

a) 程式中的第一條可執行語句

b) 程式中的第一個函式

c) main函式

d) 包含檔案中的第一個函式

7.下列說法中正確的是()

a) c程式書寫時,不區分大小寫字母

b) c程式書寫時,一行只能寫一個語句

c) c程式書寫時,一個語句可分成幾行書寫

d) c程式書寫時每行必須有行號

8.若有說明語句:int a; float b;,以下輸入語句正確的是()

a) scanf("%f%f",&a,&b);

b) scanf("%f%d",&a,&b);

c) scanf("%d,%f",&a,&b);

d) scanf("%6.2f%6.2f",&a,&b);

9.以下程式的輸出結果是()

main( )

a) 11,11 b) 10,10 c) 10,11 d) 11,10

10.執行下面程式段,給x、y賦值時,不能作為資料分隔符的是()

int x,y;

scanf("%d%d",&x,&y);

a) 空格 b) tab鍵 c) 回車 d) 逗號

11.執行下面程式時,欲將25和2.5分別賦給a和b,正確的輸入方法是。

int a;

float b;

scanf("a=%d,b=%f",&a,&b);

a) 25□2.5

b) 25,2.5

c) a=25,b=5.5

d) a=25□b=2.5

12.英文小寫字母d的ascii碼為100,英文大寫字母d的ascii碼為

a) 50 b) 66 c) 52 d) 68

13.以下定義語句中錯誤的是( )。

a)int a=3,b=5; b)float x1; x2;

c)char c1,c2,c3; d)double y3, y4;

14.若將整數4和5賦給整型變數a和b,對於語句scanf("%d%d" , &a,&b);在從鍵盤輸入資料時,正確的資料輸入格式為( )。

a)4,5 b)4 5 c)4:5 d)4#5

15.若整型變數a和b的值分別為6和8,則下列語句printf("a=%d,b=%d",a,b); 的輸出結果為( )。

a)6, 8 b)6 8 c)a=6 b=8 d)a=6, b=8

16.c語言中的字元常量是以( )括起來的一個字元。

a)雙引號 b)單引號 c)\……\ d)*……*

17.c語言中的轉義字元\n的作用是( )。

a)回車換行 b)橫向跳格

c)縱向跳至本列下行 d)將游標移至本行行首

18.若有定義:int a=8,b=5,c;,執行語句c=a/b+0.4;後,c的值為

a) 1.4 b) 1 c) 2.0 d) 2

19.如果要把常量327存入變數a中,a可以定義成哪些型別?(多選)

a. int b. char

c. long d. float

20.下面哪個表示式的值為4.(單選)

a. 11/3 b. 11.0/3

c. (float)11/3 d. (int)(11.0/3+0.5)

#include

#include

main( )

a).9.800000 b).9.300000 c).8.500000 d).8.000000

21.main( )

a).0 b).1 c).3 d).不確定的值

22.main( )

a).65 b).20 c).15 d).10

23.已知小寫字母a的ascii碼為97,大寫字母a的ascii碼為65。以下程式

main()

的結果為:

a).66 b).98 c).b d).b

24.設有如下定義

int x=10,y=3,z;

則語句printf("%d\n",z=(x%y,x/y));

的輸出結果是

a).1 b).0 c).4 d).3

25.#define sqr(x) x*x

main()

a).10 b).1 c).9 d).0

26.#define max(x, y) (x)>(y)?(x):(y)

main()

的執行結果為:

a).500 b).5 c).3 d).300

27.以下程式的輸出結果是

main()

a).10 10 b).9 9 c).0 10 d).10 9

28.語句:printf("%d",(a=2)&&(b= -2));的輸出結果是

a).無輸出 b).結果不確定 c).-1 d).1

33、當c的值不為0時, 能正確將c的值賦給變數a、b

a).c=b=a;

b).(a=c)||(b=c)

c).(a=c)&&(b=c)

d).a=c=b

29.能正確表示a和b同時為正或同時為負的邏輯表示式是

a).(a>=0||b>=0)&&(a<0||b<0) b).(a>=0&&b>=0)&&(a<0&&b<0)

c).(a+b>0)&&(a+b<=0) d).a*b>0

30.下面合法的賦值語句是

a) x+y=2002; b) ch="green"; c) x=(a+b)++; d) x=y=0316;

31.下面哪個表示式的值為4.(單選)

a. 11/3 b. 11.0/3

c. (float)11/3 d. (int)(11.0/3+0.5)

32.已知a為整型變數,那麼與表示式 a!=0 真假值情況相同的表示式有哪些?(多選)

a. a>0||a<0 b. a

c. !a= =0 d. !a

33.以下非法的賦值語句是

a) n=(i=2,++i); b) j++; c) ++(i+1); d) x=j>0;

34.若有以下程式:

main()

執行後的輸出結果是______。

a) 8,6 b) 8,3 c) 6,4 d) 7,4

35.已有定義:int x=3,y=4,z=5;,則表示式!(x+y)+z-1&&y+z/2的值是______。

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

36.以下程式的輸出結果是

main()

a) -6 b)12 c) 0 d) –12

37.設a、b、c、d、m、n均為int型變數,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表示式(m=a>b)&&(n=c>d)運算後,n的值為

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

38.假定w、x、y、z、m均為int型變數,有如下程式段:

w=1; x=2; y=3; z=4;

m=(wb?(a>c?a:c):(b));

}7.以下程式的輸出結果是。

main()

8.當a=3,b=4,c=5時,寫出下列各式的值。

ac&&b==c的值為___。

9.整型變數a的值是5,表示式a/=a+a;的值。

10.已知a=3,b=4,c=5,邏輯表示式a||b+c&&b-c的值

11.已知a=3,b=4,c=5,邏輯表示式!(a>b)&&!c||1的值

1.3 程式設計題

1.編寫程式:在螢幕上顯示一句話“hello neusoft!”。

2.編寫程式在螢幕上輸出如下圖型:

****

*****

*******

3.已知圓的半徑是5.6,求其直徑、周長、面積並輸出。

4.從鍵盤輸入圓的半徑,求其直徑、周長、面積並輸出。

5.編寫程式求任意圓的體積

6.求任意一元二次方程度兩個實根。

第二章 順序程式結構設計

2.1 填空題

1.計算機語言提供三種基本控制結構,即,,。人們提倡使用這三種結構編寫程式,並稱這樣的程式設計為。

2.2 程式設計題

1.從鍵盤輸入5個整數,求它們的和、平均值並輸出。

2.編寫程式,從鍵盤輸入兩個整數分別存放在變數c1,c2中,要求通過程式交換它們的值。

第三章 分支結構程式設計

3.1 填空題

1.能正確表示“當x的值在[1,10]和[200,210]範圍內為真,否則為假”的表示式是()。

a)(x>=1)&& (x<=10) && (x>=200) || (x<=210)

b)(x>=1)|| (x<=10) || (x>=200) || (x<=210)

c)(x>=1)&& (x<=10) || (x>=200) && (x<=210)

d)(x>=1)|| (x<=10) && (x>=200) || (x<=210)

2.判斷char型變數ch是否為大寫字母的正確表示式是()。

a)’a’<=ch<=’z’ b) (ch>=’a’) & (ch<=’z’)

c) (ch>=’a’) && (ch<=’z’) d)(‘a’<=ch) and (‘z’>=ch)

3.請閱讀以下程式:

main()

以上程式()。

a) 有語法錯誤不能通過編譯 b) 可以通過編譯但不能通過連線

c) 輸出*** d) 輸出$$$

4.當a=1,b=3,c=5,d=4時,執行完下面一段程式後x的值是()。

if (a12?x+10:x-12;

printf(“%d\n”, y);

}a) 0 b) 22 c) 12 d) 10

3.2 填空題

1.輸入一個字元,如果它是一個大寫字母,則把它變成小寫字母;如果它是一個小寫字母,則把它變成大寫字母;其它字元不變。請在橫線上填寫正確的內容。

main()

2.以下程式實現:輸入三個整數,按從大到小的順序進行輸出。請在橫線上填寫正確內容。

main()

3.以下程式的執行結果是。

main()

4.下面程式根據以下函式關係,對輸入的每個x值,計算出y值。請在橫線上填寫正確內容。

x y2

main()

a) (int)(i/7)==i/7 b) (int)i/7==i/7

c) i%7= 0 d) i%7==0

3.下面程式段的執行結果是

a=1;b= 2;c=2;

while(a

main()

printf("偶數之和=%d\n",a);

printf("奇數之和=%d\n",c-11),

}a)b=i-- b) b=i+1 c)b=i++ d)b=i-1

5.下面程式段:

for (t=1; t<=100;t++)

a) 當x<0時整個迴圈結束

b) x>=0時什麼也不輸出

c) printf函式永遠也不執行

d)最多允許輸出100個非負整數

6.下面程式的執行結果是:

#include "stdio.h"

main()

printf("#");}

a) *#*#$ b) #*#*#*$ c) *#*#$ d)#*#*$

7.設有程式段

int k=10;

while(k=5) k=k-1;

則下面描述正確的是

a)while迴圈執行10次 b)是死迴圈

c)迴圈語句一次也不執行 d)迴圈體語句執行一次

8.以下程式執行後的輸出結果是________。

main()

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

}4.2 程式設計題

1.求1~1000內所有能被3整除的整數,所有數右對齊,每行輸出10個數,每屏輸出20行。

2.從鍵盤上接受10個數,求和。要求:

(1)、先提示“請輸入第1個數:” ,輸入第一個數後再提示“請輸入第2個數”,依次類推;

(2)、輸入完十個數後,輸出十個數求和的結果。

3.求n! ,n的值從鍵盤輸入.

4.從鍵盤上輸入一個正整數(vc下少於10位,wintc下小於32767),求其各數位之和.

5.從鍵盤輸入10個數,找出其中最大的數。分別用while和for語句實現。

6.輸出2~100(不含100)之間的全部同構數。所謂同構數是指:如果某數與其右起若干位的平方數相等,則稱該數為同構數。

7.編寫輸出以下圖形的程式(要求行數從鍵盤輸入)。112

1231234

12345

123456

……8.計算200以內的所有素數的和。

5.1 選擇題

1.以下對一維陣列a的正確說明是( )

(a)int a(10);

(b)int n=10,a[n];

(c)int n; scanf(“%d”,&n); int a[n];

(d)#define size 10

int a[size];

2.對以下說明語句的正確理解是( )

int a[10]=;

(a)將5個初值依次賦給a[1]至a[5]

(b)將5個初值依次賦給a[0]至a[4]

(c)將5個初值依次賦給a[6]至a[10]

(d)因為陣列長度與初值的個數不相同,所以此語句不正確

3.下面程式的執行結果是( )

char c[5]=; printf(“%s”,c);

(a)ab (b)abc (c)abc+亂碼 (d)ab\0c\0

4.對兩個陣列a和b進行如下初始化

char a=”abcdef”;

char b=;

則以下敘述正確的是 ( )

(a)a與b陣列完全相同 (b)a與b長度相同

(c)a和b中都存放字串 (d)a陣列比b陣列的長度長

5.下面是對s的初始化,其中不正確的是( )

(a)char s[5]=; (b)char s[5]=;

(c)char s[5]=””; (d)char s[5]=”abcdef”;

6.以下程式執行的結果是( )

char s[6];

s=”abcd”;

printf(“%s\n”,s);

(a)”abcd” (b)abcd (c)abcd+亂碼 (d)編譯出錯

7.若有說明語句char u=”microsoft”,則陣列的大小是( )

(a)100 (b)80 (c)10 (d)9

8.以下不正確的定義語句是 ( )

(a)double y[5]=;

(b)int y[5]=;

(c)char c=;

(d)char c=;

9.當執行下面的程式時,如果輸入abc,則輸出結果是( )

a) abc6789 b) abc67 c) 12345abc6 d) abc456789

#include "stdio.h"

#include "string.h"

main()

10.下列程式段的輸出結果是 。

main()

11. 以下程式的輸出結果是( )

main()

a) 258 b) 741 c) 852 d) 369

12.在定義int a[10];之後,對a的引用正確的是( )。

a.a[10] b.a[6.3] c.a(6) d.a[10-10]

13.以下對一維陣列a進行正確初始化的是( )。

a.int a[10]=(0,0,0,0,0); b.int a[10]={};

c.int a=; d.int a[10]=;

14.以下對字元陣列word進行不正確初始化的是( )。

a.char word=’trubo\0’;

b.char word=;

c.char word=;

d.char word=”trubo\0”;

15.以下正確的定義語句是( )。

a.int a[‘a’]; b.int a[3,4]; c.int a[3]; d.int a[10];

16.以下給字元陣列str定義和賦值正確的是( )。

a.char str[10]; str=;

b.char str=;

c.char str[10]; strcpy(str,“abcdefghijklmnop”);

d.char str[10]=;

17.在執行char str[10]=”china\0”; strlen(str)的結果是( )。

a.5 b.6 c.7 d.9

18.在執行char str[10]=”ch\nina\0”; strlen(str)的結果是( )。

a.5 b.6 c.7 d.9

19.當接受使用者輸入的含空格的字串時,應使用( )函式。

a.scanf() b.gets() c.getchar() d.getc()

20.當輸出含空格的字串時,應使用( )函式。

a.printf() b.puts() c.putchar() d.putc()

5.2 填空題

1. 若有定義語句char c[10]=”hello”,s=”world”;,則字元陣列c的長度為,字元陣列c的長度為,字串”hello”的長度是,字串“world”的長度為_。

2. 字串”hello,world!”的長度為,若有說明語句char s=”hello,world!”,則陣列s的大小是。

3.以下程式執行時輸入language programming《回車》的結果是。

#include

main( )

4.以下程式執行時輸入language programming《回車》的結果是。

#include

main( )

5.以下程式的執行結果是。

#include

main( )

printf(“s=%d\n”, s);

}6.以下程式的執行結果是。

#include

main( )

5.3 程式設計題

1.從鍵盤輸入5個整數,儲存到陣列a中,先正序輸出再逆序輸出

2.從鍵盤輸入6個整數儲存到陣列中,求值最大的元素,將這個值最大的元素與陣列的最後一個元素交換。最後輸出整個陣列

3.從鍵盤輸入8個整數儲存到陣列中,運用選擇法按從大到小排序後輸出陣列。

4.程式設計實現:從鍵盤輸入10個字元,儲存到字元型一維陣列str中,再從鍵盤上輸入另一個字元ch,要求將str中出現的第一個ch字元刪除。將刪除ch後的陣列str輸出到螢幕上。

5.編寫程式實現:將兩個字串陣列進行交換。

6.程式設計求兩個3×4 (3行4列)矩陣之和,然後輸出(矩陣元素的值從鍵盤輸入)

7.定義一個4行5列的二維整型陣列,對其進行賦值,然後從該陣列中選擇出一個最小數及該數的下標值(行和列的下標值都要記錄)。

若f x 的定義域為1,4,則f x平方 的定義域為多少

你好,首先f x 的定義域是 1,4 說明f x 函式f裡面的範圍是 1,4 所以對於函式f x 2 那麼就是 1 x 2 4 2 x 2是f x 2 的定義域 根據題意 1 所以 0 x 2 16 當x 0時,取最小值為0,當x 4時,取最大值16所以f x 2 的定義域為 0,16 定義域是x的...

若函式y lg(3 4x x 2 的定義域為m若x M時

德古拉丿殤 由題知,函式y lg 3 4x x 的定義域為m因為3 4x x 0 所以,x 1 x 3 0 得到x 1 3,即m 1 3,當x m時,2 x 0,2 8,令t 2 x,則t 0,2 8,所以,f x 2 x 2 3 4 x t 2 3 t 對稱軸為t 1 6 1 6 0,2 8,可以...

若2m 4與3m 1是同正數的平方根,則m為

同一個正數的平方根是互為相反數,相加為0 2m 4 3m 1 0 5m 5 0m 1 天才 樓上幾位,我贊同樓主的說法。我們數學也是這樣說的。他可是我校最具權威的老師 因為他問的是若2m 4與3m 1是同一個數的平方根則m的值是什麼?題中2m 4與3m 1可能為同一個數.也可能互為相反數。但如果問的...