C语言复习题专.docx

上传人:b****7 文档编号:10304855 上传时间:2023-02-10 格式:DOCX 页数:18 大小:22.21KB
下载 相关 举报
C语言复习题专.docx_第1页
第1页 / 共18页
C语言复习题专.docx_第2页
第2页 / 共18页
C语言复习题专.docx_第3页
第3页 / 共18页
C语言复习题专.docx_第4页
第4页 / 共18页
C语言复习题专.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

C语言复习题专.docx

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

C语言复习题专.docx

C语言复习题专

C语言复习题

1.以下不正确的C语言标识符是(D    )。

A.ABC                B.abc

C.a_bc                D.ab.c

2.以下正确的C语言标识符是(C    )。

A.%k                  B.a+b

C.a123                D.test!

3.一个C程序的执行是从(A    )。

A.main()函数开始,直到main()函数结束

B.第一个函数开始,直到最后一个函数结束

C.第一个语句开始,直到最后一个语句结束

D.main()函数开始,直到最后一个函数结束

4.在C程序中,main()的位置(   C )。

A.必须作为第一个函数

B.必须作为最后一个函数

C.可以任意

D.必须放在它所调用的函数之后

5.C语言源程序的基本单位是(B  )。

A.过程    B.函数  C.子程序  D.标识符

6.以下结果为整数的表达式(设有inti;charc;floatf;)( B       ).

A.i+f          B.i*c          C.c+f          D.i+c+f

7.以下不正确的语句(设有intp,q)是( D)。

A.p*=3;      B.p/=q;        C.p+=3;        D.p&&=q;

8.以下使i的运算结果为4的表达式是(  D)。

A.inti=0,j=0;

  (i=3,(j++)+i);

B.inti=1,j=0;

  j=i=((i=3)*2);

C.inti=0,j=1;

  (j==1)?

(i=1):

(i=3);

D.inti=1,j=1;

  i+=j+=2;

9.设charch;以下正确的赋值语句是(B)。

A.ch='123';

B.ch='\xff';

C.ch='\08';

D.ch="\";

10.设n=10,i=4,则赋值运算n%=i+1执行后,n的值是(A)。

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

1、C语言规定,在一个源程序中,main函数的位置(C)。

A)必须在最开始

B)必须在系统调用的库函数的后面

C)可以任意

D)必须在最后

2、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B)。

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

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

A)必须为字母B)必须为下划线

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

4、已知字母A的ASCⅡ码为十进制的65,下面程序的输出是A

main()

{charch1,ch2;

ch1='A'+'5'-'3';

ch2='A'+'6'-'3';

PRINTF("%d,%c\n",ch1,ch2);}

A)67,DB)B,CC)C,DD)不确定的值

5、若有定义:

inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(A)。

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

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

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

  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)不确定值

7、设有:

inta=1,b=2,c=3,d=4,m=n=2;执行(m=a>b)&&(n=c>d)后的n值为(B。

A)1B)2C)3D)4

8、当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是(B。

if(a

if(c

else

if(a

if(b

elsex=3;

elsex=6;

elsex=7;

A)1B)2C)3D)6

9、以下程序的运行结果是(D)。

main()

{intk=4,a=3,b=2,c=1;

printf(“%d\n”,k

k:

c

c:

a);

}

A)4B)3C)2D)1

10、有C语言中while和do-while循环的主要区别是(A)。

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

B)while的循环控制条件比do-while的循环控制条件严格

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

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

11.逗号表达式(a=3*5,a*4),a+15的值为(C  ),a的值是( C)。

①A.15      B.60      C.30      D.不确定

②A.60      B.30      C.15      D.90

20.有如下程序段:

  inta1,a2;

  charc1,c2;

  scanf("%d%c%d%c",&a1,&c1,&a2,&c2);

  若要求a1,a2,c1,c2的值分别为10,20,A,B正确的数据输入是(C)。

  A.10A20B

  B.10A20B

  C.10A20B

  D.10A20B

