《C语言程序设计》综合复习资料.docx

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

《C语言程序设计》综合复习资料.docx

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

《C语言程序设计》综合复习资料.docx

《C语言程序设计》综合复习资料

《C语言程序设计》综合复习资料

要求掌握的章节:

第1章、第3章~第8章、

第10章(前4节)、第11章(前6节)

重点章节:

第3章~第8章、第10章(前4节)

难点章节:

第8章、第10章(前4节)

考试题型:

①选择题(填空题)(20%)

②读程序题(40%)

③编程序题(40%)

第1章C语言概述

一、选择题

1.能将高级语言编写的源程序转换为目标程序的软件是

A)汇编程序B)编辑程序C)解释程序D)编译程序

2.在一个C程序中

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

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

3.C语言中用于结构化程序设计的三种基本结构是

A)顺序结构、选择结构、循环结构B)if、switch、break

C)for、while、do-whileD)if、for、continue

4.C语言程序的基本单位是

A)函数B)过程C)子例程D)子程序

二、填空题

1.C语言程序总是从main函数开始执行。

2.C语言是种面向_____的程序设计语言,其程序的基本单位是函数。

.

3.C语言中的函数由、两部分组成。

4.结构化程序设计中所规定的三种基本控制结构是顺序结构、选择结构和循环结构。

 

第3章数据类型、运算符与表达式

一、选择题

1.下列关于C语言用户标识符的叙述中正确的是

A)用户标识符中可以出现下划线和中划线(减号)

B)用户标识符中不可以出现中划线,但可以出现下划线

C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头

D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头

2.C语言中基本数据类型有

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

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

3.在计算机中,一个字节所包含二进制位的个数是

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

4.用8位无符号二进制数能表示的最大十进制数为

A)127B)128C)255D)256

5.在计算机系统中,存储一个汉字的国标码所需要的字节数为

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

6.在C语言中,char型数据在内存中的存储形式是

A)原码B)补码C)反码D)ASCII码

7.十六进制数100转换为十进制数为

A)256B)512C)1024D)64

8.十六进制数7A转化成八进制数是

A)123B)122C)173D)172

9.十进制数32转化成十六进制数是

A)20B)ffC)10D)21

10.与十进制数511等值的十六进制数为

A)1FFB)2FFC)1FED)2FE

11.以下选项中可作为C语言合法整数的是

A)10110BB)0386C)0XffaD)x2a2

12.以下选项中合法的实型常数是

A)5E2.0B)E-3C).2E0D)1.3E

13.依据C语言的语法规则,下列()是用户定义的合法标识符。

A)intB)INTC)jin#2D)8f

14.依据C语言的语法规则,下列合法标识符是

A)ElseB)elseC)user$2D)5_examp

15.以下不正确的字符常量是

A)'8'B)'\xff'C)'\887'D)''

16.以下不正确的字符常量是

A)'\0'B)'\xgg'C)'0'D)'a'

17.以下选项中不合法的八进制数是

A)01B)077C)028D)00

18.下列运算符优先级最高的是

A)∙B)+C)&&D)!

=

19.若有说明:

chars1='\067',s2='1';则变量s1,s2在内存中各占的字节数是。

A)11B)41C)31D)12

20.以下不能定义为用户标识符的是

A)scanfB)VoidC)_3com_D)inte

21.在C语言中,可以作为用户标识符的一组标识符是

A)voiddefineWORDB)as_b3_224Else

C)Switch-wercaseD)4bDOSIG

22.若有:

intx=1,n=5;则执行语句x%=(n%2)后,x的值为

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

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

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

24.已知:

chara=’a’;intb=0;floatc=-1.2;doubled=0;执行语句:

c=a+b+c+d;后,变量c的类型是

A)charB)intC)doubleD)float

25.表示x≤0或x≥1的正确的表达式是

A)x>=1||x<=0B)x>1||x<=0

C)x>=1orx<=0D)x>=1||x<0

26.对于intx=12,y=8;printf(“%d%d%d”,!

x,x||y,x&&y);输出的结果是

A)011B)010C)000D)111

27.设有intx=11;则表达式(x++*1/3)的值是

A)3B)4C)11D)12

28.以下非法的赋值语句是

A)n=(i=2,++i);B)j++;C)++(i+1);D)x=j>0;

29.已定义c为字符型变量,则下列语句中正确的是

A)c='97';B)c="97";C)c="a";D)c=97;

30.执行intj,i=1;j=-i++;后j的值是

A)-1B)-2C)1D)2

31.以下选项中非法的表达式是

A)(a+2)++B)i=j==0C)(char)(65+3)D)x+1=x+1

32.已知小写字母的ASCII码为97,对于inta=99,b='b';printf(“%c,%d”,a,b);的结果是

A)99,bB)c,98C)99,98D)c,b

33.以下选项中非法的表达式是

A)0<=x<100B)i=j==0C)(char)(65+3)D)x+1=x+1

34.下列错误的表达式是

A)-x++B)(-x)++C)x+++yD)++x+y

35.对于intx=12,y=8;printf(“%d%d%d”,!

x,x||y,x&&y);输出的结果是

