资源描述:
《专接本计算机C语言程序设计模拟试题及答案(一).pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、专接本计算机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.设有intx=11;则表达式(x++*1/3)的值是()A)3B)4C)11D)123.下列程序执行后的输出结果是(小数点后只写一位)()#includevoidm
2、ain(){doubled;floatf;longl;inti;i=f=l=d=20/3;printf("%d%ld%f%f",i,l,f,d);}A)666.06.0B)666.76.7C)666.06.7D)666.76.04.下列变量定义中合法的是()A)short_a=1-.le-1B)doubleb=1+5e2.5C)longd1=0xfdaLD)float2_and=1-e-3;5.设有定义:intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()A)k++B)k+=1C)++kD)k+16.有以下程序,其中%u表示按无符号整数输出,输出结果是()
3、#includevoidmain(){unsignedshortx=0xFFFF;/*x的初值为十六进制数*/printf("%u",x);}A)-1B)65535C)32767D)0xFFFF7.有以下程序,输出结果是()#includevoidmain(){inti,j;for(i=1;i<4;i++){for(j=i;j<4;j++)printf("%d*%d=%d",i,j,i*j);printf("");}}A)1*1=11*2=21*3=3B)1*1=11*2=21*3=32*1=22*2=42*2=42*3=63*1=33
4、*3=9C)1*1=1D)1*1=11*2=22*2=42*1=22*2=41*3=32*3=63*3=93*1=33*2=63*3=98.在C语言中,函数返回值的类型最终取决于()A)函数定义时在函数首部所说明的函数类型B)return语句中表达式值的类型C)调用函数时主函数所传递的实参类型D)函数定义时形参的类型9.设已有定义:floatx;则对指针变量p进行定义且赋初值的语句中正确的是()A)float*p=1024B)int*p=(floatx)C)floatp=&xD)float*P=&x;10.以下叙述中正确的是()A)break语句只能用于switch语句体中B)c
5、ontinue语句的作用是:使程序的执行流程跳出包含它的所有循环C)break语句只能用在循环体内和switch语句体内D)在循环体内使用break语句和continue语句的作用相同二、完成下列的程序填空(每空3分,共18分)1.写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。#include#includevoidmain(){voidinverse(charstr[]);charstr[100];printf("inputstring:");scanf("%s",str);inverse(str);printf("
6、inversestring:%s",str);}voidinverse(charstr[]){chart;inti,j;for(i=0,j=strlen(str);i<(strlen(str)/2);i++,j--){;;;}}2.有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组。#includevoidmain(){inta[11]={1,4,6,9,13,16,19,28,40,100};inttemp1,temp2,number,end,i,j;printf("arraya:");for(i=0;i<10;i++)printf(
7、"%5d",a[i]);printf("");printf("insertdata:");scanf("%d",&number);end=a[9];if(number>end);elsefor(i=0;i<10;i++){if(a[i]>number){;a[i]=number;for(j=i+1;j<11;j++){temp2=a[j];a[j]=temp1;;}break;}}}三、写出下列程序的运行结果(每小题9分,共36分)1.以下程序运行后的输出结果是()#incl