完整版专升本C语言真题Word下载.docx
- 文档编号:6795505
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:23
- 大小:22.88KB
完整版专升本C语言真题Word下载.docx
《完整版专升本C语言真题Word下载.docx》由会员分享,可在线阅读,更多相关《完整版专升本C语言真题Word下载.docx(23页珍藏版)》请在冰点文库上搜索。
10。
以只读的方式打开文本文件“test。
txt”的正确方法是
fopen(“test.txt"
”r”);
B.fopen(“test。
txt"
”rb”);
fopen(“test”,"
r”);
D.fopen(“test.txt"
);
七、填空题(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分)
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语言用户标识符的一组字符串是()
voiddefineWORDB.a3_b3_123IF
C.For–abcCaseD。
2aDOsizeof
3、设inta=12,则执行完语句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是()
10个指向整型变量的指针
B.指向10个整型变量的函数指针
C.一个指向具有10个整型元素的一维数组的指针
D.具有10个指针元素的一维指针数组,每个元素都只能指向整型量
6、有以下程序段
typedefstructNODE{
intnum;
structNODE*next;
}OLD;
则以下叙述中正确的是()
A.以上的说明形式非法B。
NODE是一个结构体类型
C。
OLD是一个结构体类型D.OLD是一个结构体变量
7、以下不能正确计算代数式值的C语言表达式是()
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.既允许直接递归调用也允许间接递归调用
不允许直接递归调用也不允许间接递归调用
C.允许直接递归调用不允许间接递归调用
D。
不允许直接递归调用允许间接递归调用
9、在宏定义#definePI3.14159中,用宏名PI代替一个()
单精度数B.双精度数C.常量D。
字符串
10、在C语言中,要求运算数必须是整型的运算符是()
%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。
3B.2C.1D.0
13、若有定义char*s=”\\”Name\\Address\n”,则指针s所指字符串长度为()
19B。
15C。
18D。
说明不合法
14、下述对C语言字符数组的描述中错误的是()
字符数组可以存放字符串
B.字符数组中的字符串可以整体输入输出
C.可以在赋值语句中通过赋值运算符对字符数组整体赋值
不可以用关系运算符对字符数组中的字符串进行比较
15、设有如下的函数
exam(floatx){
printf(“\n%f"
x*x);
则函数的类型为()
与参数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;
printf(“*"
printf(“\n”);
}
2。
程序:
intk=3,n=0;
while(k〉0)
{switch(k)
{case1:
n+=k;
case2:
case3:
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;
for(j=0;
j〈3;
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;
{if(!
(m%i))break;
if(i==m)a[c++]=m;
returnc;
#defineMAXN20
{inti,m,s[MAXN];
m=p(13,s);
m;
printf(“%4d”,s[i]);
printf(“\n”);
5。
intf(intn)
{if(n==0||n==1)
return1;
else
returnf(n—2)+2*f(n-1);
{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((4))return0;
++s;
++t;
return((5))
07年C语言
四、填空题(本题20分,每空2分)
1。
C语言中规定,整型常量可以用十进制、八进制和________进制形式来表示。
结构化程序设计中的三种基本结构为:
顺序结构、________和循环结构。
3.在C语言中,对于负整数,在内存中是以________码形式进行存储。
4.在C语言中,若被定义为int类型的变量,在内存中占用_______个字节的存储空间。
已有定义:
inta[5],*p;
当执行了p=&
a[3];
语句时,是将指针变量p指向了a数组的第___个元素的地址。
6.若某变量被定义为auto变量的存储单元,则将被分配在内存的___________存储区域。
在下列给出的字符数组c,它在内存中所占用的字节数是__________。
charc[]={“Clanguage"
};
8.在C语言中,能够实现循环结构的语句有:
while语句、if/goto语句、do-while语句以及_________语句.
9。
若有a=3,b=5;
则求a〉b的关系运算结果是____________。
若有定义a[10];
则允许数组a的下标最小可以是________。
五、请写出下列程序的运行结果(本题10分,每小题2分)
1.main()
{intn=100;
if(n〉100)
printf(“***"
printf(“###”);
}
2。
{inta=2,b=—1,c=2;
if(a〈b)
if(b〈0)c=0;
elsec+=1;
printf(“c=%d\n”,c);
3。
{chars[]=”student\0teacher”;
printf(“%s\n”,s);
{inta=3,b=4;
printf(“a=%d,b=%d\n”,++a,b++);
5。
{staticinta[5],i;
for(i=0;
i〈5;
i++)a[i]=a[i]+i;
i++)printf(“%d,"
,a[i]);
六、单选题(本题10分,每小题2分)
{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
k=11,k=013,k=0xbD。
k=11,k=13,k=b
{inty=10;
while(y--);
printf(“y=%d\n"
y);
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(“%d\n"
,c);
300B。
100+200C.100D.200
4.在下列程序中,当执行到gets(ss);
语句时,若输入字符为”ABC”时,则该程序的输出结果是:
{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;
7;
if(a[j]〈a[i])j=i;
t=a[j];
a[j]=a[7];
a[7]=t;
puts(a);
mogninrB.moC.morningD.mornin
七、编程题(10分,每题5分)
请将下列一组数据读入到S数组中,并从中找出最小的值并输出.
30,56,88,45,100,20
2.请将下列给出的字符串读入到ss数组中,并输出该字符串.
StudentandTeacher
08年C语言
六、填空题(10分,每题1分)
C语言中,基本数据类型包括整型、浮点型和__________。
2.一个C程序是由___________组成的。
在abc、a_1、a1b2、auto四个变量中,不合法的是_________。
4。
字符串”ab\\c\n\101"
的占用内存的字节数为_________.
在运算符+、—>
、*=、&&
中,其优先级最低的是________.
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.数组名代表数组所占存储区的首地址,其值不可以改变。
elseif不属于C语言关键字(保留字)()
4.指针变量可以加减一个整数。
宏替换不占用运行时间。
6。
C语言中转义字符以”\"
开头。
7。
C语言规定,函数返回值的类型是由return语句中的表达式类型决定的.()
如果在一个函数中的复合语句中定义了一个变量,则该变量只在该复合语句中有效.()
9.C语言中的函数既可以递归定义,又可以嵌套定义。
10.main函数可以有参数.()
八、程序分析题(12分,每题3分)
指出程序的错误并改正
#include〈stdio。
h〉
voidmain()
{inta,b,max;
scanf("
%d,%d”,&a,&
if(a〈b)
max=a
max=b;
printf("
max=%d”,max);
2.写出下面程序的运行结果:
#include<
stdio.h〉
voidmain()
{intx[]={0,1,2,3,4,5,6,7,8,9};
inti,sum=0;
i〈10;
i=i+2)
sum=sum+x[i];
printf("
%d”,sum);
3.写出程序的运行结果
#include<
stdio。
{chars[]=”ABC”,*p;
for(p=s;
p<
s+3;
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分)
从键盘上任意输入一个字符串,统计字符串中大小写英文字母出现的次数。
09年C语言
六、填空题(8分,每题2分)
1.若a是int型变量,且a=5,则表达式(a+100)%2+a/2的值为:
_________。
C语言程序中引用标准输入输出库函数,必须在每个源文件的首部写下#include<
__________〉。
3.若int型变量占内存2个字节,double型变量占内存8个字节,有如下定义:
uniondata
{inti;
doubled;
}a;
则变量a在内存中所占字节数为_________。
4.当文件关闭成功后,fclose函数返回值为________。
七、阅读程序题(15分,每题3分)
1.下面程序的运行结果是___________.
#include〈stdio.h>
{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);
下面程序的运行结果是__________.
#include〈stdio。
#defineSIZE8
{chars[]=“GDBFHACE”;
inti,j,t;
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;
i〈SIZE;
printf(“%c”,s[i]);
下面程序的运行结果是__________。
#include〈stdio.h>
intfun(inta,intb,int*cn,int*dn)
{
*cn=a*b+b*b;
*dn=a*a—b*b;
a=5;
b=6;
{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〈stdio.h〉
intfun(intx)
staticy=2;
y++;
x+=y;
returnx;
{intk;
k=fun(3);
printf(“%d,%d\n"
,k,fun(k));
下面程序的运行结果是_________。
#include<
{ints=0,m;
for(m=7;
m>
=3;
m-—)
switch(m)
case1:
case4:
case7:
s++;
case2:
case3:
case6:
s+=2;
case0:
case5:
s+=3;
break;
printf(“s=%d\n”,s);
八、完善程序题(15分,每题3分)
1.下面程序的功能是找出100到200之间不能被3整除但能被5整除的数。
{intm;
for(m=100;
=200;
if(___________);
printf(“%d\t”,m);
下面程序通过指向整型变量的指针将数组m[4][3]的内容按4行3列的格式输出,请输出printf()填入适当的参数,使之通过指针p将数组元素按要求输出。
{intm[4][3]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
inti,j,*p=m;
4;
{for(j=0;
3;
printf(“%4d”,_________);
printf(“\n"
下面程序能够完成交换数组a和数组b中的对应元素的功能。
swap(int*p1,int*p2)
inttemp;
___________;
{inta[5]={1,3,5,7,9};
intb[5]={2,4,6,8,10};
inti;
5;
swap(&a[i],&
b[i]);
printf(“a[%d]=%—4d”,i,a[i]);
printf(“\n"
for(i=0;
printf(“b[%d]=%-4d”,i,b[i]);
);
4.在某大学举行的演讲比赛中,有十个评委为参赛的选手打分,分数为0~1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 语言