吉林省C语言程序设计真题
1.下列说法正确的是(1)。
A.如果e1和e2是变量,e是表达式,则
E1=e2=e使得E1和e2都具有表达式E的值..
不能在程序中定义与库函数同名的变量。
C.C源程序可以放在多个文件中,但是
一个函数不能跨越两个不同的文件。
D.c语言编译系统以函数为单位编译源程序。
2.如果a、b、c都是实变量,除(2)外,下列语句可能得不到正确的计算结果。
a . if(b * b-4 * a * c = = 0)x 1 = x2 =-b/(2 * a);
else x 1 =(-b+sqrt(b * b-4 * a * c))/(2 * a),x2 =(-b-sqrt(b * b-4 * a * c))/(2 * a);
b . b = 2.0e 38+1.0-2.0e 38;
c . a = 456 * 768/2;
d .双定义= 1.0;
3.下面正确的常数是(3)。
A.077 ' b . ' \ 0x 89 ' c . 3.14u d . ' \ 012 '
4.如果已经声明“float x =-1234.5678;int m,n = 4;”执行" m = printf ("\ n% 8.3f \ n ",x)/n;"陈述结束后,
变量m的值是(4)。
A.2 B. 3 C. 4 D. 5
5.如果语句“int x 1;浮点x2;长x3;char x4"和以下选项都出现在switch语句中,其中正确的
是(5)。
A.case 1.1: scanf("%d ",& ampx 1);打破;
B.案例1+2: scanf("%f ",& ampx2);打破;
C.案例“x”:
case 'y'-1: scanf("%ld ",& ampx3);打破;
D.案例x4: scanf("%c ",& ampx4);打破;
6.33.以下表达式中,可以作为“if(e) statement”中条件表达式e的是(6)。
A.x = = ++(x+1)b . x+= ++x | | x ++ c . x+1 = z d . x % 2.0!=0
7.下列局部变量语句中,正确的是(7)。
A.int x = 0,void = 1;B.int x = 1,y = 2x
C.int x = 2,y = sqrt(x);D.int x = sqrt(y),y = 4;
8.下列说法中,正确的是(8)。
a . if(a & gt;b)m = a;n = b;else m = b;n = a;
b . if(a & gt;b){ m = a;n = b;else m = b;n = a;}
c . if(a & gt;b)m=a,n = b;else m=b,n = a;
d . if(a & gt;b){ m = a;n = b;} else(a & lt;= b){ m = b;n = a;}
9.24.已知有一种说法:“char c = ' 1 ';int x = 300浮点t = 35000double d = 3.1234567 e 10;",下面的表达式
评估时,除(9)外,结果可能不准确。
A.x = t/c b . t = d/x c . t = d/1e5f d . t = x+c
10.如果有一个语句“int i,k = 1;无符号j;",当执行下列语句时,将出现无限循环语句。
是(10)。
a . for(j = 15;j & gt0;j-= 2)k++;
b . for(j = 0;j & lt15;j+= 2)k++;
c . for(I = 0;我& lt15;I+= 2)k++;
d . for(I = 15;我& gt0;I-= 2)k++;
11.现有语句“int x=2,y=1,z = 0;”,以下表达式的值不为0 (11)。
A.x==(x=0,y=1,z=2)
B.z & gty & gtx
C.x & gty==1
D.x & gt(y=2)
12.如果e1,e2和e3是表达式,则语句while(e1){e2,E3;功能上等效的语句是(12)。
A.for(;e 1;E3)E2;b .对于(;e 1;E2)E3;c . for(e 1;E2;E3);d . for(e 1;e2、E3;);
13.有人宣称“int x = 3;”下列选项中,与“x+= x+1”的函数不等价的表达式是(13)。
a . x = x+(x = xx+1)b . x = x+(x = x(x+1))c . x = x+(x = xx1)d . x = x(x+1),x=x+x
14.如果语句“int a = 2;”,执行语句“printf("%d ",a,a+1;"输出结果是(14)。
A.语法错误
15.语句“如果(!n)n++;”“在!n”等价于以下条件的判断(15)。
A.n==0 B.n!= 0 C.n & gt0d . n & lt;0
16.如果语句“int a = 1;”,下面表达式中的错误是(16)。
A.-a++ B.+a - C. - a D.++-a
17.以下(17) C语言表达式可以正确表达数学公式1÷2xy。
A.1/sqrt(2 * 3.14)* 2 * pow(x,y) B.1.0/sqrt(2)*2*x**y
C.1.0/sqrt(6.28)*2x^y·d.1/6.28^0.5*2*pow(x,y)
18.有人说过“int a=3,b=3,c = 2;以下表达式中0的值是(18)。
A.!a & amp& amp!b & amp& ampc B!一||!a = = b & amp& ampb & gt= c d . a >;= b & amp& ampb & gtc
19.
36.如果是:int w=1,x=2,y=3,z = 4;然后表达式w >;x?x-:y & lt;z?y-:++z的值是(19)。
A.4b 3c 2d 1
20.已知一个程序有以下片段:
#定义p 2.5
主( )
{ float x = p;
}
主函数中标识符p代表一个(20)。
A.浮动变量b .双变量c .浮动常数d .双常数
20.
填空题
1.21.提供了以下程序段:
int a=2,b,c = 5;
scanf( "%d ",& ampb);
b = c - || scanf ("%d ",& ampc)和amp& ampa++;
执行这个程序段时,如果从键盘输入的数据是4?3 (?代表空格键),变量c的值为(21)。
2.有符号和无符号只能用于声明int类型变量和(22)类型变量。
3.代数表达式||的C语言表达式是(23)。
4.“int a=-13,n=7”语句已经做出。表达式“a%=n%=4”的计算结果为(24)。
5.据说“无符号整数a = 30”,那么–a的值就是__(25)____。
6.
以下程序的输出是_ _ _ _ (26) _。
# include & ltstdio.h & gt
主( )
{
int i=1,m = 0;
开关(一)
{
案例1:
案例二:m++;
案例三:m++;
}
printf ( "%d ",m);
}
7.C语言的三个逻辑运算符(!、和。& amp,||),优先于算术运算符的是
(27) 。
8.假设sizeof(int)的值为2,执行以下程序后,输出结果为(28)。
主()
{ int a,b;
a = 65536
b = 32767+1;
printf("%d %d\n ",a,b);
}
9.如果有一个语句“int a=3,b=0,c = 5;,表情!a+b+c-1 & amp;& ampb+c/2的值是(29)。
10.如果有一个语句“int x=1,y = 2;,表达式++x,x+y++的值是(30)。
三、阅读程序问题
1.在PC的TC中执行以下程序后的输出是:(31)。
主()
{
无符号x = 0x7f39
int y;
char c;
c = x;
x+= 0307;
y = x;
printf("%d,%x,%c ",x,y,c);
}
2.以下程序的输出结果是(32)。
# include & ltstdio.h & gt
主( )
{ int x=30,y = 45
而(x!=y)
if(x & gt;y)x-= y;
否则y-= x;
printf("%d ",x);
}
3.
以下程序输出结果的第一行是(33),第二行是(34)。
# include & ltstdio.h & gt
# include & ltmath.h & gt
void main()
{ int a = 0x65,b,c,count = 0;
b = a;
while(b & gt;0)
{ b = b/8;
count++;
}
printf("%d\n ",count);
while(count & gt;0)
{ c=pow(8,count-1);
printf("%d ",a/c);
a = a % c;
count-;
}
}
4.下面的程序运行时输出结果是(35)。
# include & ltstdio.h & gt
主()
{
int i,x=3,y = 5;
for(I = 0;我& lt3;i++)
开关(y%x)
{
案例0: printf("%d ",y);
case 1: printf("%d ",y-);打破;
情况2: printf("%d ",-y);打破;
}
}
5.执行下面的程序后,输出结果的第一行是(36),第二行是_ _ _ _ _ _ _ _ _ _ _ _ _ _。
#定义编号100
主()
{ int i=0,sum = 0;
做
{ if(i==(i/2)*2)
继续;
sum++;
if(sum & gt;3)
打破;
} while(++I & lt;n);
printf("%d \n %d ",sum,I);
}
第四,完善程序性提问
1.下面这个程序的作用是根据键盘输入的整数m判断2m -1是否是素数。如果是质数,求2m -1的逆序数。比如m是17,217–1(131071)是素数,它的逆序数是170131。
# include & ltstdio.h & gt
(38)
主()
{
int m,j;
长q,k1,k2=0,k3;
scanf("%d ",& ampm);
k3=k1=pow(2,m)-1;
q = sqrt(k 1);
for(j = 2;j & lt= q;j++)
如果((39))破;
if(j & gt;问)
{ while(k3 & gt;0)
{ k2 = k2 * 10+(40);
k3/= 10;
}
printf("m=%d\npow(2,m)-1=%ld是一个素数。\n颠倒顺序%ld\n ",m,k1,k2);
}
其他
printf("m=%d不是素数。\n”,m);
}
2.下面的程序查找并输出所有满足给定条件的用四位小数表示的正整数:该数是某个数的平方,该数的后两位是25,组成该整数的两位是2。例如,1225是满足给定条件的四位正整数(352=1225)。
# include & ltstdio.h & gt
# include & ltmath.h & gt
主()
{ long i,j,s,d = 0;
for(I = 1000;我& lt10000;i++)
{ (41) ;
j =(42);
if(I = = j * j & amp;& ampi%100==25)
{ s = I;
while(s & gt;0)
{ if((43))d++;
s = s/10;
}
if(d==2) printf("\n %d ",I);
}
}
}
3..下面的程序计算下面数学函数展开式的近似值,当最后一项的绝对值小于10-6时,累加运算停止。
当程序运行时,键盘上的三个实数-1.0,0.5和1.0分别作为x的值。
# include & ltstdio.h & gt
# include & ltmath.h & gt
#定义每股收益1.0e-6
主()
{双x,n,tn,ft,sn,xn;
int I;
for(I = 0;我& lt3;i++)
{ (44) ;
ft = 1.0;
scanf("%lf ",& ampx);
sn = xn = x;
做{
xn = xn * x * x
ft = ft *(2 * n-3)/(2 * n-2);
TN = ft * xn/(45);
sn = sn+TN;
n = n+1;
} while((46));
printf("f(%lf)=%0.6lf\n ",x,sn);
}
}
《C语言程序设计》试卷答题卡
(本文满分为100)
部门_ _ _ _ _ _ _ _ _ _ _学号_ _ _ _ _ _ _ _ _ _ _学号_ _ _ _ _ _ _ _ _ _ _学号_ _ _ _ _ _ _ _ _ _ _学号
单项选择题得分填空题得分阅读程序题得分完美程序题得分总分
一、多项选择题
(1) (2) (3) (4) (5)
(6) (7) (8) (9) (10)
(11) (12) (13) (14) (15)
(16) (17) (18) (19) (20)
第二,填空
(21) (22)
(23) (24)
(25) (26)
(27) (28)
(29) (30)
三、阅读程序问题
(31) (32)
(33) (34)
(35) (36)
(37
第四,完善程序性提问
(38) (39)
(40) (41)
(42) (43)
(44) (45)
(46)
C语言程序设计试卷参考答案
(本文满分为100)
一、多项选择题
(1)C(2)D(3)D(4)A(5)B
(6)B(7)C(8)C(9)D(10)A
(11)C(12)A(13)A(14)C(15)A
(16)D(17)A(18)A(19)B(20)
第二,填空
(21)4(22)char
(23)fabs(exp(sqrt(1+sin(x)))(24)-1
(25) 65506 (26) 2
(27) !(28) 0 -32768
(29) 1 (30) 4
三、阅读程序问题
(31) -32768, 8000, 9 (32) 15
(33) 3 (34) 145
(35) 4433 (36) 4
(37) 7
第四,完善程序性提问
(38)#包含& ltmath.h & gt(39) k1%j==0
(40)k3 % 10(41)d = 0
sqrt(I)(43)s % 10 = = 2
(44)n = 2.0(45)(2 * n-1)
(46)晶圆厂(tn)>EPS