2023年二級C語言100道經典選擇題及答案_第1頁
2023年二級C語言100道經典選擇題及答案_第2頁
2023年二級C語言100道經典選擇題及答案_第3頁
2023年二級C語言100道經典選擇題及答案_第4頁
2023年二級C語言100道經典選擇題及答案_第5頁
已閱讀5頁,還剩42頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

【1.1】如下不對旳C語言標識符是____。

A)

int

B)

a_1_2

C)

ab1exe

D)

_x【1.2】如下是對旳C語言標識符是____。

A)

#define

B)

_123

C)

%d

D)

\n【1.3】下列四組字符串中都可以用作C語言程序標識符一組是

。

A)

print

B)

i\amC)

PxqD)

str_l

_3done_half

My->book

Cpp



oodbstart$itline#pow



aBc

3paiHis.agewhile【1.4】下面各選項組中,均是C語言關鍵字組是

。

A)

auto,enum,include

B)

switch,typedef,continue

C)

signed,union,scanf

D)

if,struct,type【1.5】下列不屬于C語言關鍵字是

。

A)

default

B)

register

C)

enum

D)

external【1.6】C語言程序從main()函數開始執行,因此這個函數要寫在____。

A)

程序文獻開始

B)

程序文獻最終

C)

它所調用函數前面

D)

程序文獻任何位置【1.7】下列有關C語言論述錯誤是____

A)

大寫字母和小寫字母意義相似

B)

不一樣類型變量可以在一種體現式中

C)

在賦值體現式中等號(=)左邊變量和右邊值可以是不一樣類型

D)

同一種運算符號在不一樣場所可以有不一樣含義【1.8】在C語言中,錯誤int類型常數是

A)

32768

B)

0

C)

037

D)

0xAF【1.9】執行語句

printf("%x",-1);屏幕顯示____。

A)

-1

B)

1

C)

-ffff

D)

ffff【1.10】已知

long

i=32768;執行語句printf("%d",i);屏幕顯示____。

A)

-1

B)

-32768

C)

1

D)

32768【1.11】已知

long

i=65539;執行語句printf("%d",i);屏幕顯示____。

A)

65539

B)

-3

C)

3

D)

程序不能執行【1.12】在C語言中,整數-8在內存中存儲形式是

。

A)

1111

1111

1111

1000

B)

1000

0000

0000

1000

C)

0000

0000

0000

1000

D)

1111

1111

1111

0111【1.13】C語言中字符型(char)數據在內存中存儲形式是____。

A)

原碼

B)

補碼

C)

反碼

D)

ASCII碼【1.14】將字符g賦給字符變量c,對旳體現式是

。

A)

c=\147

B)

c="\147"

C)

c=’\147’

D)

c=’0147’【1.15】下列轉義字符中錯誤一種是____。

A)

’\000’

B)

’\0014’

C)

’\x111’

D)

’\2’【1.16】將空格符賦給字符變量c,對旳賦值語句是____。

A)

c=’\0’

B)

c=NULL

C)

c=0

D)

c=32【1.17】已知:char

a=’\70’;則變量a中

。

A)

包括1個字符

B)

包括2個字符

C)

包括3個字符

D)

闡明非法【1.18】字符串"\"EOF\n=-\61\""長度是____。

A)

8

B)

9

C)

14

D)

非法字符串【1.19】字符串""長度是____。

A)

0

B)

1

C)

2

D)

非法字符串【1.20】已知:char

a;int

b;float

c;double

d;執行語句"c=a+b+c+d;"后,變量c數據類型是

。

A)

int

B)

char

C)

float

D)

double【1.21】溫度華氏和攝氏關系是:

C=5/9*(F-32)。已知:float

C,F;由華氏求攝氏對旳賦值體現式是____。

A)

C=5/9(F-32)

B)

C=5*(F-32)/9

C)

C=5/9*(F-32)

D)

三個體現式都對旳【1.22】逗號體現式"(a=3*5,a*4),a+15"值是____。