11、以下程序段(C)。

x=-1;

do{x=x*x;}while(!

x);

A)是死循环      B)循环执行两次

C)循环执行一次    D)有语法错误

12、下面正确的字符常量是(C)

A)“C”B)‘\\’’C)‘W’D)‘’

13、下面四个选项中,均是正确的八进制或十六进制数的选项是(C)。

A)—10B)0abcC)0010D)0a12

0x8f—017—0x11—0x123

—0110xc0xf1—0xa

14、以下不正确的叙述是(D。

A)在C语言中,逗号运算符的优先级最底。

B)在C程序中,APH和aph是两个不同的量。

C)若a和b类型相同,在计算赋值表达式a=b后b中的值将放入a中,而b中的值不变。

D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。

15、在C语言中,要求运算数必须是整型的运算符是(D)。

A)/B)++C)!

=D)%

16.若以下变量均是整型,且num=sum=7;则计算表达式Sum=num++,sUM++,++num,后sum的值为(A)。

    A)7    B)8    C)9    D)10

  17.若有以下定义,则能使值为3的表达式是(D)。

    intk=7,x=12;

    A)x%=(k%=5)    B)x%=(k-k%5)

    C)x%=k-k%5     D)(x%=k)-(k%=5)

  18.一个C语言程序是由(B)。

    A)一个主程序和若干个子程序组成 B)函数组成

    C)若干过程组成         D)若干子程序组成

  19.Putchar函数可以向终端输出一个(D)。

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

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

  20.Printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。

如果字符串长度小于5,则输出按方式(C)。

    A)从左起输出该字串,右补空格

    B)按原字符长从左向右全部输出

    C)右对齐输出该字串,左补空格

    D)输出错误信息

21.有如下程序,若要求a1,a2,c1,c2的值分别为10、20、A、B,正确的数据输入是( A)。

  main()

  {

    inta1,a2;

    charc1,c2;

    scanf("%d%d",&a1,&a2);

    scanf("%c%c",&c1,&c2);

  }

  A.1020AB

  B.1020

    AB

  C.1020ABC

  D.1020AB

22.有如下程序,输入数据:

12345678后,x的值是(B ),y的值是(A  )

  #include

  main()

  {

    intx;

    floaty;

    scanf("%3d%f",&x,&y);

  }

  

(1)A.12345      B.123          C.45            D.345

  

(2)A.45.000000  B.45678.000000  c.678.000000    D.123.000

26.以下程序的执行结果是(A )。

  #include

  main()

  {

    intsum,pad;

    sum=pad=5;

    pad=sum++;

    pad++;

    ++pad;

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

  }

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

27.以下程序的执行结果是(B)。

  #include

  main()

  {

    inti=010,j=10;

    printf("%d,%d,%d\n",++i,j,j--);

  }

  A.11,9,10    B.9,9,10      C.010,9,9  D.10,9,9

28.已知字母A的ASCII码是65,以下程序的执行结果是(D)。

    #include

    main()

    {

      charc1='A',c2='Y';

      printf("%d,%d\n",c1,c2);

    }

    A.A,Y    B.65,65    C.65,90    D.65,89

29.以下程序的执行结果是(A)。

    #include

    #include

    main()

    {

      inta=1,b=4,c=2;

      floatx=10.5,y=4.0,z;

      z=(a+b)/c+sqrt((double)y)*1.2/c+x;

      printf("%f\n",z);

    }

    A.14.000000    B.15.000000    C.13.700000    D.14.900000

30.为了避免嵌套的if-else语义的二义性,C语言规定else总是与(A )

A.缩排位置相同的if

B.在其之前未配对的的if

C.在其之前未配对的最近的if

D.同一行上的if

  21.已有定义intx;floaty;且执行scanf(“%3d%f”,&x,&y);语句时,从第一列开始输入数据12345678<回车>,则x的值为(B),y的值为(B)。

