《C语言程序设计》(3学分)试卷A

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
讲明:请考生将答案写在“武汉大学答题纸”上并标明题号,否则不得分。试卷中C语言程序的开发环境是VC 6。
一、选择题(共20小题,每小题2分,共40分)
1、以下正确的C语言自定义标识符是______。
A)_1aﻩﻩﻩB)2a_ﻩC)doﻩﻩﻩD)a、12
2、温度华氏与摄氏的关系是: C=(F—32)。已知:floatC,F;由华氏求摄氏的正确计算的表达式是____、
A) p=m;B) p=&m;C)*p=m;D)*p=&m;
18、若有下列定义:inta[5],*p=a;则能正确表示a数组某个元素地址的是______。
A)&aB)p+2
C)a++D)&a[5]
19、若有以下讲明,则*(a+a[3])的值为__________。
int a[10]={9,1,8,2,7,3,6,4,5,0};
C)‘0’<=c1<='9’D) c1〉='0’&&c1<='9’
6、switch(表达式)语句中的“表达式",允许的类型是_________。
A)float, intﻩB)float,int,char
C)int, charﻩﻩD)char,double
7、设int i,j, x=0;
for(i=5;i;i-—)
printf(”\n");
}
6、下面程序的功能是显示具有N个元素的数组s中的最大元素。
#define N 20
intfmax(int s[],intn)
{ int k=s[0],i;
for(i=1;i〈n;i++)
if(__Baidu Nhomakorabea_(7)_____)k=s[i];
return(k);

voidmain()
for(i=0;i<=n;i++)r=r*b[i];
returnr;

voidmain()
{ intx,a[]={1,2,3,4,5,6};
x=f(a,3);
printf(”%d\n”,x);

9、funa(inta)
{int b=1;
static int c=1;
a+=c+b;
b++;c++;
return(a);
A)1ﻩB)2ﻩﻩC)8ﻩﻩD) 11
20、C语言中,函数返回值的类型是由______决定的。
A)调用函数时动态决定的ﻩﻩB) return语句中的表达式类型
C)调用该函数的主调函数类型ﻩD)定义函数时,所指定的函数类型
二、填空题(共7小题10空,每空2分,共20分)
1、已知int x=5,y=1,z=2;执行语句x%=y+z;后,x的值是___(1)___。
三、程序阅读,写出下列程序的运行结果(共10小题,每小题2分,共20分)
(下列程序均包括#include"stdio、h")
1、voidmain()
{intx,y;
scanf(“%d,%d”,&x,&y);
if(x>20||x〈-10)
if(y〈=100&&y>x)
printf("Good");
else

voidmain()
{inti,k=0;
for(i=1;i<3;i++)
k+=funa(i);
printf("%d\n",k);
}
10、voidmain()

int a[]={1,2,3,4,5},*p;
p=a;(*(p+1))++;
printf(”%d,%d\n",*p,*(p+1));
}
四、编程题(共2小题,每小题10分,共20分)
A) C=5/9(F—32)ﻩﻩﻩﻩB) C=5*(F—32)/9
C)C=5/9*(F—32) ﻩﻩﻩﻩD)三个表达式都正确
3、设floatx,由键盘输入:12、45,能正确读入数据的输入语句是_________。
A)scanf("%5、2f”,&x)B)scanf("%d",&x);
C)scanf("%f",&x);D)scanf(”%f”,x);
ﻩfor(j=0;j<4;j++)
x++;
则循环体结束后,x的值为________。
A)5ﻩﻩB)20
C)25ﻩD)死循环
8、设x与y均为int型变量,则执行下面的循环后,y值为_________。
for(y=1,x=1;y〈=50;y++)

