2022年湖北專(zhuān)升本C語(yǔ)言程序設(shè)計(jì)模擬題(1)

瀏覽次數(shù):次 發(fā)布時(shí)間:2023-04-10

2022年湖北專(zhuān)升本C語(yǔ)言程序設(shè)計(jì)模擬題(1)

湖南專(zhuān)升本問(wèn)答

第一章 C語(yǔ)言概述

湖南統(tǒng)招專(zhuān)升本集訓(xùn)營(yíng)

1.1 選擇題

*1.1一個(gè)C程序的執(zhí)行是從 。

A)本程序的main函數(shù)開(kāi)始,到main函數(shù)結(jié)束

B)本程序文件的第一個(gè)函數(shù)開(kāi)始,到本程序文件的最后一個(gè)函數(shù)結(jié)束

C)本程序的main函數(shù)開(kāi)始,到本程序文件的最后一個(gè)函數(shù)結(jié)束

D)本程序文件的第一個(gè)函數(shù)開(kāi)始,到本程序main函數(shù)結(jié)束

參考答案:A

參考分析:C語(yǔ)言總是從main函數(shù)開(kāi)始,main函數(shù)結(jié)束。但是C語(yǔ)言中存在一個(gè)exit(0)函數(shù),它可以使得程序在任何時(shí)候、任何位置結(jié)束程序的運(yùn)行。如果不考慮exit(0)等函數(shù)的特殊作用,C則總是在main函數(shù)結(jié)束。

*1.2以下敘述正確的是 。

A)在C程序中,main函數(shù)必須位于程序的最前面

B)在C程序的每一行只能寫(xiě)一條語(yǔ)句

C)C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句

D)在對(duì)一個(gè)C程序進(jìn)行編譯的過(guò)程中,可發(fā)現(xiàn)注釋中的拼寫(xiě)錯(cuò)誤

參考答案:C

參考分析:C程序?qū)ain函數(shù)的位置沒(méi)有任何要求;其書(shū)寫(xiě)格式自由,一行可以寫(xiě)多條語(yǔ)句,一條語(yǔ)句(多關(guān)鍵字語(yǔ)句)可以寫(xiě)在多行;C語(yǔ)言忽略注釋,把注釋看作是一個(gè)空格,不會(huì)對(duì)注釋中的內(nèi)容進(jìn)行語(yǔ)法檢查。因此,如果注釋中存在錯(cuò)誤,系統(tǒng)是不可能發(fā)現(xiàn)的。另外,C語(yǔ)言的I/O操作均通過(guò)函數(shù)實(shí)現(xiàn),系統(tǒng)本身未提供相應(yīng)的語(yǔ)句。

1.3以下敘述不正確的是 。

A)一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成

B)一個(gè)C源程序必須包含一個(gè)main函數(shù)

C)C程序的基本組成單位是函數(shù)

D)在C程序中,注釋說(shuō)明只能位于一條語(yǔ)句的后面

參考答案:D

參考分析:C語(yǔ)言中,注釋語(yǔ)句的位置是任意的,當(dāng)然,它不能破壞標(biāo)識(shí)符的完整性。C語(yǔ)言只是將一個(gè)注釋看作是一個(gè)空格,因此對(duì)注釋內(nèi)的任何錯(cuò)誤都不作檢查。

1.4 C語(yǔ)言規(guī)定:在一個(gè)源程序中,main函數(shù)的位置 。

A)必須在最開(kāi)始 B)必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)的后面

C)可以任意 D)必須在最后

參考答案:C

*1.5一個(gè)C語(yǔ)言程序是由 。

A)一個(gè)主程序和若干個(gè)子程序組成 B)若干函數(shù)組成

C)若干過(guò)程組成 D)若干子程序組成

參考答案:B

參考分析:通常許多語(yǔ)言程序由主程序和子程序構(gòu)成,但是C語(yǔ)言是函數(shù)式語(yǔ)言,整個(gè)程序由眾多函數(shù)組成。盡管有時(shí)習(xí)慣上稱(chēng)main函數(shù)為主程序,顯然,嚴(yán)格地講還是B更為符合C語(yǔ)言的規(guī)則。

1.2 填空題

1.6C源程序的基本單位是【 】。

參考答案:函數(shù)

1.7一個(gè)C源程序中至少應(yīng)包括一個(gè)【 】。

參考答案:main()函數(shù)

1.8在一個(gè)C源程序中,注釋部分兩側(cè)的分界符分別為【1】和【2】。

參考答案:【1】/* 【2】*/

1.9在C語(yǔ)言中,輸入操作是由庫(kù)函數(shù)【1】完成的,輸出操作是由庫(kù)函數(shù)【2】完成的。

參考答案:【1】scanf 【2】printf

第二章 數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式

2.1 選擇題

**2.1C語(yǔ)言中(以16位PC機(jī)為例),各數(shù)據(jù)類(lèi)型的存儲(chǔ)空間長(zhǎng)度的排列順序?yàn)?。

A)char

C)char

參考答案:A

分析:在不同的計(jì)算機(jī)系統(tǒng)中,不同的C語(yǔ)言系統(tǒng)中,其各種數(shù)據(jù)類(lèi)型所占據(jù)的存儲(chǔ)空間是不同的,但是有一個(gè)總的原則,即:char<=short<=int<=long<= float<=double,只有A符合16位PC機(jī)中的具體環(huán)境。

*2.2若x、i、j和k都是int型變量,則計(jì)算下面表達(dá)式后,x的值為 。

x=(i=4,j=16,k=32)

A)4 B)16 C)32 D)52

參考答案:C

參考分析:逗號(hào)表達(dá)式的計(jì)算結(jié)果是最后一個(gè)表達(dá)式的值。k=23是括號(hào)內(nèi)最后一個(gè)表達(dá)式,因此x變量的值來(lái)自k變量的值。

**2.3假設(shè)所有變量均為整型,則表達(dá)式(a=2,b=5,a+b++,a+b)的值是 。

A)7 B)8 C)5 D)2

參考答案:B

參考分析:逗號(hào)表達(dá)式的計(jì)算結(jié)果是最后一個(gè)表達(dá)式的值。b++在所在表達(dá)式參與運(yùn)算時(shí)的值是5,該表達(dá)式計(jì)算完成后,b進(jìn)行自增運(yùn)算,故a+b的值為2+6=8。

2.4下列四組選項(xiàng)中,均不是C語(yǔ)言關(guān)鍵字的選項(xiàng)是 。

A)define B)getc C)include D)while

IF char scanf go

type printf case pow

參考答案:A

參考分析:是關(guān)鍵字的有:char、case、while。

2.5下列四組選項(xiàng)中,均是C語(yǔ)言關(guān)鍵字的選項(xiàng)是 。

A)auto B)switch C)signed D)if

enum typedef union struct

include continue scanf type

參考答案:B

參考分析:不是關(guān)鍵字的:include、scanf、type

*2.6下面四個(gè)選項(xiàng)中,均是不合法的用戶(hù)標(biāo)識(shí)符的選項(xiàng)是 。