A)011B)010C)000D)111

36.设a,b,c均为int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是

A)'a'&&'b'B)0||1C)a||b+c&&b-cD)!

((a

c||1)

37.若有定义:

inta=8,b=5,C;,执行语句C=a/b+0.4;后,C的值是

A)1.4B)1C)2.0D)2

38.以下选项中,与k=n++完全等价的表达式是

A)k=n,n=n+1B)n=n+1,k=nC)k=++nD)k+=n+1

39.设a=3,b=4,c=5,则逻辑表达式:

a||b+c&&b==c的值是

A)1B)0C)非0D)语法错

40.若x为int型变量,则逗号表达式(x=4*5,x*5),x+25的结果是

A)20B)45C)100D)表达式不合法

41.若有语句inti=﹣19,j=i%4;printf("%d\n",j);则输出结果是

A)3B)-3C)4.75D)0

42.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是

A)x=x*100+0.5/100.0;B)x=(x*100+0.5)/100.0;

C)x=(int)(x*100+0.5)/100.0;D)x=(x/100+0.5)*100.0;

43.已知小写字母的ASCII码为97,对于inta=99,b='b';printf(“%c,%d”,a,b);的结果是

A)99,bB)c,98C)99,98D)c,b

44.若有语句inti=﹣19,j=i%4;printf("%d\n",j);则输出结果是。

A)3B)-3C)4.75D)0

45.语句:

printf("%d",(a=2)&&(b=-2));的输出结果为

a)无输出b)结果不确定c)1d)2

46.有定义语句:

intx,y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是

A)1112<回车>B)11,12<回车>

C)11,12<回车>D)11,<回车>12<回车>

47.设a=3,b=4,c=5,则逻辑表达式:

a||b+c&&b==c的值是

A)1B)0C)非0D)语法错

48.已知charch='A';且表达式ch=(ch>='A'&&ch<='Z')?

(ch+32):

ch 的值是()

A)AB)aC)ZD)出错

49.如下程序段:

intx=2005,y=2006;

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

则以下叙述中正确的是

A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出

B)运行时产生出错信息

C)输出值为2005

D)输出值为2006

50.设有如下程序段:

intx=2,y=3;

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

则以下叙述中正确的是

A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出

B)运行时产生出错信息

C)输出值为2

D)输出值为3

二、填空题

1.C语言中逻辑”真”用表示,逻辑”假”用表示。

2.在C语言中,整数可用进制、进制和进制3种数制表示。

3.十进制数52转化成八进制数是。

4.十六进制数7A转化成八进制数是。

5.十进制数47转化成八进制数是。

6.在C语言中,’\101’是种特殊的字符常量,它称为,其表示的字符为。

7.在C语言程序中,整型数可用十进制、进制和进制3种数制表示。

070是个合法的整型数。

8.字符串“ab\034\\\x79”的长度为。

9.十六进制数7A转化成八进制数是。

10.语句:

printf("%d",(a=-10)&&(b=0));的输出结果为。

11.若w=1,x=2,y=3,z=4,则条件表达式w

w:

y

y:

z的结果为。

12.设a,b,c均为int型变量,且a=3,b=4,c=5,则表达式:

‘a’||b+c&&b-c的值是。

13.在C语言中,”a”表示常量,’a’表示常量。

14.表达式:

'a'–0x20–'A'的值是

16.若有说明语句,inti=-3,j;则执行语句j=(++i)+(i++);后j的值是。

17.已知intj,i=2;执行语句j=-i++;后,j的值是。

18.设inti=1;charc='1';则条件表达式c==1的值是。

19.语句:

printf("%d",(a=2)&&(b=-2));的输出结果为。

20有:

charc='A';printf("%d\n",c+1);则输出的结果为。

21有:

intx=-3;则执行语句:

x+=x-=x*x;后x的值为

22语句printf(“%%%%\n”);的输出为。

23若有说明:

chars1='\xff',s2='f';则变量s1,s2在内存中所占的字节数均为。

24在C语言中,char型数据在内存中是以形式存储,其存储的字节数是。

25设x,y,,z均为int型变量,写出描述“x或y中至少有一个小于z”的表达式是

第4章最简单的C程序设计——顺序程序设计

一、读程序,写出程序执行结果

1.voidmain()

{inta=5,b=8;

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

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

printf(“a=%db=%d\n”,a,b);}

2.main()

{intx,y=1;

printf(“%c\n”,x=99);

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

}

3.main()

{intp=30;

printf("%d\n",(p/3>0?

p/10:

p%3));

}

4.main()

{intx,y=0;

printf(“%c\n”,x=99);

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

}

第5章选择结构程序设计

一、读程序,写出程序执行结果

1.voidmain()

{intx=-9,y;

if(x>0)y=10;

elseif(x==0)y=0;

elseif(x<-5)y=-3;

elsey=-2;

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

}

2.voidmain()