A)

15

B)

60

C)

30

D)

不確定【1.23】假如int

a=1,b=2,c=3,d=4;則條件體現式"a<b?a:c

A)

1

B)

2

C)

3

D)

4【1.24】為求出s=10!值,則變量s類型應當為

A)

int

B)

unsiged

C)

long

D)

以上三種類型均可【1.25】已知int

i=10;體現式"20-0<=i<=9"值是____。

A)

0

B)

1

C)

19

D)

20【1.26】已知int

x=1,y;執行下述語句后變量x值是____。

y=++x>5&&++x<10;

A)

1

B)

2

C)

3

D)

4【1.27】為判斷字符變量c值不是數字也不是字母時,應采用下述體現式____。

A)

c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122

B)

!(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122)

C)

c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122

D)

!(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122)【1.28】已知

int

a[3][2]={3,2,1};

則體現式"a[0][0]/a[0][1]/a[0][2]"值是____。

A)

0.166667

B)

1

C)

0

D)

錯誤體現式【1.29】已知

int

x=1,y=1,z=1;

體現式"x+++y+++z++"值是____。

A)

3

B)

4

C)

5

D)

體現式錯誤【1.30】用十進制體現體現式"12|012"值是____。

A)

1

B)

0

C)

12

D)

14【1.31】已知如下程序段:

int

a=3,b=4;

a=a^b;0011

0100

0111

b=b^a;0100

0011

0111

0100

a=a^b;

則執行以上語句后a和b值分別是____。

A)

a=3,b=4

B)

a=4,b=3

C)

a=4,b=4

D)

a=3,b=3【1.32】在位運算中,操作數每右移一位,其成果相稱于____。

A)

操作數乘以2

B)

操作數除以2

C)

操作數除以16

D)

操作數乘以16【1.33】已知

char

a=222;執行語句a=a&052;后,變量a值是____。

A)

222

B)

10

C)

244

D)

254【1.34】已知二進制數a是00101101,假如想通過整型變量b與a做異或運算,使變量a高4位取反,低4位不變,則二進制數b值應是____。

A)

11110000

B)

00001111

C)

11111111

D)

00000000【1.35】已知

int

a=15,執行語句a=a<<2后來,變量a值是____。

A)

20

B)

40

C)

60

D)

80【1.36】已知int

x=5,y=5,z=5;執行語句x%=y+z;后,x值是____。

A)

0

B)

1

C)

5

D)

6【1.37】使用語句scanf("x=%f,y=%f",&x,&y);輸入變量x、y值(□代表空格),對旳輸入是____。

A)

1.25,2.4

B)

1.25□2.4

C)

x=1.25,y=2.4

D)

x=1.25□y=2.4【1.38】下列循環語句中有語法錯誤是____。

A)

while(x=y)

5;

B)

while(0)

;

C)

do

2;while(x==b);

D)

do

x++

while(x==10);【1.39】已知int

x=(1,2,3,4);變量x值是____。

A)

1

B)

2

C)

3

D)

4【1.40】體現式sizeof(double)是

。

A)

函數調用

B)

double型體現式

C)

int型體現式

D)

非法體現式【1.41】執行語句printf("2:%d,",printf("1:%d,",scanf("%d,",&x)));后來輸出成果是____。

A)

2:1,1:1,

B)

1:1,2:1,

C)

2:4,1:1

D)

1:1,2:4,【1.42】已知:int

x,y;double

z;則如下語句中錯誤函數調用是

。

A)

scanf

("%d,%lx,%le",&x,&y,&z);

B)

scanf

("-*%d%lf",&x,&y,&z);

C)

scanf

("%x%*d%o",&x,&y);

D)

scanf

("%x%o%6.2f",&x,&y,&z);【1.43】與條件體現式"(n)?(c++):(c--)"中體現式(n)等價體現式是____。

A)

(n==0)

B)

(n==1)

C)

(n!=0)

