C语言程序设计期末复习题学生用2.docx

上传人:b****8 文档编号:9401330 上传时间:2023-02-04 格式:DOCX 页数:38 大小:38.54KB
下载 相关 举报
C语言程序设计期末复习题学生用2.docx_第1页
第1页 / 共38页
C语言程序设计期末复习题学生用2.docx_第2页
第2页 / 共38页
C语言程序设计期末复习题学生用2.docx_第3页
第3页 / 共38页
C语言程序设计期末复习题学生用2.docx_第4页
第4页 / 共38页
C语言程序设计期末复习题学生用2.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

C语言程序设计期末复习题学生用2.docx

《C语言程序设计期末复习题学生用2.docx》由会员分享,可在线阅读,更多相关《C语言程序设计期末复习题学生用2.docx(38页珍藏版)》请在冰豆网上搜索。

C语言程序设计期末复习题学生用2.docx

C语言程序设计期末复习题学生用2

C语言程序设计复习题

一、填空题

1、C语言中基本的数据类型有:

整型、实型、字符型。

2、C语言中普通整型变量的类型说明符为   int ,在内存中占   2字节,有符号普通整型的数据范围是  -32768~+32767  。

3、整数-35在机内的补码表示为   111111*********1    。

4、执行下列语句inta=8; a+=a-=a*a;后,a的值是  -112     。

5、有如下语句:

char A[]={”Iamastudent”};该字符串的长度是 14  ,A[3]=  ‘m’ 。

6、符号”a”和’a’的区别是    ”a”是字符串常量,而’a’是字符常量                。

7、所谓“指针”就是    存放地址值的变量或常量,或者答地址              。

  “&”运算符的作用是     取运算对象的地址     。

  “*”运算符的作用是取指针变量所指的内容。

8、有如下输入语句:

scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是    a=1,b=3,c=2     。

9.C语言的预处理语句以____#______开头。

10.表达式7+8>2&&25%5的结果是_________0______________。

11.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。

  int n=0,ch;

  ch=getchar();

  while(______ch!

=’\n’  ____________)

{ if(___ch>=’0’&&ch<=’9’______) n++;

  c=getchar();                 }

12.C语言中putchar(c)函数的功能是____将变量c中的字符显示到屏幕上________。

13.int*p的含义是_______指针变量p为整型___________________。

14.定义fp为文件型指针变量的定义方法为_______FILE*fp ______。

15.数组int a[3][4];共定义了___12____个数组元素。

16、C源程序是由_函数__构成的。

一个C程序一般由若干个函数构成,其中至少应包含主函数(mian()函数)。

因此,函数C程序的基本单位。

17、三种基本程序结构是顺序结构__、_选择结构__、循环结构__。

18、C语言的三个循环语句分别是while__、_do-while__、_for__。

19.表示“x≥y≥z”的C表达式是_x>=y&&y>=z。

20.表达式!

!

5的值是1__。

21、在C程序中,指针变量能够赋地址_值或者空(0或NULL)__值。

22.下列程序段的输出是_5__。

int*p,*q,k=5,j=6;

q=&k;p=q;q=&j;

printf("%d",*p);

23.下列程序段的输出是_58__。

intf(intx)

{staticy=1;

y++;x+=y;returnx;}

voidmain()

{intk;

k=f(3);

printf("%d%dn",k,f(k));

}

24、一个C程序总是从main()或主函数开始运行的。

25、三种基本程序结构是顺序结构__、_选择结构__、循环结构__。

26、一个char数据在内存中所占字节数为1,一个int数据在内存中所占字节数为2,一个long数据在内存中所占字节数为4,一个float数据在内存中所占字节数为4。

27、若有定义:

inta[]3[4]={{1,2}{0}{4,6,8,10}};则初始化后a[1][2]的值为

0,a[2][1]得到的值为6

28.在C语言中,函数分为3种类型,分别是主函数、库函数和自定义函数。

29.下列程序段的输出是_*#*#____。

main()

{intk;

for(k=1;k<5;k++)

{if(k%2)printf("*");elsecontinue;printf("#");}

}

30、下列程序的输出结果是:

Afterswap5,3。

swap(int*p,int*q)

{intt;t=*p;*p=*q;*q=t;}

voidmain()