A)A B)float C)b-a D)_123

P_0 la0 goto temp

do _A int INT

參考答案:C

參考分析:合法的有:A、P_0、la0、_A、_123、temp、INT。

**2.7 C語(yǔ)言中的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線(xiàn)三種字符組成,且第一個(gè)字符 。

A)必須為字母 B)必須為下劃線(xiàn) C)必須為字母或下劃線(xiàn)

D)可以是字母、數(shù)字和下劃線(xiàn)中的任一種字符

參考答案:C

參考分析:教材中只是強(qiáng)調(diào)首字符必須為字母,我們應(yīng)當(dāng)知道,在語(yǔ)言系統(tǒng)中,下劃線(xiàn)和字母具有同等的“法律效力”。

*2.8 下面四個(gè)選項(xiàng)中,均是合法整型常量的選項(xiàng)是 。

A)160 B)-0xcdf C)-01 D)-0x48a

-0xffff 01a 986,012 2e5

011 0xe 0668 0x

參考答案:A

參考分析:不合法的B2,C2,C3,D2。解釋?zhuān)篈2:-0xffff十六進(jìn)制數(shù)本身已經(jīng)包含了符號(hào)位,一般不前面加符號(hào)位,但加上符號(hào)位也不錯(cuò)誤;C3:0668在有些C系統(tǒng)中,八進(jìn)制數(shù)中允許出現(xiàn)8,但是通常不允許使用8;D3:0x顯然后面缺少數(shù)值,但在TC中是允許的。

*2.9下面四個(gè)選項(xiàng)中,均是不合法的整型常量的選項(xiàng)是 。

A)--0f1 B)-0Xcdf C)-018 D)-0x48eg

-0xffff 017 999 -068

0011 12,456 5e2 03f

參考答案:D

參考分析:不合法的A1,B3,C1,C3,D。解釋?zhuān)篈1:--0f1十六進(jìn)制數(shù)沒(méi)有0x,顯然不合法,這里需要討論的是常量前面允許不允許加上--號(hào),是否可以負(fù)負(fù)得正,顯然不可以,--在C中是自減運(yùn)算,它只適用于變量;B1:0Xcdf X大寫(xiě)也可以!C3:5e2是個(gè)實(shí)型數(shù)。

*2.10下面四個(gè)選項(xiàng)中,均是不合法的浮點(diǎn)數(shù)的選項(xiàng)是 。

A)160. B)123 C)-.18 D)-e3

0.12 2e4.2 123e4 .234

e3 .e5 0.0 1e3

參考答案:B

參考分析:不合法的有A3,B,D1。部分解釋?zhuān)篈1,D2:C語(yǔ)言中小數(shù)點(diǎn)前面或后面的0可以省略。但是不能只有小數(shù)點(diǎn)自身;A3,B3,D1:e的前后必須有合法數(shù)字。1.e2 .1e2合法,.e2不合法;B1:123是整型數(shù),不是浮點(diǎn)數(shù)。

*2.11下面四個(gè)選項(xiàng)中,均是合法的浮點(diǎn)數(shù)的選項(xiàng)是 。

A)+1e+1 B)-.60 C)123e D)-e3

5e-9.4 12e-4 1.2e-.4 .8e-4

03e2 -8e5 +2e-1 5.e-0

參考答案:B

參考分析:不合法的有A2:階碼不能為小數(shù);A3:浮點(diǎn)數(shù)的尾數(shù)及階碼不能用八進(jìn)制數(shù)表示;C1:e后必須有整數(shù),C2:階碼不能為小數(shù);D1:缺少尾數(shù)。

*2.12下面四個(gè)選項(xiàng)中,均是合法轉(zhuǎn)義符的選項(xiàng)是 。

A)'\'' B)'\' C)'\018' D)'\\0'

'\\' '\017' '\f' '\101'

'\n' '\"' 'xab' 'x1f'

參考答案:A

參考分析:"\"后面的數(shù)字,c總是按照八或十六進(jìn)制解釋。由于c支持?jǐn)U展ASCII字符集,所以,八進(jìn)制數(shù)范圍在0~377,十六進(jìn)制數(shù)范圍在00~ff。

*2.13下面四個(gè)選項(xiàng)中,均是不合法的轉(zhuǎn)義符的選項(xiàng)是 。

A)'\"' B)'\1011' C)'\011' D)'\abc'

'\\' '\' '\f' '\101'

'\xf' '\a' '\}' 'x1f'

參考答案:B

參考分析:不合法的有B1,B2,B3,C3,D1,D3;但B3和C3值得討論,實(shí)際上,'\a'是一個(gè)轉(zhuǎn)義字符(07 beep)。C中只有少數(shù)字母是轉(zhuǎn)義字符,大多數(shù)字母不是。像'\c'就不是,它就是字符c自身,非轉(zhuǎn)義字母加"\"也僅表示它本身。C3'\}'也表示自身。本題的命題人顯然不知道'\a'也是轉(zhuǎn)義字符。

*2.14下面正確的字符常量是 。

A)"c" B)'\\'' C)'W' D)""

參考答案:C

*2.15下面四個(gè)選項(xiàng)中,均是不正確的八進(jìn)制或十六進(jìn)制數(shù)的選項(xiàng)是 。

A)016 B)0abc C)010 D)0a12

0x8f 017 -0x11 7ff

018 0xa 0x16 -123

參考答案:D

參考分析:不正確的有A3:非法八進(jìn)制數(shù);B1、D1、D2:缺少x;D3是十進(jìn)制數(shù)。

2.16下面四個(gè)選項(xiàng)中,均是正確的八進(jìn)制或十六進(jìn)制數(shù)的選項(xiàng)是 。

A)-10 B)0abc C)0010 D)0a12

0x8f -017 -0x11 -0x123

-011 0xc 0xf1 -0xa

參考答案:C

參考分析:不正確的有A1:這是十進(jìn)制數(shù);B1、D1:缺少x

2.17下面四個(gè)選項(xiàng)中,均是正確的數(shù)值常量或字符常量的選項(xiàng)是 。

A)0.0 B)"a" C)'3' D)+001

0f 3.9e-2.5 011 0xabcd

8.9e 1e1 0xFF00 2e2

'&' '\"' 0a 50.

參考答案:D

參考分析:不正確的有A2、C4:不是ox打頭;A3:e后不是整數(shù); B1是字符串;B2:2.5不是整數(shù)。

2.18下面不正確的字符串常量是 。

A)'abc' B)"12'12" C)"0" D)" "

參考答案:A

參考分析:與PASCAL不同,B)字符串內(nèi)的單引號(hào)不需雙寫(xiě)。C語(yǔ)言中,在不引起誤解的情況下,雙引號(hào)界定的字符串里的單引號(hào)可以不加轉(zhuǎn)義標(biāo)志"\",單引號(hào)界定的雙引號(hào)字符也可以不加轉(zhuǎn)義標(biāo)志"\"。

2.19 對(duì)應(yīng)以下各代數(shù)式中,若變量a和x均為double類(lèi)型,則不正確的c語(yǔ)言表達(dá)式是 。