D)

(n!=1)【1.44】已知int

i=1,j=0;執行下面語句后j值是____。

while(i)

switch(i)

{

case

1:

i+=1;j++;break;

case

2:

i+=2;j++;break;

case

j3:

i+=3;++;break;

default:

i--;j++;break;

}

A)

1

B)

2

C)

3

D)

死循環【1.45】求取滿足式

12+22+32+

……

+n2

≤1000n,對旳語句是____。

A)

for(i=1,s=0;(s=s+i*i)<=1000;n=i++)

;

B)

for(i=1,s=0;(s=s+i*i)<=1000;n=++i)

;

C)

for(i=1,s=0;(s=s+i*++i)<=1000;n=i)

D)

for(i=1,s=0;(s=s+i*i++)<=1000;n=i)

;【1.46】下面for語句

。

for(x=0,y=10;(y>0)&&(x<4);x++,y--

)

A)

是無限循環

B)

循環次數不定

C)

循環執行4次

D)

循環執行3次【1.47】已知int

i=1;

執行語句while

(i++<4)

;后,變量i值為____。

A)

3

B)

4

C)

5

D)

6【1.48】已知int

x=12,y=3;執行下述程序后,變量x值是____。

do

{

x/=y--;

}while(x>y);

A)

1

B)

2

C)

3

D)

程序運行有錯誤【1.49】已知

char

a[][20]={"Beijing","shanghai","tianjin","chongqing"}

;

語句printf("%c",a[30]);輸出是____。

A)

<空格>

B)

n

C)

不定

D)

數組定義有誤【1.50】若用數組名作為函數調用時實參,則實際上傳遞給形參是

A)

數組首地址

B)

數組第一種元素值

C)

數組中所有元素值

D)

數組元素個數【1.51】對二維數組對旳闡明是____。

A)

int

a[][]={1,2,3,4,5,6};

B)

int

a[2][]={1,2,3,4,5,6};

C)

int

a[][3]={1,2,3,4,5,6};

D)

int

a[2,3]={1,2,3,4,5,6};【1.52】對字符數組s賦值,不合法一種是____。

A)

char

s[]="Beijing";

B)

char

s[20]={"beijing"};

C)

char

s[20];s="Beijing";

D)

char

s[20]={’B’,’e’,’i’,’j’,’i’,’n’,’g’};【1.53】對字符數組str賦初值,str不能作為字符串使用一種是____。

A)

char

str[]="shanghai";

B)

char

str[]={"shanghai"};

C)

char

str[9]={’s’,’h’,’a’,’n’,’g’,’h’,’a’,’i’};

D)

char

str[8]={

’s’,’h’,’a’,’n’,’g’,’h’,’a’,’i’};選項缺乏字符串結束標志?!?.54】對函數形參闡明有錯誤是____。

A)

int

a(float

x[],int

n)

B)

int

a(float

*x,int

n)

C)

int

a(float

x[10],int

n)

D)

int

a(float

x,int

n)此處函數形參是一種指針變量,接受實參地址,而不是一種數組?!?.55】假如一種變量在整個程序運行期間都存在,不過僅在闡明它函數內是可見,這個變量存儲類型應當被闡明為____。

A)

靜態變量

B)

動態變量

C)

外部變量

D)

內部變量【1.56】在一種C源程序文獻中,若要定義一種只容許在該源文獻中所有函數使用變量,則該變量需要使用存儲類別是

A)

extern

B)

register

C)

auto

D)

static【1.57】在C語言中,函數數據類型是指____。

A)

函數返回值數據類型

B)

函數形參數據類型

C)

調用該函數時實參數據類型

D)

任意指定數據類型【1.58】已知如下定義函數:

fun1(a)

{

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

}

則該函數數據類型是____。

A)

與參數a類型相似

B)

void型

C)

沒有返回值

D)

無法確定【1.59】定義一種函數實現互換x和y值,并將成果對旳返回??梢詫崿F此功能是____。

