《c语言程序设计》复习提纲与练习.docx

上传人:b****8 文档编号:12976328 上传时间:2023-06-09 格式:DOCX 页数:16 大小:20.56KB
下载 相关 举报
《c语言程序设计》复习提纲与练习.docx_第1页
第1页 / 共16页
《c语言程序设计》复习提纲与练习.docx_第2页
第2页 / 共16页
《c语言程序设计》复习提纲与练习.docx_第3页
第3页 / 共16页
《c语言程序设计》复习提纲与练习.docx_第4页
第4页 / 共16页
《c语言程序设计》复习提纲与练习.docx_第5页
第5页 / 共16页
《c语言程序设计》复习提纲与练习.docx_第6页
第6页 / 共16页
《c语言程序设计》复习提纲与练习.docx_第7页
第7页 / 共16页
《c语言程序设计》复习提纲与练习.docx_第8页
第8页 / 共16页
《c语言程序设计》复习提纲与练习.docx_第9页
第9页 / 共16页
《c语言程序设计》复习提纲与练习.docx_第10页
第10页 / 共16页
《c语言程序设计》复习提纲与练习.docx_第11页
第11页 / 共16页
《c语言程序设计》复习提纲与练习.docx_第12页
第12页 / 共16页
《c语言程序设计》复习提纲与练习.docx_第13页
第13页 / 共16页
《c语言程序设计》复习提纲与练习.docx_第14页
第14页 / 共16页
《c语言程序设计》复习提纲与练习.docx_第15页
第15页 / 共16页
《c语言程序设计》复习提纲与练习.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

《c语言程序设计》复习提纲与练习.docx

《《c语言程序设计》复习提纲与练习.docx》由会员分享,可在线阅读,更多相关《《c语言程序设计》复习提纲与练习.docx(16页珍藏版)》请在冰点文库上搜索。

《c语言程序设计》复习提纲与练习.docx

《c语言程序设计》复习提纲与练习

〈C语言〉复习提纲

第1章C语言概述

1.了解C语言的发展;

2.掌握C程序的基本结构;

3.了解在TurboC下编辑、编译、连接和运行一个C程序的方法。

第2章算法

了解算法的概念和流程图

第3章数据类型、运算符、表达式、赋值语句和输入/输出

1.掌握C语言的基本语法:

C语言中保留字、标识符的命名规定、常量的合法表示形式;

C语言的基本数据类型、定义变量及赋值方法;

2.掌握运算符的功能、优先级、表达式及表达式的求值;

注意以下运算符:

/、%、++、--以及复合赋值符的优先级。

第4章顺序程序设计

1.掌握getchar()函数;

2.掌握printf()函数,正确使用主要格式转换符:

%d,%md,%ld,%f,%m.nf,%c,%s;

3.掌握scanf()函数,正确使用主要格式转换符:

%d,%f,%c,%s;特别要注意输入时数据的分隔。

第5章选择结构程序设计

1.了解C语言表示逻辑量的方法;

2.正确使用关系、逻辑运算符和表达式,注意短路运算符&&和||。

3.熟练掌握if、switch语句的使用;要注意if和else的配对关系,switch语句中的break的作用。

第6章循环控制

1.熟悉while、do-while、for语句的形式、流程图;

2.掌握用三种语句实现循环控制的方法;

3.了解break语句的作用。

4.掌握例6.6、6.7、6.8、6.9

第7章数组

1.掌握一维/二维数组的定义、赋值、初始化和输入、输出方法;

2.掌握一维数组的有关应用:

求最大值、平均值、排序(例7.3);

3.掌握字符数组和字符串处理函数的使用;

4.读懂例7.2、7.3。

第8章函数

1.掌握定义函数的方法;

2.掌握函数调用方法,特别注意实参与形参的对应关系以及”值传递”方式;

3.了解函数声明的方法和使用;

4.了解函数的嵌套调用;

5.理解递归函数的执行过程;

6.理解数组作函数参数时实参与形参的传递方式;

7.了解局部变量/全局变量,动态变量/静态变量的概念,要理解p.173例题8.17.

第9章编译预处理

掌握带参数的宏定义

第10章指针

1.掌握指针的概念,会定义和使用指针变量;

2.掌握指针作为函数参数的作用;

3.学会使用数组的指针和指向数组的指针变量;

4.学会使用字符串的指针和指向字符串的指针变量.

 

第11章结构体和共用体

1.掌握结构体类型、结构体变量的定义和使用;

2.掌握结构体类型数组的概念和应用;

3.掌握结构体变量、结构体数组的指针的使用;