{inta=3,b=5;swap(&a,&b);printf("Afterswap%d,%d",a,b);}

二、选择题

1.执行intx=2,y=3;后表达式x=(y==3)的值是(B)

A)0B)1

C)2D)3

2.在循环结构的循环体中执行break语句,其作用是(C)

A)结束本次循环,进行下次循环

B)继续执行break语句之后的循环体中各语句

C)跳出该循环体,提前结束循环

D)终止程序运行

3.以下程序运行结果是(A)

main()

{chars[]=”\’Address\’”;

printf(%d\n”,strlen(s));

}

A)9B)10

C)11D)12

4.以下程序运行结果是(C)

main()

{inta[]={2,4,6,8,10},y=1,x;

for(x=0;x<3;x++)y=y+a[x+1];

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

}

A)17B)18

C)19D)20

5.设inta[][4]={0,0};则以下错误的描述是(D)

A)数组a的每个元素都可得到初值0

B)二维数组a的第一维大小为1

C)数组a的行数为1

D)只有元素a[0][0]和a[0][1]可得到初值0,其余元素得不到初值0

6.以下程序运行结果是(C)

fun3(intx)

{staticinta=3;

a=a+x;

returna;

}

main()

{intk=2,m=1,n;

n=fun3(k);

n=fun3(m);

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

}

A)3B)4

C)6D)9

7.以下不正确的描述是(D)

A)在函数外部定义的变量是全局变量

B)在函数内部定义的变量是局部变量

C)函数的形参是局部变量

D)局部变量不能与全局变量同名

8.C语言的简单数据类型包括(D)

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

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

9.数学关系式x≤y≤z可用C语言的表达式表示为(A)

A)(x<=y)&&(y<=z)B)(x<=y)and(y<=z)

C)(x<=y<=z)D)(x<=y)&(y

10.要使以下程序的输出结果为4,则a和b应满足的条件是(A)

main()

{ints,t,a,b;

scanf(“%d%d”,&a,&b);

s=t=1;

if(a>0)s=s+1;

if(a>b)t=s+t;

else

if(a==b)t=5;

elset=2*s;

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

}

A)a>0并且a

C)a>0并且a>bD)a<0并且a

11.下面程序的输出结果为(B)

main()

{inti;

for(i=100;i<200;i++)

{

if(i%5==0)continue;

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

break;

}

}

A)100B)101

C)无限循环D)无输出结果

12.下列程序段的运行结果是(B)

inti=1,a[]={1,5,10,9,13,7};

while(a[i]<=10){a[i]=a[i]+2;i++;}

for(i=0;i<6;i++)printf(“%d”,a[i]);

A)271211139B)171211137

C)171211139D)17129137

13.以下语句把字符串“abcde”赋初值给字符数组,不正确的语句是(D)

A)chars[]=“abcde”;B)chars[]={’a’,’b’,’c’,’d’,’e’,’\0’};

C)chars[]={“abcde”};D)chars[5]=“abcde”;

14.下面程序段的运行结果是(A)

inta[2][3]={1,2,3},i,j;

for(i=0;i<2;i++)

for(j=0;j<3;j++)

{a[i][j]=a[i*j%2][j]+a[i][(i+j)%3];

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

}

A)2,4,6,2,0,8,B)1,2,3,0,0,0,

C)1,2,3,2,0,6,D)2,4,6,2,0,6,

15、执行下面语句后,变量I的值是(C)。

for(I=1;I++<4;);

A)3B)4C)5D)不定

16、putchar函数可以向终端输出一个(D)。

A)整型变量表达式值B)实型变量值

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

17、有一函数关系见下表:

x

y=

x<0

x-1

x=0

x

x>0

x+1

下面程序段中能正确表示上面关系的是(C)。

A)y=x+1;B)y=x–1;C)if(x<=0)D)y=x;

if(x>=0)if(x!

=0)if(x<0)if(x<=0)

if(x==0)if(x>0)y=x-1;if(x<0)

y=x;y=x+1;elsey=x;y=x–1;

elsey=x–1;elsey=x;elsey=x+1;elsey=x+1;

18、对for(表达式1;;表达式3)可理解为(B)

A)for(表达式1;0;表达式3)B)for(表达式1;1;表达式3)

