浙江专升本C语言程序设计模1.docx
- 文档编号:7125009
- 上传时间:2023-01-20
- 格式:DOCX
- 页数:12
- 大小:23.34KB
浙江专升本C语言程序设计模1.docx
《浙江专升本C语言程序设计模1.docx》由会员分享,可在线阅读,更多相关《浙江专升本C语言程序设计模1.docx(12页珍藏版)》请在冰豆网上搜索。
浙江专升本C语言程序设计模1
程序设计模拟一
一、单项选择题(在本题的每一小题的备选答案中只有一个答案是正确的,请把正确选项的序号,填入题中的括号内。
多选不给分。
每题1分,共20分)
1.以下不是c语言规定保留字的是()。
(1)float
(2)integer (3)signed (4)unsigned
2.设int型变量x有初始值3,则表达式x++*5/10的值是( )
(1)0
(2)1 (3)2 (4)3
3.下述程序执行后的输出结果是( )
#include
main()
{
intx='f';
printf("%c\n",'a'+(x-'a'+1));
}
(1)G
(2)H (3)I (4)J
4.设有程序
#include
main()
{
inti,j;
for(i=0,j=1;i<=j+1;i+=2,j--)
printf("%d\n",i);
}
在运行上述程序时,for语句中循环体的执行次数是( )
(1)3
(2)2 (3)1 (4)0
5.在下述选项时,没有构成死循环的程序是( )
(1)inti=100
while
(1)
{
i=i%100+1;
if(i>100)
break;
}
(2)for(;;);
(3)intk=1000;
do
{
++k;
}while(k>=10000);
(4)ints=36;
while(s);--s;
6.假定a和b为int型变量,则执行下述语句组后,b的值为( )。
a=1;
b=10;
do
{
b-=a;
a++;
}while(b--<0);
(1)9
(2)-2 (3)-1 (4)8
7.设有变量说明语句
int a=1,b=0;
则执行以下程序段的输出结果为( )。
switch (a)
{
case1:
switch (b)
{
case0:
printf("**0**");break;
case1:
printf("**1**");break;
}
case2:
printf("**2**");break;
}
printf("\n");
(1)**0**
(2)**0****2** (3)**0****1****2** (4)有语法错误
8.以下合法的数组说明是( )。
(1)chara[6]="string";
(2)inta[5]={0,1,2,3,4,5};
(3)chara="string";
(4)INTa[]={0,12,3,4,5};
9.下述程序代码中有语法错误的行是( )。
inti,ia[10],ib[10]; /*第一行*/
for(i=0;i<=9;i++) /*第2行*/
ia[i]=0; /*第3行*/
ib=ia; /第4行*/
(1)第1行
(2)第2行 (3)第3行 (4)第4行
10.若已定义
inta[9],*p=a;
并在以后的语句中未改变p的值,则不能表示a[1]地址的表达式是( )。
(1)p+1
(2)a+1 (3)a++ (4)++p
11.下述程序执行后的输出结果是( )。
#include
main()
{
inta[]={2,4,6,8,10};
inty=1,x,*p;
p=&a[1];
for(x=0;x<3;x++)
y+=*(p+x+;
printf("%d\n",y);
}
(1)17
(2)18 (3)19 (4)20
12.设有如下变量说明语句
charc[8]="BEIJING",*S=C;
inti;;
则下面四个程序段中,有错误的是( )。
(1)printf("%s\n",s);
(2)printf("%s\n",*s);
(3)for(i=0;i<7;i++)
printf("%c",c[i]);
printf("\n");
(4)for(i=0;i<7;i++)
printf("%c",s[i]);
printf("\n");
13.以下叙述中不正确的是( )。
(1)在不同的函数中可以使用相同名字的变量
(2)函数中的形式参数是局部变量
(3)在一个函数内定义的变量只在本函数范围内有效
(4)在一个函数内的复合语句中定义的变量在本函数范围内有效
14.执行下述程序的输出结果是( )。
#include
main()
{
intw=5;
fun(w);
printf("\n")
}
fun(intk)
{
if(k>0)
fun(k-1);
printf("%d",k);
}
(1)54321
(2)012345 (3)12345 (4)543210
15.执行下述程序的输出结果是( )。
#include
int m=13;
int fun(intx,inty)
{
intm=3;;
return(x*y-m);
}
main()
{
inta=7,b=5;
printf("%d\n",fun(a,b)/m);
}
(1)1
(2)2 (3)7 (4)10
16.执行下述程序的运行结果是( )。
#include
longfib(intn)
{
longres;
switch(n)
}
case0:
res=0;break;
case1:
res=1;break;
default:
res=fib(n-1)+fib(n-2);
}
return(res);
}
main()
{
printf("%ld\n",fifb(6));
}
(1)5
(2)8 (3)13 (4)21
18.以下对枚举类型的定义中正确的是( )。
(1)enuma={one,two,three};
(2)enuma{one=9,two=-1,three};
(3)enuma={"one","two","three"};
(4)enuma{"one","two","three"};
19.c语言对文件的操作提供了提供了若于个标准库函数,其中对格式化读函数fscanf的函数调用正确格式是( )。
(1)fscanf(文件指针,格式控制字符串,输入项表);
(2)fscanf(格式控制字符串,输入项表,文件指针);
(3)fscanf(格式控制字符串,文件指针,输入项表);
(4)fscanf(文件指针,输入项表,格式控制字符串);
20.执行下述程序的输出结果是( )。
#include
#definef(x) x*x
main()
{
inta=6,b=2,c;
c=f(a)/f(b);
printf("%d\n",c);
}
(1)9
(2)6 (3)36 (4)18
二、填充题(每空2分,共30分)
1.可执行的c语言程序系由一个或多个______组成。
2.下面程序的功能是:
计算1到10之间的偶数之和和奇数之和,并分别输出和数。
请填空。
#include
main()
{
inta,b,ci;;
a=c=0;
for(i=0;i<=10;i+=2)
{
a+=i;
____________;
c+=b;
}
printf("sunofevennumbers:
%d/n",a);
printf("sumofoddnumbers:
%d/n",c-11);
}
3.华氏温度和摄氏温度的转换公式为
c=5/9(f-32)
其中c表示摄氏温度,f表示华氏温度。
要求输出从华氏0度到华氏300度的华氏-摄氏湿度对照表,每隔华氏20度输出一组对照值。
请填空。
#include
main()
{
intupper=300,step=20;
floatfahr=0,celsius;
while(fahr<=upper)
{
_____________________;
printf("%4.of,%6,lf\n",fahr,celsius);
fahr+=step;
}
}
4.执行
printf("%d\n",(int)(2.5+3.0)/3);
的输出结果是________________。
5.执行下述程序
#include
#include
main()
{
charb[30];
strcpy(&b[0],"GH");
strcpy(&b[1],"DEF");
strcpy(&b[2],"ABC");
printf("%s\n",b);
}
其输出结果是____________。
6.执行下述程序的输出结果是__________________。
#include
charb[]="ABCDEF";
main()
{
char*bp;
for(bp=b;*bp;bp+=2)
printf("%s",bp);
printf("\n");
}
7.若有以下变量说明和语句
inta[3][4],(*p)[4];
p=a;
则表达式*(p+1)+2的正确含义是_____________________。
8.函数invert的功能是使一个字符串按逆序存放。
请填空。
voidinvert(chars[1])
{
chart;
inti,j;
for(i=0,j=strlen(s);i } t=s[i]; ______________________; s[j-1]=t; } } 9.执行下述程序的输出结果是________________。 #include unsigned f(unsignednum) { unsignedk=1; do { k*=num%10; mun/=10; }while(num); return(k); } main() { unsignedn=26; printf("%d\n",f(n)); } 10.已知有等差数列。 数列中第一个数为期不远0,以后每个数比前者大惑不解。 下述程序用以计算第5个数并输出结果值。 函数dif是个递归函数定义。 请填空。 #include dif(intn) { intc; if(n==1) c=10; else c=_________________; return(c); } | main() { intn=5; printf("num=%d\n",dif(n)); } 11.执行下述程序的输出结果是________________。 #include intw=3 main() { intw=10; printf("%d\n",fun(5)*w); } intfun(intk) } if(k==0) return(w); return(fun(k-1)*k); } 12.为了建立如下结点的线性链表,请填空给出结点的正确描述形式。 structnode { intdata; _________________________; }; 13.执行下述程序的输出结果是___________________。 #include main() { enumaa{fri=5,sat}; char*w[]=("sun","mon","tue","wed","fri","sat"}; printf("%s%s\n",w[fri],w[sat]); } 14.c语言中文件指针stdin与标准输入设备文件即_______________相关联。 15.设已有宏定义语句 #definePI3.14159 要在c语言程序中求sin35的值,可以写如下表达式(函数调用)_____________。 三、程序分析题(每题5分,共30分) 1.请写出执行下述程序的输出结果。 #include main() { inti=100,j=34,k=-63,m=4; intu=-15,v=71,w=27; i+=j; j-=k; k*=-m; m/=3*j-1; u%=v-2*w; printf("i=%d,j=%d,k=%d,m=%d,u=%d",i,j,k,m,u); } 2.阅读下述程序,写出运行结果。 #include main() { inta,y; a=10; y=0; do { a+=2; y+=a; printf("a=%d,y=%d\n",a,y); if(y>20) break; }while(a=14); printf("a=%d\n",a); } 3.阅读下述程序 #include main() { intia[30]; intnum,count,current; intmaxi,nmax,mini,nmin; printf("enterthenumberoftexteddata(1--30): "); scanf("%d",&num); printf("enter%dintegervalues: \n",num); for(count=0;count scanf("%d",&ia[count]); maxi=ia[0]; nmax=1; mini=ia[0]; nmin=1; for(count=1;count { current=ia[count]; if(current>maxi) { maxi=current; nmax=count+1; } elseif(current { mini=current; nmin=count+1; } } printf("MaxValue=%5d,the%2d'snumber.\n",maxi,nmaz); printf("MinValue=%5d,the%2d'snumber.\n",mine,nmin); } 如果程序运行时的交互信息如下(带下划线者为输入数据) Enterthenumberoftesteddata(1--30): Enter10integervalues: 请写出程序接下去执行时的输出结果。 4.阅读程序,写出运行程序时的输出结果。 #include main() { staticinta[5][5]={ {1,2,3,4,0}, {2,3,4,0,6}, {3,0,1,7,5}, {0,0,2,4,1}, {8,4,3,2,7} }; inti,j; for(i=0;i<5;i++) { for(j=0;j<5;j++) { if(a[i][j]==0) break; printf("%4d",a[i][j]); } printf("\n"); } 5.写出执行下述程序时的输出结果。 #include #include fun(char*w,intn) { chart,*sl,*s2; s1=w; s2=w+n-1; while(s1 { t=*s1++ *s1=*s2-- *s2=t; } } main() { char*p; p="1234567"; fun(p,strlen(p)); puts(p); } 6.阅读下述程序,当程序运行时若输入 请画出所生成的线性链表结构图并写出输出结果。 #include #include #defineITEMstructitem #defineSIZEsizeof(ITEM) main() { ITEM { intnum; ITEM*next; {; ITEM*head,*temp; intstno; head=NULL; scanf("%d",&stno); while(stno! =32767) { tenp=(ITEM*)malloc(SIZE); temp->num=stno; tenp->next=head; head=temp; scanf("%d",&stno); } printf("\n"); tenp=head; while(temp! =NULL) { PRINTF("%5d,temp->num); temp=temp->next; } printf("\n"); } 四、程序设计题(每题10分,共20分) 1.所谓水仙花数是指一个三位正整数,其各位数字的立方之和等于该正整数。 例如编写程序,求得并输出全部水仙花数的个数。 请填空完善程序。 #include main() { inthun,ten,one; /*百位数、十位数、个位数*/ intnum,count=0; for(num=100;_____ (1)_____;num++) { hum=________ (2)_________; ten=________(3)_________; one=________(4)_________; if(____________
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙江 语言程序设计