A) ex^2/2 exp(x*x/2)/sqr(2*3.14159)

√2π

B)?(ax+a+x/4a) 1.0/2.0*(a*x+(a+x)/(4*a))

C)√sinx2.5 sqrt((pow(sin(x*3.14159/180),2.5))

D)x2-e5 x*x-exp(5.0)

參考答案:C

2.20若有代數(shù)式3ae/bc,則不正確的C語(yǔ)言表達(dá)式是 。

A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*3

參考答案:C

參考分析:注意表達(dá)式的計(jì)算順序

2.21已知各變量的類(lèi)型說(shuō)明如下,則不符合C語(yǔ)言語(yǔ)法規(guī)定的表達(dá)式是 。

int k,a,b;

unsigned long w=5;

double x=1.42;

A)x%(-3) B)w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=(b=4)*(a=3)

參考答案:A

參考分析:不符合C語(yǔ)法規(guī)定的只有A,因?yàn)閄為實(shí)型數(shù)。

2.22已知各變量說(shuō)明如下,則符合C語(yǔ)言語(yǔ)法規(guī)定的表達(dá)式是 。

int i=8,k,a,b;

unsigned long w=5;

double x=1.42,y=5.2;

A)a+=a-=(b=4)*(a=3) B)a=a*3=2 C)x%(-3) D)y=float(i)

參考答案:A

參考分析:B)表達(dá)式不能出現(xiàn)在賦值號(hào)右側(cè);C)x是實(shí)型數(shù),不能進(jìn)行取余運(yùn)算;D)應(yīng)將float用括號(hào)擴(kuò)起來(lái)(強(qiáng)制類(lèi)型轉(zhuǎn)換)。

*2.23以下不正確的敘述是 。

A)在C程序中,逗號(hào)運(yùn)算符的優(yōu)先級(jí)最低

B)在C程序中,APH和aph是兩個(gè)不同的變量

C)若a和b類(lèi)型相同,在計(jì)算表達(dá)式a=b后,b的值將放入a中,而b中的值不變

D)當(dāng)從鍵盤(pán)輸入數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型數(shù)值,對(duì)于實(shí)型變量只能輸入實(shí)型數(shù)值

參考答案:D

參考分析:整型變量可以輸入實(shí)型數(shù)值,實(shí)型變量也可以輸入整型數(shù)值

2.24以下正確的敘述是 。

A)在C程序中,每行只能寫(xiě)一條語(yǔ)句

B)若a是實(shí)型變量,C程序中允許賦值a=10,因此實(shí)型變量中允許存放整型數(shù)

C)在C程序中,無(wú)論是整數(shù)還是實(shí)數(shù),都能被準(zhǔn)確無(wú)誤地表示

D)在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符

參考答案:D

參考分析:注意它的描述,是只能用于整數(shù)運(yùn)算,而不是整型數(shù)運(yùn)算。

*2.25以下符合C語(yǔ)言語(yǔ)法的有賦值能力的表達(dá)式是 。

A)d=9+e+f=d+9 B)d=9+e,f=d+9

C)d=9+e,e++,d+9 D)d=9+e++=d+7

參考答案:B

參考分析:C不是賦值表達(dá)式,是逗號(hào)表達(dá)式,賦值僅是其中的一部分。嚴(yán)格說(shuō)來(lái),B也不是賦值表達(dá)式,它是由兩個(gè)賦值表達(dá)式組成的逗號(hào)表達(dá)式。

**2.26已知字母A的ASCII碼為十進(jìn)制數(shù)65,且c2為字符型,則執(zhí)行語(yǔ)句c2='A'+'6'-'3';后,c2的值為 。

A)D B)68 C)不確定的值 D)C

參考答案:A

參考分析:表達(dá)式中的各字符以各自的ASCII碼參與運(yùn)算。

*2.27在C語(yǔ)言中,要求運(yùn)算數(shù)必須是整型(數(shù))的運(yùn)算符是 。

A)/ B)++ C)!= D)%

參考答案:D

參考分析:理論上++運(yùn)算都是針對(duì)整型(含字符型)的,盡管現(xiàn)在很多系統(tǒng)提供了對(duì)實(shí)型變量的增量運(yùn)算。

*2.28若以下變量均是整型,且num=sum=7;則計(jì)算表達(dá)式sUM=num++, sUM++,++num后sum的值為 。

A)7 B)8 C)0 D)10

參考答案:A

參考分析:注意sum和sUM不是一個(gè)變量(區(qū)分大小寫(xiě))。

*2.29在C語(yǔ)言中,int、char和short三種類(lèi)型數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù) 。

A)由用戶(hù)自己定義 B)均為兩個(gè)字節(jié)

C)是任意的 D)由所用機(jī)器的字長(zhǎng)決定

參考答案:D

參考分析:參考答案很明確地表明了,C語(yǔ)言中各種類(lèi)型在內(nèi)存中所占用的字節(jié)數(shù)由所用機(jī)器字長(zhǎng)決定。通常在PC機(jī)中字符、整型、實(shí)型所占用的內(nèi)存空間大小為1、2、4個(gè)字節(jié)。

2.30若有說(shuō)明語(yǔ)句:char c='\72';則變量c 。

A)包含1個(gè)字符。 B)包含2個(gè)字符。

C)包含3個(gè)字符。 D)說(shuō)明不合法,c的值不確定。

參考答案:A

參考分析:轉(zhuǎn)義字符'\72'為字符':'。

2.31若有定義:int a=7; float x=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是 。

A)2.500000 B)2.750000 C)3.500000 D)0.000000

參考答案:A

參考分析:計(jì)算時(shí)要注意其結(jié)合性和優(yōu)先級(jí)。

*2.32 sizeof(float)是 。

A)一個(gè)雙精度型表達(dá)式 B)一個(gè)整型表達(dá)式

C)一種函數(shù)調(diào)用 D)一個(gè)不合法的表達(dá)式

參考答案:B

參考分析:算術(shù)表達(dá)式的類(lèi)型由表達(dá)式計(jì)算結(jié)果的類(lèi)型決定

*2.33設(shè)變量a是整型,f是實(shí)型,i是雙精度型,則表達(dá)式10+'a'+i*f值的數(shù)據(jù)類(lèi)型為 。

A)int B)float C)double D)不確定

參考答案:C

參考分析:實(shí)型只要參與運(yùn)算就自動(dòng)轉(zhuǎn)換為double型。

2.34下面四個(gè)選項(xiàng)中,均是非法常量的選項(xiàng)是 。

A)'as' B)'\\' C)-0x18 D)0xabc

-0fff '\01' 01177 '\0'

'\0xa' 12,456 0xf "a"

參考答案:A

參考分析:A3轉(zhuǎn)義字符以十六進(jìn)制描述時(shí),前面不能加0。非法的還有B3

*2.35若有代數(shù)式√yx+log10y,則正確的C語(yǔ)言表達(dá)式是 。

A) sqrt(fabs(pow(y,x)+log10(y)))

B) sqrt(abs(pow(y,x)+log10(Y)))