C)for(表达式1;表达式1;表达式3)D)for(表达式1;表达式3;表达式3)

19、若i、j均为整型变量,则以下循环(D)

for(i=0,j=-1;j=1;i++,j++)

printf(“%d,%d\n“,i,j);

A)循环体只执行一次B)循环体一次也不执行

C)判断循环结束的条件不合法D)是无限循环

20、设j为int型变量,则下面for循环语句的执行结果是(B)

for(j=10;j>3;j--)

{if(j%3)j--;

--j;--j;

printf(“%d“,j);

}

A)63B)74C)62D)73

21、一个C程序的执行是从(A)。

A)本程序的main函数开始,到main函数结束

B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C)本程序的main函数开始,到本程序文件的最后一个函数结束

D)本程序文件的第一个函数开始,到本程序main函数结束

22、下面四个选项中,合法的用户标识符是(D)

A)P_#$B)2haC)gotoD)_ab

23、要把整数67523赋与整型变量I,则应说明I的类型是(B)

A)intB)longC)shortD)unsigned

24、已知intI;floatf;正确的表达式是(D)

A)(intf)%IB)int(f)%IC)int(f%I)D)(int)f%I

25、判断char型变量c1是否为小写字母的正确表达式是(D)

A)’a’<=c1<=’z’B)(c1>=a)&&(c1<=z)

C)98<=c1&&123>=c1D)c1>=’a’&&c1<=’z’

26、执行以下语句后b的值为(B)。

inta=5,b=6,w=1,x=2,y=3,z=4;

b=(a=w>x)&&(b=y>z);

A)6B)0C)1D)4

27、以下能正确地定义整型变量a,b和c并为其赋初值5的语句是(C)。

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

28、已知:

chara;intb;floatc;doubled;执行语句c=a+b+c+d;后,变量c的数据类型是(D)

A)int B)charC)floatD)double

29、已知字母A的ASCII码为65,以下程序段的输出结果是(C)

charc1=’A’,c2=’Y’;

printf(″%d,%d″,c1,c2);

A)65,90B)A,YC)65,89D)输出格式不合法

30、阅读以下程序,当输入数据的形式为:

25,13,10,正确的输出结果为(D)。

(“CR”表示回车)

main()

{intx,y,z;

scanf(“%d%d%d”,&x,&y,&z);

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

}

A、x+y+z=48B、x+y+z=35C、x+z=35D、不确定值

31、以下错误的if语句是(C)

A)if(x>y);

B)if(x==y)x+=y;

C)if(x!

=y)scanf(“%d”,&x)elsescanf(“%d”,&y)

D)if(x

32、阅读以下程序:

main()

{intx;

scanf(“%d”,&x);

if(x--<5)printf(“%d\n”,x);

elseprintf(“%d\n”,x++);

}

程序运行后,如果从键盘上输入5,则输出结果是(B)

A、3B、4C、5D、6

33、若intI=10; 执行下列程序后,变量I的正确结果是(D)

switch(I){case9:

I+=1;

case10:

I+=1;

case11:

I+=1;

default:

I+=1;}

A)10B)11C)12D)13

34、C语言中while与do---while语句的主要区别是(A)

A)do---while的循环体至少无条件执行一次

B)do---while允许从外部转到循环体内

C)do---while的循环体不能是复合语句

35、以下的for循环(B)

for(x=0,y=100;(y!

=123)&&(x<=3);x++);

A)执行3次B)执行4次C)循环次数不定D)是无限循环

36、执行”for(I=1;I++<4;);”后,变量I的值为(C)

A)3B)4C)5D)不定

37、以下程序段(C)

x=-2;

do

{x=x*x;}

while(!

x);

A是死循环B循环执行两次C循环执行一次D有语法错误

38、设x和y均为int型变量,则执行下面循环后,y的值为(C)。

for(y=1,x=1;y<=50;y++)

{if(x==10)break;

if(x%2==1)

{x+=5;continue;}

x-=3;

}

A)2B)4C)6D)8

39、以下程序的输出结果是(C)

main()

{intI,j,x=0;

for(I=0;I<2;I++)

{x++;

for(j=0;j<3;j++)

{if(j%3)continue;

x++;}

x++;

}

printf(“x=%d\n”,x);}