4.了解结构体指针作为函数参数的作用;

5.掌握共用体类型、共用体变量的定义以及共用体变量的存储形式;

练习题

第3,4章

1.设x、y、z和k都是int型变量,则执行表达式:

x=(y=4,z=16,k=32)后,x的值为

A)4B)16C)32D)52

2.设有如下的变量定义:

inti=8,a,b;

doublex=1.42,y=5.2;

则以下符合C语言语法的表达式是

A)a+=a-=(b=4)*(a=3)B)x%3;

C)a=a*3=2D)y=float(i)

3.假定有以下变量定义:

intk=7,x=12;

则能使值为3的表达式是

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

4.以下选项中属于C语言的数据类型是

A)复数型B)逻辑型C)双精度型D)集合型

5.在C语言中,不正确的int类型的常数是

A)32768B)0C)037D)0xAF

6.设有以下变量定义,并已赋确定的值

charw;intx;floaty;doublez;

则表达式:

w*x+z-y所求得的数据类型为[]。

7.若变量已正确定义并赋值,下面符合C语言语法的表达式是

A)a:

=b+1B)a=b=c+2C)inta=5%3D)a=a+7=c+b

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

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

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

A)3B)3.2C)0D)3.07

main()

{doubled=3.2;intx,y;

x=1.2;y=(x+3.8)/5.0;

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

}

10.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是

11.若变量a、i已正确定义,且i已正确赋值,合法的语句是

A)a==1B)++i;C)a=a++=5;D)a=int(i);

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

12.C语言中运算对象必须是整型的运算符是

A)%=B)/C)=D)〈=

13.若有以下程序段,

intc1=1,c2=2,c3;

c3=1.0/c2*c1;

则执行后,c3中的值是

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

14.以下所列的C语言常量中,错误的是

A)0xFFB)1.2e0.5C)2LD)‘\72’

15.下列选项中,合法的C语言关键字是

A)VARB)cherC)integerD)default

16.有如下程序

main0

{inty=3,x=3,z=1;

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

}

运行该程序的输出结果是

A)34B)42C)43D)33

17.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是

A)-3B)9C)-12D)6

18.以下程序的输出结果是【】

main()

{inta=1,b=2;

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

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

}

19.若有定义:

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

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

20.若变量a是int类型,并执行了语句:

a=‘A'+1.6;,则正确的叙述是

A)a的值是字符CB)a的值是浮点型

C)不允许字符型和浮点型相加D)a的值是字符‘A’的ASCII值加上1。

21.以下选项中不属于C语言的类型的是

A)signedshortimtB)unsignedlongint

C)unsignedintD)longshort

22.设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是

A)6.500000B)6C)5.500000D)6.000000

23.若有以下程序:

main()

{intk=2,i=2,m;

m=(k+=i*=k);printf(“%d,%d\n”,m,i);

}

执行后的输出结果是

A)8,6B)8,3C)6,4D)7,4

 

第5章

(1).语句:

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

A)无输出B)结果不确定C)-1D)1

(2).当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是

A)c=b=a;B)(a=c)‖(b=c);

C)(a=c)&&(b=c);D)a=c=b;

(3).设x、y、t均为int型变量,则执行语句:

x=y=3;t=++x||++y;后,y的值为

A)不定值B)4C)3D)1

(4).若有定义:

inta=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是[]。

c=(a-=(b-5));

c=(a%11)+(b=3);

(5)表示“整数x的绝对值大于5”时值为“真”的C语言表达式是[]。

(6).已有定义:

intx=3,y=4,z=5;,则表达式!

(x+y)+z-1&&y+z/2的值是

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

(7)能正确表示逻辑关系:

“a≥=10或a≤0”的C语言表达式是

A)a>=10ora<=0B)a>=0|a<=10C)a>=10&&a<=0D)a>=10‖a<=0

 

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

A)-11B)01C)10D)00

main()

{inta=-1,b=1,k;

if((++a<0)&&!

(b--<=0))

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

else

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

}

(9)若从键盘输入58,则以下程序输出的结果是【】。

main()

{inta;

scanf("%d",&a);

if(a>50)printf("%d",a);

if(a>40)printf("%d",a);

if(a>30)printf("%d",a);

}

(10)若执行以下程序时从键盘上输入9,则输出结果是

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

main()

{intn;

scanf(“%d”,&n);

if(n++<10)printf(“%d\n”,n);

elseprintf(“%d\n”,n--);

}

(11)有如下程序

main0

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

switch(x){

case0:

b++;

case1:

a++

case2:

a++;b++

}

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

}

该程序的输出结果是

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

