c语言复习题Word格式.docx

上传人:b****5 文档编号:20590045 上传时间:2023-01-24 格式:DOCX 页数:22 大小:34.81KB
下载 相关 举报
c语言复习题Word格式.docx_第1页
第1页 / 共22页
c语言复习题Word格式.docx_第2页
第2页 / 共22页
c语言复习题Word格式.docx_第3页
第3页 / 共22页
c语言复习题Word格式.docx_第4页
第4页 / 共22页
c语言复习题Word格式.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

c语言复习题Word格式.docx

《c语言复习题Word格式.docx》由会员分享,可在线阅读,更多相关《c语言复习题Word格式.docx(22页珍藏版)》请在冰豆网上搜索。

c语言复习题Word格式.docx

A.ab$  B.h_a  C._rng  D.pr6n

6、下面程序的输出结果是。

main()

{inti;

for(i=1;

i<

6;

i++)

{if(i%2){printf("

#"

);

continue;

}

printf("

*"

\n"

A.#*#*#B.#####C.*****D.*#*#*

7、设intx=3,y=0;

则下面值为0的表达式是。

A.x||y  B.!

y  C.!

x  D.x&

x

8、以下程序运行的输出结果是。

main()

{char*s="

abcde"

s+=2;

print("

%ld\n"

s);

A.cdeB.字符c的ASCLL码值 C.字符c的地址  D.出错

9、以下函数定义中正确的是。

A.fun(floatx,y){returnx+y;

}

B.fun(intx,floaty){returnx+y;

C.fun(intx,inty);

{returnx+y;

D.voidfun(floatx,floaty){returnx+y;

10、设inta[3][3]={1,2,3,4,5,6,7,8,9};

则a[2][1]的值是。

A.4B.5C.7D.8

11、若有inti;

floatx=4.2;

则在执行了i=(int)x后,x的类型为。

A.longint  B.int  C.double  D.float

12、下面的宏定义中,为正确的

A.#defineKK20;

B.#defineKK20

C.defineKK20D.#define20KK

13、假定x和y为double型,则表达式x=1,y=x+3.0/2的值是。

A.1B.2C.2.0D.2.5

14、如果intx=0;

longinty=8;

x=y;

则变量x的值为。

0B.不确定C.8D.2

15、以下程序运行的输出结果是。

for(i='

A'

I'

i++,i++)printf("

%c"

,i+32);

\n"

A.编译不通过,无输出B.acegC.acegiD.abcdefghi

16、给出以下定义:

chara[]="

xyz"

charb[]={'

x'

y'

则正确的叙述为。

A.数组a和数组b等价

C.数组a和数组b的长度相同

B.数组a的长度大于数组b的长度

D.数组a的长度小于数组b的长度

17、intx=0;

执行语句while(x++<

6);

后,x的值是。

A.5B.6C.7D.4

18、二维数组a中,元素a[0][1]的地址可以表示为。

A.*(*(a+0)+1)B.*(a+1)C.&

aD.*a+1

19、数组定义chara[10]={'

a'

,'

b'

c'

包括了几个元素。

A.3B.4C.9D.10

20、unionuex{inti;

floatf;

charc;

}ex;

则sizeof(ex)的值是。

A.4B.5C.6D.7

21、数字字符0的ASCII值为48,以下程序输出结果是。

main()

{

chara='

1'

b='

2'

%c,"

b++);

%d\n"

b-a);

A.3,2B.50,2C.2,2D.2,50

22、有以下语句:

intb;

charc[10];

则正确的输入语句是。

A.scanf("

%d%s"

&

b,&

c);

B.scanf("

b,c);

C.scanf("

b,c);

D.scanf("

b,&

23、若有初始化“floata=2.1,*b;

”,则b指向a正确语句是。

A.*b=a;

B.*b=&

a;

C.b=a;

D.b=&

24、能正确表示逻辑关系:

x≥y≥z"

的C语言表达式是。

A.(x>

=>

y>

=z)B.(x>

y)&

(y>

=z)

C.(x>

=y)AND(y>

=z)D.(x>

=y)&

25、若有语句scanf(“%d%d”,&

a,&

b);

要使变量a,b分别得到12和34;

正确的输入形式为。

A.1234B.12,34C.12:

34D.1234

26、在下面的一维数组定义中,哪一个有语法错误。

A、inta[]={1,2,3}B、inta[10]={0}

C、inta[]D、inta[5]

27、C语言中每条简单语句以()作为结束符。

A、逗号B、分号

C、空格D、换行符

28、假定a为一个数组名,则下面的哪一种表示有错误?

A、a[i]B、*++a

C、*aD、*(a+1)

29、若数组名作实参而指针变量作形参,函数调用实参传给形参的是()

A、数组的长度B、数组第一个元素的值

C、数组所有元素的值D、数组第一个元素的地址

30、下列选项中不正确的整型常量是()

A、0B、-10u

C、20LD、-1234

31、在C程序中,用()表示逻辑值“真”.

A、trueB、非0的数

C、非0整数D、大于0的数

32、C语言程序由()组成.

A、子程序B、过程

C、函数D、主程序和子程序

33、设有inti;

则表达式i=1,++i,++i||++i,i的值为()

A、1B、2

C、3D、4

34、不正确的字符串赋值或赋初值的方式是()。

A、charstr[]=”string”;

B、charstr[7]={‘s’,‘t’,‘r’,‘i’,‘n’,‘g’};

C、charstr[10];

str=”string”;

D、charstr[7]={‘s’,‘t’,‘r’,‘i’,‘n’,‘g’,‘\0’};

35、下面符号中可作为C语言标识符是()

A、a+b+cB、23de

C、_daD、switch

36、C语言提供合法的数据类型关键字是()

A)DoubleB)shortC)integerD)Char

37、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。

A)必须为字母或下划线。

B)必须为下划线。

C)必须为字母D)可以是字母、数字和下划线中的任一种字符。

38.若有定义:

inta=7;

floatx=2.5,y=4.7;

则表达式x+a%3*(int)(x+y)%2/4的值是()。

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

39、已知ch是字符型变量,下面不正确的赋值语句是()。

A)ch=5+9;