C) sqrt(fabs(pow(x,y)+log10(y)))

D) sqrt(abs(pow(x,y)+log10(y)))

參考答案:A

參考分析:c語(yǔ)言中整型和實(shí)型的絕對(duì)值函數(shù)各自獨(dú)立,為abs和fabs;pow為一系統(tǒng)函數(shù)pow(y,x)=>yx。

2.36 若有代數(shù)式|x3+lgx|,則正確的C語(yǔ)言表達(dá)式是 。

A)fabs(x*3+log10(x))

B)abs(pow(x,3)+log10(x))

C)abs(pow(x,3.0)+log10(x))

D)fabs(pow(x,3.0)+log10(x))

參考答案:D

參考分析:以上兩題均未說(shuō)明x,y的類(lèi)型,從表達(dá)式的性質(zhì)可分析隱含為實(shí)型,因此應(yīng)使用fabs。

*2.37在C語(yǔ)言中,char型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是 。

A)補(bǔ)碼 B)反碼 C)原碼 D)ASCII碼

參考答案:D

參考分析:計(jì)算機(jī)系統(tǒng)不能存儲(chǔ)字符本身,存儲(chǔ)的是字符的ASCII碼。

*2.38設(shè)變量n為float,m為int類(lèi)型,則以下能實(shí)現(xiàn)將n中的數(shù)值保留小數(shù)點(diǎn)后兩位,第三位進(jìn)行四舍五入的表達(dá)式是 。

A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0

C)n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.0

參考答案:B

參考分析:m=n*100+0.5賦值過(guò)程中有實(shí)型轉(zhuǎn)整型的自動(dòng)轉(zhuǎn)換。

2.39表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類(lèi)型為 。

A)int B)float C)double D)不確定

參考答案:C

參考分析:表達(dá)式的類(lèi)型由表達(dá)式結(jié)果的類(lèi)型決定。

2.40設(shè)C語(yǔ)言中,一個(gè)int型數(shù)據(jù)在內(nèi)存中占2個(gè)字節(jié),則unsigned int型數(shù)據(jù)的取值范圍為 。

A)0-255 B)0-32767 C)0-65535 D)0-2147483647

參考答案:C

參考分析:各種數(shù)據(jù)類(lèi)型的取值范圍是由其字長(zhǎng)決定,字長(zhǎng)確定的情況下,有符號(hào)數(shù)與無(wú)符號(hào)數(shù)的范圍應(yīng)當(dāng)容易計(jì)算得知。

2.41設(shè)有說(shuō)明:char w;int x;float y;double z;則表達(dá)式w*x+z-y值的數(shù)據(jù)類(lèi)型為 。

A)float B)char C)int D)double

參考答案:D

參考分析:表達(dá)式的類(lèi)型由表達(dá)式結(jié)果的類(lèi)型決定。雖然本題各變量沒(méi)有具體的變量值,由于參與運(yùn)算的變量中z變量為double型,表達(dá)式計(jì)算的結(jié)果肯定為double型。

2.42若有以下定義,則能使值為3的表達(dá)式是 。

int k=7,x=12;

A)x%=k%=5 B)x%=k-k%5

C)x%=(k-k%5) D)(x%=k)-(k%=5)

參考答案:D

參考分析:A的值為0,B、C兩個(gè)表達(dá)式相同,值為2,只有D的值為3。

2.43設(shè)以下變量均為int類(lèi)型,則值不等于7的表達(dá)式是 。

A)x=y=6,x+y,x+1 B)x=y=6,x+y,y+1

C)x=6,x+1,y=6,x+y D)y=6,y+1,x=y,x+1

參考答案:C

參考分析:經(jīng)計(jì)算可知,只有C的值為12,不為7。

2.2 填空題

2.44 在C語(yǔ)言中(以16位PC機(jī)為例),一個(gè)char型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為【1】;一個(gè)int型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為【2】。

參考答案:【1】1 【2】2

2.45 在C語(yǔ)言中(以16位PC機(jī)為例),一個(gè)float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為【1】;一個(gè)double型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為【2】。

參考答案:【1】4 【2】8

2.46 若有以下定義,int m=5,y=2;則計(jì)算表達(dá)式y(tǒng)+=y-=m*=y后y的值是【 】。

參考答案:-16

2.47 設(shè)C語(yǔ)言中,一個(gè)int型數(shù)據(jù)在內(nèi)存中占2各字節(jié),則int型數(shù)據(jù)的取值范圍為【 】。

參考答案:-32768~32767

2.48 在C語(yǔ)言中的實(shí)型變量分為兩種類(lèi)型,它們是【1】和【2】。

參考答案:【1】float 【2】double

*2.49 C語(yǔ)言所提供的基本數(shù)據(jù)類(lèi)型包括:?jiǎn)尉刃?、雙精度型、【1】、【2】和【3】。

參考答案:字符型 整型 枚舉

參考分析:基本類(lèi)型又稱(chēng)簡(jiǎn)單類(lèi)型,若分為四種則為字符、整型、實(shí)型和枚舉,若分為五種,則將實(shí)型分為單精度型和雙精度型兩種。

*2.50 若s是int型變量,則表達(dá)式s%2+(s+1)%2的值為【 】。

參考答案:1

參考分析:無(wú)論s是奇數(shù)還是偶數(shù)表達(dá)式的值只能是1。

*2.51 若a是int型變量,則表達(dá)式(a=4*5,a*2),a+6的值為【 】。

參考答案:26

*2.52 若x和a均是整型變量,則計(jì)算表達(dá)式(1)后的x值為【1】,計(jì)算表達(dá)式(2)后x的值為【2】。

(1)x=(a=4,6*2)

(2)x=a=4,6*2

參考答案:【1】12 【2】4

2.53 若a、b和c均是int型變量,則計(jì)算表達(dá)式a=(b=4)+(c=2)后,a的值為【1】,b的值為【2】,c的值為【3】。

參考答案:【1】6 【2】4 【3】2

2.54 若a是int 型變量,且a的初值為6,則計(jì)算表達(dá)式a+=a-=a*a后a的值為【 】。

參考答案:-60

2.55 若a是int型變量,則計(jì)算表達(dá)式a=25/3%3后a的值為【 】。

參考答案:2

2.56 若x和n均是int型變量,且x和n的初值均為5,則計(jì)算表達(dá)式x+=n++后x的值為【1】,n的值為【2】。

參考答案:【1】10 【2】6

2.57 若有定義:int b=7;float a=2.5,c=4.7;則表達(dá)式a+(int)(b/3*(int)(a+c)/2)%4的值為【 】。

參考答案:5.5

2.58 若有定義:int a=2,b=3;float x=3.5,y=2.5;則表達(dá)式(float)(a+b)/2+(int)x%(int)y的值為【 】。

參考答案:3.5

2.59 若有定義:char c='\010';則變量c中包含的字符個(gè)數(shù)為【 】。

參考答案:1

2.60 若有定義:int x=3,y=2;float a=2.5,b=3.5;則表達(dá)式(x+y)%2+(int)a/(int)b的值為【 】。

參考答案:1

