完整版专升本C语言真题0804115730.docx

上传人:b****8 文档编号:12699004 上传时间:2023-06-07 格式:DOCX 页数:23 大小:100.09KB
下载 相关 举报
完整版专升本C语言真题0804115730.docx_第1页
第1页 / 共23页
完整版专升本C语言真题0804115730.docx_第2页
第2页 / 共23页
完整版专升本C语言真题0804115730.docx_第3页
第3页 / 共23页
完整版专升本C语言真题0804115730.docx_第4页
第4页 / 共23页
完整版专升本C语言真题0804115730.docx_第5页
第5页 / 共23页
完整版专升本C语言真题0804115730.docx_第6页
第6页 / 共23页
完整版专升本C语言真题0804115730.docx_第7页
第7页 / 共23页
完整版专升本C语言真题0804115730.docx_第8页
第8页 / 共23页
完整版专升本C语言真题0804115730.docx_第9页
第9页 / 共23页
完整版专升本C语言真题0804115730.docx_第10页
第10页 / 共23页
完整版专升本C语言真题0804115730.docx_第11页
第11页 / 共23页
完整版专升本C语言真题0804115730.docx_第12页
第12页 / 共23页
完整版专升本C语言真题0804115730.docx_第13页
第13页 / 共23页
完整版专升本C语言真题0804115730.docx_第14页
第14页 / 共23页
完整版专升本C语言真题0804115730.docx_第15页
第15页 / 共23页
完整版专升本C语言真题0804115730.docx_第16页
第16页 / 共23页
完整版专升本C语言真题0804115730.docx_第17页
第17页 / 共23页
完整版专升本C语言真题0804115730.docx_第18页
第18页 / 共23页
完整版专升本C语言真题0804115730.docx_第19页
第19页 / 共23页
完整版专升本C语言真题0804115730.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

完整版专升本C语言真题0804115730.docx

《完整版专升本C语言真题0804115730.docx》由会员分享,可在线阅读,更多相关《完整版专升本C语言真题0804115730.docx(23页珍藏版)》请在冰点文库上搜索。

完整版专升本C语言真题0804115730.docx

完整版专升本C语言真题0804115730

05年C语言

 

六、单项选择(10分,每题1分)

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分)

1.main()

{

inti,s;

for(i=10,s=0;i;s+=i,i--)printf(“result:

%d\n”,s);

}

2.main()

{

voidfun();floatx,y;x=10;fun(x,&y);printf(“result:

%.0f,%.0f\n”,x,y);

}

voidfun(x,y)

floatx,*y;

{

*y=x*x;

}九、编写程序(20分)

1.编写程序求某1三位数的平方和(8分)。

2.编写程序求数列1,1,2,3,5,8,13,的前100项的和及平均值(12分)。

06年C语言

六、单项选择(15分,每题1分)

1、C语言程序的基本单位是()

A.程序行B.语句C.函数D.字符

2、可用作C语言用户标识符的一组字符串是()

A.voiddefineWORDB.a3_b3_123IF

C.For-abcCaseD.2aDOsizeof

3、设inta=12,则执行完语句a+=a-=a*a;后a的值是()

A.552B.264C.144D.-264

4、以下叙述正确的是()

A.do-while语句构成的循环不能用其它语句构成的循环来代替。

B.do-while语句构成的循环只能用break语句退出。

C.用do-while语句构成的循环,在while后的表达式为非零时结束循环。

D.用do-while语句构成的循环,在while后的表达式为零时结束循环。

5、设有说明int(*ptr)[10]其中的标识符ptr是()

A.10个指向整型变量的指针

B.指向10个整型变量的函数指针

C.一个指向具有10个整型元素的一维数组的指针

D.具有10个指针元素的一维指针数组,每个元素都只能指向整型量

6、有以下程序段

typedefstructNODE{

intnum;

structNODE*next;

}OLD;