1)A)12345B)123C)45D)345

2)A)无定值  B)45.000000C)678.000000D)123.000000

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

   A)ch=’a+b’;B)ch=’\0’;C)ch=’7’+’9’;D)ch=5+9;

 23.逻辑运算符两侧运算对象的数据类型(D)。

   A)只能是0或1B)只能是0或非0正数

   C)只能是整数或字符型数据D)可以是任何类型的数据

 24.执行下列程序

main()

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

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

printf(″﹪d\n″,a[1][0]+b[0][0]);}

后输出的结果是(D)

A)0B)1C)2D)3

25.设x,y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是(D)。

  A)’x’&&’y’B)x<=yC)x||y+z&&y-zD)!

((x

z||1)

26.以下正确的描述是(B)。

  A)continue语句的作用是结束整个循环的执行

  B)只能在循环体内和switch语句体内使用break语句

  C)在循环体内使用break语句或continue语句的作用相同

  D)从多层循环嵌套中退出时,只能使用goto语句

27.若有说明:

inta[3][4];则对a数组元素的正确引用是(C)。

  A)a[2][4]B)a[1,3]C)a[1+1][0]D)a

(2)

(1)

28.C语言规定,函数返回值的类型是由(D)。

A)语句中的表达式类型所决定

B)调用该函数时的主调函数类型所决定

C)调用该函数时系统临时决定

D)在定义该函数时所指定的函数类型所决定

29.下面程序段的运行结果是(C)。

char*s=”abcde”;

s+=2;

printf(”%d”,s);

A)cdeB)字符’c’C)字符’c’的地址D)不确定

30.下面程序段的运行结果是(B)。

charstr[]=”ABC”,*p=str;

printf(”%d\n”,*(p+3));

A)67B)0C)字符’C’的地址D)字符’C’

二、填空题

1.一个C程序有且仅有一个main_函数。

2.一个C源程序有____1____个main()函数和____若干____个其他函数。

3.结构化设计中的三种基本结构是顺序分支循环________。

4.C程序的执行是从_main的第一个语句_______开始执行的。

5.C语言源程序的语句分隔符是__分号______。

6.C语言开发的四个步骤是编辑编译连接运行__。

7.表达式10/3的结果是___3_____。

8.表达式10%3的结果是1________。

9.定义intx,y;执行y=(x=1,++x,x+2);语句后,Y的值是-4-----。

10.设intx=9,y=8;表达式x==y+1的结果是_1________。

1.C源程序的基本单位是(函数)。

2.在C语言中的实型变量分为两种类型,它们是(单精度型)和(双精度型)。

3.所有的程序都可以用三种控制结构编写,这三种控制结构是(顺序),(选择)和(循环).

4.在C语言中,二维数组元素在内存中的存放顺序是(按行存放)。

5.C语言规定,简单变量作实参时,它和对应形参之间的数据传递方式为(单向值传递)。

6.C语言中,一个函数一般由两个部分组成,它们是(声明部分)和(执行部分)。

7.在C语言中,char型数据在内存中的存储形式是(ASCII码)。

8、设在C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为(0——65535)。

9、若有以下定义intm=5,y=2;,则计算表达式y+=y-=m*=y后的y值是(-16)。

10、C语言中允许函数值类型缺省定义,此时该函数值隐含的类型是(整型)。

11.若x和a均是int型变量,则计算表达式

