全國計算機等級考試二級C語言(山東聯(lián)盟)智慧樹知到期末考試答案2024年_第1頁
全國計算機等級考試二級C語言(山東聯(lián)盟)智慧樹知到期末考試答案2024年_第2頁
免費預覽已結束,剩余3頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

全國計算機等級考試二級C語言(山東聯(lián)盟)智慧樹知到期末考試答案2024年全國計算機等級考試二級C語言(山東聯(lián)盟)有以下程序#include

main(){

int

i=1,

j=3;

printf("%d,"

,i++

);

{

int

i=0;

i+=j*2;

printf("%d,%d,"

,i,j

);

}

printf("%d,%d"

,i,j

);}程序運行后的輸出結果是(

)。

A:1,6,3,2,3

B:1,6,3,1,3

C:1,6,3,6,3D:1,7,3,2,3答案:1,6,3,2,3以下選項中,合法的C語言實數(shù)是(

)。

A:E09B:.2e1C:1.23ED:3.1e3.1答案:.2e1有如下程序#include

main()

{

char

ch

=

'M';

while

(ch

!=

'K')

{

ch

--;

putchar(ch);

}

printf("");}程序運行后的輸出結果是(

A:MMB:OPC:LKD:MN答案:LK有以下程序#include

main(

){

int

a,b;

for

(a=0;

a<3;

a++)

{

scanf("%d",

&b);

switch(b)

{

default:

printf("%d,",

b++);

case

1:

printf("%d,",

b++);

case

2:

printf("%d,",

b++);

}

}}程序運行時輸入:1

2

3,則輸出結果是(

A:1,2,3,B:1,2,2,3,4,5,C:1,1,1,2,2,3D:1,2,3,2,3,3,答案:1,2,2,3,4,5有以下程序#include

main(){

int

a=0,

b=0;

for(

;a<5;

a++

)

{

if

(a%2==0)

continue;

b+=a;

}

printf("%d

",

b);}程序的運行結果是()

A:4B:10C:0D:15答案:4有如下程序#include

#include

struct

S{

char

name[10];};void

change(struct

S

*data,

int

value){

strcpy(data->name,

"****");

value

=

13;}main()

{

struct

S

input;

int

num

=

4;

strcpy(,

"THIS");

change(&input,

num);

printf("%s,%d",

,

num);}程序運行后的輸出結果是()

A:THIS,4B:****,13C:THIS,13D:****,4答案:****,4有以下程序intmain(){

int

a=1,b=3,c=5;int

*p1=&a,*p2=&b,*p=&c;*p=*p1*(*p2);printf("%d\n",c);return0;}執(zhí)行后的輸出結果是________。

A:1B:3C:4D:2答案:3關于C語言的變量,以下敘述中錯誤的是(

A:變量所占的存儲單元地址可以隨時改變B:所謂變量是指在程序運行過程中其值可以被改變的量C:程序中用到的所有變量都必須先定義后才能使用D:由三條下劃線構成的符號名是合法的變量名答案:變量所占的存儲單元地址可以隨時改變有以下程序

#include

main()

{

double

x=2.0,

y;

if(

x<0.0

)

y=0.0;

else

if(

(x<5.0)

&&

(!x)

)

y=1.0

/

(

x+2.0

);

else

if(

x<10.0

)

y=1.0

/

x;

else

y=10.0;

printf("

%f

",

y

);

}程序運行后的輸出結果是(

)

A:1.000000B:0.250000C:0.000000D:0.500000答案:0.500000以下選項中,與n=i++

完全等價的表達式是(

A:n=i,i=i+1B:n=++iC:i=i+1,n=iD:n+=i+1

答案:n=i,i=i+1下面關于編譯預處理的命令行中,正確的是()。

A:#defineintINTB:##defineeps0.001C:#defineE2.88D:##DEFINETRUE答案:defineE2.88設變量n已正確定義并賦值,以下不能實現(xiàn)自然數(shù)1到n累加求和的程序段是()。

A:intsum=1,i=1;while(i答案:int有以下程序

#include

main()

{

char

x=2,

y=2,

z;

z=(

y<<1

)&(

x>>1

);

printf(

"%d",z

);

}程序的輸出結果是(

)。

A:4B:0C:8D:1答案:0設有兩行定義語句:

int

scanf;

float

case;

則以下敘述正確的是(

A:兩行定義語句都合法B:第1行語句不合法C:兩行定義語句都不合法D:第2行語句不合法答案:第2行語句不合法有以下程序

#include

void

fac2(int

);

void

fac1(int

n)

{

printf("*");

if(n>0)

fac2(n-1);

}

void

fac2(int

n)

{

printf("#");

if(n>0)

fac2(--n);

}

main()

{

fac1(3);

}

程序的運行結果是(

)。

A:*##*B:*###

C:*#*#D:**##答案:*###有以下程序#include

int

fun(intA){

int

b=0;

static

int

c=3;

a

=(

c++,b++);

return

(

a

);}main(){

int

a

=

2,

i,

k;

for(

i=0;

i<2;

i++

)

k

=

fun(a++);

printf(

"%d",k

);}程序的輸出結果是(

)。

A:2B:1C:4D:0答案:0以下程序用來統(tǒng)計文件中字符的個數(shù)(函數(shù)feof用以檢查文件是否結束,結束時返回非零)

#include

intmain()

{

FILE

*fp;

long

num=0;

fp=fopen("fname.dat","r");

while(

__________

){

fgetc(fp);

num++;}

printf("num=%d",num);

fclose(

fp

);

return0;

}下面選項中,填入橫線處不能得到正確結果的是(

)。

A:

feof(fp)

B:

!feof(fp)C:feof(fp)==0D:feof(fp)==NULL

答案:feof(fp)有如下程序#include

int

sum_mod(int

a,

int

b){

return

a

+

b

%

2;}main(

)

{

int

i;

for

(i=0;

i<5;

i++)

printf("%d",

sum_mod(i,

4));

printf("");}程序運行后的輸出結果是(

)。

A:45678B:01234C:12345D:43210答案:01234關于C語言的變量名,以下敘述正確的是(

A:變量名必須以字母開頭B:變量名不可以與關鍵字同名C:變量名是沒有長度限制的D:變量名不可以與預定義標識符同名答案:變量名不可以與關鍵字同名若有定義語句:int

year=2009,

*p=&year;以下不能使變量year中的值增至2010的語句是_______.

A:*p+=1;B:(*p)++;C:++(*p);

D:*p++;

答案:*p++設a、b、c是已定義的整型變量且已正確賦初值,以下賦值語句中,錯誤的是(

)。

A:a=(b=3)=1;B:a=0+(b=c=0);C:a=b=c+0;D:a=(b=0)+c+0;答案:a=(b=3)=1;有以下程序#include

int

a=2;int

f(){

static

int

n=0;

int

m=0;

n++;

a++;

m++;

return

n+m+a;}main(){

int

k;

for

(k=0;

k<3;

k++)

printf("%d,",

f(

));

printf("");}程序的運行結果是(

)。

A:

5,6,7,

B:5,7,9,

C:5,5,5,D:5,8,11,答案:5,7,9,有以下程序

#include

main()

{

int

sum,

pad,

pAd;

sum

=

pad

=

5;

pAd

=

++sum,

pAd++,

++pad;

printf("%d",

pad

);}程序的輸出結果是(

A:8B:6C:5D:7答案:6若有定義:int

a,

b,

c;

以下選項中的賦值語句正確的是(

A:a

=

(b

==

c)

=

1;B:a

+

b

=

c;C:a

=

(b

=

c)

+

1;

D:(a

=

b)

=

c

=

1;答案:a若有以下程序

#include

typedef

struct

stu

{

char

name[10],

gender;

int

score;

}

STU;

void

f(STU

a,

STUB)

{

b

=

a;

printf(

"%s,%c,%d,",

,

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);}則程序的輸出結果是()

A:Zhao,m,290,Zhao,f,350B:Qian,f,350,Qian,f,350C:Zhao,m,290,Qian,f,350D:Zhao,m,290,

Zhao,m,290答案:Zhao,m,290,Qian,f,350若有定義語句:int

a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;,以下選項中錯誤引用a數(shù)組元素的是_______.(其中

0≤i<10)

A:a[

p-a

]

B:*(

&a[i]

)C:

*(*(a+i))

D:p[i]

答案:*(*(a+i))有以下程序#include

void

func(

int

n

){

static

int

num

=

1;

num

+=

n;

printf("%d

",

num);}main(){

func(3);

func(4);

printf("");

}程序運行后的輸出是(

)。

A:3

5B:4

8C:3

4D:

4

5

答案:8若有定義:char

c;

int

d;

程序運行時輸入:c=1,d=2,能把字符1輸入給變量c、整數(shù)2輸入給變量d的輸入語句是(

)

A:

scanf("c=%d

d=%d",

&c,&d);B:scanf("c=%c

d=%d",

&c,&d);C:scanf("c=%c,d=%d",

&c,&d);D:scanf("c=%d,d=%d",

&c,&d);答案:scanf(“c=%c,d=%d”,有以下程序

#include

struct

STU{

char

name[9];

char

sex;

int

score[2];

};

void

f(

struct

STU

a[]

)

{

struct

STU

b

=

{"Zhao",

'm',

85,

90};

a[1]

=

b;

}

main()

{

struct

STU

c[2]={

{"Qian",

'f',

95,

92},

{"Sun",

'm',

98,

99}

};

f(c);

printf(

"%s,%c,%d,%d,",

c[0].name,

c[0].sex,

c[0].score[0],

c[0].score[1]

);

printf(

"%s,%c,%d,%d",

c[1].name,

c[1].sex,

c[1].score[0],

c[1].score[1]

);

}程序運行后輸出結果是()

A:Zhao,m,85,90,Qian,f,95,92B:Qian,f,95,92,Sun,m,98,99C:Qian,f,95,92,Zhao,m,85,90D:Zhao,m,85,90,Sun,m,98,99答案:Qian,f,95,92,Zhao,m,85,90若有以下程序

#include

#define

S(x)

x*x

#define

T(x)

S(x)*S(x)

main()

{

int

k=5,

j=2;

printf("%d,%d",

S(k+j),T(k+j));

}則程序的輸出結果是()

A:17,37B:49,2401C:17,289D:49,289答案:17,37設有定義:int

a,b;

float

x,y;

,則以下選項中對語句所作的注釋敘述錯誤的是(

)

A:scanf("Input:%d%d",&a,&b);

/*

格式串中允許加入格式符以外的字符串

*/B:

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

/*

多余的格式符%f完全不起作用

*/C:scanf("%d%f%d",&a,&b,&x);

/*

輸入項與格式符類型不匹配,變量b和x得不到正確的輸入數(shù)據(jù)

*/D:

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

/*

多余的輸入項不能獲得輸入數(shù)據(jù)

*/答案:AI參考:正確選項是B:scanf("%d%d%f",&a,&b);

/*多余的格式符%f完全不起作用*/。\n\n解釋如下:\n\n首先,我們來看下題目的輸入和輸出:\n\n\n```bash\nint&a,b;\nfloatx,y;\nscanf("%d%d%f",&a,&b);\n```\n這里的scanf函數(shù)用來從標準輸入中讀取數(shù)據(jù)并存儲到變量中。題目給出的選項中,只有選項B的注釋描述是錯誤的。\n\n選項A的注釋描述是正確的,格式串中允許加入格式符以外的字符串,因為scanf函數(shù)在解析輸入數(shù)據(jù)時,會按照格式串中的格式符進行解析,如果格式符與輸入數(shù)據(jù)不匹配,則會按照默認方式進行解析。\n\n選項C的注釋描述也是正確的,輸入項與格式符類型不匹配,變量b和x得不到正確的輸入數(shù)據(jù),這是因為輸入項中的第一個%d是int類型的格式符,第二個%f是float類型的格式符,而變量b和x的類型分別為int和float,所以需要確保輸入數(shù)據(jù)的類型與格式符匹配。\n\n選項D的注釋描述也是正確的,多余的輸入項

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論