则以下叙述中正确的是(

A.以上的说明形式非法

B.NODE

是一个结构体类型

C.OLD是一个结构体类型

D.OLD

是一个结构体变量

7、以下不能正确计算代数式值的C语言表达式是()

A.1/3*sin(1/2)*sin(1/2)B.sin(0.5)*sin(0.5)/3

C.pow(sin(0.5),2)/3D.1/3.0*pow(sin(1.0/2),2)

8、C语言规定,程序中各函数之间()

A.既允许直接递归调用也允许间接递归调用

B.不允许直接递归调用也不允许间接递归调用

C.允许直接递归调用不允许间接递归调用

D.不允许直接递归调用允许间接递归调用

9、在宏定义#definePI3.14159中,用宏名PI代替一个()

A.单精度数B.双精度数C.常量D.字符串

10、在C语言中,要求运算数必须是整型的运算符是()

A.%B./C.

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.3B.2C.1D.0

13、若有定义char*s=””Name\\Address\n”,则指针s所指字符串长度为()

A.19B.15C.18D.说明不合法

14、下述对C语言字符数组的描述中错误的是()

A.字符数组可以存放字符串

B.字符数组中的字符串可以整体输入输出

C.可以在赋值语句中通过赋值运算符对字符数组整体赋值

D.不可以用关系运算符对字符数组中的字符串进行比较

15、设有如下的函数exam(floatx){

printf(“\n%f”,x*x);

}

则函数的类型为()

A.与参数x的类型相同B.是void

C.是intD.无法确定

七、阅读下列程序,写出其运行结果(每小题5分,共25分)

1.程序:

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;

}

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]

row=i;column=j;

}

printf(“%d,%d,%d\n”,m,row,column);

}

4.程序:

#include

intp(intk,inta[])

{intm,i,c=0;

for(m=2;m<=k;m++)for(i=2;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

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));

}

八、程序填空;按照要求完成下面的程序(函数)(每空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;

}

2.函数mycmp(char*s,char*t)的功能是比较字符串s和t的大小,当s等于t时返回0,否则返回s和

t的第一个不同字符的ASCII码的差值。

mycmp(char*s,char*t)

{

while(*s==*t)

{if(⑷)return0;

++s;

++t;

}return((5))

}

07年C语言

四、填空题(本题20分,每空2分)

1.C语言中规定,整型常量可以用十进制、八进制和进制形式来表示。

2.结构化程序设计中的三种基本结构为:

顺序结构、和循环结构。

3.在C语言中,对于负整数,在内存中是以码形式进行存储。

4.在C语言中,若被定义为

5.已有定义:

inta[5],*p;地址。

int类型的变量,在内存中占用个字节的存储空间。

当执仃了p=&a[3];语句时,是将指针变量p指向了a数组的第个兀素的

6.若某变量被定义为auto变量的存储单元,则将被分配在内存的存储区域。

7.在下列给出的字符数组c,它在内存中所占用的字节数是。

charc[]={“CIanguage”};

8.在C语言中,能够实现循环结构的语句有:

while语句、if/goto语句、do-while语句以及

语句。

9.若有a=3,b=5;则求a>b的关系运算结果是。

10.若有定义a[10];则允许数组a的下标最小可以是。

五、请写出下列程序的运行结果(本题10分,每小题2分)

1.main()

