专接本计算机C语言程序设计模拟试题与答案
专接本计算机C语言程序设计模拟试题及答案(一)
一、单项选择题(每小题2分,共20分)
1. 若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是(????? )
A) p=2*(int*)malloc(sizeof(int));? ?????B) p=(int*)malloc(2*sizeof(int));
C) p=(int*)malloc(4*2);?????????? ??????D) p=(int*)calloc(2,sizeof(int));
2. 设有int x=11; 则表达式(x++ * 1/3) 的值是(????? )
A) 3???? ????????????B) 4????? ??????????C) 11???? ??????????D) 12
3. 下列程序执行后的输出结果是(小数点后只写一位)(????? )
#include
void main()
{double d; float f; long l; int i;
i=f=l=d=20/3;
printf("%d %ld %f %f \n", i,l,f,d);
}
A) 6 6 6.0 6.0????? ????????????????B) 6 6 6.7 6.7??
C) 6 6 6.0 6.7???? ?????????????????D) 6 6 6.7 6.0
4. 下列变量定义中合法的是(????? )
A) short _a=1-.le-1?????????? ????????B) double b=1+5e2.5?
C) long d1=0xfdaL?????????? ??????????D) float 2_and=1-e-3;
5. 设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(????? )
A)k++??????? ?????? B)k+=1 ?????????? C)++k???? ???? D)k+1
6. 有以下程序,其中%u表示按无符号整数输出,输出结果是(????? )
#include
void main()
{unsigned short x=0xFFFF;?? /* x的初值为十六进制数*/
?printf("%u\n",x);
}
A)-1??????? ?? B)65535 ???????? C)32767???? ??? D)0xFFFF
7. 有以下程序,输出结果是(????? )
#include
void main()
{int i,j;
?for(i=1;i<4;i++)
{for(j=i;j<4;j++) printf("%d*%d=%d ",i,j,i*j);
printf("\n");
}
}
A)? 1*1=1? 1*2=2? 1*3=3????????????? B) 1*1=1? 1*2=2? 1*3=3
2*1=2? 2*2=4????????????????? ??????2*2=4? 2*3=6
3*1=3????????????????????????? ?????3*3=9
C)? 1*1=1???????????????????????? ???D) 1*1=1
??? 1*2=2?? 2*2=4?????????????????? ????2*1=2?? 2*2=4
??? 1*3=3?? 2*3=6?? 3*3=9?????????? ????3*1=3?? 3*2=6? 3*3=9
8. 在C语言中,函数返回值的类型最终取决于(????? )
A)函数定义时在函数首部所说明的函数类型 B)return语句中表达式值的类型
C)调用函数时主函数所传递的实参类型??? D)函数定义时形参的类型
9. 设已有定义:float x;则对指针变量p进行定义且赋初值的语句中正确的是(????? )
A)float? *p=1024???? ??????????????????B)int? *p=(float x)
C)float?? p=&x???????????? ?????????? D)float *P=&x;
10. 以下叙述中正确的是(????? )
A)break语句只能用于switch语句体中
B)continue语句的作用是:使程序的执行流程跳出包含它的所有循环
C)break 语句只能用在循环体内和switch语句体内
D)在循环体内使用break语句和continue语句的作用相同
二、完成下列的程序填空(每空3分,共18分)
1.写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。
#i