(1)后的x值为(12,计算表达式

(2)后的x值为(4)。

(1)x=(a=4,6*2)

(2)x=a=4,6*2

12.C语言中,唯一的三目运算符是(条件运算符)。

13.有以下定义:

intw[10];

则w数组元素下标的上限为(9),下限为(0)。

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

charc[]=”\t\v\\\0will\n”;

printf(”%d”,strlen(c));

三、读程序写结果题

1.以下程序的执行结果是_#&________

#include

main()

{inta=2,b=7,c=5;

switch(a>0)

{case1:

switch(b<0)

{case1:

printf("@");break;case2:

printf("!

");break;}

case0:

switch(c==5)

{case0:

printf("*");break;

case1:

printf("#");break;

default:

printf("$");break;}

default:

printf("&");}

printf("\n");}

2.下列程序运行后的输出结果是_s=7__

#include

main()

{ints=0,k;

for(k=7;k>=0;k--)

{switch(k)

{case1:

case4:

case7:

s++;break;

case2:

case3:

case6:

break;

case0:

case5:

s+=2;break;}

}

printf("s=%d\n",s);}

3.下列程序运行后的输出结果是__sum=33______。

#include

main()

{inti,j,sum,m,n=4;

sum=0;

for(i=1;i<=n;i++){m=1;for(j=1;j<=i;j++)m=m*j;sum=sum+m;

}

printf("sum=%d\n",sum);

}

1.如果运行时输入字符‘Q’,则下面程序的运行结果是:

Q

#include

main()

{charch;

scanf(“%c”,&ch);

ch=(ch>=’A’&&ch<=’Z’)?

(ch+32):

ch;

ch=(ch>=’a’&&ch<=’z’)?

(ch-32):

ch;

printf(“%c”,ch);

}

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

**1**

**3**

intx=1,y=0;

switch(x)

{case1:

switch(y)

{case0:

printf(“**1**\n”);break;

case1:

printf(“**2**\n”);break;

}

case2:

printf(“**3**\n”);break;

}

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

*#*#*#$

#include

main()

{inti;

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

{if(i%2)printf(“*”);

elsecontinue;

printf(“#”);

}

printf(“$\n”);

}

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

LBLMNP

#include

main()

{chara[80]=”AB”,b[80]=”LMNP”;

inti=0;

strcat(a,b);

while(a[i++]!

=’\0’)b[i]=a[i];

puts(b);

Theresultis:

1

67

111213

16171819

2122232425

67

7

87

9

107

11

127

13

147

15

167

17

187

111213

16171819

2122232425

}

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

#include

main()

{inta[5][5],i,j,n=1;

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

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

a[i][j]=n++;

printf(“Theresultis:

\n”);

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

{for(j=0;j<=i;j++)

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

printf(“\n”);

}

}

6.下面程序的运行结果是:

K=13

#include

main()

{longk;

k=fib(7);

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

}

longfib(intg)

{switch(g);

{case0:

return0;

case1:

case2:

return1;

}

return(fib(g-1)+fib(g-2));

}

7.下面程序的运行结果是:

28

#include

main()

{intx,i;

for(i=1;i<=50;i++)

{x=i;

if(++x%2==0)

if(++x%3==0)

if(++x%7==0)

printf(“%d”,i);

}

}

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

i=7,j=6,x=7

I=2,j=7,x=5

#include

main()

{i=2,x=5,j=7;

fun(j,6);

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

}

fun(inti,intj)

{intx=7;

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

}

9.下面程序的运行结果是:

gae

#include

main()

{chara[]=”language”,b[]=”programe”;

char*p1,*p2;

intk;

p1=a;p2=b;

for(k=0;k<=7;k++)

if(*(p1+k)==*(p2+k))

printf(“%c”,*(p1+k));

}

10.下面程序的运行结果是:

aabcabc

#include

main()

{char*p1,*p2,str[50]=”abc”;

p1=”abc”;

p2=”abc”;

strcpy(str+1,strcat(p1,p2));

printf(“%s\n”,str);

}

 

五、编程题

1.兔子繁殖问题。

设有一对新生的兔子,从第三个月开始,它们每个月都生一对兔子。

按照这样的规律,并假设兔子没有死亡,一年后共有多少兔子。

 

2.

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

当前位置:首页 > 法律文书 > 调解书

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

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