A)

swapa(int

x,int

y)

函數swapa是值傳遞,函數執行成果不能返回

B)

swapb(int

*x,int

*y)

{

int

temp;

{

int

temp;

temp=x;x=y;y=temp;

temp=x;x=y;y=temp;

}

}

C)

swapc(int

*x,int

*y)

D)

swapd(int

*x,int

*y)

{

int

temp;

{

int

*temp;

temp=*x;*x=*y;*y=temp;

temp=x;x=y;y=temp;

}

}【1.60】求一種角正弦函數值平方??梢詫崿F此功能函數是____。

A)

sqofsina(x)

float

x;

{

return(sin(x)*sin(x));

}

B)

double

sqofsinb(x)

float

x;

{

return(sin((double)x)*sin((double)x));

}

C)

double

sqofsinc(x)

{

return(((sin(x)*sin(x));

}

D)

sqofsind(x)

float

x;

{

return(double(sin(x)*sin(x)));【1.61】一種函數內有數據類型闡明語句如下:

double

x,y,z(10);

有關此語句解釋,下面說法對旳是____。

A)

z是一種數組,它有10個元素。

B)

z是一種函數,小括號內10是它實參值。

C)

z是一種變量,小括號內10是它初值。

D)

語句中有錯誤?!?.62】已知函數定義如下:

float

fun1(int

x,int

y)

{

float

z;

z=(float)x/y;

return(z);

}

主調函數中有int

a=1,b=0;可以對旳調用此函數語句是____。

A)

printf("%f",fun1(a,b));

B)

printf("%f",fun1(&a,&b));

C)

printf("%f",fun1(*a,*b));

D)

調用時發生錯誤(y不能為0)

【1.63】下面函數功能是____。

a(s1,s2)

char

s1[],s2[];

{

while(s2++=s1++)

}

A)

字符串比較

B)

字符串復制

C)

字符串連接

D)

字符串反向【1.64】在下列結論中,只有一種是錯誤,它是

。

A)

C語言容許函數遞歸調用

B)

C語言中continue語句,可以通過變化程序構造而省略

C)

有些遞歸程序是不能用非遞歸算法實現

D)

C語言中不容許在函數中再定義函數【1.65】已知:int

a,

*y=&a;則下列函數調用中錯誤是

。

A)

scanf("%d",

&a);

B)

scanf("%d",

y);

C)

printf("%d",

a);

D)

printf("%d",

y);【1.66】闡明語句"int

(*p)(

);"含義是

A)

p是一種指向一維數組指針變量

B)

p是指針變量,指向一種整型數據

C)

p是一種指向函數指針,該函數返回值是一種整型

D)

以上都不對【1.67】設有闡明int

(*p)[4];其中標識符p是

。

A)

4個指向整型變量指針變量

B)

指向4個整型變量函數指針

C)

一種指向具有4個整型元素一維數組指針

D)

具有4個指向整型變量指針元素一維指針數組【1.68】已知:char

s[10],

*p=s,則在下列語句中,錯誤語句是

。

A)

p=s+5;

B)

s=p+s;

C)

s[2]=p[4];

D)

*p=s[0];【1.69】已知:char

s[100];int

i;則引用數組元素錯誤形式是

。

A)

s[i+10]

B)

*(s+i)

C)

*(i+s)

D)

*((s++)+i)【1.70】已知:char

s[6],

*ps=s;則對旳賦值語句是

。

A)

s="12345";

B)

*s="12345";

C)

ps="12345";

D)

*ps="12345";【1.71】已知:char

a[3][10]={"BeiJing","ShangHai","TianJin"},

*pa=a;不能對旳顯示字符串"ShangHai"語句是

。

A)

printf("%s",a+1);

B)

printf("%s",*(a+1));

C)

printf("%s",*a+1);

D)

printf("%s",&a[1][0]);【1.72】已知:int

a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};

int

(*ptr)[3]=a,*p=a[0];

