黑龙江省职教中心《C语言编程基础》毕业试题一Word格式.docx
《黑龙江省职教中心《C语言编程基础》毕业试题一Word格式.docx》由会员分享,可在线阅读,更多相关《黑龙江省职教中心《C语言编程基础》毕业试题一Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
10、在C语言中,二维数组元素在内存中是按__________________的顺序存放的。
11、下列程序段中循环体的执行次数是。
a=10;
b=0;
do{b+=2;
a-=2+b;
}
while(a>
=0);
12、定义:
inta[3][4]={{1,2},{0},{4,6,8,10}};
则初始化后,a[1][2]得到的初值是,a[2][1]
得到的初值是。
13、指针变量定义的一般形式是________________________。
14、程序
#include<
main()
{intj,i=1;
j=-i++;
printf(“%d,%d\n”,j,i);
}
运行后输出结果为
15、程序
#include<
main()
{inta=177;
printf(“a=%o\n”,a);
16、若有以下定义:
inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;
则语句:
p+=2,*(p++);
执行后的结果(值)是
二、选择题:
(每题1分,共20分)
1、在C语言中,源程序文件的后缀名是()
A、·
C B、·
obj C、·
exe D、·
bas
2、下列字符中不属于转义字符的是()。
A、\nB、\kC、\bD、\t
3、下面对变量说明正确的是()。
A、Inta,b,c;
B、intx,floaty;
C、inta,x;
D、inta,x
4、以下正确的叙述是()。
A、在C程序中,每行中只能写一条语句。
B、若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数。
C、在C程序中,无论是整数还是实数,都能被准确无误地表示。
D、在C程序中,运算符%只能用于整数运算。
5、若以下变量均是整型,且num=sum=7,则计算表达式sum=++num,sum++,++num后sum的值为()。
A、7B、8C、9D、10
6、设x,y和z均为int型变量,则执行语句x=(y=(z=10)+5)-5;
后,x,y和z的值是()。
A、x=10,y=15,z=10B、x=10,y=10,z=10C、x=10,y=10,z=15D、x=10,y=5,z=10
7、变量的类型说明如下:
inti=8,k,a,b;
unsignedlongw=5;
doublex=1.42,y=5.2;
则以下符合C语言语法的表达式是()。
A、a+=a-=(b=4)*(a=3)B、a=a*3=2C、x%(-3)D、y=float(i)
8、以下说法正确的是()。
A、输入项可以为一个实型常量,如scanf(“%f”,3.5);
B、只有格式控制,没有输入项也能进行正确输入,如scanf(“a=%d,b=%d”);
C、当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&
f);
D、当输入数据时,必须指明变量的地址,如scanf(“%f”,&
9、以下if语句语法正确的是()。
A、if(x>
0)printf(“%f”,x)B、if(x>
0){x=x+y;
printf(“%f”,x);
elseprintf(“%f”,-x);
elseprintf(“%f”,-x);
C、if(x>
printf(“%f”,x);
};
D、if(x>
printf(“%f”,x)}
elseprintf(“%f”,-x);
10、以下叙述中不正确的是()。
A、预处理命令行都必须以#号开始。
B、在程序中凡是以#号开始的语句行都是预处理命令行。
C、C程序在执行过程中对预处理命令行进行处理。
D、#defineIBM_pc是正确的宏定义。
11、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’;
后,c2的值为()。
A、DB、68C、”0”D、C
12、下面不正确的字符串常量是()。
A、‘abc’B、”12.12”C、”0”D、””
13、以下叙述不正确的是()。
A、在C程序中,逗号运算符优先级最低。
B、在C程序中,APH和aph是两个不同的变量。
C、若a,b类型相同,在计算a=b后b中的值将放入a中,而b中的值不变。
D、当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数。
14、已知intx=10,y=20,z=30;
执行语句if(x>
y)z=x;
x=y;
y=z;
后,x,y,z的值是()。
A、x=10,y=20,z=30B、x=20,y=30,z=30C、x=20,y=30,z=10D、x=20,y=30,z=20
15、设x,y均为float型变量,则以下不合法的赋值语句是()。
A、++x;
B、y=(x%2)/10;
C、x*=y+8;
D、x=y=0;
16、C语言中不合法的字符常量是()。
A、’\0xff’B、’\029’C、’\68’D、’*’
17、程序
{intk=2,m=4,n=6;
int*pk=&
k,*pm=&
m,*p;
*(p=&
n)=*pk*(*pm);
printf(“%d\n”,n);
}运行结果为()
A、2B、4C、6D、8
18、定义如下变量和数组:
inti;
intx[3][3]={1,2,3,4,5,6,7,8,9};
则语句
for(i=0;
i<
3;
i++)printf(“%d”,x[i][2-i]);
的输出结果是()。
A、159B、147C、357D、369
19、有以下定义语句:
inta[]={0,1,2,3,4,5,0};
下面选项中与其等价的是()。
A、inta[7]={0,1,2,3,4,5,0};
B、inta[6]={,1,2,3,4,5};
C、inta[7]={0,1,2,3,4,5,1};
D、inta[7]={0,0,1,2,3,4,5};
20、在程序:
{inti,j;
for(j=1;
j<
=8;
j++)
{for(i=1;
=10;
i++)
printf(“*”);
printf(“\n”);
}中,内层循环的循环体printf(“*”);
共被执行了()次。
A、10B、40C、60D、80
三、写出序的运行结果(每题2分,共30分)。
1、main()
{inta1,a2;
floatb,c;
b=38.425;
c=12.0;
a1=(int)(b+c);
a2=(int)b%(int)c;
printf(“%d\n”,a1);
printf(“%d\n”,a2);
2、程序:
main()
{inti=1,j=1,k=2;
if((j++||k++)&
&
i++)
printf(“%d,%d,%d”,i,j,k);
}
运行结果为
3、程序:
main()
{inta=-1,b=4,k;
k=(a++<
=0)&
(!
(b--<
=0));
printf(“%d,%d,%d\n”,k,a,b);
运行结果为
4、程序:
inta=5;
fun(intb)
{staticinta=10;
a+=b++;
printf(“%d”,a);
main()
{intc=20;
fun(c);
a+=c++;
printf(“%d\n”,a);
5、程序:
{intx[8]={8,7,6,5,0,0},*s;
s=x+3;
print(“%d\n”,s[2]);
6、程序:
{inta=2,i;
i++)printf(“%4d”,f(a));
f(inta)
{intb=0;
staticintc=3;
b++;
c++;
return(a+b+c);
运行结果为
7、执行程序:
{inti,j;
for(i=1;
5;
for(j=2;
=i;
putchar(‘#’);
8、程序:
inta=4,b=3,c=5,t=0;
if(a>
b)t=a;
a=b;
b=t;
if(a<
c)t=a;
a=c;
c=t;
printf(“%d,%d,%d\n”,a,b,c);
}运行结果为
9、程序:
intd[5]={2};
{inti;
int*p=d;
=4;
{d[i]=*p+3;
p++;
printf(“%d\n”,d[4]);
10、程序:
{inta=4;
switch(a++)
{default:
a+=10;
case5:
case4:
break;
printf(“%d”,a);
11、程序:
{inta=0,b=0,i;
for(i=0;
10;
if(i%2)a+=i;
elseb+=i;
printf(“%d\t%d”,a,b);
12、程序:
i=100;
j=200;
printf(“(i++)+j=%d\n”,(i++)+j);
printf(“i+(++j)=%d\n”,i+(++j));
printf(“i+++j=%d\n”,(i+++j));
}运行结果为
13、程序:
#defineMIN(x,y)(x)<
(y)?
(x):
(y)
{inti,j,k;
i=10;
j=15;
k=10+MIN(i,j);
printf(“%d\n”,k);
}运行结果为
14、程序:
{inta=1;
while(a<
=15)
{if(a%3!
=0)
{a++;
continue;
printf(“%d”,a);
a++;
printf(“\n”);
}运行结果为
15、程序:
string.h>
{charp1[]=“abc”,p2[]=“ABC”,str[50]=“xyz”;
strcpy(str,strcat(p1,p2));
printf(“%s”,str);
运行结果为
四、根据要求,完善程序(每空2分,共14分)。
1、下面程序的功能是在输入的一批正数中求出最大者,输入0结束循环。
main()
{inta,max=0;
scanf(“%d”,&
a);
while()
{if(max<
a)max=a;
printf(“%d”,max);
2、下面程序的功能是输出以下形式的金字塔图案,请填空:
*main()
***{inti,j;
*****for(i=1;
*******{for()
printf(““);
for(j=1;
=;
printf(“*”);
}
3、以下程序的功能是:
输入某一公元年份,判断是否为闰年,请填空:
{inty;
y);
if()
printf(“闰年”);
elseprintf(“平年”);
}
4、下面程序功能是求100!
,请填空:
inti=1;
doubles=1;
do{i++;
while
printf(“1*2*3*…*100=%f”,s);
五、判断题:
(每题1分,共6分)。
()1、语句:
inti,*p=i;
是正确的C说明语句。
()2、变量定义语句:
floatx,y,do;
是错误的。
()3、表达式:
(x+y)++使x+y的值增加1。
()4、C程序一行可以写多条语句,但一条语句只能写在一行上。
()5、C语句for(;
;
)s中的语句s必执行无穷多次。
()6、在C语言中,语句inta=b=c=6;
表示定义了3个整型变量a,b,c,并都赋初值为6。
六、编程题:
(10分)
1、从键盘上输入a,b,c三个整数,输出其中大者。
(要求使用if–else语句,但不能出现嵌套)
答案
一、填空题(每空1分,共20分)
1、函数2、目标文件、.OBJ3、1004、fp=fopen(“abb.txt”,”w”)5、1
6、#include<
或#include“stdio.h”7、j=148、4或y=49、字符型数组或字符型指针、charstr[6];
或char*str;
(只要形式相同即可,标识符可不同)、10、行11、312、0、613、类型标识符*指针变量名;
14、-1,215、a=26116、3
二、选择题(每题1分,共20分)
1、A、2、B3、C4、D5、C6、A7、A8、D9、B10、C
11、B12、A13、D14、B15、B16、B17、D18、C19、A20、D
三、写出程序运行结果(每题2分,共30分)
1、502、2,2,23、1,0,34、30255、06、7897、######
2
8、5,4,39、1410、1511、25口口口口口口2012、(i++)+j=30013、15
14、369121515、abcABCi+(++j)=301
四、根据要求,完成程序(每题2分,共14分)i+++j=300
1、a或a!
=0、scanf(“%d”,&
2、j=1;
=4-i;
j++或j=4;
j>
i;
j—或j=4;
j--、2*i-1
3、(y%4==0&
y%100!
=0)||(y%400==0)4、s*=i;
、(i<
=100);
五、判断题(每题1分,共6分)
1、错2、对3、错4、错5、对6、错
{inta,b,c,max;
…………………………………………………………2分
scanf(“%d%d%d”,&
a,&
b,&
c);
if(a>
b)……………………………………………………………………2分
max=a;
else……………………………………………………………………………2分
max=b;
if(max>
c)………………………………………………………………………2分
printf(“max=%d”,max);
else…………………………………………………………………………2分
printf(“max=%d”,c);