(12)有如下程序

main()

{floatx=2.0,y;

if(x<0.0)y=0.0;

elseif(x<10.0)y=1.0/x;

elsey=1.0;

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

}

该程序的输出结果是

A)0.000000B)0.250000C)0.500000D)1.000000

(13).若有定义:

floatw;inta,b;则合法的switch语句是

A)switch(w)B)switch(a);

{case1.0:

printf("*\n");{case1printf("*\n");

case2.0:

printf("**\n");case2printf("**\n");

}}

C)switch(b)D)switch(a+b);

{case1:

printf("*\n");{case1:

printf("*\n");

default:

printf("\n");case2:

printf("**\n");

case1+2:

printf("**\n");default:

printf("\n");

}}

14.执行下面的程序时,将1、2、3、4分别赋给a、b、c、d,正确的输入是。

main()

{inta,b,c,d;

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

}

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

15.执行下面的程序后,输出结果是。

main()

{inta=1234;

floatb=56.67821;

charch=97;

printf(“a=%2d,b=%.2f,ch=%c\n”,a,b,ch+3);

}

 

第6章

1.以下循环体的执行次数是()

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

main()

{inti,j;

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

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

}

2.有如下程序

main()

{inti,sum;

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

sum+=i;

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

}

该程序的执行结果是()

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

3.有如下程序

main0

{intx=23;

do{

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

}while(!

x);

}

该程序的执行结果是

A)321B)23C)不输出任何内容D)陷入死循环

4.有以下程序段

intk=0;

while(k=1)k++;

while循环执行的次数是

A)无限次B)有语法错,不能执行C)一次也不执行D)执行1次

5.以下程序执行后sum的值是

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

min()

{inti,sum;

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

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

}

6.有以下程序段

intx=3;

do

{printf(“%d”,x-=2);}

while(!

(--x));

其输出结果是

A)1B)30C)1–2D)死循环

7.若输入字符串:

abcde<回车>,则以下while循环体将执行[]次。

While((ch=getchar())==’e’)printf(“*”);

8.下面程序的功能是:

计算1到10之间奇数之和及偶数之和,请填空。

#include

main()

{inta,b,c,i;

a=c=0;

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

{a+=i;

[];

c+=b;

}

printf("偶数之和=%d\n",a);

printf("奇数之和=%d\n",c-11);

}

9.有以下程序段

intn=0,p;

do{scanf(“%d”,&p);

n++;

}while(p!

=12345&&n<3);

此处do—while循环的结束条件是

A)P的值不等于12345并且n的值小于3

B)P的值等于12345并且n的值大于等于3

C)P的值不等于12345或者n的值小于3

D)P的值等于12345或者n的值大于等于3

10.以下程序运行后的输出结果是[]。

main()

{intx=15;

while(x>10&&x<50)

{x++;

if(x/3!

=0){x++;break;}

elsecontinue;

}

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

}

11.以下程序中,while循环的循环次数是

main()

{inti=0;

while(i<10)

{if(i<1)continue;

if(i==5)break;

i++;

}

......

}

A)1B)10C)6D)死循环,不能确定次数

12.以下程序的输出结果是[]

main()

{inta=0,i;

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

{switch(i)

{case0:

case3:

a+=2;

case1:

case2:

a+=3;

default:

a+=5;

}

}

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

}

13.有如下程序

main0

{intn=9;

while(n>6)

{n--;printf(“%d”,n);}

}

该程序段的输出结果是

A)987B)876C)8765D)9876

14.下面程序的功能是:

输出100以内能被3整除且个位数为6的所有整数,请填空。

#include

main()

{inti,j;

for(i=0;[];i++)

{j=i*10+6;

if([])continue;

printf("%d",j);

}

}

15.以下程序的功能是:

按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:

main()

{intn,k;

floatscore,sum,ave;

sum=0.0;

for(n=1;n<=10;n++)

{for(k=1;k<=4;k++)

{scanf(“%f”,&score);sum+=score;}

ave=sum/4.0;

printf(“NO%d:

%f\n”,n,ave);

}

}

上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。

这条语句是

A)sum=0.0;B)sum+=score;

C)ave=sun/4.0;D)printf(“NO%d:

%f\n”,n,ave);

 

下面的程序是求满足下列条件的四位数:

该数是完全平方数;第一、三位数字之和为10,第二、四位数字之积为12。

请填空。

main()

{inti,j,a,b,c,d;

for(i=32;i<=99;i++)

{[]

a=j/1000;

b=j/100-a*10;

c=[];

d=j%10;

if([])

printf(“%d”,j);

}

 

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2