則如下可以對旳體現數組元素a[1][2]體現式是

。

A)

*(*(a+1)+2)

B)

*(*(p+5))

C)

(*ptr+1)+2

D)

*((ptr+1)[2])【1.73】已知:int

a[

]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a;則值為3體現式是

。

A)

p+=2,*(p++)

B)

p+=2,*++p

C)

p+=2,*p++

D)

p+=2,++*p【1.74】已知:int

a[]={1,2,3,4},

y,

*p=a;則執行語句y

=

(*++p)--;之后,

數組a各元素值變為______。

A)

0,1,3,4

B)

1,1,3,4

C)

1,2,2,4

D)

1,2,3,3

變量y值是____。

A)

1

B)

2

C)

3

D)

4

【1.75】已知:int

a[

]={1,3,5,7},

y

*p=

a;為使變量y值為3,下列語句對旳是____。

A)

y=++*p++;

B)

y=++(*p++);

C)

y=(++*p)++;

D)

y=(*++p)++;【1.76】已知:int

x[

]={

1,3,5,7,9,11

},*ptr=x;則可以對旳引用數組元素語句是

。

A)

x

B)

*(ptr--)

C)

x[6]

D)

*(--ptr)【1.77】函數功能是互換變量x和y中值,且通過對旳調用返回互換成果。能對旳執行此功能函數是

。

A)

funa

(int

*x,

int

*y)

B)

funb

(int

x,

int

y)

{

int

*p;

{

int

t;

p=x;*x=*y;*y=*p;

t=x;x=y;y=t;

}

}

C)

func

(int

*x,

int

*y)

D)

func

(int

*x,

int

*y)

{

*x=*y;*y=*x;

{

*x=*x+*y;*y=*x-*y;*x=*x-*y;

}

}【1.78】有定義如下:

struct

sk

{

int

a;

float

b;

}data

,*p;

假如

p=&data;則對于構造變量data組員a對旳引用是____。

A)(*).data.a

B)

(*p).a

C)

p->data.a

D)

p.data.a【1.79】已知:

struct

st

{

int

n;

struct

st

*next;

};

static

struct

st

a[3]={1,&a[1],3,&a[2],5,&a[0]},*p;

假如下述語句顯示是2,則對p賦值是____。

printf("%d",++(p->next->n));

A)

p=&a[0];

B)

p=&a[1];

C)

p=&a[2];

D)

p=&a[3];【1.80】已知:

struct

person

{

char

name[10];

int

age;

}class[10]={"LiMing",29,"ZhangHong",21,"WangFang",22};

下述體現式中,值為72一種是____。

A)

class[0]->age

+

class[1]->age+

class[2]->age

B)

class[1].name[5]

C)

person[1].name[5]

D)

clase->name[5]【1.81】已知:

struct

{

int

i;

char

c;

float

a;

}test;

則sizeof(test)值是

。

A)

4

B)

5

C)

6

D)

7【1.82】已知:

union

{

int

i;

char

c;

float

a;

}test;

則sizeof(test)值是

。

A)

4

B)

5

C)

6

D)

7【1.83】已知:

union

u_type

{

int

i;

char

ch;

float

a;

}temp;

目前執行"temp.i=266;printf("%d",temp.ch)"成果是

。

A)

266

B)

256

C)

10

D)

1【1.84】若有如下程序段:

struct

dent

{

int

n;

int

*m;

};

int

a=1,b=2,c=3;

struct

dent

s[3]

=

{

{101,&a},{102,&b},{103,&c}

};

struct

dent

*p=s;

則如下體現式中值為2是

。

A)

(p++)->m

B)

*(p++)->m

C)

(*p).m

D)

*(++p)->m【1.85】若有如下闡明語句,則對構造變量pup中sex域對旳引用是

struct

pupil

{

char

name[20];

int

sex;

}pup,*p;

p=&pup;

A)

p.pup.sex

B)

p->pup.sex

C)

(*p).pup.sex