x=4B)x=8C)x=6D)x=12

40、以下程序的输出结果(D)

main()

{intx=10,y=10,I;

for(I=0;x>8;y=++I)

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

A)10,19,2B)9,87,6C)10,99,0D)10,109,1

41、以下正确的描述是(B)。

在C语言程序中:

A)函数的定义可以嵌套,但函数的调用不可以嵌套

B)函数的定义不可以嵌套,但函数的调用可以嵌套

C)函数的定义和函数的调用均不可以嵌套

D)函数的定义和函数的调用均可以嵌套

42、以下正确的说法是(B)。

建立函数的目的之一是:

A)提高程序的执行效率B)提高程序的可读性C)减少程序的篇幅D)减少程序文件所占内存

43、以下正确的说法是(B)。

A)用户若需调用标准库函数,调用前必须重新定义

B)用户可以重新定义标准库函数,若如此,该函数将失去原有含义

C)系统根本不允许用户重新定义标准库函数

D)用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调

44、下列定义不正确的是(C)

A)#definePI3.141592B)#defineS354

C)intmax(intx,inty);D)staticcharc;

45、下列程序运行结果是(A)

#defineP3

#defineS(a)P*a*a

main()

{intar;

ar=S(3+5);

printf(“%d”,ar);}

A)192B)29C)27D)25

46、以下能对二维数组a进行正确初始化的语句是(B)。

A)inta[2][]={{1,0,1},{5,2,3}}B)inta[][3]={{1,2,3},{4,5,6}}

C)inta[2][4]={{1,2,3},{4,5},{6}}D)inta[][3]={{1,0,1}{},{1,1}}

47、下列描述中不正确的是(C)

A)字符型数组中可以存放字符串

B)可以对字符型数组进行整体输入、输出

C)可以对整型数组进行整体输入、输出

D)不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值

48、设有定义”inta=3,b,*p=&a;”,则下列语句中使b不为3的语句是(B)

A)b=*&a;B)b=*a;C)b=a;D)b=*p;

49、若有说明:

inti,j=2,*p=&i;,则能完成i=j赋值功能的语句是(B)

A、i=*p;B、*p=*&j;C、i=&j;D、i=**p;

50、C语言程序中每个语句和数据定义的最后必须有一个(A)

A分号B逗号C空格D冒号

51.设intx=1,y=1;表达式(!

x++||y——)的值是(B)

  A.0    B.1    C.2    D.-1

52.main()

  { intn;

  (n=6*4,n+6),n*2;

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

  }  此程序的输出结果是(B)

  A.30   B. 24    C. 60     D. 48

53.若有如下定义,则(D)是对数组元素的正确的引用。

  int a[10],*p;

  p=a;  p=a;  p=a;  p=a;

  A. *&a[10]    B. a[11]     C. *(p+10)     D.*p

54.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是(C)

  A. 0    B. 4   C. -4    D. 2

55.以下不能正确定义二维数组的语句是(D)

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

56.(C)程序段的功能是将变量u、s中的最大值赋给变量t.

  A. if(u>s)t=u;t=s;      B. t=u;  if(t) t=s;

  C. if(u>s)t=s;elset=u;   D. t=s;if(u) t=u;

57.下列程序段的输出结果是(A)          .

  voidmain()

  {  intk;

  for(k=1;k<5;k++〉

  { if(k%2!

=0)printf(“#”);

  else  printf(“*”); 

}

  }

  A.#*#*     B.*#*#   C. ##      D.以上都不对

58.设变量定义为inta[3]={1,4,7},*p=&a[2],则*p的值是(C)   .

  A.&a[2]   B.4      C.7      D.1

59.能正确表示a和b同时为正或同时为负的逻辑表达式是(D).

  A.(a>=0||b>=0)&&(a<0||b<0)     B.(a>=0&&b>=0)&&(a<0&&b<0)

  C.(a+b>0)&&(a+b<=0)           D.a*b>0

60.C语言中,合法的字符型常数是(A).

  A.‘A’       B.“A”       C.65       D.A

61.设有数组定义:

chararray[]=“China”;则数组所占的空间是(C).

  A.4个字节     B.5个字节     C.6个字节       D.7个字节

62.若变量c为c

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

当前位置:首页 > 高等教育 > 农学

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

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