版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
全國計算機(jī)等級考試二級C語言(山東聯(lián)盟)智慧樹知到課后章節(jié)答案2023年下煙臺大學(xué)煙臺大學(xué)
緒論單元測試
十進(jìn)制的10對應(yīng)的二進(jìn)制表示是以下哪個選項?
A:
1010B:
1000C:
10D:
0010
答案:
1010
二進(jìn)制數(shù)1000對應(yīng)的十進(jìn)制數(shù)是多少?
A:
1000B:
10C:
8D:
1
答案:
8
計算機(jī)中數(shù)據(jù)存儲的最小單位是什么?
A:
地址B:
字節(jié)C:
位
答案:
位
計算機(jī)中數(shù)據(jù)存儲的基本單位是什么?
A:
地址B:
字節(jié)C:
位
答案:
字節(jié)
計算機(jī)的存儲空間中一個字節(jié)是由多少個連續(xù)的位組成?
A:
8B:
1C:
10D:
4
答案:
8
第一章測試
C語言主要是借助以下哪種手段來實現(xiàn)程序模塊化(
)
A:定義函數(shù)B:使用豐富的數(shù)據(jù)類型C:定義常量和外部變量D:使用三種基本結(jié)構(gòu)語句
答案:定義函數(shù)
以下敘述錯誤的是(
)
A:程序"模塊化"有利于任務(wù)的分解B:采用模塊化結(jié)構(gòu),可以提高程序編制的效率C:允許對函數(shù)單獨進(jìn)行編譯,是C語言實現(xiàn)"模塊化"的基礎(chǔ)D:在一個任務(wù)中,單獨編寫的每個模塊均可以獨立運行
答案:在一個任務(wù)中,單獨編寫的每個模塊均可以獨立運行
以下敘述中錯誤的是(
)
A:計算機(jī)不能直接執(zhí)行C語言程序B:所有C程序都需要編譯鏈接無誤后才能運行
C:C程序在運行過程中所有計算都以十進(jìn)制方式進(jìn)行D:C程序在運行過程中所有計算都以二進(jìn)制方式進(jìn)行
答案:C程序在運行過程中所有計算都以十進(jìn)制方式進(jìn)行
流程圖是描述算法的很好的工具,一般的流程圖中由幾種基本圖形組成,其中條件判斷的圖形是(
)
A:橢圓型B:菱形C:平行四邊形D:長方形
答案:菱形
以下敘述中正確的是()。
A:復(fù)雜算法不能使用N-S流程圖來描述B:計算機(jī)能夠直接處理不超過20行源碼的簡單C語言程序C:計算機(jī)能直接運行未經(jīng)編譯的C語言程序D:循環(huán)結(jié)構(gòu)、選擇結(jié)構(gòu)、順序結(jié)構(gòu)是結(jié)構(gòu)化程序的三種基本結(jié)構(gòu)
答案:循環(huán)結(jié)構(gòu)、選擇結(jié)構(gòu)、順序結(jié)構(gòu)是結(jié)構(gòu)化程序的三種基本結(jié)構(gòu)
第二章測試
對于一個正常運行的C程序,以下敘述中正確的是(
)
A:程序的執(zhí)行總是從程序的第一個函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束B:程序的執(zhí)行總是從main函數(shù)開始C:程序的執(zhí)行總是從程序的第一個函數(shù)開始,
在main函數(shù)結(jié)束D:程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束
答案:程序的執(zhí)行總是從main函數(shù)開始
以下敘述中正確的是(
)
A:main的各種大小寫拼寫形式都可以作為主函數(shù)名,如:MAIN,Main等B:可以在程序中由用戶指定任意一個函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行C:C語言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行D:C語言程序?qū)脑闯绦蛑械谝粋€函數(shù)開始執(zhí)行
答案:C語言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行
C語言源程序名的后綴是(
)
A:exe
B:.CC:.cpD:obj
答案:.C
以下關(guān)于注釋的敘述中錯誤的是()。
A:注釋的邊界符號“/”和“*”之間不允許加入空格B:C語言允許注釋出現(xiàn)在程序中任意合適的地方C:注釋的內(nèi)容僅用于閱讀,對程序的運行不起作用D:注釋的邊界符號“/*”和“*/”必須成對出現(xiàn)且可以嵌套
答案:注釋的邊界符號“/*”和“*/”必須成對出現(xiàn)且可以嵌套
關(guān)于程序中的注釋,以下敘述正確的是()。
A:/*
和
*/多行注釋中間不可以嵌套另一個注釋
B:
注釋的內(nèi)容必須放在一對/*
和
*/之間
C:注釋內(nèi)容錯誤會導(dǎo)致編譯出錯D:注釋必須置于所說明的語句前或語句后
答案:/*
和
*/多行注釋中間不可以嵌套另一個注釋
第三章測試
若有定義語句:char
c='A';
則變量c在內(nèi)存中占(
)
A:1個字節(jié)B:2個字節(jié)C:3個字節(jié)D:4個字節(jié)
答案:1個字節(jié)
以下選項中,合法的C語言實數(shù)是(
)
A:E13B:3.1e0.4C:
.2e0
D:7.12E
答案:
.2e0
以下選項中合法的標(biāo)識符是(
)
A:1-1B:1_1C:1_
_D:_11
答案:_11
以下選項中敘述正確的是(
)
A:C語言的標(biāo)識符可分為函數(shù)名、變量和預(yù)定義標(biāo)識符三類B:C語言的標(biāo)識符可分為運算符、用戶標(biāo)識符和關(guān)鍵字三類C:C語言的標(biāo)識符可分為語句、變量和關(guān)鍵字三類D:C語言的標(biāo)識符可分為關(guān)鍵字、預(yù)定義標(biāo)識符和用戶標(biāo)識符三類
答案:C語言的標(biāo)識符可分為關(guān)鍵字、預(yù)定義標(biāo)識符和用戶標(biāo)識符三類
C語言程序中,運算對象必須是整型數(shù)的運算符是(
)
A:%B:&&C:
/
D:*
答案:%
若有定義語句:int
a=12;,則執(zhí)行語句:a+=
a-=
a*a;后,a的值是(
)
A:552B:-264C:264D:144
答案:-264
有以下程序
#include
<stdio.h>
intmain()
{
int
x=010,
y=10;
printf("%d,%d",
++x,
y--);
return0;}程序運行后的輸出結(jié)果是(
)
A:11,10B:9,10C:10,9D:010,9
答案:9,10
有以下程序
#include
<stdio.h>
main()
{
int
a;
a
=
(int)(-1.53*3);
printf("%d",
a);
}
程序的運行結(jié)果是(
)
A:結(jié)果不確定B:-5C:-3D:-4
答案:-4
若有定義:int
a=3;double
b=0.1263;
char
ch='a';,則以下選項中,敘述有錯的是(
)。
A:逗號表達(dá)式的計算結(jié)果是最后一個逗號之后的表達(dá)式的運算結(jié)果B:語句ch=(unsignedint)a+b;是對a與b之和進(jìn)行強(qiáng)制類型轉(zhuǎn)換,結(jié)果賦值給變量chC:運算符%只能對整數(shù)類型的變量進(jìn)行運算D:復(fù)合運算:a*=b+ch是將變量b、ch之和與a相乘,結(jié)果再給a賦值
答案:語句ch=(unsignedint)a+b;是對a與b之和進(jìn)行強(qiáng)制類型轉(zhuǎn)換,結(jié)果賦值給變量ch
以下選項中,合法的數(shù)值型常量是(
)
A:0xDHB:3.1415C:092D:"A"
答案:3.1415
第四章測試
若變量已正確定義并賦值,以下不能構(gòu)成C語句的選項是(
)
A:A?a:b;B:a=a+bC:A=a+b;D:B++;
答案:a=a+b
若想給已定義為int型的變量a,b,c,d賦值為1,以下選項中錯誤的語句是(
)。
A:a=1,
b=a,
c=b,
d=c;B:a=b=c=d=1;C:a=b,
b=c,
c=d,
d=1;D:d=1,
c=d,
b=c,
a=b;
答案:a=b,
b=c,
c=d,
d=1;
有以下程序
#include
<stdio.h>
main()
{
int
a=0,b=0;
/*
給a賦值
a=10;
b=20;
給b賦值
*/
printf("a+b=%d",a+b);
/*
輸出計算結(jié)果
*/
}
程序運行后的輸出結(jié)果是(
)
A:a+b=0B:a+b=30C:出錯D:a+b=10
答案:a+b=0
有以下程序
#include
<stdio.h>
main()
{
char
c1='A',
c2='Y';
printf(
"%d,
%d",
c1,c2
);
}
程序的輸出結(jié)果是(
)
A:輸出格式不合法,輸出出錯信息B:65,89C:65,90D:A,Y
答案:65,89
設(shè)有定義:
int
n
=
1234;
double
x
=
3.1411;
則語句
printf("%3d,%1.3f",
n,
x);
的輸出結(jié)果是(
)
A:1234,3.142B:123,3.141C:1234,3.141D:123,3.142
答案:1234,3.141
有如下程序
#include
<stdio.h>
main()
{
int
x
=
0x13;
printf("%d",
x+1);
}
程序運行后的輸出結(jié)果是(
)
A:20B:14C:13D:12
答案:20
若有定義
int
a;
float
b;
double
c;
程序運行時輸入:
3
4
5<回車>
能把值3輸入給變量a、4輸入給變量b、5輸入給變量c的語句是(
)
A:scanf("%lf%lf%lf",
&a,&b,&c);B:scanf("%d%f%lf",
&a,&b,&c);C:scanf("%d%lf%lf",
&a,&b,&c);D:scanf("%d%f%f",
&a,&b,&c);
答案:scanf("%d%f%lf",
&a,&b,&c);
以下敘述中正確的是(
)
A:使用printf函數(shù)無法輸出百分號%B:在使用scanf函數(shù)輸入整數(shù)或?qū)崝?shù)時,輸入數(shù)據(jù)之間只能用空格來分隔C:在scanf函數(shù)中的格式控制字符串是為了輸入數(shù)據(jù)用的,不會輸出到屏幕上D:在printf函數(shù)中,各個輸出項只能是變量
答案:在scanf函數(shù)中的格式控制字符串是為了輸入數(shù)據(jù)用的,不會輸出到屏幕上
若有定義:char
c;int
d;
,程序運行時輸入:
1,2
<回車>,能把值1輸入給變量c、值2輸入給變量d的輸入語句是(
)
A:scanf("%d,%f",
&c,&d);B:scanf("%c%d",
&c,&d);C:scanf("%c,%d",
&c,&d);D:scanf("%d%d",
&c,&d);
答案:scanf("%c,%d",
&c,&d);
以下能正確輸出字符a
的語句是()
A:printf("%c",
"a");B:printf("%d",
'a');C:printf("%s",
'a');D:printf("%s",
"a");
答案:printf("%s",
"a");
第五章測試
表示關(guān)系式x≤y≤z的C語言表達(dá)式的是(
)
A:(x<=y<=z)B:(x<=y)&&(y<=z)C:(x<=y)||(y<=z)D:(x<=y)!(y<=z)
答案:(x<=y)&&(y<=z)
已知a=5,b=6,c=7,d=8,m=2,n=2,執(zhí)行(m=a>b)&&(n=c<d)后n的值為(
)
A:2B:-1C:1D:0
答案:2
以下敘述中正確的是(
)
A:由&&構(gòu)成的邏輯表達(dá)式與由||構(gòu)成的邏輯表達(dá)式都有"短路"現(xiàn)象B:邏輯"非"(即運算符!)的運算級別是最低的C:邏輯"或"(即運算符||)的運算級別比算術(shù)運算要高D:C語言的關(guān)系表達(dá)式:0<x<10完全等價于:
(0<x)
&&
(x<10)
答案:由&&構(gòu)成的邏輯表達(dá)式與由||構(gòu)成的邏輯表達(dá)式都有"短路"現(xiàn)象
有以下程序
#include
<stdio.h>
main()
{
int
a=0,b=0,c=0,d=0;
(++a
||
++b)
?
++c
:
++d;
printf("%d,%d,%d,%d",
a,b,c,d);
}
程序的運行結(jié)果是(
)
A:1,1,0,1
B:1,0,0,1
C:1,0,1,0D:1,1,1,0
答案:1,0,1,0
以下程序段中,不能實現(xiàn)條件"如果a<b則x=10,否則x=-10"的是()
A:x=(a>=b)?
-10:10;B:if(a<b)
x=10;
else
x=-10;C:x=-10;
if(a<b)
x=10;D:if(a<b)
x=10;
if(b<a)
x=-10;
答案:if(a<b)
x=10;
if(b<a)
x=-10;
有以下程序段
scanf("%d%d%d",&a,&b,&c);
if(a>b)
a=b;
if(a>c)
a=c;
printf("%d",a);
該程序段的功能是()
A:輸出a、b、c中的最小值B:輸出a的原始值C:輸出a、b、c中的最大值D:輸出a、b、c中值相等的數(shù)值
答案:輸出a、b、c中的最小值
有如下程序
#include
<stdio.h>
main()
{
int
a
=
0,
b
=
1;
if
(++a
==
b++)
printf("T");
else
printf("F");
printf("a=%d,b=%d",
a,
b);
printf("");
}
程序運行后的輸出結(jié)果是(
)
A:Ta=1,b=2B:Fa=0,b=2C:Fa=1,b=2
D:Ta=0,b=1
答案:Ta=1,b=2
下列條件語句中,輸出結(jié)果與其他語句不同的是()
A:
if
(
a!=0
)
printf("%d",
x);
else
printf("%d",
y);B:if
(
a==0
)
printf("%d",
y);
else
printf("%d",
x);C:if
(
a==0
)
printf("%d",
x);
else
printf("%d",
y);D:
if
(
a
)
printf("%d",
x);
else
printf("%d",
y);
答案:if
(
a==0
)
printf("%d",
x);
else
printf("%d",
y);
有以下程序
#include
<stdio.h>
main()
{
int
x=1,
y=0,a=0,b=0;
switch(
x
)
{
case
1:
switch
(
y
)
{
case
0:
a++;
break;
case
1:
b++;
break;
}
case
2:
a++;
b++;
break;
}
printf("a=%d,b=%d",a,b
);
}
程序運行后的輸出結(jié)果是()
A:a=1,b=0B:a=2,b=1C:a=2,b=2D:a=1,b=1
答案:a=2,b=1
若以下選項中的變量a,
b,
y均已正確定義并賦值,則語法正確的switch語句是()
A:switch
(a+9)
{
case
a
:
y=a-b;
case
b
:
y=a+b;}
B:switch
a*b
{
case
10
:
y=a+b;
default
:
y=a-b;
}
C:switch(
a+b
)
{
case1
:
case3
:
y=a+b;
break;
case0
:
case4
:
y=a-b;}
D:switch(
a*a+b*b
)
{
default
:
break;
case
3
:
y=a+b;
break;
case
2
:
y=a-b;
break;
}
答案:switch(
a*a+b*b
)
{
default
:
break;
case
3
:
y=a+b;
break;
case
2
:
y=a-b;
break;
}
第六章測試
有以下程序
#include
<stdio.h>
main()
{
int
i,
sum;
for(
i=1;
i<6;
i++
)
sum+=i;
printf("%d",
sum);
}
程序運行后的輸出結(jié)果是(
)
A:0B:15C:16D:隨機(jī)值
答案:隨機(jī)值
有以下程序
#include
<stdio.h>
main(
)
{
int
a=-2,
b=2;
for(;
++a
&&
--b;)
printf("%d,%d,",
a,b);
}
程序執(zhí)行后的輸出結(jié)果是()。
A:-1,1,B:-1,1,0,0,C:0,1,D:-1,1,0,1,
答案:-1,1,
要求通過while循環(huán)不斷讀入字符,當(dāng)讀入字母N時結(jié)束循環(huán)。若變量已正確定義,以下正確的程序段是(
)
A:while(ch=getchar()=='N')
printf("%c
",ch);B:while((ch=getchar())!='N')
printf("%c
",ch);C:while((ch=getchar())=='N')
printf("%c
",ch);D:while(ch=getchar()
='N')
printf("%c
",ch);
答案:while((ch=getchar())!='N')
printf("%c
",ch);
有以下程序
#include
<stdio.h>
main()
{
int
a
=
-2,
b
=
0;
while
(a++
&&
++b)
;
printf("%d,%d",
a,
b
);
}
程序運行后輸出結(jié)果是()
A:0,2B:1,3C:1,2D:0,3
答案:1,2
以下敘述正確的是(
)
A:do-while語句構(gòu)成的循環(huán),必須用break語句退出循環(huán)B:while-do語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為非0時結(jié)束循環(huán)C:do-while語句和while-do構(gòu)成的循環(huán)功能相同D:do-while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為0時結(jié)束循環(huán)
答案:do-while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為0時結(jié)束循環(huán)
有以下程序
#include
<stdio.h>
main()
{
char
c;
do
{
c=getchar();
putchar(c);
}while(c
!=
'#');
printf("");
}
執(zhí)行時如輸入:abcdefg##<回車>
,
則輸出結(jié)果是(
)
A:##B:abcdefgC:abcdefg##D:abcdefg#
答案:abcdefg#
以下敘述中正確的是(
)
A:break語句只能用于switch語句體中B:continue語句的作用是:使程序的執(zhí)行流程跳出包含它的所有循環(huán)C:break語句只能用在循環(huán)體內(nèi)和switch語句體內(nèi)D:在循環(huán)體內(nèi)使用break語句和continue語句的作用相同
答案:break語句只能用在循環(huán)體內(nèi)和switch語句體內(nèi)
有以下程序
#include
<stdio.h>
main()
{
int
a=1,
b=0;
for(;a<5;
a++)
{
if
(a%2==0)
break;
b
+=
a;
}
printf("%d
",
b);
}
程序的運行結(jié)果是(
)
A:4B:0
C:10
D:1
答案:1
有如下程序
#include
<stdio.h>
main(
)
{
int
i,
data;
scanf("%d",
&data);
for
(i=0;
i<5;
i++)
{
if
(i
<
data)
continue;
printf("%d-",
i);
}
}
程序運行時,從鍵盤輸入:3<回車>后,程序輸出結(jié)果為(
)
A:0-1-2-3-B:3-4-C:1-2-3-D:0-1-2-
答案:3-4-
若有以下程序
#include
<stdio.h>
main()
{
int
s=0,
n;
for
(n=0;
n<4;
n++)
{
switch(n)
{
default:
s+=4;
case
1:
s+=1;
break;
case
2:
s+=2;
break;
case
3:
s+=3;
}
}
printf("%d",
s);
}
則程序的輸出結(jié)果是(
)
A:15B:13C:10D:11
答案:11
第七章測試
有以下程序
#include
<stdio.h>
main()
{
int
i,
t[][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<3;i++)
printf("%d
",t[2-i][i]);
}
程序執(zhí)行后的輸出結(jié)果是()。
A:7
5
3B:3
6
9C:7
5
1D:3
5
7
答案:3
5
7
以下錯誤的定義語句是()。
A:int
x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};B:int
x[][3]={{0},{1},{1,2,3}};C:int
x[4][]=
{{1,2,3},{1,2,3},{1,2,3},{1,2,3}};D:int
x[][3]={1,2,3,4};
答案:int
x[4][]=
{{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
以下敘述中正確的是()。
A:當(dāng)拼接兩個字符串時,結(jié)果字符串占用的內(nèi)存空間是兩個原串占用空間的和B:兩個字符串可以用關(guān)系運算符進(jìn)行大小比較C:C語言本身沒有提供對字符串進(jìn)行整體操作的運算符D:函數(shù)調(diào)用strlen(s);會返回字符串s實際占用內(nèi)存的大?。ㄒ宰止?jié)為單位)
答案:C語言本身沒有提供對字符串進(jìn)行整體操作的運算符
以下敘述中正確的是()。
A:字符串常量"str1"的類型是:字符串?dāng)?shù)據(jù)類型B:字符數(shù)組的每個元素可存放一個字符,并且最后一個元素必須是字符C:有定義語句:
char
str1[]
=
"str1";
,數(shù)組str1將包含4個元素D:下面的語句用賦初值方式來定義字符串,其中'
'是必須的char
str1[]
=
{'s',
't',
'r',
'1',
};
答案:下面的語句用賦初值方式來定義字符串,其中'
'是必須的char
str1[]
=
{'s',
't',
'r',
'1',
};
以下敘述中正確的是()。
A:語句
char
a[2]
=
{"A",
"B"};
是合法的,定義了一個包含兩個字符的數(shù)組B:語句int
a[8]
=
{0};
是合法的C:語句
int
a[]
=
{0};是不合法的,遺漏了數(shù)組的大小D:語句
char
a[3];
a
=
"AB";
是合法的,因為數(shù)組有三個字符空間的容量,可以保存兩個字符
答案:語句int
a[8]
=
{0};
是合法的
以下敘述中正確的是()。
A:對于字符串常量
"string!",系統(tǒng)已自動在最后加入了''字符,表示串結(jié)尾B:在語句char
str[]
=
"string!";中,數(shù)組str的大小等于字符串的長度C:語句
char
str[10]
=
"string!";
和
char
str[10]
=
{"string!"};
并不等價D:對于一維字符數(shù)組,不能使用字符串常量來賦初值
答案:對于字符串常量
"string!",系統(tǒng)已自動在最后加入了'\0'字符,表示串結(jié)尾
以下選項中,沒有編譯錯誤的是()。
A:char
str4[];
str4
=
"hello
world";B:char
str1[5]
=
"pass",
str2[6];
str2
=
str1;C:char
str3[]
=
{'d',
'e',
'b',
'u',
'g',
''};D:char
name[10];
name
=
"china";
答案:char
str3[]
=
{'d',
'e',
'b',
'u',
'g',
''};
有以下程序
#include
<stdio.h>
#include
<string.h>
main()
{
char
s[]="Beijing";
printf("%d",
strlen(strcpy(
s,"China")
));
}
程序運行后的輸出結(jié)果是()。
A:12B:14C:5D:7
答案:5
有以下程序
#include
<stdio.h>
main()
{
char
b[4][10];
int
i;
for
(i=0;
i<4;
i++)
scanf("%s",
b[i]);
printf("%s%s%s%s",
b[0],b[1],b[2],b[3]);
}
執(zhí)行時若輸入:
Fig
flower
is
red.
<回車>
則輸出結(jié)果是()。
A:Fig
flower
is
red.B:Figflowerisred.C:Figflower
is
red.D:Figfloweris
red.
答案:Figflowerisred.
以下敘述中正確的是()。
A:語句
int
a[4][3]
=
{{1,2},
{4,5}};
是錯誤的初始化形式B:語句
int
a[4][3]
=
{1,2,4,5};
是錯誤的初始化形式C:在邏輯上,可以把二維數(shù)組看成是一個具有行和列的表格或矩陣D:語句
int
a[][3]
=
{1,2,4,5};
是錯誤的初始化形式
答案:在邏輯上,可以把二維數(shù)組看成是一個具有行和列的表格或矩陣
第八章測試
以下關(guān)于函數(shù)的敘述中正確的是(
)。
A:函數(shù)調(diào)用必須傳遞實參B:函數(shù)形參的類型與返回值的類型無關(guān)C:函數(shù)必須要有返回值
D:函數(shù)必須要有形參
答案:函數(shù)形參的類型與返回值的類型無關(guān)
關(guān)于C語言函數(shù)聲明的位置,以下敘述正確的是(
)。
A:函數(shù)聲明只能出現(xiàn)在源程序的開頭位置,否則編譯時會出現(xiàn)錯誤信息B:函數(shù)聲明只是為了美觀和編譯時檢查參數(shù)類型是否一致,可以寫也可以不寫C:函數(shù)聲明可以出現(xiàn)在源程序的任意位置,在程序的所有位置對該函數(shù)的調(diào)用,編譯時都不會出現(xiàn)錯誤信息D:在函數(shù)聲明之后對該函數(shù)進(jìn)行調(diào)用,編譯時不會出現(xiàn)錯誤信息
答案:在函數(shù)聲明之后對該函數(shù)進(jìn)行調(diào)用,編譯時不會出現(xiàn)錯誤信息
有以下程序
#include
<stdio.h>
int
fun(
int
a,
intB)
{
return
a+b;
}
main()
{
int
x=6,
y=7,
z=8,
r
;
r
=
fun
(
fun(x,y),
z--
);
printf
("
%d"
,
r
);
}
程序運行后的輸出結(jié)果是(
)。
A:20B:15C:31D:21
答案:21
有以下程序
#include
<stdio.h>
int
a=1,
b=2;
void
fun1(
int
a,
int
b
)
{
printf(
"%d
%d
"
,a,
b
);
}
void
fun2()
{
a=3;
b=4;
}
main()
{
fun1(5,6);
fun2(
);
printf(
"%d
%d",a,
b
);
}
程序運行后的輸出結(jié)果是(
)。
A:5
6
3
4
B:1
2
5
6
C:3
4
5
6
D:5
6
1
2
答案:5
6
3
4
以下敘述中錯誤的是(
)。
A:函數(shù)中的形參屬于局部變量B:在函數(shù)內(nèi)部定義的變量只能在本函數(shù)范圍內(nèi)使用C:在不同的函數(shù)中可以使用相同名字的變量D:在函數(shù)外部定義的變量在所有函數(shù)中都有效
答案:在函數(shù)外部定義的變量在所有函數(shù)中都有效
有以下程序
#include
<stdio.h>
void
fun(
int
a,
int
b,
int
c
)
{
a=b;
b=c;
c=a;
}
main()
{
int
a=10
,
b=20,
c=30;
fun(
a,
b,
c
);
printf("%d,%d,%d",c,b,a);
}
程序運行后的輸出結(jié)果是(
)。
A:30,20,10
B:0,0,0
C:20,30,10
D:10,20,30
答案:30,20,10
有如下程序
#include
<stdio.h>
int
sum(int
data)
{
static
int
init
=
0;
return
init
+=
data;
}
main()
{
int
i;
for
(i=1;
i<=5;
i++)
printf("%d,",
sum(i));
printf("");
}
程序運行后的輸出結(jié)果是()。
A:1,3,6,10,15,B:0,0,0,0,0,C:1,1,1,1,1,D:1,2,3,4,5,
答案:1,3,6,10,15,
若有以下程序
#include
<stdio.h>
void
f(int
x)
{
if
(x
>=
10)
{
printf("%d-",
x%10);
f(x/10);
}
else
printf("%d",
x);
}
main()
{
int
z
=
123456;
f(z);
}
則程序的輸出結(jié)果是(
)。
A:6-5-4-3-2-1
B:1-2-3-4-5-6
C:1-2-3-4-5-6-
D:6-5-4-3-2-1-
答案:6-5-4-3-2-1
有如下程序
#include
<stdio.h>
int
sub(double
a,
double
b)
{
return
(int)(a
-
b);
}
main()
{
printf("%d",
sub(3.8,
2.1));
}
程序運行后的輸出結(jié)果是(
)。
A:1
B:2.0
C:1.7
D:2
答案:1
有以下程序
#include
<stdio.h>
#define
N
4
void
fun(int
a[][N])
{
int
b[N][N],i,j;
for(i=0;
i<N;
i++)
for(j=0;
j<N;
j++)
b[i][j]
=
a[N-1-j][i];
for(i=0;
i<N;
i++)
for(j=0;
j<N;
j++)
a[i][j]
=
b[i][j];
}
main()
{
int
x[N][N]={
{1,
2,
3,
4},{5,
6,
7,
8},
{9,10,11,12},{13,14,15,16}
},i;
fun(x);
fun(x);
for
(i=0;i<N;
i++)
printf("%d,",
x[i][i]);
printf("");
}
程序的運行結(jié)果是(
)。
A:
13,10,7,4,
B:1,6,11,16,
C:4,7,10,13,
D:16,11,6,1,
答案:16,11,6,1,
第九章測試
以下敘述中正確的是()
A:雖然包含文件被修改了,包含該文件的源程序也可以不重新進(jìn)行編譯和連接B:#include命令行不能出現(xiàn)在程序文件的中間C:在包含文件中,不得再包含其他文件D:在一個程序中,允許使用任意數(shù)量的#include命令行
答案:在一個程序中,允許使用任意數(shù)量的#include命令行
以下敘述正確的是()。
A:一個源文件中可以包含多個文件,每個文件的包含單獨寫一個#include行B:一個#include行可以包含多個文件,文件名用逗號分開C:#include<stdio.h>是C程序的一條語句D:一個#include行可以包含多個文件,且最后一個文件起作用
答案:一個源文件中可以包含多個文件,每個文件的包含單獨寫一個#include行
有以下程序
#include
<stdio.h>
#define
S(x)
x*x
main()
{
int
k=5,
j=2;
printf("%d,%d",
S(k+j+2),S(j+k+2));
}
程序的運行結(jié)果是()
A:18,18B:21,18
C:81,81D:21,21
答案:21,18
有如下程序
#include
<stdio.h>
#define
D(x)
4*x+1
main()
{
int
i
=
2,
j
=
4;
printf("%d",
D(i+j));
}
程序運行后的輸出結(jié)果是()
A:9B:25C:13D:12
答案:13
有以下宏定義及調(diào)用
#define
HA
2
#define
HB(a)
(HA+1)*a
...
x=HA*(HA+HB(2));
則以下判斷正確的是()。
A:x的值是16B:宏定義不允許嵌套C:宏調(diào)用不允許嵌套D:x的值是6
答案:x的值是16
第十章測試
有如下程序段
int
*p,
a=1;
p=&a;
*p=10;
則變量a的值為________。
A:不能確定B:10C:11D:1
答案:10
變量的指針,其含義是指該變量的_________
A:值
B:名
C:一個標(biāo)志
D:地址
答案:地址
關(guān)于數(shù)組和指針,以下說法錯誤的是_______.
A:可以讓一個指針指向一個同類型的數(shù)組
B:既可以讀入數(shù)據(jù)到數(shù)組中,也可以讀入數(shù)據(jù)到未賦初值的指針中
C:數(shù)組名本身就是一個指針,指向數(shù)組內(nèi)存的起始位置
D:指針可以指向同類型的數(shù)組中的任意一個元素
答案:既可以讀入數(shù)據(jù)到數(shù)組中,也可以讀入數(shù)據(jù)到未賦初值的指針中
若有以下定義,則對a數(shù)組元素的正確引用是_________.
inta[5],*p=a;
A:
a+2
B:*&a[5]
C:*(p+5)
D:*(a+2)
答案:*(a+2)
有如下程序
#include
<stdio.h>
intmain()
{
int
i,
*ptr;
int
array[3]
=
{8,2,4};
for
(ptr=array,
i=0;
i<2;
i++)
printf("%d,",
*ptr++);
printf("");return0;
}
程序運行后的輸出結(jié)果是_______.
A:2,4,
B:8,2,
C:4,8,
D:8,8,
答案:8,2,
指向一個包含4個整型元素的一維數(shù)組的行指針變量的定義形式為_______.
A:int*(p[])
B:int*p[4]
C:
int(*p)[4]D:
int(*p)[]
答案:
int(*p)[4]
若有定義:inta[2][3];則對a數(shù)組的第i行第j列元素值的正確引用是______.
A:(a+i)[j]
B:*(*(a+i)+j)C:*(a+i+j)
D:*(a+i)+j
答案:*(*(a+i)+j)
下面程序段的運行結(jié)果是_______.chara[]="language",*p;p=a;
while(*p!='u'){printf("%c",*p-32);p++;}
A:language
B:langUAGE
C:LANG
D:LANGUAGE
答案:LANG
設(shè)有定義:char*cc[2]={"1234","5678"};則正確的敘述是_______.
A:cc數(shù)組的兩個元素分別存放的是含有4個字符的一維字符數(shù)組的首地址
B:cc數(shù)組的兩個元素中各自存放了字符串"1234"和"5678"的首地址
C:cc是指針變量,它指向含有兩個數(shù)組元素的字符型一維數(shù)組
D:cc元素的值分別為"1234"和"5678"
答案:cc數(shù)組的兩個元素中各自存放了字符串"1234"和"5678"的首地址
已有函數(shù)max(a,b),為了讓函數(shù)指針變量p指向函數(shù)max,正確的賦值方法是_______.
A:p=max;
B:p=max(a,b);
C:*p=max;
D:*p=max(a,b);
答案:p=max;
第十一章測試
有以下程序
#include
<stdio.h>
#include
<string.h>
struct
A
{
int
a;
char
b[10];
double
c;};
void
f(struct
A
t);
main()
{
struct
A
a={1001,"ZhangDa",1098.0};
f(a);
printf("%d,%s,%6.1f",
a.a,a.b,a.c);
}
void
f(struct
A
t)
{
t.a=1002;
strcpy(t.b,"ChangRong");
t.c=1202.0;}
程序運行后的輸出結(jié)果是()
A:1001,ZhangDa,1098.0B:1001,ChangRong,1098.0C:1002,ZhangDa,1202.0D:1002,ChangRong,1202.0
答案:1001,ZhangDa,1098.0
設(shè)有定義:
struct
{char
mark[12];
int
num1;
double
num2;}
t1,t2;
若變量均已正確賦初值,則以下語句中錯誤的是()
A:t1=t2;B:t2.num1=t1.num1;C:t2.mark=t1.mark;D:t2.num2=t1.num2;
答案:t2.mark=t1.mark;
以下敘述中正確的是()
A:結(jié)構(gòu)體數(shù)組名不能作為實參傳給函數(shù)B:結(jié)構(gòu)體中可以含有指向本結(jié)構(gòu)體的指針成員C:即使是同類型的結(jié)構(gòu)體變量,也不能進(jìn)行整體賦值D:結(jié)構(gòu)體變量的地址不能作為實參傳給函數(shù)
答案:結(jié)構(gòu)體中可以含有指向本結(jié)構(gòu)體的指針成員
設(shè)有以下程序段
struct
person
{
float
weight;
char
sex;
char
name[10];
}
rec,
*ptr;
ptr
=
&rec;
從鍵盤讀入字符串給結(jié)構(gòu)體變量rec的name成員,錯誤的輸入語句是()
A:scanf("%s",
);B:scanf("%s",
ptr->name);C:scanf("%s",
rec->name);D:scanf("%s",
(*ptr).name);
答案:scanf("%s",
rec->name);
以下敘述中錯誤的是()
A:typedef說明的新類型名必須使用大寫字母,否則會出編譯錯誤B:用typedef可以說明一種新的類型名C:typedef的作用是用一個新的標(biāo)識符來代表已存在的類型名D:可以用typedef說明的新類型名來定義變量
答案:typedef說明的新類型名必須使用大寫字母,否則會出編譯錯誤
有如下程序
#include
<stdio.h>
struct
person
{
char
name[10];
int
age;
}
main()
{
struct
person
room[4]
=
{{"Zhang",
19},
{"Li",
20},
{"Wang",
17},
{"Zhao",
18}};
printf("%s:%d",
(room+2)->name,
room->age);
}
程序運行后的輸出結(jié)果是()
A:Wang:19B:Li:19C:Li:20D:Wang:17
答案:Wang:19
有以下程序
#include
<stdio.h>
typedef
struct
stu
{
char
name[10];
char
gender;
int
score;
}
STU;
void
f(STU
*a,
STU
*b)
{
*b
=
*a;
printf("%s,%c,%d,",
b->name,
b->gender,
b->score);
}
main()
{
STU
a={"Zhao",
'm',
290},
b={"Qian",
'f',
350};
f(&a,&b);
printf("%s,%c,%d",
,
b.gender,
b.score);
}
程序的運行結(jié)果是()
A:Qian,f,350,Qian,f,350B:Zhao,m,290,Zhao,m,290C:Zhao,m,290,Qian,f,350D:Qian,f,350,Zhao,m,290
答案:Zhao,m,290,Zhao,m,290
第十二章測試
若有以下程序
#include
<stdio.h>
main()
{
int
c;
c=
10^5;
printf("%d",
c);
}
則程序的輸出結(jié)果是(
)。
A:105
B:10000
C:5
D:15
答案:15
下面選項中關(guān)于位運算的敘述正確的是(
)。
A:右移運算時,高位總是補(bǔ)0B:左移運算的結(jié)果總是原操作數(shù)據(jù)2倍C:位運算的對象只能是整型或字符型數(shù)據(jù)D:位運算符都需要兩個操作數(shù)
答案:位運算的對象只能是整型或字符型數(shù)據(jù)
下面關(guān)于位運算符的敘述,正確的是(
)。
A:&表示"按位與"的運算
B:
||表示"按位或"的運算
C:#表示"按位異或"的運算
D:~表示"按位異或"的運算
答案:&表示"按位與"的運算
有以下程序
#include
<stdio.h>
main()
{
int
a=3
,b=3;
printf("%d
",a&b);
}
程序運行后的輸出結(jié)果是(
)。
A:1
B:3
C:6
D:0
答案:3
有以下程序
#include
<stdio.h>
main()
{
int
c,d;
c
=
10
|
5;
d
=
10
+
5;
printf("%d,%d",
c,
d);
}
程序的運行結(jié)果是(
)。
A:5,15
B:10,15
C:15,15D:105,15
答案:15,15
第十三章測試
以下關(guān)于fclose(fp)函數(shù)的敘述正確的是(
)。
A:只有對文件進(jìn)行輸出操作之后,才能調(diào)用fclose(fp)函數(shù)關(guān)閉文件B:只有對文件進(jìn)行輸入操作之后,才需要調(diào)用fclose(fp)函數(shù)關(guān)閉文件C:當(dāng)程序中對文件的所有寫操作完成之后,不一定要調(diào)用fclose(fp)函數(shù)關(guān)閉文件D:當(dāng)程序中對文件的所有寫操作完成之后,必須調(diào)用fclose(fp)函數(shù)關(guān)閉文件
答案:當(dāng)程序中對文件的所有寫操作完成之后,必須調(diào)用fclose(fp)函數(shù)關(guān)閉文件
以下敘述正確的是(
)。
A:fopen函數(shù)的返回值必須賦給一個任意類型的指針變量B:在C語言中調(diào)用fopen函數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河北省秦皇島市撫寧區(qū)2025-2026學(xué)年八年級上學(xué)期1月期末考試道德與法治試卷(含答案)
- 2025-2026學(xué)年廣東省佛山市禪城區(qū)九年級(上)期末數(shù)學(xué)試卷(含部分答案)
- 2026年航天航空專業(yè)知識預(yù)測試題集及答案
- 黃岡2025年湖北黃州中學(xué)招聘教師筆試歷年參考題庫附帶答案詳解
- 邯鄲2025年河北邯鄲磁縣事業(yè)單位招聘230人筆試歷年參考題庫附帶答案詳解
- 蘇州江蘇蘇州市公安局蘇州高新區(qū)分局招聘警務(wù)輔助人員300人筆試歷年參考題庫附帶答案詳解
- 山東2025年山東省疾病預(yù)防控制中心初級崗位招聘17人筆試歷年參考題庫附帶答案詳解
- 大理云南大理彌渡縣交通運輸局招聘公益性崗位人員筆試歷年參考題庫附帶答案詳解
- 2026年企業(yè)戰(zhàn)略管理企業(yè)經(jīng)營管理者進(jìn)階測試題
- 2026年大學(xué)講師教學(xué)團(tuán)隊效率評估測試題
- 四川省遂寧市2026屆高三上學(xué)期一診考試英語試卷(含答案無聽力音頻有聽力原文)
- 福建省寧德市2025-2026學(xué)年高三上學(xué)期期末考試語文試題(含答案)
- 建筑施工行業(yè)2026年春節(jié)節(jié)前全員安全教育培訓(xùn)
- 2026屆高考語文復(fù)習(xí):小說人物形象復(fù)習(xí)
- 2026及未來5年中國防病毒網(wǎng)關(guān)行業(yè)市場全景調(diào)查及發(fā)展前景研判報告
- 2026年山東省煙草專賣局(公司)高校畢業(yè)生招聘流程筆試備考試題及答案解析
- 八年級下冊《昆蟲記》核心閱讀思考題(附答案解析)
- 2025年中職藝術(shù)設(shè)計(設(shè)計理論)試題及答案
- 2026屆高考?xì)v史二輪突破復(fù)習(xí):高考中外歷史綱要(上下兩冊)必考??贾R點
- 鐵路交通法律法規(guī)課件
- 2025年體育行業(yè)專家聘用合同范本
評論
0/150
提交評論