D)

(*p).sex【1.86】如下對構造變量stul中組員age非法引用是

。

struct

student

{

int

age;

int

num;

}stu1,*p;

p=&stu1;

A)

stu1.age

B)

student.age

C)

p->age

D)

(*p).age【1.87】若有如下定義和語句:

union

data

{

int

i;

char

c;

float

f;

}a;

int

n;

則如下語句對旳是______。

A)

a=5;

B)

a={2,’a’,1.2};

C)

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

D)

n=a;【1.88】已知:

struct

sk

{

int

a;

int

age;

}date,*p;

假如要使指針p指向data中組員a,對旳賦值語句是____。

A)

p

=

(struct

sk

*)&data.a;

B)

p

=

(struct

sk

*)data.a;

C)

p

=

&data.a;

D)

*p

=

data.a;【1.89】已知

enum

week

{sun,mon,tue,wed,thu,fri,sat}day;則對旳賦值語句是____。

A)

sun=0;

C)

san=day;

D)

sun=mon;

D)

day=sun;【1.90】已知

enum

color

{red,yellow=2,blue,white,black}ren;執行下述語句輸出成果是____。

printf("%d",ren=white);

A)

0

B)

1

C)

3

D)

4【1.91】已知

enum

name{zhao=1,qian,sun,li}man;執行下述程序段后輸出是____。

man=0;

switch(man)

{

case

0:

printf("People\n");

case

1:

printf("Man\n");

case

2:

printf("Woman\n");

default:

printf("Error\n");

}

A)

People

B)

Man

C)

Woman

D)Error【1.92】下述有關枚舉類型名定義中,對旳是____。

A)

enem

a={

one,two,three

};

B)

enem

a

{

one=9,two=-1,three

};

C)

enem

a={"one","two","three"};

D)

enem

a

{"one","two","three"};【1.93】C語言中原則輸入文獻stdin是指

。

A)

鍵盤

B)

顯示屏

C)

鼠標

D)

硬盤【1.94】要打開一種已存在非空文獻"file"用于修改,選用對旳語句____。

A)

fp=fopen("file",

"r");

B)

fp=fopen("file",

"a+");

C)

fp=fopen("file",

"w");

D)

fp=fopen(’file",

"r+");【1.95】當順利執行了文獻關閉操作時,fclose函數返回值是

。

A)

-1

B)

TRUE

C)

0

D)

1

【1.96】fscanf函數對旳調用形式是

。

A)

fscanf

(文獻指針,

格式字符串,

輸出列表);

B)

fscanf

(格式字符串,

輸出列表,

文獻指針);

C)

fscanf

(格式字符串,

文獻指針,

輸出列表);

D)

fscanf

(文獻指針,

格式字符串,

輸入列表);【1.97】使用fgetc函數,則打開文獻方式必要是

。

A)

只寫

B)

追加

C)

讀或讀/寫

D)

參照答案B和C都對旳【1.98】已知宏定義

#define

N

3

#define

Y(n)

((N+1)*n)

執行語句z=2*(N+Y(5+1));后,變量z值是____。

A)

42

B)

48

C)

52

D)

出錯【1.99】已知宏定義

#define

SQ(x)

x*x,執行語句printf("%d",10/SQ(3));后輸出成果是____。

A)

1

B)

3

C)

9

D)

10【1.100】已知宏定義如下:

#define

PR

printf

#define

NL

"\n"

#define

D

"%d"

#define

D1

DNL

若程序中語句是

PR(D1,a);經預處理后展開為____。

A)

printf(%d\n,a);

B)

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

C)

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

D)

原語句錯誤【參照答案】【1.1】答案:A

注釋:int是C語言關鍵字

【1.2】答案:B

【1.3】答案:A

【1.4】答案:B

注釋:include是預處理命令;scanf是函數名;type不是C語言關鍵字。

【1.5】答案:D

【1.6】答案:D

【1.7】答案:A

【1.8】答案:A

