C程序设计复习资料.docx

上传人:b****3 文档编号:4630658 上传时间:2022-12-07 格式:DOCX 页数:39 大小:30.75KB
下载 相关 举报
C程序设计复习资料.docx_第1页
第1页 / 共39页
C程序设计复习资料.docx_第2页
第2页 / 共39页
C程序设计复习资料.docx_第3页
第3页 / 共39页
C程序设计复习资料.docx_第4页
第4页 / 共39页
C程序设计复习资料.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

C程序设计复习资料.docx

《C程序设计复习资料.docx》由会员分享,可在线阅读,更多相关《C程序设计复习资料.docx(39页珍藏版)》请在冰豆网上搜索。

C程序设计复习资料.docx

C程序设计复习资料

第三章一、单选题

1.C语言源程序的扩展名为()

A..objB..cC..exeD..cpp

2.

(1)按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()

A.大写字母B.中划线C.数字字符D.下划线

(2)下列选项中,不能用作标识符的是()

A._1234_B._1_2C.int_2_D.2_int_

(3)以下选项中合法的用户标识符是()

A.longB._2TestC.3DmaxD.A.dat

(4)下列定义变量的语句错误的是()

A.int_int;B.doubleint_;C.charFor;D.floatUS$;

(5)以下选项中不合法的标识符是()

A.printB.forC.&aD._00

3.在C语言中,整型数据分为()

A.二进制、八进制、十进制B.二进制、十进制、十六进制

C.八进制、十进制、十六进制D.二进制、八进制、十进制、十六进制

4.

(1)在C语言中,合法的实型常数是()

A.1.2E0.5B.3.14159EC.5E-3D.E15

(2)以下不合法的数值常量是()

A.011B.le1C.8.0E0.5D.0xabcd

(3)以下选项中,合法的一组C语言数值常量是()

A.028B.12.C..177D.0x8A

.5e-3OXa234e1.510,000

-0xf4.5e0Oabc3.e5

5.

(1)在C语言中,非法的字符常量是()

A.‘\t’B.‘\17’C."\n"D.‘\xaa’

(2)以下不合法的字符常量是()

A.‘\018’B.‘\"’C.‘\\’D.‘\xcc’

6.

(1)设有语句:

inta=3;则执行了语句a+=a-=a*a;变量a的值是()

A.3B.0C.9D.-12

(2)设有语句:

intx=10;则执行了语句x+=x-=x-x;变量x的值是()

A.10B.20C.40D.30

(3)设有语句:

inta=0;则执行语句a+=(a=8);变量a的值是()

A.0B.8C.16D.24

7.以下程序的输出结果是()()

⑴main()

{inti=10,j=1;

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

A.9,2B.10,2C.9,1D.10,1

(2)main()

{intx=023;

printf("%d\n",--x);}

A.17B.18C.23D.24

8.intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()

A.k++B.k+=1C.++kD.k+1

9.以下程序的输出结果是

(1)main(){intk=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}()

A.k=11,k=12,k=11B.k=11,k=13,k=13

C.k=11,k=013,k=0xbD.k=11,k=13,k=b

(2)main(){intk=17;printf("%d,%o,%x\n",k,k,k);}()

A.17,021,0x11B.17,17,17C.17,0x11,021D.17,21,11

10.运行时从键盘上输入9876543210表示回车),则该程序的输出结果是()

main()

{inta;floatb,c;

scanf("%2d%3f%4f",&a,&b,&c);

printf("a=%d,b=%f,c=%f\n",a,b,c);

}

A.a=98,b=765,c=4321B.a=10,b=432,c=8765

C.a=98,b=765.000000,c=4321.000000D.a=98,b=765.0,c=4321.0

11.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量

a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。

以下所示的输入形式中正

确的是(注:

□代表空格字符)()

A.10□X□20□Y<回车>B.10□X20□Y<回车>

C.10□X<回车>D.10X<回车>

20□Y<回车>20Y<回车>

二、填空题

1.一个C源程序至少应该有一个函数。

2.在C语言中,实型变量分为和。

3.

(1)以下程序运行后的输出结果是。

main()

{inta,b,c;

a=25;b=025;c=Ox25;

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

}

(2)以下程序运行后的输出结果是。

main()

{inta=1,b=2;

a=a+b;b=a-b;a=a-b;

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

}

(3)设整型变量a和b中的值分别为7和9,要求按一下格式输出a和b的值:

a=7

b=9

请完成输出语句:

printf("",a,b);

4.

(1)以下程序运行后的输出结果是。

main()

{charch='B';

printf("%c%d\n",ch,ch);

}

(2)以下程序运行后的输出结果是。

main()