{inta,b,c,x;

a=b=c=1;

x=3;

if(!

a)x--;

elseif(b)

if(c)x=3;

elsex=4;

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

3.voidmain()

{inta=12,b=5,c=-3;

if(a>b)

if(b<0)c=0;

elsec++;

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

4.main()

{intx=100,a=20,b=10;

intv1=5;

if(a

if(b!

=15)

if(!

v1)

x=1;

else

x=10;

x=-1;

printf(“%d”,x);

}

5.main()

{inta=4,b=3,c=5,t=0;

if(a

if(a

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

}

6.main()

{inti=2;

switch(i)

{case1:

printf(“%d”,i++);

break;

case2:

printf(“%d”,i++);

case3:

printf(“%d”,i++);

break;

case4:

printf(“%d”,i++);}

}

7.voidmain()

{ints=’3’;

switch(s-'2')

{case0;

case1:

putchar(s+4);

case2:

putchar(s+4);break;

case3:

putchar(s+3);

default:

putchar(s+2);

}

}

8.voidmain()

{intx=2;

switch(1+x)

{case0;

case1:

printf(“apple”);break;

case2:

printf(“hello”);break;

case3:

printf(“world”);

default:

printf(“thankyou”);

}

}

第6章循环控制

一、选择题

1.对于循环for(k=16;k>0;k-=3)putchar(‘*’);输出是

A)*****B)******C)*******D)无限循环

2.若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)

s=a;for(b=1;b<=c;b++)s=s+1;

则与上述程序段功能等价的赋值语句是

A)s=a+b;B)s=a+c;C)s=s+c;D)s=b+c;

3.设有inti,x;则循环语句:

for(i=0,x=0;i<=9&&x!

=876;i++)scanf(“%d”,&x);

A)最多执行10次B)最多执行9次

C)是无限循环D)循环体一次也不执行

二、读程序,写出程序执行结果

1.main()

{intn=4;

while(n--)printf("%2d",--n);}

2.main()

{inti;

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

switch(i)

{case1:

printf("%d",i);

case2:

printf("%d",i);

default:

printf("%d",i);

}

}

3.main()

{inti,m=0,n=0,k=0;

for(i=9;i<=11;i++)

switch(i/10)

{case0:

m++;n++;break;

case10:

n++;break;

default:

k++;n++;

}

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

}

 

4.main()

{inti,j;

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

{for(j=0;j<11-2*i;j++)putchar(‘‘);

for(j=0;j<2*i-1;j++)putchar('9');

}

}

5.main()

{inta;

for(a=1;a<6;a++)

{if(a%2)

printf(“%”);

else

continue;

printf(“@”);

}

}

6.voidmain()

{intx=2,y=3;

intj;

for(j=1;y>0;y--)j=j*x;

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

}

7.voidmain()

{intn=-5;

while(++n)

printf("%2d",++n);

}

8.main()

{intx=15;

while(x>10&&x<50)

{x++;

if(x/3){x++;break;}

elsecontinue;}

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

}

9.voidmain()

{intx,y;

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

{if(x>=10)break;

if(x%2==1){x+=5;continue;}

x-=3;

}

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

10.main()

{intk=4,n=0;

for(;n

{n++;

if(n%3!

=0)continue;

k--;}

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

}

11.voidmain()

{inti=1;

while(i<10)

if(++i%5!

=3)continue;

elseprintf("%d",i);

} 

12.main()

{intk=0,m=0;

inti,j;

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

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

k++;

k-=j;}

m=i+j;

printf(“k=%d,m=%d”,k,m);

}

13.voidmain()

{intt,n=15;

t=0;

do{

t+=n;

n-=2;

}while(n>0);

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

}

14.voidmain()

{intn1,n2;

n2=5678;

while(n2!

=0)

{n1=n2%10;

n2=n2/10;

printf("%d",n1);

}

}

第7章数组

一、选择题

1.在执行inta[][3]={{1,2},{3,4}};语句后a[1][2]的值是

  A、3   B、4   C、0   D、2 

2.已知:

inta[][3]={1,2,3,4,5,6,7,8,9,0};则数组a的第一维的大小是

A)2B)3C)4D)无法确定;

3.以下能正确定义数组并正确赋初值的语句是

A)intN=5,b[N][N];B)inta[1][2]={{1},{3}};

C)intc[2][]={{1,2},{3,4}};D)intd[3][2]={{1,2},{34}};

4.以下不能正确定义二维数组的选项是

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

5.有语句:

chars1[10],s2[10]={"books"};则能将字符串books赋给数组s1的正确语句是

A)s1={"books"};B)strcpy(s1,s2);

C)s1=s2;D)strcpy(s2,s1);

6.C语言标准函数strcpy(s3,strcat(s1,s2))的功能是

A)将字符串s1复制到s2中,再连接到s3之后

B)将字符串s2连接到s1之后,再将s1复制到s3中

C)将字符串s2复制到s1中,再将s1连接到s3之后

D)将字符串s2连接到s1之后,再将s3复制到s1中

二、读程序,写出程序执行结果

1.main()

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

inti,s=0;

for(i=0;i<4;i++)s+=aa[i][3];

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

2.main()

{inta[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};

inti,j,s=0;

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

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

{if(a[i][j]<0)continue;

if(a[i][j]==0)break;

s+=a[i][j];

}

}

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

当前位置:首页 > 解决方案 > 学习计划

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

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