《C语⾔程序设计》复习题(有答案)《C语⾔程序设计》期末复习题
⼀、填空题
1.程序设计语⾔⼀般分为机器语⾔、汇编语⾔、⾼级语⾔三⼤类。
2.在C语⾔中,基本的逻辑运算符有3个:逻辑与(&&)、逻辑或(||)、逻辑⾮(!)。
3.结构化程序设计有顺序、选择、循环3种基本控制结构形式。
4.在C语⾔中,有3种类型的整型变量:基本整型、长整型、短整型。
5.⽤于输出⼗进制形式基本整型数据的格式说符为%d或%md。…else结构、if…elseif结构、switch结构来实现各种形式的选择结构。
10.C语⾔中的宏定义有两种形式:符号常量定义、带参数的宏定义。
11.数据的存储类型分为⾃动类型(auto)、静态类型(static)、寄存器类型(register)、外部类型(extern)。
12.在C语⾔中,函数分为标准库函数、⽤户⾃⼰定义的函数两种。
⼆、选择题
1.在C语⾔中,表达式语句的终结符是(B)
A.:B.;C.。D.,
2.在⼀个函数体内部,由左、右花括号括起来的语句称为(B)
A.赋值语句B.复合语句C.单⾏语句D.空语句
3.C语⾔中“结束本次循环的执⾏,但不退出循环结构”所使⽤的语句是(B)
A、break语句
B、continue语句
C、return语句
D、switch语句
4.下列函数中不是常⽤库函数的是(D)
A.scanf()B.fabs()C.cos()D.abc()
5.下列变量名中,合法的变量名是()()。
8.⽤(B)说明的局部变量称为局部静态变量。A.autoB.staticC.registerD.extern
9.定义局部静态变量时若不赋初值,则在编译时将⾃动赋初值为(A)
A.0B.1C.随即赋值D.不赋值
10.⽂件包含命令的⼀般形式为(B)
A.#defineB.#include
C.#ifdef,#else,#endifD.#if,#else,#endif
11.说明语句:inta[50];定义了⼀个包含(C)个元素的整型⼀维数组。
A.30
B.40
C.50
D.80
12.设有变量说明“inta=11,c=10;”,则表达式(--a!=c++)?(--a):++c的值是(D)。A.9B.10C.11D.12
13.在C语⾔中,⽤符号()()A.6 B.8 C.14 D.48
三、程序填空题
1.设有C程序如下:
#definePQ4.5
#defineABC(x)PQ+(xx)
#include“stdio.h”
main()
{inta=3,b,c,d;
b=ABC(a);
c=ABC(a+1);
d=2.0ABC(a);
printf(“b=%5d,c=%-5d,d=%d\n,b,c,d);
}
上述程序的运⾏结果是:b=13,c=11,d=18
2.如下C程序,程序运⾏时输⼊的p值为20,输出结果为w=0.607500
#include"stdio.h"
main()
{floatp,w;
printf("inputp:");
scanf("%f",&p);
if(p<=0.0)w=0.0;
elseif(p<=0.5)w=0.01p;
elseif(p<=1.0)w=0.005+0.015(p-0.5);
elseif(p<=2.0)w=0.0125+0.02(p-1.0);
elseif(p<=5.0)w=0.0325+0.025(p-2.0);c语言六种基本语句
elseif(p<=10.0)w=0.1075+0.03(p-5.0);
elsew=0.2575+0.035(p-10.0);
printf("w=%f\n",w);}
3.如下C程序,程序运⾏时从键盘输⼊数据:9095867260-12,输出结果为count=2 #include"stdio.h"
main()
{intcount;
floatgrade;
count=0;
scanf("%f",&grade);
while(grade>=0.0)
{if(grade>=90.0)count=count+1;
scanf("%f",&grade);}
printf("count=%d\n",count);}
4.以下程序段的作⽤是计算N!的递归函数
doublep(intk)
{doublef;
if((k==0)||(k==1))f=1;
elsef=p(k-1)k;
return(f);}
5.如下C程序,程序运⾏时从键盘输⼊数据:123456789101112131415 16171819202122232425,输出结果为17131925
#include
voidmain()
{intk,j,p[5][5];
printf("inputdata:");
for(k=0;k<5;k++)
for(j=0;j<5;j++)
scanf("%d",&p[k][j]);
for(k=0;k<5;k++)
{for(j=0;j<5;j++)
printf("%8d",p[k][j]);
printf("\n");}
printf("\n");
for(k=0;k<5;k++)
printf("%8d",p[k][k]);
printf("\n");}
四、编程题(5分)
1.编写程序完成⼀道数学计算:m=1+2+3+ (1000)
#include
voidmain()
{intn,m;
m=1;
for(n=2;n<=1000;n=n+1)m=m+n;
printf(“m=%d\n”,m);
}
2.编写程序完成⼀道数学计算:求n!的值(要求⽤for循环完成)。(P102)
五.简答题(15分)每题5分
程序设计的过程分为⼏个基本步骤?(P4)
当型循环结构与直到型循环结构的区别与联系?(P99-101)
在C语⾔中,给数组元素提供数据的⽅法有⼏种?(P158)
4 2

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。