{charch='B';

ch+=32;

printf("%c\n",ch);

}

(3)以下程序运行后的输出结果是。

main()

{charch;

ch='H'-'A'+'0';

printf("%c\n",ch);

}

5.

(1)`以下程序运行后的输出结果是。

main()

{floatx=123.4567;

printf("%f\n",(int)(x*100+0.5)/100.0);

}

(2)`以下程序运行后的输出结果是。

main()

{floatx=2.5,y=4.7;

inta=7;

printf("%f\n",x+a%3*(int)(x+y)%2/4);

}

6.有程序如下,要求给i赋10,给j赋20,则应该从键盘输入。

main()

{inti,j;

scanf("i=%d,j=%d",&i,&j);

printf("i=%d,j=%d",i,j);

}

第四章选择结构程序设计

一、单选题

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

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

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

2.判断char型变量ch是否为大写字母的正确表达式是()。

A)‘A’<=ch<=‘Z’B)(ch>=‘A’)&(ch<=‘Z’)

C)(ch>=‘A’)&&(ch<=‘Z’)D)(‘A’<=ch)AND(‘Z’>=ch)

3.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。

则以下不能满足要求的表达式是()。

A)A%2==1B)!

(A%2==0)C)!

(A%2)D)A%2

4.4.设有:

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

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

5.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是()。

if(x>y)z=x;x=y;y=z;

A)x=10,y=20,z=30B)x=20,y=30,z=30

C)x=20,y=30,z=10D)x=20,y=30,z=20

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

main()

{intm=5;

if(m++>5)

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

else;

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

}

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

7.以下程序段的输出结果是()。

main()

{intx=1,y=2,z=3;

if(x>y)

if(y

elseprintf("%d",++y);

printf("%d\n",x++);}

A.331B.41C.2D.1

8.以下程序段的输出结果是()。

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

case3:

a++;b++;}

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

A.a=1,b=0B.a=2,b=2C.a=1,b=1D.a=2,b=1

二、填空题

12.

(1)以下程序运行后的输出结果是()。

main()

{inta=5,b=4,c=3,x;

x=a>b>c;

printf("%d\n",x);}

(2)以下程序运行后的输出结果是()。

main()

{inta=3,b=2;

b=a<0&&a++>3;

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

}

(3)以下程序运行后的输出结果是()。

main()

{inta,b,c=246;

a=c/100%9;

b=-1&&-1;

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

}

(4)以下程序运行后的输出结果是()。

main()

{inta,b,c;

a=10;b=20;

c=(a%b<1)||(a/b>1);

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

}

13.

(1)以下程序运行后的输出结果是()。

Main()

{intx,a=1,b=2,c=3,d=4;

x=(a

a:

b;

x=(x

x:

c;

x=(x

x:

d;

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

}

(2)以下程序运行后的输出结果是()。

Main()

{intx=1,y=2;

(x=y)?

++x:

--x;

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

}

14.以下程序运行后的输出结果是()。

main()

{int a=3,b=4,c=5,t=99;

  if(b

  if(a

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

}

15.输入32,则显示()。

输入42,则显示()。

main()

{inta,b;

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

if(a++>3)

{printf("%d",a);

if(++b<4)printf("%d",b);

elseprintf("%d",a);}

else

switch(a-b)

{case1:

printf("%d",a);

case2:

printf("%d",b);

case3:

printf("%d",a+b);}

}

16.以下程序运行后的输出结果是()。

main()

{intx=1,y=0;

switch(x)

{case1:

switch(y)

{case0:

printf("first\n");break;

case1:

printf("second\n");break;}

case2:

printf("third\n");break;}

}

第五章循环结构程序设计

(一)选择题

1.设有程序段

intk=10;

while(k=0)k=k-1;

这下面描述中正确的是_________.

a)while循环执行10次b)循环是无限循环

c)循环体语句以此也不执行d)循环体语句执行一次

2.语句while(!

E);中的表达式!

E等价于________.

a)E==0b)E!

=1c)E!

=0d)E==1

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

intn=0;

while(n++<=2);printf("%d",n);

a)2b)3c)4d)有语法错

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

#include

main()

{

intnum=0;

while(num<=2)

{

num++;

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

}

}

a)1b)1c)1d)1

222

33

4

5.以下程序段________.

x=-1;

do{

x=x*x;

}

while(!

x);

a)是死循环b)循环执行二次

c)循环执行一次d)有语法错误

6.若有如下语句

intx=3;

do{printf(""%d\n",x-=2);}while(!

(--x));

则上面程序段______.

a)输出的是1b)输出的是1和-2c)输出的是3和0d)是死循环

7.若i为整型变量,则以下循环执行次数是_____.