注釋:int型體現整數范圍是-32768~32767。

【1.9】答案:D

注釋:整型常量-1在計算機中體現為補碼1111111111111111,用十六進制顯示這個數時,最左邊1不會被解釋為符號位,而是與右邊其他位共同轉換為十六進制數。

【1.10】答案:B

注釋:長整型數32768在計算機內體現是1000000000000000,以一般整型進行輸出時,此數恰是-32768補碼。

【1.11】答案:C

注釋:長整型數65539在計算機內體現是00010000000000000011,以一般整型進行輸出時,僅將右側16位二進制數轉換為十進制數。

【1.12】答案:A

注釋:C語言中,int型負數是采用補碼體現。

【1.13】答案:D

【1.14】答案:C

注釋:變量c是字符型,可用字符常量為它賦值。字符常量必要用單引號括起來,因此B是錯誤;在單引號或雙引號內反斜線'\'用于體現轉義字符,A選項在無引號時使用反斜線是錯誤;C選項單引號內出現反斜線體現它與背面數字構成一種轉義字符;單引號只容許括起一種字符,D選項在單引號內出現4個字符,是錯誤。

【1.15】答案:C

【1.16】答案:D

注釋:空字符和空格符是不一樣兩個字符,空格符ASCII碼值是32,空字符ASCII值是0。

【1.17】答案:A

【1.18】答案:B

【1.19】答案:A

【1.20】答案:C

【1.21】答案:B

注釋:單純從C語言語法來說,選項B、C都是對旳,不過選項C中第一種運算兩個對象都是整型常數,其成果也是整型數0,最終運算成果也就是0了。

【1.22】答案:C

【1.23】答案:A

注釋:將條件體現式增長一種括號,此式變為a。

<b?a:(c<d?c:d),它運算次序就清晰了。由于條件運算符結合性是從右向左,因此括號可以省略。它運算次序是先算出右邊條件體現式"c<d?c:d"值,然后求條件體現式a<b?a:3值。

【1.24】答案:C

【1.25】答案:B

【1.26】答案:B

注釋:當通過一種運算對象即可決定邏輯運算&&成果時,則對另一種運算對象不做處理。

【1.27】答案:DC>=48中48是字符對應ASCII碼,數字ASCII碼從48到57,大寫字母為65到90,小寫字母為97到122,在以上范圍內體現是數字或字母,對它取非體現既不是數字也不是字母,因此選D。

【1.28】答案:B

注釋:數組元素在內存中按行排列,此數組前3個元素值分別是3、2、1,體現式中雖然數組下標寫法似乎每行有3個元素,和定義時3行2列不一致,不過C語言引用數組元素時是根據數組首地址和給出下標進行運算決定元素地址。題中體現式引用了數組前3個元素。

【1.29】答案:A

【1.30】答案:D整數12最低8位二進位是00001100,整數012是八進制數,它最低8位二進位是00001010.這兩個二進位位串信息按位或運算,得到成果是00001110,對應十進制數14,八進制數是016.按位與運算符"&"是雙目運算符。其功能是參與運算兩數各對應二進位相與。只有對應兩個二進位均為1時,成果位才為1,否則為0。按位或運算符“|”是雙目運算符。其功能是參與運算兩數各對應二進位相或。只要對應二個二進位有一種為1時,成果位就為1。參與運算兩個數均以補碼出現。按位異或運算符“^”是雙目運算符。其功能是參與運算兩數各對應二進位相異或,當兩對應二進位相異時,成果為1。參與運算數仍以補碼出現。求反運算符~為單目運算符,具有右結合性。其功能是對參與運算數各二進位按位求反。左移運算符“<<”是雙目運算符。其功能把“<<”左邊運算數各二進位所有左移若干位,由“<<”右邊數指定移動位數,高位丟棄,低位補0。其值相稱于乘2。右移運算符“>>”是雙目運算符。其功能是把“>>”左邊運算數各二進位所有右移若干位,“>>”右邊數指定移動位數。其值相稱于除2。