{intn=100;

if(n>100)

printf(“***”);

else

printf(“###”);

}

2.main()

{inta=2,b=-1,c=2;

if(a

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);

}

A.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=10B.y=1C.y=随机值D.y=-1

3.main()

{inta,b,*p1,*p2;

p1=&a;p2=&b;*p1=100;*p2=200;c=*p1+*p2;printf(“%dn”,c);

}

时,则该程序的输出结果是:

A.300B.100+200C.100D.200

4.在下列程序中,当执行到gets(ss);语句时,若输入字符为”ABC”main()

{charss[10]="12345";strcat(ss,”6789”);

gets(ss);printf("%s\n",ss);

}

A.ABCB.ABC9C.123456ABCD.ABC456789

5.main()

{chara[]="morning",t;

inti,j=0;for(i=1;i<7;i++)if(a[j]

}

A.mogninrB.moC.morningD.mornin

七、编程题(10分,每题5分)

1.请将下列一组数据读入到S数组中,并从中找出最小的值并输出。

30,56,88,45,100,20

2.请将下列给出的字符串读入到ss数组中,并输出该字符串。

StudentandTeacher

08年C语言

六、填空题(10分,每题1分)

1.C语言中,基本数据类型包括整型、浮点型和。

2.一个C程序是由组成的。

3.在abc、a_1、a1b2、auto四个变量中,不合法的是。

4.字符串"ab\\c\n\101"的占用内存的字节数为。

5.在运算符+、->、*=、&&中,其优先级最低的是。

6.定义共用体类型使用关键字。

7.C语言中,break语句通常用在语句和循环语句中。

8.表达式7*2/5+3.5+'b'值的类型是。

9.设有语句inta=5;执行语句printf("%d",++a);后,输出结果为_

10.执行下面程序段后,输出的结果为。

for(i=1;i<5;i++)printf("*");

七、判断题(10分,每题1分)

1.C语言程序总是从源程序文件中的第一个函数开始执行。

()

2.数组名代表数组所占存储区的首地址,其值不可以改变。

()

3.elseif不属于C语言关键字(保留字)()

4.指针变量可以加减一个整数。

()

5.宏替换不占用运行时间。

()

6.C语言中转义字符以"\"开头。

()

7.C语言规定,函数返回值的类型是由return语句中的表达式类型决定的。

()

8.如果在一个函数中的复合语句中定义了一个变量,则该变量只在该复合语句中有效。

()

9.C语言中的函数既可以递归定义,又可以嵌套定义。

()

10.main函数可以有参数。

()

八、程序分析题(12分,每题3分)

1.指出程序的错误并改正

#include

voidmain()

{inta,b,max;

scanf("%d,%d",&a,&b);

if(a

max=a

max=b;

printf("max=%d",max);

}

2.写出下面程序的运行结果:

#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);

}

3.写出程序的运行结果

#include

voidmain()

{chars[]=”ABC”,*p;

for(p=s;p

printf(“%s\n”,p);

}

4.写出下面程序的功能

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分)

1.若a是int型变量,且a=5,则表达式(a+100)%2+a/2的值为:

2.C语言程序中引用标准输入输出库函数,必须在每个源文件的首部写下#include<

3.若int型变量占内存2个字节,double型变量占内存8个字节,有如下定义:

uniondata

{inti;doubled;

}a;

则变量a在内存中所占字节数为。

4.当文件关闭成功后,fclose函数返回值为。

七、阅读程序题(15分,每题3分)

1.下面程序的运行结果是。

#include

main()

{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

#defineSIZE8

main()

{chars[]=“GDBFHAC”E;

inti,j,t;

for(i=0;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

}

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);

}

4.下面程序的运行结果是。

#include

intfun(intx)

{

staticy=2;

y++;

x+=y;

returnx;

}

main()

{intk;

k=fun(3);

printf(“%d,%d\n”,k,fun(k));

}

5.下面程序的运行结果是。

#include

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分)

1.下面程序的功能是找出100到200之间不能被3整除但能被5整除的数。

#include

main()

{intm;

for(m=100;m<=200;m++)

if();

printf(“%d\t”,m);

}

2.下面程序通过指向整型变量的指针将数组m[4][3]的内容按4行3列的格式输出,请输出printf()入适当的参数,使之通过指针p将数组元素按要求输出。

#include

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中的对应元素的功能。

#include

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”);

}

4.在某大学举行的演讲比赛中,有十个评委为参赛的选手打分,分数为0〜100分。

选手最后得分为:

去掉一个最高分和一个最低分后其余八个分数的平均值。

#include

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

if(min>score)min=score;

}

printf(

«1”\

“\n”);

printf(

“Canceledmaxscore:

%d\nCanceledminscore:

%d

}

5.把指针

printf(

“averagescore:

%lf\n”,

str所指的字符串按相反的顺序赋给rev[]。

#include

max,min);

 

main()

{char*str=“abcdefgcharrev[10];

inti;

printf(“\n”);

for(i=0;i<7;i++)

rev[i]='\0';

printf(“%s\n”,rev);

}

九、编程改错题(12分,每题3分)1.

(1)#include

(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)}错误的行是:

改为:

10050

2.求kk2

k1k1

(1)#include

(2)main()

⑶{

⑷intn1=100,n2=50,n3=10;

(5)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2