文档介绍:该【(完整版)专升本C语言真题 】是由【mama】上传分享,文档一共【13】页,该文档可以免费在线阅读,需要了解更多关于【(完整版)专升本C语言真题 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:.
(完整版)专升本C语言真题
05年C语言
六、单项选择(10分,每题1分)
;B。floata〉b;C。char$*per;
=1,x=2,y=3;下列不是C语言合法表达式的是
A.++9B.(float)(x)C。a++D.(float)x+y
=1,j=2,k=3;表达式i&&j&&k的值为
A。1B。2C。
,b;下面输入函数调用语句正确的是
A。scanf(“%d%d”,a,b);(“%d%d”,&a,&b);
C。scanf(%d%d,a,b);D。scanf(%d%d,&a,&b);
A。3><2〉3C.!3〉+2〉3
6。下列对数组的定义正确的是
(10);[10];{10};;
7。下列对C程序结构的说法不正确的是
A。()函数
。C程序中可以定义函数
*p,a[10],j=3;下列指针变量赋值错误的是
=&j;=&a[j];=a;D。p=0x1000;
=4;执行语句a>〉1后,变量a的值
。3D。4
10。以只读的方式打开文本文件“test。txt”的正确方法是
A。fopen(“",”r”);(“test。txt",”rb”);
C。fopen(“test”,"r”);(“");
七、填空题(10分,每题1分)
a)若有说明a=-1;printf(“%d,%x,%o\n",a,a,a)的输出结果是______________。
b)-32760在内存中的存储形式是__________(用十六进制表示)。
c)7%4的值为________。
d)写出C语言中的三种逻辑运算符____________.
e)循环语句有for语句、__________和__________.
f)continue语句的作用是_______________________.
g)字符串“123\x45\19abc”的长度为____________。
h)数组a[10]的第i个元素的指针是______________。
i)若有结构体类型定义structSTU{inta;floatx;charc;};sizeof(structSTU)的值是________.
j)FILE*fp;的作用是定义了一个_______________.
八、写出下列程序的运行结果(10分,每题5分)
()
{
inti,s;
for(i=10,s=0;i;s+=i,i—-)
printf(“result:%d\n”,s);
}
()
{
voidfun();
floatx,y;:.
(完整版)专升本C语言真题
x=10;
fun(x,&y);
printf(“result:%。0f,%.0f\n”,x,y);
}
voidfun(x,y)
floatx,*y;
{
*y=x*x;
}
九、编写程序(20分)
(8分).
,1,2,3,5,8,13,..。。..的前100项的和及平均值(12分).
06年C语言
六、单项选择(15分,每题1分)
1、C语言程序的基本单位是()
2、可用作C语言用户标识符的一组字符串是()
A。
–abcCaseD。2aDOsizeof
3、设inta=12,则执行完语句a+=a—=a*a;后a的值是()
A。552B。264C。144D.-264
4、以下叙述正确的是()
-while语句构成的循环不能用其它语句构成的循环来代替。
-while语句构成的循环只能用break语句退出。
-while语句构成的循环,在while后的表达式为非零时结束循环。
-while语句构成的循环,在while后的表达式为零时结束循环。
5、设有说明int(*ptr)[10]其中的标识符ptr是()
A。10个指向整型变量的指针
,每个元素都只能指向整型量
6、有以下程序段
typedefstructNODE{
intnum;
structNODE*next;
}OLD;
则以下叙述中正确的是()
。NODE是一个结构体类型
C。
7、以下不能正确计算代数式值的C语言表达式是()
A。1/3*sin(1/2)*sin(1/2)(0。5)*sin(0。5)/3
(sin(0。5),2)/3D。1/3。0*pow(sin(),2)
8、C语言规定,程序中各函数之间()
B。不允许直接递归调用也不允许间接递归调用
:.
(完整版)专升本C语言真题
D。不允许直接递归调用允许间接递归调用
9、在宏定义#,用宏名PI代替一个()
A。。字符串
10、在C语言中,要求运算数必须是整型的运算符是()
A。%B./C。<D.!
11、为表示关系x≥y≥z,应使用的C语言表达式是()
A.(x〉=y)&&(y〉=z)B.(x〉=y)AND(y>=z)
C.(x〉=y〉=z)D。(x〉=y)&(y〉=z)
12、有以下程序段
intk=0,a=3,b=4,c=5;k=a〉c?c:k;
执行该程序段后,k的值是()
A。
13、若有定义char*s=”\”Name\Address\n”,则指针s所指字符串长度为()
A。19B。15C。18D。说明不合法
14、下述对C语言字符数组的描述中错误的是()
A。字符数组可以存放字符串
D。不可以用关系运算符对字符数组中的字符串进行比较
15、设有如下的函数
exam(floatx){
printf(“\n%f",x*x);
}
则函数的类型为()
A。
七、阅读下列程序,写出其运行结果(每小题5分,共25分)
:
main()
{inti,j,x;
for(i=0;i<=4;i++)
{for(j=1;j〈=4—i;j++)
printf(“”);
for(j=0;j<=2*i+1;j++)
printf(“*");
printf(“\n”);
}
}
2。程序:
main()
{
intk=3,n=0;
while(k〉0)
{switch(k)
{case1:n+=k;
case2:
case3:n+=k;
default:break;:.
(完整版)专升本C语言真题
}
k——;
}
printf(“%d\n”,n);
}
3。程序:
main()
{inti,j,row,column,m;
staticintarray[3][3]={{100,200,300},{28,72,-30},{—850,2,6}};
m=array[0][0];
for(i=0;i〈3;i++)
for(j=0;j〈3;j++)
if(array[i][j]〈m)
{m=array[i][j];
row=i;column=j;
}
printf(“%d,%d,%d\n",m,row,column);
}
4。程序:
#include〈stdio。h>
intp(intk,inta[])
{intm,i,c=0;
for(m=2;m<=k;m++)
for(i=2;i〈m;i++)
{if(!(m%i))break;
if(i==m)a[c++]=m;
}
returnc;
}
#defineMAXN20
main()
{inti,m,s[MAXN];
m=p(13,s);
for(i=0;i<m;i++)
printf(“%4d”,s[i]);
printf(“\n”);
}
5。程序:
intf(intn)
{if(n==0||n==1)
return1;
else
returnf(n—2)+2*f(n-1);
}
main()
{intn=5;
printf(“%d”,f(n));
}:.
(完整版)专升本C语言真题
八、程序填空;按照要求完成下面的程序(函数)(每空2分,共10分)
1。本函数用对分查找法,在以按字母次序从小到大排序的字符数组list中查找字符c,若c在数组中,函
数返回字符c在数组中的下标,否则返回-1。
intsearch(charlist[],charc,intlen)
{intlow,high,k;
low=0;high=len-1;
whiel((1))
{k=(low+high)/2;
if((2))returnk;
elseif((3))
high=k—1;
elselow=k+1;
}
return—1;
}
(char*s,char*t)的功能是比较字符串s和t的大小,当s等于t时返回0,否则返回s和
t的第一个不同字符的ASCII码的差值。
mycmp(char*s,char*t)
{
while(*s==*t)
{if((4))return0;
++s;
++t;
}
return((5))
}
07年C语言
四、填空题(本题20分,每空2分)
1。C语言中规定,整型常量可以用十进制、八进制和________进制形式来表示。
2。结构化程序设计中的三种基本结构为:顺序结构、________和循环结构。
,对于负整数,在内存中是以________码形式进行存储。
,若被定义为int类型的变量,在内存中占用_______个字节的存储空间。
5。已有定义:inta[5],*p;当执行了p=&a[3];语句时,是将指针变量p指向了a数组的第___个元素
的地址。
,则将被分配在内存的___________存储区域。
7。在下列给出的字符数组c,它在内存中所占用的字节数是__________。
charc[]={“Clanguage"};
,能够实现循环结构的语句有:while语句、if/goto语句、do-while语句以及_________
语句.
9。若有a=3,b=5;则求a〉b的关系运算结果是____________。
10。若有定义a[10];则允许数组a的下标最小可以是________。
五、请写出下列程序的运行结果(本题10分,每小题2分)
()
{intn=100;
if(n〉100)
printf(“***");
else:.
(完整版)专升本C语言真题
printf(“###”);
}
2。main()
{inta=2,b=—1,c=2;
if(a〈b)
if(b〈0)c=0;
elsec+=1;
printf(“c=%d\n”,c);
}
3。main()
{chars[]=”student\0teacher”;
printf(“%s\n”,s);
}
4。main()
{inta=3,b=4;
printf(“a=%d,b=%d\n”,++a,b++);
}
5。main()
{staticinta[5],i;
for(i=0;i〈5;i++)a[i]=a[i]+i;
for(i=0;i〈5;i++)printf(“%d,",a[i]);
}
六、单选题(本题10分,每小题2分)
1。main()
{intk=11;
printf(“k=%d,k=%o,k=%x\n”,k,k,k);
}
=11,k=12,k=11B。k=11,k=13,k=13
C。k=11,k=013,k=0xbD。k=11,k=13,k=b
2。main()
{inty=10;
while(y--);
printf(“y=%d\n",y);
}
A。y====-1
()
{inta,b,*p1,*p2;
p1=&a;p2=&b;
*p1=100;*p2=200;c=*p1+*p2;
printf(“%d\n",c);
}
A。300B。100+
,当执行到gets(ss);语句时,若输入字符为”ABC”时,则该程序的输出结果是:
main()
{charss[10]=”12345";
strcat(ss,”6789”);
gets(ss);printf(”%s\n”,ss);
}:.
(完整版)专升本C语言真题
。。ABC456789
()
{chara[]=”morning",t;
inti,j=0;
for(i=1;i<7;i++)
if(a[j]〈a[i])j=i;
t=a[j];a[j]=a[7];a[7]=t;
puts(a);
}
A。
七、编程题(10分,每题5分)
1。请将下列一组数据读入到S数组中,并从中找出最小的值并输出.
30,56,88,45,100,20
,并输出该字符串.
StudentandTeacher
08年C语言
六、填空题(10分,每题1分)
1。C语言中,基本数据类型包括整型、浮点型和__________。
。
3。在abc、a_1、a1b2、auto四个变量中,不合法的是_________。
4。字符串”ab\c\n\101"的占用内存的字节数为_________.
5。在运算符+、—>、*=、&&中,其优先级最低的是________.
。
,break语句通常用在________语句和循环语句中.
8。表达式7*2/5+3。5+’b’值的类型是__________.
=5;执行语句printf("%d",++a);后,输出结果为_________。
10。执行下面程序段后,输出的结果为_________。
for(i=1;i〈5;i++)printf("*”);
七、判断题(10分,每题1分)
。()
,其值不可以改变。()
3。elseif不属于C语言关键字(保留字)()
。()
5。宏替换不占用运行时间。()
6。C语言中转义字符以”\"开头。()
7。C语言规定,函数返回值的类型是由return语句中的表达式类型决定的.()
8。如果在一个函数中的复合语句中定义了一个变量,则该变量只在该复合语句中有效.()
,又可以嵌套定义。()
.()
八、程序分析题(12分,每题3分)
1。指出程序的错误并改正
#include〈stdio。h〉
voidmain()
{inta,b,max;
scanf("%d,%d”,&a,&b);
if(a〈b)
max=a:.
(完整版)专升本C语言真题
max=b;
printf("max=%d”,max);
}
:
#include<〉
voidmain()
{intx[]={0,1,2,3,4,5,6,7,8,9};
inti,sum=0;
for(i=0;i〈10;i=i+2)
sum=sum+x[i];
printf("%d”,sum);
}
#include<stdio。h〉
voidmain()
{chars[]=”ABC”,*p;
for(p=s;p<s+3;p++)
printf(“%s\n”,p);
}
voidss(char*s1,char*s2)
{while(*s1!=’\0’)s1++;
while(*s2!=’\0')
{*s1=*s2;
s1++;
s2++;
}
*s1=’\0';
}
九、程序设计题(18分,每题9分)
1。从键盘上任意输入一个字符串,统计字符串中大小写英文字母出现的次数。
09年C语言
六、填空题(8分,每题2分)
,且a=5,则表达式(a+100)%2+a/2的值为:_________。
2。C语言程序中引用标准输入输出库函数,必须在每个源文件的首部写下#include<__________〉。
,double型变量占内存8个字节,有如下定义:
uniondata
{inti;
doubled;
}a;
则变量a在内存中所占字节数为_________。
,fclose函数返回值为________。
七、阅读程序题(15分,每题3分)
.
#include〈>
main():.
(完整版)专升本C语言真题
{inti=2,j=3,k;
k=i+j;
{intk=8;
if(i=3)
printf(“%d”,k);
else
printf(“%d",j);
}
printf(“%d%d”,i,k);
}
2。下面程序的运行结果是__________.
#include〈stdio。h>
#defineSIZE8
main()
{chars[]=“GDBFHACE”;
inti,j,t;
for(i=0;i〈SIZE;i++);
{
for(j=i+1;j〈=SIZE;j++);
if(s[i]>s[j])
{t=s[i];
s[i]=s[j];
s[j]=t;
}
}
for(i=0;i〈SIZE;i++)
printf(“%c”,s[i]);
}
3。下面程序的运行结果是__________。
#include〈>
intfun(inta,intb,int*cn,int*dn)
{
*cn=a*b+b*b;
*dn=a*a—b*b;
a=5;
b=6;
}
main()
{inta=2,b=3,c=5,d=6;
fun(a,b,&c,&d);
printf(“a=%d,b=%d,c=%d\n”,a,b,c,d);
}
。
#include〈〉
intfun(intx)
{
staticy=2;
y++;:.
(完整版)专升本C语言真题
x+=y;
returnx;
}
main()
{intk;
k=fun(3);
printf(“%d,%d\n",k,fun(k));
}
5。下面程序的运行结果是_________。
#include<stdio。h〉
main()
{ints=0,m;
for(m=7;m>=3;m-—)
switch(m)
{
case1:
case4:
case7:s++;break;
case2:
case3:
case6:s+=2;
case0:
case5:s+=3;break;
}
printf(“s=%d\n”,s);
}
八、完善程序题(15分,每题3分)
。
#include〈〉
main()
{intm;
for(m=100;m<=200;m++)
if(___________);
printf(“%d\t”,m);
}
2。下面程序通过指向整型变量的指针将数组m[4][3]的内容按4行3列的格式输出,请输出printf()填
入适当的参数,使之通过指针p将数组元素按要求输出。
#include〈stdio。h〉
main()
{intm[4][3]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
inti,j,*p=m;
for(i=0;i<4;i++)
{for(j=0;j<3;j++)
printf(“%4d”,_________);
printf(“\n");
}
}
3。下面程序能够完成交换数组a和数组b中的对应元素的功能。:.
(完整版)专升本C语言真题
#include<stdio。h>
swap(int*p1,int*p2)
{
inttemp;
___________;
}
main()
{inta[5]={1,3,5,7,9};
intb[5]={2,4,6,8,10};
inti;
for(i=0;i<5;i++)
swap(&a[i],&b[i]);
for(i=0;i〈5;i++)
printf(“a[%d]=%—4d”,i,a[i]);
printf(“\n");
for(i=0;i〈5;i++)
printf(“b[%d]=%-4d”,i,b[i]);
printf(“\n");
}
,有十个评委为参赛的选手打分,分数为0~:去
掉一个最高分和一个最低分后其余八个分数的平均值.
#include〈stdio。h〉
main()
{intmax,min,score,i;
intsum=0;
max=0;min=100;
for(i=0;i<10;i++)
{
printf(“Inputnumber%d=”,i++);
scanf(“%d",&score);
sum+=score;
if(max<score)max=score;
if(min〉score)min=score;
printf(“\n”);
}
printf(“Canceledmaxscore:%d\nCanceledminscore:%d”,max,min);
printf(“averagescore:%lf\n”,________________)
}
5。把指针str所指的字符串按相反的顺序赋给rev[]。
#include<〉
main()
{char*str=“abcdefg";
charrev[10];
inti;
printf(“\n”);
for(i=0;i<7;i++)
______________;
rev[i]=’\0’;:.
(完整版)专升本C语言真题
printf(“%s\n”,rev);
}
九、编程改错题(12分,每题3分)
1.
(1)#include<stdio。h>
(2)chara=”Beijing";
(3)main()
(4){
(5)printf("%sisonecityinchina.\n”,a);
(6)p1();
(7)p2();
(8)}
(9)p1()
(10){
(11)printf("%sisoneofthebiggestcity”,a);
(12)return;
(13)}
(14)p2()
(15){
(16)printf(”intheworld.\n”);
(17)return;
(18)}
错误的行是:_________
改为:____________
10050101
kk2
k
k1k1k1
(1)#include〈>
(2)main()
(3){
(4)intn1=100,n2=50,n3=10;
(5)intk;
(6)floats1=0,s2=0,s3=0;
(7)for(k=1;k<=n1;k++);
(8)s1=s1+k;
(9)for(k=1;k〈=n2;k++);
(10)s2=s2+k*k;
(11)for(k=1;k<=n3;k++);
(12)s3=s3+k/10;
(13)printf(”total=%\n”,s1+s2+s3);
(14)}
错误的行是:________
改为:____________
3。本程序能够在屏幕中央显示出如下图形.
#######
#####
###
#
:.
(完整版)专升本C语言真题
(1)#include<〉
(2)voidmain()
(3){
(4)inti,j,k;
(5)for(i=1;i〈=4;i++)
(6){
(7)for(k=1;k<=i+1;k++)
(8)printf(””);
(9)for(j=1;j〈=i;j++)
(10)printf("#”);
(11)printf(”\n");
(12)}
(13)}
错误的行是:___________
改为:_______________
4。将给定的字符串写入指定的文件中去。
(1)#include<〉
(2)main()
(3){
(4)inti;
(5)FILE*fp;
(6)chara[][8]={“TurboC”,“BASIC”,“FORTRAN”,“COBOL”};
(7)if(fp=fop