【1.31】答案:B【1.32】答案:B

【1.33】答案:B

【1.34】答案:A

【1.35】答案:C

【1.36】答案:C

【1.37】答案:C

【1.38】答案:D

【1.39】答案:D

【1.40】答案:Csizeof是求長度函數,其成果類型就是無符號整形體現式。sizeof(double)是指求double類型數據數據長度

【1.41】答案:D

注釋:scanf函數返回值是輸入數據個數,printf函數返回值是輸出字符個數。

【1.42】答案:D

【1.43】答案:C

注釋:在C語言中,經常用一種變量來作為邏輯體現式,其含義就是:當變量值不為0時關系成立。

【1.44】答案:D

注釋:break語句僅可跳出switch語句,不會跳出while循環,這是一種死循環。

【1.45】答案:A

【1.46】答案:C

【1.47】答案:C

【1.48】答案:D

注釋:當除數y為0時,程序發生溢出錯誤。

【1.49】答案:C

【1.50】答案:A

【1.51】答案:C

【1.52】答案:C

注釋:答案C賦值號左側是數組s首地址,是一種常量,賦值號右側是一種字符串常量,不也許將一種字符串常量賦給一種地址常量。

【1.53】答案:D

注釋:D選項缺乏字符串結束標志。

【1.54】答案:C

注釋:此處函數形參是一種指針變量,接受實參地址,而不是一種數組。

【1.55】答案:A

【1.56】答案:D

注釋:這里首先要明確某些基本概念。在C語言中,程序與文獻是不一樣概念,一種程序可以由一種文獻構成,也可以由多種文獻構成;一種文獻中又可以包括多種函數;函數是構成C程序基本單位。

變量作用域因變量存儲類型不一樣而不一樣。auto和register類型變量作用域是闡明變量目前函數;外部變量作用域是整個程序,即外部變量作用域可以跨越多種文獻;內部靜態變量(定義在一種函數內部static型變量)作用域是目前函數,外部靜態變量(定義在函數外面static型變量)作用域是目前文獻,即可以跨越同一文獻中不一樣函數。

【1.57】答案:A

【1.58】答案:A

注釋:它和參數a同樣,數據類型闡明被省略,按照C語言規定,在這種狀況下,體現它們是int型。

【1.59】答案:C

注釋:函數swapa是值傳遞,函數執行成果不能返回;函數swapb中變量temp不是指針變量,因此它不能接受地址量,用指針變量x為它賦值是不對;函數swap中雖然指針變量互換了地址,即它們指向目旳變量進行了互換,不過目旳變量并沒有行值互換。

【1.60】答案:B

【1.61】答案:D

【1.62】答案:D

注釋:主調函數中b=0,在執行fun1函數里除法時發生溢出錯誤。

【1.63】答案:B

【1.64】答案:C

【1.65】答案:D

注釋:在答案D中,對旳函數調用應當是:printf("%d",*y)。

【1.66】答案:C

注釋:要注意與闡明語句"int(*p)[];"區別。闡明語句"int(*p)[];"闡明是一種指向數組指針。

【1.67】答案:C

注釋:題干中由于*和p被小括號括起,因此p應被解釋為一種指針,而后下標運算符[]闡明所指向對象是一種有4個int型元素一維數組;假如是int(*p)(),則是指向函數指針。對于int*p[4],則根據運算符優先級,先考慮p和[]運算符關系,因此它就是一種指針數組了。

【1.68】答案:B

注釋:選項B有兩處錯誤,一是數組名是常量,不能出現賦值好左側,二是指針變量只能和整數做加,不能和作為地址常量數組名相加。

【1.69】答案:D

注釋:s作為數組名是地址常量,而s++是s=s+1,C語言不容許對常量進行賦值。

【1.70】答案:C

【1.71】答案:C

注釋:a是二維數組

溫馨提示

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

評論

0/150

提交評論