B)ch='

a+b'

C)ch='

\0'

D)ch='

7'

+'

6'

40、对y在[3,23]和[100,200]范围内为真的确表达式为()

A)(y>

=3)&

(y<

=23)&

=100)&

=200)

B)(y>

=3)||(y<

=23)||(y>

=100)||(y<

C)(y>

D)(y>

41、在一个C程序中()

A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现

C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置

42、在C语言中,合法的字符常量是()

A)'

\084'

B)'

\x43'

C)'

ab'

D)"

\0"

43、不能正确表示ab除以cd的C语言表达式是()

A)a*b/c*dB)a/(c*d)*bC)a*b/c/dD)a*b/(c*d)

44、设有定义:

longx=-123456L;

,则以下能够正确输出变量x值的语句是()。

A)printf("

x=%d\n"

x);

B)printf("

x=%ld\n"

C)printf("

x=%8dL\n"

D)printf("

x=%LD\n"

45、C语言中最简单的数据类型包括()

A)整型、实型、逻辑型B)整型、实型、字符型

C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型

46、若已定义:

inta[9],*p=a;

并在以后的语句中未改变p的值,则不能表示a[1]地址的表达式是()。

A)p+1B)a+1C)a++D)++p

47、在下列选项中,不正确的赋值语句是()。

A)++t;

B)n1=(n2=(n3=0));

C)k=i==j;

D)a=b+c=1;

48、以下不能正确定义二维数组的选项是()

A)inta[2][2]={{1},{2}};

B)inta[][2]={1,2,3,4};

C)inta[2][2]={{1},2,3};

D)inta[2][]={{1,2},{3,4}};

49、设有如下结构定义:

structaddr

{charname[30];

charstreet[40];

charcity[20];

charoffice[30];

charphone[10];

intage;

}stud;

若用printf(“%s\n”,…)访问该结构中name值的正确方法是()

(A)stud->

name(B)&

stud.name(C)stud.&

name(D)stud.name

50、设有以下语句,则()不是对a数组元素的正确引用,其中0≤i<

10。

inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;

(A)a[p-a](B)*(&

a[i])(C)p[i](D)*(*(a+i))

三、填空题

1、有如下输入语句:

scanf(“a=%d,b=%d,c=%d”,&

a,&

为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是 

___________________。

2、增量表达式++y表示成赋值表达式为_______________。

3、假定a=5,则条件表达式“a>

=5?

10:

20”的值为____________。

4、当在程序中执行到_____________语句时,将结束所在循环类语句或switch语句的执行。

5、假定a是一个一维数组,则a[i]的指针访问方式为_______________。

6、假定一个结构体类型的定义为“structC{inta[5];

intn;

”,则该类型的大小为____________字节。

7、算术表达式

对应的C表达式为________________________。

8、逻辑表达式x>

3&

x<

10的相反表达式为________________________。

9、假定要访问一个结构体类型指针p所指对象中的b指针成员所指的对象,则表示方法为_______________________。

10、执行“typedefintABC[20];

”语句把ABC定义为具有20个整型元素的___________________。

11、假定p所指对象的值为36,p+1所指对象的值为49,则*++p的值为____。

四、程序运行结果填空题

1、下面程序的运行结果是:

#include 

“string.h”

main() 

{char 

ch[]="

abc"

x[3][4];

int 

i;

 

for(i=0;

3;

i++)strcpy(x[i],ch);

i++)printf("

%s"

x[i][i]);

2、下面程序的运行结果是:

voidswap(intx,inty)

{intt;

t=x;

x=y;

y=t;

%d%d"

x,y);

{inta=3,b=4;

swap(a,b);

%d%d\n"

a,b);

3、下面程序的运行结果是:

inta[3][3],*p,i;

p=&

a[0][0];

9;

i++)p[i]=i;

%d"

a[1][i]);