2.61 若有定義:int x=12,n=5;則計(jì)算表達(dá)式x%=(n%=2)后x的值為【 】。

參考答案:0

2.62 若有定義:int a,b;表達(dá)式a=2,b=5,a++,b++,a+b的值為【 】。

參考答案:9

2.63 C語(yǔ)言中的標(biāo)識(shí)符只能由三種字符組成,它們是【1】、【2】和【3】。

參考答案:【1】字符 【2】數(shù)字 【3】下劃線(xiàn)

*2.64 已知字母a的ASCII碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)式ch='a'+'8'-'3'的值為【 】。

參考答案:f

參考分析:表達(dá)式計(jì)算中取各個(gè)字符的ASCII碼值進(jìn)行計(jì)算,但ch的值是以計(jì)算結(jié)果為碼值的字符。

2.65 把以下多項(xiàng)式寫(xiě)成只含七次乘法運(yùn)算,其余皆為加、減運(yùn)算的表達(dá)式為【 】。

參考答案:((((((5*x+3)*x-4)*x+2)*x+1)*x-6)*x+1)*x+10

2.66 若double x=3.0,y=2.0;則表達(dá)式pow(y,fabs(x))的值為【 】。

參考答案:8.0

2.67 若有定義:int e=1,f=4,g=2;float m=10.5,n=4.0,k;則計(jì)算表達(dá)式k=(e+f)/g+ sqrt((double)n)*1.2/g+m后k的值是【 】。

參考答案:13.7

2.68 表達(dá)式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的數(shù)據(jù)類(lèi)型為( )。

參考答案:int型

*2.69 表達(dá)式pow(2.8,sqrt(double(x)))值的數(shù)據(jù)類(lèi)型為【 】。

參考答案:double型

*2.70 假設(shè)m是一個(gè)三位數(shù),從左到右用a、b、c表示各位的數(shù)字,則從左到右各個(gè)數(shù)字是bac的三位數(shù)表達(dá)式是【 】。

參考答案:m/10%10*100+m/100*10+m%10

參考分析:數(shù)字各個(gè)位的分離可以先整除再取余,也可以先取余再整除。

第三章 最簡(jiǎn)單的C程序設(shè)計(jì)

3.1 選擇題

3.1 putchar函數(shù)可以向終端輸出一個(gè) 。

A)整型變量表達(dá)式 B)實(shí)型變量值

C)字符串 D)字符或字符型變量值

參考答案:D

參考分析:putchar函數(shù)的作用是輸出一個(gè)字符,可以是常量或變量。

*3.2以下程序的輸出結(jié)果是 。

printf("\n*s1=%15s*","chinabeijing");

printf("\n*s2=%-5s*","chi");

A)*s1=chinabeijing□□□* B)*s1=chinabeijing□□□*

*s2=**chi* *s2=chi□□*

C) *s1=□□chinabeijing* D) * s1=□□□chinabeijing*

*s2=□□chi* *s2=chi□□*

參考答案:D

參考分析:-:數(shù)據(jù)左齊,右補(bǔ)空格。

3.3 printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5列。如果字符串長(zhǎng)度大于5,則輸出按方式 【1】 ;如果字符串長(zhǎng)度小于5,則輸出按方式 【2】 。

A)從左起輸出該字符串,右補(bǔ)空格 B)按原字符串長(zhǎng)從左向右全部輸出

C)右對(duì)齊輸出該字符串,左補(bǔ)空格 D)輸出錯(cuò)誤信息

參考答案:【1】B 【2】C

*3.4已有定義int a=-2;和輸出語(yǔ)句:printf("%8lx",a);以下正確的敘述是 。

A)整型變量的輸出格式符只有%d一種

B)%x是格式符的一種,它可以適用于任何一種類(lèi)型的數(shù)據(jù)

C)%x是格式符的一種,其變量的值按十六進(jìn)制輸出,但%8lx是錯(cuò)誤的

D)%8lx不是錯(cuò)誤的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度

參考答案:D

參考分析:答案B基本上是正確的,但是%x不能正確的輸出長(zhǎng)整型數(shù)據(jù)。

*3.5以下C程序正確的運(yùn)行結(jié)果是 。

main()

{ long y=-43456;

printf ("y=%-8ld\n",y);

printf ("y=%-08ld\n",y);

printf ("y=%08ld\n",y);

printf ("y=%+8ld\n",y);

}

A)y=□□-43456 B)y=-43456

y=-□□43456 y=-43456

y=-0043456 y=-0043456

y=-43456 y=+□-43456

C)y=-43456 D) y=□□-43456

y=-43456 y=-0043456

y=-0043456 y=00043456

y=□□-43456 y=+43456

參考答案:C

參考分析:0:數(shù)據(jù)左側(cè)必須充滿(mǎn),給定數(shù)據(jù)不足時(shí),前面補(bǔ)0。

+:數(shù)據(jù)前面顯示符號(hào)位。

*3.6以下C程序正確運(yùn)行的結(jié)果是 。

main()

{ int y=2456;

printf("y=%3o\n",y);

printf("y=%8o\n",y);

printf("y=%#8o\n",y);

}

A)y=□□□2456 B)y=□□□4630

y=□□□□□□□□2456 y=□□□□□□□□4630

y=########2456 y=########4630

C)y=2456 D)y=4630

y=□□□□2456 y=□□□□4630

y=□□□02456 y=□□□04630

參考答案:D

參考分析:#要求輸出數(shù)據(jù)的類(lèi)型特征符號(hào)。

3.7以下C程序正確的運(yùn)行結(jié)果是 。

main()

{long y=23456;

printf("y=%3lx\n",y);

printf("y=%8lx\n",y);

printf("y=%#8lx\n",y);

}

A)y=5ba0 B)y=□□□5ba0

y=□□□□5ba0 y=□□□□□□□□5ba0

y=□□0x5ba0 y=□□0x5ba0

C)y=5ba0 D)y=5ba0

y=5ba0 y=□□□□5ba0

y=0x5ba0 y=####5ba0

參考答案:A

分析:長(zhǎng)整型數(shù)據(jù)輸出應(yīng)當(dāng)加修正字符l,如果不加l僅能輸出數(shù)據(jù)的低兩個(gè)字節(jié),高字節(jié)數(shù)據(jù)不能輸出。

*3.8 若x,y均定義為int型,z定義為double型,以下不合法的scanf函數(shù)調(diào)用語(yǔ)句是 。

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

參考答案:D

參考分析:A)首先讀第一個(gè)十進(jìn)制數(shù)賦給變量x,讀第二個(gè)長(zhǎng)十六進(jìn)制數(shù)賦給變量y(此時(shí)有自動(dòng)賦值轉(zhuǎn)換),再讀入格式規(guī)定的第二和第三個(gè)數(shù)據(jù)間的間隔符號(hào)逗號(hào),最后讀入第三個(gè)double型數(shù)據(jù)賦給變量z。B)首先讀入2個(gè)寬度的十進(jìn)制數(shù)賦給變量x,再讀入格式規(guī)定的第一和第二數(shù)據(jù)間的間隔符號(hào)星號(hào),然后讀入第二個(gè)十進(jìn)制整數(shù)賦給變量y,然后讀入第三個(gè)double型數(shù)據(jù)賦給變量z。C)讀入第一個(gè)十六進(jìn)制數(shù)賦給變量x,然后虛讀一個(gè)十進(jìn)制數(shù)不賦給任何變量,最后讀入一個(gè)八進(jìn)制數(shù)賦給變量y。D)%6.2f不符合格式規(guī)定,即不能規(guī)定讀入數(shù)據(jù)的小數(shù)點(diǎn)后的數(shù)字位數(shù)。