if(x〉=10)break;
if (x%2==1)
ﻩ{
A)b[8]的值为0
B)b[1]的值为1
C)b[3]的值为整数
D)b[10]不是b数组中的元素
13、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是_________。
A)函数调用能够作为独立的语句存在
B)函数调用能够作为一个函数的实参
C)函数调用能够出现在表达式中
D)函数调用能够作为一个函数的形参
A)数组首地址ﻩB)数组的第一个元素值
C)数组中全部元素的值ﻩD)数组元素的个数
11、int a[2][3]={{1},{2,3}};,则a[1][1]的值是_________、
A)0ﻩB)1
C)2ﻩﻩﻩD)3
12、若定义数组并初始化intb[10]={ 1,2,3,4},以下讲法错误的是________
}
}
5、voidmain()
{inta=14,b=63;
while (a!=b)
{while (a>b) a—=b;
while (a<b)b-=a;

printf (”%d\n",a);
}
6、voidmain()
{inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;i〈3;i++)
{inti,a[N];
for(i=0;i〈N;i++)
scanf("%d",&a[i]);
printf("%d\n",____(8)_____);//调用函数fmax
}
7、若有inta[5]={10,20,30,40,50},*p=a,*s=a+2;
则表达式s-p的值是____(9)_____,*s-*p的值是___(10)______。
printf("Bad");

假如输入30,150,输出为( )
2、main()
{inta=0,i;
for(i=0;i<4;i++)
{switch(i)
{ﻩcase0:
case 1:a++;
case2:a+=2;
default:a+=3;
}
}
printf(”%d\n",a);
}
3、voidmain()
x+=5;
continue;
}
x-=3;
}
A)5ﻩﻩﻩB)6
C)50ﻩD)51
9、设有数组定义:inta[5];则下列给数组元素赋值错误的是________、
A)a[3]=93;
B)scanf(”%c",a[3]);
C) a[3]=a[0]+a[1];
D)a[3]=’a'+3;
10、若用数组名作为函数调用时的实参,则实际上传递给形参的是________。
16、有以下程序
voidmain()

inti,t[][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<3;i++)
printf(”%d”,t[2-i][i]);
}
程序执行后的输出结果是______。
A)753B)357
C)369D)751
17、若有讲明float *p,m=3、14;则能正确表示p指向m的赋值语句是________。
5、对含有10个元素的数组a先按元素的存储次序倒序输入,再按其正序输出。
#include <stdio、h〉
#define N10
voidmain()
{
int i,a[N];
for(i=N-1;___(6)___;i--)
ﻩ scanf(”%d",&a[i]);
for(i=0;i<N;i++) printf(”%d\t",a[i]);
4、一个C程序的执行是从( )
A)main()函数开始,直到main()函数结束
B)第一个函数开始,直到最后一个函数结束
C)第一个语句开始,直到最后一个语句结束
D)main()函数开始,直到最后一个函数结束
5、判断char型变量c1是否为数字的正确表达式为________。
A)0〈=c1<=9B) c1>=0&&c1<=9
{int x,y;
scanf(”%d",&x);
do{
y=x%10;
printf(”%d",y);
x/=10;
}while(x);
}
输入整数12345
4、voidmain()
{inti=5;
for ( ;i〈15; )
{i++;
if (i%3==0||i%2==0)continue;
printf(”%d",i);
2、设int a[3][4]={{1,2,3,4},{5,6,7},{8,9}};则表达式a[1][2]+a[2][3]的值是____(2)____。
3、学生成绩的字每等级与分数范围如下:
字母等级分数范圈
Aﻩﻩﻩ90~100
Bﻩﻩ80~89
Cﻩﻩﻩ70~79
D60~69
E0~59
其它字母ﻩ输入错误
下列程序输入字母等级之后,输出相应的分数范围。
1、请编写程序计算并输出n(包括n)以内能被3或5整除的所有自然数的倒数之与,n从键盘输入值。
2、请编写函数intprimesum(int x[],int n)求一组数x[]中所有质数的与,n为这组数的个数,在主函数中输入数据并调用该函数、
#include<stdio、h>
void main()
{
charscore;
scanf("%c",&score);
switch(____(3)______)

case 'A':printf("A:90~100\n"); break;;
case'B': printf("B:80~89\n”);break;
for(j=0;j〈=i;j++)
s+=a[i][j];
printf(”s=%d”,s);

7、int f(intx)
{returnx+3;}
voidmain()
{int a=1;
while(f(a)<10)
a++;
printf(“a=%d\n”,a)
}
8、intf(intb[],int n)
{inti,r=1;
case'C': printf(”C:70~79\n");break;
case'D’:printf("D:60~69\n”);break;
case'E': printf("E:0~59\n");break;
____(4)____:printf("输入错误\n");


4、设x为int型变量,请写出一个关系表达式____(5)____,用以判断x能同时被3与5整除时,关系表达式的值为真。
14、在C语言中,下列错误的讲法是_______。
A)函数能够递归调用
B)不允许在函数定义中再定义函数
C)递归程序不估计用非递归算法实现
D)关于continue语句,能够通过改变程序的结构而不使用它
15、在一个源文件中定义的全局变量的作用域为()、
A)本文件的全部范围。B)本程序的全部范围。
C)本函数的全部范围。D)从定义该变量的位置开始至本文件结束
相关文档
最新文档