4、下面程序的运行结果是:

#defineS(x)4*x*x+1

inti=2,j=3;

S(i+j));

5、下面程序的运行结果是:

inta,b;

voidfun(){a=10;

b=20;

main()

{inta=5,b=7;

fun();

%d;

%d\n"

,a,b);

6、下面程序运行时,假定键盘输入字符串为"

123"

则程序的运行结果是:

#include

voidmain(void)

{

intn=0;

charc;

while((c=getchar())!

=’\n’)/*字符型数字*/

{if(c>

=’0’&

c<

=’9’)

n=n*10+c-’0’;

/*数字*/

printf(“value=%d”,n);

7、已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:

B33<

回车>

,则输出结果是:

{chara,b;

a=getchar();

scanf("

b);

a=a-'

+'

0'

b=b*2;

%c;

%c\n"

8、下面程序的运行结果是:

{intn;

for(n=7;

n<

21;

n++)

{if(n%7!

=0)

continue;

printf(“%d;

”,n);

}

9、main()

{

intn=4,y=1;

while(n--)y*=3;

printf(“y=%d”,y);

10、main()

chara[]=”1231023120”;

intb[4]={0},i=0,k;

while(a[i])

k=a[i]-48;

/*0的ASCII码为48*/

b[k]++;

i++;

for(i=0;

4;

printf(“%d”,b[i]);

11、main()

inta[5]={3,6,9,12,15};

int*p=a;

for(inti=0;

5;

printf(“%d”,*p++);

12、intLA(int*a,intn)

ints=0;

n;

i++)s+=a[i];

return(s);

main()

inta[]={5,2,8,6,4,10};

intb=LA(a,5);

printf(“b=%d”,b);

13、main()

intx=20,y=40,*p;

p=&

x;

printf(“%d”,*p);

*p=x+10;

y;

printf(“%d%d”,x,y);

14、main()

inta[10]={8,19,46,15,6,24,27,18,20,53};

intc1=0,c2=0;

10;

if(a[i]>

=20)c1++;

=10)c2++;

printf(“%d,%d”,c1,c2);

15、SB(charch)

switch(ch){

case’A’:

case’a’:

printf(”well!

”);

break;

case’B’:

case’b’:

printf(”good!

case’C’:

case’c’:

printf(”pass!

default:

printf(”bad!

chara[6]=”Abcaf”;

a[i];

i++)SB(a[i]);

16、对于以下递归函数f,调用f(3)的返回值是__________.

f(intn)

return(n<

=0?

1:

f(n-1)+1);

17、阅读以下程序,写出运行后的输出结果_________________

#include<

voidmain()

charstring[81]=”Iamastudent.”;

inti,num=0;

word=0;

(c=string[i])!

=’\0’;

if(c==’’)word=0;

elseif(word==0)

word=1;

num++;

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

18、阅读以下程序,写出运行后的输出结果_________________

inta=3,b=5;

f(inta,intb)

{intc;

c=a>

b?

a:

b;

return(c);

inta=10;

printf(“%d\n”,f(a,b));

19、阅读以下程序,写出运行后的输出结果_________________

voidmain()

intnum,c;

num=80;

do{

c=num%10;

printf("

c);

}while((num/=10)>

0);

20、阅读以下程序,写出运行后的输出结果_________________

intfac(intn)

{intf;

if(n==0||n==1)f=1;

elsef=fac(n-1)*n;

return(f);

fac(5));

五、程序完整性填空题

1、以下程序段用于构成一个简单的单向链表,请填空。

structSTRU

{intx,y;

floatrate;

*p;

}a,b;

a.x=0;

a.y=0;

a.rate=0;

a.p=&

b.x=0;

b.y=0;

b.rate=0;

b.p=NULL;

2、下面的函数是通过num统计在字符串str中用空格分割开的单词个数,请填空。

intfun(charstr[])

inti,word=0,num=0;

for(i=0;

str[i]!

=;

if(str[i]==‘'

word=0;

elseif(word==0)

word=1;

returnnum;

3、以下程序的功能是将5个字符串,按由大到小的顺序进行排序。

string.h>

{charp[5][10],t[20];

inti,j;

5;

gets(p[i]);

for(i=0;

i++)

for(j=i+1;

j<

j++)

if()

{strcpy(t,p[i]);

strcpy(p[i],p[j]);

strcpy(p[j],t);

4、mystr函数的功能是计算str所指字符串的长度,并作为函数值返回,请填空。

intmystr(char*str)

{inti=0;

while(_!

='

\0'

)i++;

return(______);

5、下面程序是计算:

请填空。

{ints=1;

floatn=1.0,x=1,p=0;

for(n=1;

=15;

n=n+2)

{p=p+x;

s=;

x=;

p=%f\n"

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1