*3.9 已有如下定義和輸入語(yǔ)句,若要求a1,a2,c1,c2的值分別為10,20,A和B,當(dāng)從第一列開(kāi)始輸入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入方式是 。

int a1,a2;char c1,c2;

scanf("%d%c%d%c",&a1,&c1,&a2,&c2);

A)10A□20BB)10□A□20□B

C)10□A20BD)10A20□B

參考答案:A

*3.10 已有定義int x;float y;且執(zhí)行scanf("%3d%f",&x,&y);語(yǔ)句時(shí),從第一列開(kāi)始輸入數(shù)據(jù)12345□678,則x的值為 ⑴ ,y的值為 ⑵ 。

⑴ A)12345 B)123 C)45 D)345

⑵ A)無(wú)定值 B)45.0 C)678.0 D)123.0

參考答案:B B

參考分析:讀取數(shù)據(jù)格式中規(guī)定域?qū)挄r(shí),系統(tǒng)僅讀取指定寬度的數(shù)據(jù)。

**3.11 已有如下定義和輸入語(yǔ)句,若要求a1,a2,c1,c2的值分別為10,20,A和B,當(dāng)從第一列開(kāi)始輸入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入方式是 。

int a1,a2;char c1,c2;

scanf("%d%d",&a1,&a2);

scanf("%c%c",&c1,&c2);

A)1020ABB)10□20AB

C)10□□20□□ABD)10□20AB

參考答案:D

參考分析:A)a1為1020,a2為隨機(jī)值,c1為A,c2為B。B)a1為10,a2為20,c1為,c2為A。C)a1為10,a2為20,c1、c2均為□。

3.12 已有程序段和輸入數(shù)據(jù)的形式,程序中輸入語(yǔ)句的正確形式應(yīng)當(dāng)為 。

main()

{ int a;float f;

printf("Input number:");

(輸入語(yǔ)句)

printf("\nf=%f,a=%d\n",f,a);

}

Input number:4.5□□2

A)scanf("%d,%f",&a,&f); B)scanf("%f,%d",&f,&a);

C)scnaf("%d%f",&a,&f); D)scanf("%f%d",&f,&a);

參考答案:D

3.13 根據(jù)定義和數(shù)據(jù)的輸入方式,輸入語(yǔ)句的正確形式為 。

已有定義:float f1,f2;

數(shù)據(jù)的輸入方式:4.52

3.5

A)scanf("%f,%f",&f1,&f2); B)scanf("%f%f",&f1,&f2);

C)scanf("%3.2f %2.1f",&f1,&f2); D)scanf("%3.2f%2.1f",&f1,&f2);

參考答案:B

*3.14 閱讀以下程序,當(dāng)輸入數(shù)據(jù)的形式為:25,13,10,正確的輸出結(jié)果為 。

main()

{int x,y,z;

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

printf("x+y+z=%d\n",x+y+z);

}

A)x+y+z=48 B)x+y+z=35 C)x+z=35 D)不確定的值

參考答案:D

參考分析:由于提供數(shù)據(jù)的格式與規(guī)定格式不一致,變量y,z不能獲取正確的數(shù)據(jù),均為隨機(jī)值,故三變量之和也是隨機(jī)數(shù)。

3.15 根據(jù)題目中已給出的數(shù)據(jù)輸入和輸出形式,程序中輸入輸出語(yǔ)句的正確內(nèi)容是 。

main()

{int x;float y;

printf("enter x,y:");

輸入語(yǔ)句

輸出語(yǔ)句

}

輸入形式:enter x,y:2 3.4

輸出形式:x+y=5.40

A)scanf("%d,%f",&x,&y); B)scanf("%d%f",&x,&y);

printf("\nx+y=%4.2f",x+y); printf("\nx+y=%4.2f",x+y);

C)scanf("%d%f",&x,&y); D)scanf("%d%3.1f",&x,&y);

printf("\nx+y=%6.1f",x+y); printf("\nx+y=%4.2f",x+y);

參考答案:B

3.16 以下說(shuō)法正確的是 。

A)輸入項(xiàng)可以為一個(gè)實(shí)型常量,如scanf("%f",3.5);

B)只有格式控制,沒(méi)有輸入項(xiàng),也能進(jìn)行正確輸入,如scanf("a=%d , b=%d");

C)當(dāng)輸入一個(gè)實(shí)型數(shù)據(jù)時(shí),格式控制部分應(yīng)規(guī)定小數(shù)點(diǎn)后的位數(shù),如scanf("%4.2f",&f);

D)當(dāng)輸入數(shù)據(jù)時(shí),必須指明變量的地址,如scanf("%f",&f);

參考答案:D

*3.17 根據(jù)下面程序及數(shù)據(jù)的輸入和輸出形式,程序中輸入語(yǔ)句的正確形式應(yīng)該為 。

main()

{char ch1,ch2,ch3;

輸入語(yǔ)句

printf("%c%c%c",ch1,ch2,ch3);

}

輸入形式:A□B□C

輸出形式:A□B

A)scanf("%c%c%c",&ch1,&ch2,&ch3);

B)scanf("%c,%c,%c",&ch1,&ch2,&ch3);

C)scanf("%c %c %c",&ch1,&ch2,&ch3);

D)scanf("%c%c",&ch1,&ch2,&ch3);

參考答案:A

參考分析:字符控制格式中有無(wú)空格對(duì)數(shù)據(jù)的讀取有影響,B)ch1讀取A,ch2和ch3為隨機(jī)字符。C)三個(gè)變量分別為A、B、C。D)ch3為隨機(jī)字符。

3.18 有輸入語(yǔ)句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);為使變量a的值為1,b為3,c為2,從鍵盤(pán)輸入數(shù)據(jù)的正確形式應(yīng)當(dāng)是 。

A)132B)1,3,2

C)a=1□b=3□c=2D)a=1,b=3,c=2

參考答案:D

3.19 以下能正確地定義整型變量a,b和c并為其賦初值5的語(yǔ)句是 。

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

參考答案:C

*3.20已知ch是字符型變量,下面不正確的賦值語(yǔ)句是 。

A)ch='a+b'; B)ch='\0'; C)ch='7'+'9'; D)ch=5+9

參考答案:A

參考分析:B)為轉(zhuǎn)義字符。C)為7和9兩個(gè)字符ASCII碼值之和的字符。D)為碼值為14的字符(控制字符)。

3.21 已知ch是字符型變量,下面正確的賦值語(yǔ)句是 。