for(i=2;i==0;)printf("%d",i--);

a)无限次b)0次c)1次d)2次

8.以下正确的描述是_______.

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

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

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

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

9.C语言中,while和do-while循环的主要区别是()。

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

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

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

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

10.下面有关for循环的正确描述是()。

A)for循环只能用于循环次数已经确定的情况

B)for循环是先执行循环的循环体语句,后判断表达式

C)在for循环中,不能用break语句跳出循环体

D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

11.对for(表达式1;;表达式3)可理解为()。

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

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

12.有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。

下面程序是求这堆零件总数,请选择填空()。

#include

main()

{inti;

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

if((i-2)%4==0)

if(!

((i-3)%7))

if(______)

printf(“%d”,i);

}

A)i%9=5     B)i%9!

=5     C)(i-5)%9!

=0     D)i%9==5

13.下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空()。

#include

main()

{inti=0,j,k;

do{i++;k=316-13*i;}while(_______);

j=k/11;

printf(“316=13*%d+11*%d”,i,j);

}

A)k/11     B)k%11     C)k/11==0     D)k%11==0

14.若运行以下程序时,从键盘输入ADescriptor表示回车),则下面程序的运行结果是()。

#include

main()

{charc;

intv0=1,v1=0,v2=0;

do{

switch(c=getchar())

{case‘a’:

case‘A’:

case‘e’:

case‘E’:

case‘i’:

case‘I’:

case‘o’:

case‘O’:

case‘u’:

case‘U’:

v1+=1;

default:

v0+=1;v2+=1;

}

}while(c!

=’\n’);

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

}

A)v0=7,v1=4,v2=7      B)v0=8,v1=4,v2=8

C)v0=11,v1=4,v2=11     D)v0=12,v1=4,v2=12

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

a=1;b=2;c=2;

while(a

printf("%d,%d,%d",a,b,c);

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

16.以下程序执行后sum的值是()。

main()

{inti,sum;

for(i=1;i<6;i++)sum+=i;

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

}

A)15     B)14     C)不确定     D)0

17.以下程序的输出结果是()。

main()

{inta,b;

for(a=1,b=1;a<=100;a++)

{if(b>=20)break;

if(b%3==1)

{b+=3;

continue;

}

b-=5;

}

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

}

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

18.以下程序的输出结果是()。

main()

{inti;

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

{if(i%2)

printf(“*”);

else

continue;

printf(“#”);

}

printf(“$\n”);

}

A)*#*#*#$     B)#*#*#*$     C)*#*#$     D)#*#*$

19.以下程序的输出结果是()。

main()

{intx=10,y=10,i;

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

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

}

A)10192     B)9876     C)10990     D)101091

20.若i、j已定义为int型,则以下程序段中内循环体的总的执行次数是()。

for(i=5;i;i--)

for(j=0;j<4;j++){}

A)20     B)24     C)25     D)30

21.以下程序执行后sum的值是()。

main()

{inti,sum=0;

for(i=1;i<=3;sum++)sum+=i;

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

}

A)6     B)3     C)死循环     D)0

(二)、填空题

1.下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束

循环。

请填空。

intn=0,c;

c=getchar();

while(____)

{

if(_____)n++;

c=getchar();

}

2.运行下面的程序,当用户输入2432时,程序的输出是_______。

#include

main()

{intr,m,n;

scanf("%d%d",&m,&n);

if(m

{

m=m+n;

n=m-n;

m=m-n;

}

r=m%n;

while(r)

{

m=n;n=r;r=m%n;

}

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

}

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

#include

main()

{inta,s,n,count;

a=2;s=0;n=1;count=1;

while(count<=7){n=n*a;s=s+n;++count;}

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

}

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

i=1;a=0;s=1;

do{a=a+s*i;s=-s;i++;}while(i<=10);

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

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

i=1;s=3;

do{s+=i++;

if(s%7==0)continue;

else++i;

}while(s<15);

printf("%d",i);

6.设有以下程序:

main()

{intn1,n2;

scanf("%d",&n2);

while(n2!

=0)

{n1=n2%10;

n2=n2/10;

printf("%d",n1);

}

}

程序运行后,如果从键盘上输入1298,则输出结果为。

第六章利用数组处理批量数据

单项选择题:

1.若二维数组a有m列,则在a[i][j]前的元素个数为________.

A)j*m+iB)i*m+jC)i*m+j-1D)i*m+j+1

2.设有数组定义:

chararray[]="China";则数组array所占的空间为()。

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

3.下列程序执行后的输出结果是()。

#include

main()

{chararr[2][4];

strcpy(arr,"you");strcpy(arr[1],"me

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

当前位置:首页 > 初中教育 > 语文

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

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