A)ch='123'; B)ch='\xff'; C)ch='\08'; D)ch="\";

參考答案:B

3.22 若有以下定義,則正確的賦值語(yǔ)句是 。

int a,b;float x;

A)a=1,b=2, B)b++; C)a=b=5 D)b=int(x);

參考答案:B

參考分析:這里強(qiáng)調(diào)的是賦值語(yǔ)句,請(qǐng)注意賦值表達(dá)式與賦值語(yǔ)句的區(qū)別。

3.23設(shè)x、y均為float型變量,則以下不合法的賦值語(yǔ)句為_(kāi)_______。

A) ++x; B)y=(x%2)/10; C)x*=y+8 D)x=y=0

參考答案:B

*3.24 設(shè)x、y和z均為int型變量,則執(zhí)行語(yǔ)句x=(y=(z=10)+5)-5;后,x、y和z的值是 。

A)x=10 B)x=10 C)x=10 D)x=10

y=15 y=10 y=10 y=5

z=10 z=10 z=15 z=10

參考答案:A

3.25 設(shè)有說(shuō)明:double y=0.5,z=1.5;int x=10;則能夠正確使用C語(yǔ)言庫(kù)函數(shù)的賦值語(yǔ)句是 。

A)z=exp(y)+fabs(x);

B)y=log10(y)+pow(y);

C)z=sqrt(y-z);

D)x=(int)(atan2((double)x,y)+exp(y-0.2));

參考答案:D

參考分析:本題有些偏,其他選項(xiàng)錯(cuò)誤的原因?yàn)锳)fabs(x),x不是double型。B)pow(y)其格式原型為double pow(double y,double x)。C)y-z為負(fù)數(shù)。

3.2 填空題

*3.26以下程序的輸出結(jié)果為( )。

main()

{short i;

i=-4;

printf("\ni:dec=%d, oct=%o, hex=%x, unsigned=%u\n",i,i,i,i);

}

參考答案:i:dec=-4, oct=177774, hex=fffc, unsigned=65532

*3.27 以下程序的輸出結(jié)果為( )。

main()

{printf("*%f,%4.3f*\n",3.14,3.1415);

}

參考答案:*3.140000,3.142*

分析:不能輸出的位會(huì)向前一位四舍五入輸出。

3.28以下程序的輸出結(jié)果為( )。

main()

{char c='x';

printf("c:dec=%d, oct=%o, hex=%x, ASCII=%c\n",c,c,c,c);

}

參考答案:c:dec=120, oct=170, hex=78, ASCII=x

*3.29 已有定義int d=-2;執(zhí)行以下語(yǔ)句后的輸出結(jié)果是( )。

printf("*d(1)=%d*d(2)=%3d*d(3)=%-3d*\n",d,d,d);

printf("*d(4)=%o*d(5)=%7o*d(6)=%-7o*\n",d,d,d);

參考答案:*d(1)=-2*d(2)=□-2*d(3)=-2□*

*d(4)=177776*d(5)=□177776*d(6)=177776□*

3.30已有定義int d=-2;執(zhí)行以下語(yǔ)句后的輸出結(jié)果是( )。

printf("*d(1)=%d*d(2)=%3d*d(3)=%-3d*\n",d,d,d);

printf("*d(4)=%x*d(5)=%6x*d(6)=%-6x*\n",d,d,d);

參考答案:*d(1)=-2*d(2)=□-2*d(3)=-2□*

*d(4)=fffe*d(5)=□□fffe*d(6)=fffe□□*

*3.31已有定義float d1=3.5,d2=-3.5;執(zhí)行以下語(yǔ)句后的輸出結(jié)果是( )。

printf("*d(1)=%e*d(2)=%.4e*d(3)=%10.4e*\n",d1,d1,d1);

printf("*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*\n",d2,d2,d2);

參考答案:*d(1)=3.50000e+00*d(2)=3.500e+00*d(3)=□3.500e+00*

*d(4)=-3.50000e+00*d(5)=-3.50000e+00*d(6)=-3.5000e+00□*

參考分析:通過(guò)本題應(yīng)注意%f和%e在規(guī)定小數(shù)點(diǎn)后位數(shù)的區(qū)別。%e小數(shù)位后面位數(shù)含e標(biāo)志。

3.32 以下程序的輸出結(jié)果是( )。

main()

{int x=1,y=2;

printf("x=%d y=%d *sum*=%d\n",x,y,x+y);

printf("10 Squared is :%d\n",10*10);

}

參考答案:x=1 y=2 *sum*=3

10 Squared is :100

*3.33 以下程序的輸出結(jié)果是( )。

#include

main()

{int x=10;float pi=3.1416;

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

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

printf("(3)%f\n",56.1);

printf("(4)%14f\n",pi);

printf("(5)%e\n",568.1);

printf("(6)%14e\n",pi);

printf("(7)%g\n",pi);

printf("(8)%12g\n",pi);

}

參考答案:(1)10

(2)□□□□10

(3)56.100000

(4) □□□□□□3.141600

(5)5.68100e+02

(6) □□□3.14160e+00

(7)3.1416

(8) □□□□□□3.1416

參考分析:采用g格式輸出數(shù)據(jù)時(shí),當(dāng)數(shù)據(jù)<=10-5或>=107時(shí),按指數(shù)方式輸出(缺省正數(shù)11位,負(fù)數(shù)12位),否則按小數(shù)方式輸出(缺省含小數(shù)點(diǎn)總寬度最多7位)。且不輸出無(wú)意義的0(后面)和小數(shù)點(diǎn)。

3.34 以下程序的輸出結(jié)果是( )。

#include

main()

{float a=123.456;double b=8765.4567;

printf("(1)%f\n",a);

printf("(2)%14.3f\n",a);

printf("(3)%6.4f\n",a);

printf("(4)%lf\n",b);

printf("(5)%14.3lf\n",b);

printf("(6)%8.4lf\n",b);

printf("(7)%.4lf\n",b);

}

參考答案:(1)123.456000

(2) □□□□□□□123.456

(3)123.4560

(4)8765.456700

(5) □□□□□□8765.456

(6)8765.4560

(7)8765.4560

*3.35 以下printf語(yǔ)句中*的作用是( ),輸出結(jié)果是( )。

#include

main()

{int i=1;

printf("##%*d\n",i,i);

i++;

printf("##%*d\n",i,i);

i++;

printf("##%*d\n",i,i);

}

參考答案:

(1)可使同一或相同輸出格式數(shù)據(jù)輸出寬度得以改變(動(dòng)態(tài)域?qū)捒刂?

(2)##1

##□2

##□□3

3.36 以下printf語(yǔ)句中的"-"的作用是( ),該程序的輸出結(jié)果是( )。

#include

main()

{int x=12;double a=3.1415926;

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

printf("%-6d##\n",x);

printf("%14.10lf##\n",a);

printf("%-14.10lf##\n",a);

}

參考答案:

(1)輸出數(shù)據(jù)左對(duì)齊

(2) □□□□12##

12□□□□##

□□3.1415926000##

3.1415926000□□##

*3.37 以下程序的輸出結(jié)果是( )。

#include

main()

{int a=325;double x=3.1415926;

printf("a=%+06d x=%+e\n",a,x);

}

參考答案:a=+00325 x=+3.14159e+00

*3.38以下程序的輸出結(jié)果是( )。

#include

main()

{int a=252;

printf("a=%o a=%#o\n",a,a);

printf("a=%x a=%#x\n",a,a);

}

參考答案:a=374□□a=0374

a=fc□□a=0xfc

3.39以下程序的輸出結(jié)果是( )。

int x=7281;

printf("(1)x=%3d,x=%6d,x=%o,x=%6x,x=%6u\n",x,x,x,x,x);

printf("(2)x=%-3d,x=%-6d,x=$%-06d,x=$%06d,x=%%06d\n",x,x,x,x,x);

printf("(3)x=%+3d,x=%+6d,x=%+08d\n",x,x,x);

printf("(4)x=%o,x=%#o\n",x,x);

printf("(5)x=%x,x=%#x\n",x,x);

參考答案:(1)x=7281,x=□□7281,x=□16161,x=□□1c71,x=□□7281

(2)x=7281,x=7281□□,x=$7281□□,x=$007281,x=%06d

(3)x=+7281,x=□+7281,x=+0007281

(4)x=16161,x=016161

(5)x=1c71,x=0x1c71

**3.40 假設(shè)變量a和b均為整型,以下語(yǔ)句可以不借助任何變量把a(bǔ)、b中的值進(jìn)行交換。請(qǐng)?zhí)羁铡?/p>

a+=( );b=a-( );a-=( );

參考答案:b b b

3.41 假設(shè)變量a、b和c均為整型,以下語(yǔ)句借助中間變量t把a(bǔ)、b和c中的值進(jìn)行交換,即把b中的值給a,把c中的值給b,把a(bǔ)中的值給c。例如:交換前a=10、b=20、c=30,交換后a=20,b=30,c=10。請(qǐng)?zhí)羁铡?/p>

( );a=b;b=c;( );

參考答案:t=a c=t;

**3.42 設(shè)x、y和z都是int型變量,m為long型變量,則在16位微型機(jī)上執(zhí)行下面賦值語(yǔ)句后,y值為( ),z值為( ),m值為( )。

y=(x=32767,x-1);

z=m=oxffff;

參考答案:32766、-1、65535

3.43 若x為int型變量,則執(zhí)行以下語(yǔ)句后x的值為( )。

x=7;

x+=x-=x+x;

參考答案:-14

3.44 若a和b均為int型變量,則以下語(yǔ)句的功能是( )。

a+=b;b=a-b;a-=b;

參考答案:交換a、b變量的值

*3.45 在scanf函數(shù)調(diào)用語(yǔ)句中,可以在格式字符和%號(hào)之間加一星號(hào),它的作用是( ),當(dāng)輸入以下數(shù)據(jù):10□□20□□30□□40,下面語(yǔ)句的執(zhí)行結(jié)果是( )。

int a1,a2,a3;

scanf("%d%*d%d%d",&a1,&a2,&a3);

參考答案:讀入數(shù)據(jù)后不賦給相應(yīng)的變量 把10給a1,把20不給任何變量,把30給a2,把40給a3

3.46有一輸入函數(shù)scanf("%d",k);則不能使float類(lèi)型變量k得到正確數(shù)值的原因是( )和( ),正確的語(yǔ)句應(yīng)為( )。

參考答案:格式字符不正確 缺少&符號(hào) scanf("%f",&k);

3.47 已有定義int a;float b,x;char c1,c2;為使a=3,b=6.5,x=12.6,c1='a',c2='A',正確的scanf函數(shù)調(diào)用語(yǔ)句是( ),輸入數(shù)據(jù)的方式為( )。

參考答案:

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

3□6.5□12.6aA

參考分析:該題目不好,讀取數(shù)據(jù)語(yǔ)句和提供數(shù)據(jù)方式全部由做題者決定,這會(huì)出現(xiàn)各式各樣的答案。

*3.48 若有以下定義和語(yǔ)句,為使變量c1得到字符'A',變量c2得到字符'B',正確的格式輸入形式是( )。

char c1,c2;

scanf("%4c%4c",&c1,&c2);

參考答案:A□□□B□□□

參考分析:讀取字符數(shù)據(jù)指定數(shù)據(jù)寬度時(shí),系統(tǒng)讀取第一個(gè)字符

*3.49 執(zhí)行以下程序時(shí),若從第一列開(kāi)始輸入數(shù)據(jù),為使變量a=3,b=7,x=8.5, y=71.82, c1='A',c2='a',正確的數(shù)據(jù)輸入形式是( )。

int a,b;float x,y;char c1,c2;

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

scanf("x=%f y=%f",&x,&y;

scanf("c1=%c c2=%c",&c1,&c2);

參考答案:a=3□b=7x=8.5□y=71.82c1=A□c2=a

*3.50 已有定義int i,j;float x;為將-10賦給i,12賦給j,410.34賦給x;則對(duì)應(yīng)以下scanf函數(shù)調(diào)用語(yǔ)句的數(shù)據(jù)輸入形式是( )。

scanf("%o%x%e",&i,&j,&x);

參考答案:-12□c□4.1034e2

參考分析:第一個(gè)數(shù)也可給17776,第二個(gè)數(shù)也可給0xc,第三個(gè)數(shù)也可給410.34。

以上就是關(guān)于2022年湖北專(zhuān)升本C語(yǔ)言程序設(shè)計(jì)模擬題(1)的全部?jī)?nèi)容了,如果你還有專(zhuān)升本相關(guān)的疑惑(如專(zhuān)升本報(bào)名、考試動(dòng)態(tài)、院校招生簡(jiǎn)章、統(tǒng)考動(dòng)態(tài)、湖南專(zhuān)升本院校、歷年真題、考試大綱、專(zhuān)升本等相關(guān)信息),可以在文章下方留下你的聯(lián)系方式,老師會(huì)第一時(shí)間聯(lián)系到你,為你答疑解惑哦!


湖南專(zhuān)升本最新資料領(lǐng)取

部分內(nèi)容來(lái)源于網(wǎng)絡(luò)轉(zhuǎn)載、學(xué)生投稿,如有侵權(quán)或?qū)Ρ菊居腥魏我庖?jiàn)、建議或者投訴,請(qǐng)聯(lián)系郵箱(1296178999@qq.com)反饋。 未經(jīng)本站授權(quán),不得轉(zhuǎn)載、摘編、復(fù)制或者建立鏡像, 如有違反,本站將追究法律責(zé)任!


本文標(biāo)簽: 統(tǒng)招專(zhuān)升本全日制專(zhuān)升本統(tǒng)招

上一篇:2022年專(zhuān)升本英語(yǔ)虛擬語(yǔ)氣模擬試題3                  下一篇:2022年湖北專(zhuān)升本C語(yǔ)言程序設(shè)計(jì)模擬題(2)

湖南3+2 統(tǒng)招專(zhuān)升本

一鍵查詢(xún)