《C语言程序设计》模拟卷
题号
一
二
三
四
总分
得分
评卷人
一、选择题
1.以下说法中正确的是( )。
A.C语言程序总是从第一个函数开始执行
B.C语言程序中,要调用的函数必须在main()函数中定义
C.C语言程序总是从main( )函数开始执行
D.C语言程序中的main( )函数必须放在程序的开始部分
2.下列为字符常量的是( )。
A.“a” B. ‘ab’ C. ‘\n’ D.‘\084’
3.在C语言中,下面字符串能用作变量名的是( )。
A. a+b B. auto C. 2-and D. a2
4.在C语言中运算对象必须是整型的运算符是( )。
A. % B. / C. = = D. <=
5.若有以下定义:int x=10,y=3,z; 则语句:printf(“%d\n”,z=(x%y,x/y));的输出结果为 ( )。
A. 1 B. 0 C. 2 D. 3
6.表达式( )的值是整数类型。
A. 15/2 B. 15/2+2.0 C. 25/5.0 D. 0.5*10
7.若double x=2,y;则执行y=x+3/2;后,y的值是( )。
A. 3.500000 B. 3.000000 C. 2.000000 D. 3
8.C语言程序的基本单位是( )。
A. 程序行 B. 语句 C. 函数 D. 字符
9.设int类型的数据长度为2字节,则int类型数据的取值范围是( )。
A. 0~255 B. -32768~32767 C. -256~255 D. 0~65535
10.语句int (*p)( )的含义是( )。
A. p是一个指向一维数组的指针变量
B. p是指针变量,它指向一个整型数据的指针
C. p是一个指向函数的指针,该函数的返回值为整型
D. 以上答案都不对
11.下面程序的输出结果是( )。
main()
{ int x =10,y =10;
printf(“%d,%d\n”,x--,y--);
}
A. 10,10 B. 9,9 C. 9,10 D. 10,9
12.( )是C语言的标准函数名。
A. scanf B. case C. while D. int
13.下面程序的输出结果是( )。
void main()
{ int i=10;
switch(i)
{
case 9:i+=1;
case 10:i+=1;
case 11:i+=1;
case 12:i+=1;
}
printf(“i=%d\n”,i);
}
A. 10 B. 11 C. 12 D. 13
14.以下定义语句中,错误的是( )。
A. int a[ ]={1,2} B. int a[ ][3]={1,2,3,4,5};
C. char s[10]=“test”; D. int n=5,a[n];
15.在一个源文件中定义的全局变量的作用域为( )。
A. 本文件的全部范围 B. 从定义该变量开始至本文件结束
C. 本函数的全部范围 D. 本程序的全部范围
16.int型变量在内存中占2个字节,若int a[10]={0,2,4};则数组a所占字节数是( )。
A.3 B.10 C.20 D.6
17.有以下程序
#include
#include
main()
{
char a[7]="China";
int i,j;
i=sizeof(a);
j=strlen(a);
printf("%d %d\n",i,j);
}
程序运行后的输出结果是( )。
A. 5 5 B. 7 6
C. 7 5 D. 6 6
18.下面程序运行时,如果从键盘上输入5,则输出的结果是( )。
void main( )
{ int x;
scanf(“%d”,&x);
if (x - - < 5) printf(“%d\n”,x);
else printf(“%d\n”,x + +);
}
A. 3 B. 4 C. 5 D. 6
19.若有以下说明和语句,且已知char型占1个字节,int型占两个字节,float 型占4个字节。
struct st
{int num;
char name[10];
int age;
float score;
}student;
则结构体变量student占用内存的字节数是( )。
A. 10 B. 18 C. 9 D. 2
20.以下程序的输出结果是( )。
void main()
{ char s[ ]="ABCD";
int *p;
for (p=s;p
printf("%s\n",p);
}A.ABCD B. A
ABC B
AB C
A D
C. D D. ABCD
C BCD
B CD
A D
二、填空题
1.若有定义int a[2][5],则整型数组a包含有 个元素。
2.数学表达式x3+y3在C语言中应表示为 。
3.若有数据3.5需要存储到变量x中,则变量x定义应写为 。
4.有如下程序段
int *p,a=10,b=1; p=&a; a=*p+b;
执行该程序段后,a的值为 。
5.表达式“0≤a≤10”在C语言中应表示为 。
6.若有定义float x,y;则从键盘给x、y输入数据的语句应写为
。
7.有以下程序
#define SQR(x) (x)*(x)
main()
{int a,k=3;
a=SQR(k+1);
printf(“%d\n”,a);
}
程序运行后的输出结果为 。
8.以下程序的输出结果为 。
void main( )
{ int i,j,a[ ]={1,2,3,4,5,6,7,8,9,10};
int sum=0;
for (i=0;i<10;i++)
sum=sum+a[i];
printf("%4d",sum);
}
9.以下程序的输出结果为 。
#include
#include
void main( )
{char str1[20]=”Computer”,str2[ ]=”Language”;
strcat(str1,str2);
printf(“%s\n”,str1);
}
10.以下程序的输出结果为 。
main( )
{int a[ ]={1,2,3,4,5,6},*p;
p=a;
*(p+3)+=2;
printf(“%d,%d\n”,*p,*(p+3));
}
三、判断题(对的填√,错的填×)
1.C语言源程序文件的扩展名均为 .c。
2.C语言中的基本数据类型有整型、字符型和实型。
3.C语言中不同的函数中不可以使用相同名字的变量。
4.C语言程序区分字母大小写,符号常量必须定义为大写。
5.若int x=100,y=200,则语句printf(“%d”,(x,y))的输出结果是100。
6.C语言的源程序经过编译、连接后才能运行。
7.若int a[2][2]={{1},{2,3}};则a[0][1]的值为0。
8.C语言的数组名是一个地址常量,不能对它进行加、减和赋值运算。
9.若x为某函数f之内说明的变量,则当函数f执行完后,x值无定义。
10.若int i=10,j=2;则执行i*=j+8;后i的值为28。
四、编程题
1.输入圆的半径,计算并输出圆的周长、面积及球的体积(结果保留两位小数)。
2.有一个函数:
y=
编程输入x的值,求y的值。
3.Fibonacci数列为1、1、2、3、5、8、13、……,编程输出该数列的前20项。
4.编程输出所有的水仙花数。水仙花数是一个3位数,其各位数字立方和等于该数本身。如:153=13+53+33,故153是水仙花数。
5.编程从输入的10个数中,去掉一个最大数和一个最小数,求剩余数的平均值。
参考答案:
第1题:程序代码
#define PI 3.1415926
main( )
{
float r,c,s,v;
printf("Please enter r:");
scanf("%f",&r);
c=2*PI*r;
s=PI*r*r;
v=4/3.0*PI*r*r*r;
printf("c=%6.2f\n",c);
printf("s=%6.2f\n",s);
printf("v=%6.2f\n",v);
getch();
} 第2题:程序代码
main()
{float x,y;
printf("Please enter x:");
scanf("%f",&x);
if(x<1)
y=x;
if(x>=1 &&x<10)
y=2*x;
if(x>=10)
y=3*x-2;
printf("y=%f\n",y);
}
第3题:程序代码
#include
void main()
{int f[20]={1,1},i;
for(i=2;i<20;i++)
f[i]=f[i-2]+f[i-1];
for(i=0;i<20;i++)
{if(i%4==0)
printf("\n");
printf("%5d",f[i]);
}
getch();
}第4题:程序代码
void main()
{int m,i,j,k;
for(m=100;m<=999;m++)
{i=m%10;
j=m%100/10;
k=m/100;
if(i*i*i+j*j*j+k*k*k==m)
printf("%d\t",m);
}
printf("\n");
}第5题:程序代码
#define N 10
main()
{float a[N],aver,sum=0,t;
int i,j;
printf("enter data to a:");
for(i=0;i
scanf("%f",&a[i]);
for(i=1;i
for(j=0;j
if(a[j]
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
printf("the sorted data:");
for(i=0;i
printf("%6.2f",a[i]);
for(i=1;i<9;i++)
sum=sum+a[i];
aver=sum/8;
printf("aver=%6.2f\n",aver);
}
奥鹏
题号
一
二
三
四
总分
得分
评卷人
一、选择题
1.以下说法中正确的是( )。
A.C语言程序总是从第一个函数开始执行
B.C语言程序中,要调用的函数必须在main()函数中定义
C.C语言程序总是从main( )函数开始执行
D.C语言程序中的main( )函数必须放在程序的开始部分
2.下列为字符常量的是( )。
A.“a” B. ‘ab’ C. ‘\n’ D.‘\084’
3.在C语言中,下面字符串能用作变量名的是( )。
A. a+b B. auto C. 2-and D. a2
4.在C语言中运算对象必须是整型的运算符是( )。
A. % B. / C. = = D. <=
5.若有以下定义:int x=10,y=3,z; 则语句:printf(“%d\n”,z=(x%y,x/y));的输出结果为 ( )。
A. 1 B. 0 C. 2 D. 3
6.表达式( )的值是整数类型。
A. 15/2 B. 15/2+2.0 C. 25/5.0 D. 0.5*10
7.若double x=2,y;则执行y=x+3/2;后,y的值是( )。
A. 3.500000 B. 3.000000 C. 2.000000 D. 3
8.C语言程序的基本单位是( )。
A. 程序行 B. 语句 C. 函数 D. 字符
9.设int类型的数据长度为2字节,则int类型数据的取值范围是( )。
A. 0~255 B. -32768~32767 C. -256~255 D. 0~65535
10.语句int (*p)( )的含义是( )。
A. p是一个指向一维数组的指针变量
B. p是指针变量,它指向一个整型数据的指针
C. p是一个指向函数的指针,该函数的返回值为整型
D. 以上答案都不对
11.下面程序的输出结果是( )。
main()
{ int x =10,y =10;
printf(“%d,%d\n”,x--,y--);
}
A. 10,10 B. 9,9 C. 9,10 D. 10,9
12.( )是C语言的标准函数名。
A. scanf B. case C. while D. int
13.下面程序的输出结果是( )。
void main()
{ int i=10;
switch(i)
{
case 9:i+=1;
case 10:i+=1;
case 11:i+=1;
case 12:i+=1;
}
printf(“i=%d\n”,i);
}
A. 10 B. 11 C. 12 D. 13
14.以下定义语句中,错误的是( )。
A. int a[ ]={1,2} B. int a[ ][3]={1,2,3,4,5};
C. char s[10]=“test”; D. int n=5,a[n];
15.在一个源文件中定义的全局变量的作用域为( )。
A. 本文件的全部范围 B. 从定义该变量开始至本文件结束
C. 本函数的全部范围 D. 本程序的全部范围
16.int型变量在内存中占2个字节,若int a[10]={0,2,4};则数组a所占字节数是( )。
A.3 B.10 C.20 D.6
17.有以下程序
#include
#include
main()
{
char a[7]="China";
int i,j;
i=sizeof(a);
j=strlen(a);
printf("%d %d\n",i,j);
}
程序运行后的输出结果是( )。
A. 5 5 B. 7 6
C. 7 5 D. 6 6
18.下面程序运行时,如果从键盘上输入5,则输出的结果是( )。
void main( )
{ int x;
scanf(“%d”,&x);
if (x - - < 5) printf(“%d\n”,x);
else printf(“%d\n”,x + +);
}
A. 3 B. 4 C. 5 D. 6
19.若有以下说明和语句,且已知char型占1个字节,int型占两个字节,float 型占4个字节。
struct st
{int num;
char name[10];
int age;
float score;
}student;
则结构体变量student占用内存的字节数是( )。
A. 10 B. 18 C. 9 D. 2
20.以下程序的输出结果是( )。
void main()
{ char s[ ]="ABCD";
int *p;
for (p=s;p
}A.ABCD B. A
ABC B
AB C
A D
C. D D. ABCD
C BCD
B CD
A D
二、填空题
1.若有定义int a[2][5],则整型数组a包含有 个元素。
2.数学表达式x3+y3在C语言中应表示为 。
3.若有数据3.5需要存储到变量x中,则变量x定义应写为 。
4.有如下程序段
int *p,a=10,b=1; p=&a; a=*p+b;
执行该程序段后,a的值为 。
5.表达式“0≤a≤10”在C语言中应表示为 。
6.若有定义float x,y;则从键盘给x、y输入数据的语句应写为
。
7.有以下程序
#define SQR(x) (x)*(x)
main()
{int a,k=3;
a=SQR(k+1);
printf(“%d\n”,a);
}
程序运行后的输出结果为 。
8.以下程序的输出结果为 。
void main( )
{ int i,j,a[ ]={1,2,3,4,5,6,7,8,9,10};
int sum=0;
for (i=0;i<10;i++)
sum=sum+a[i];
printf("%4d",sum);
}
9.以下程序的输出结果为 。
#include
#include
void main( )
{char str1[20]=”Computer”,str2[ ]=”Language”;
strcat(str1,str2);
printf(“%s\n”,str1);
}
10.以下程序的输出结果为 。
main( )
{int a[ ]={1,2,3,4,5,6},*p;
p=a;
*(p+3)+=2;
printf(“%d,%d\n”,*p,*(p+3));
}
三、判断题(对的填√,错的填×)
1.C语言源程序文件的扩展名均为 .c。
2.C语言中的基本数据类型有整型、字符型和实型。
3.C语言中不同的函数中不可以使用相同名字的变量。
4.C语言程序区分字母大小写,符号常量必须定义为大写。
5.若int x=100,y=200,则语句printf(“%d”,(x,y))的输出结果是100。
6.C语言的源程序经过编译、连接后才能运行。
7.若int a[2][2]={{1},{2,3}};则a[0][1]的值为0。
8.C语言的数组名是一个地址常量,不能对它进行加、减和赋值运算。
9.若x为某函数f之内说明的变量,则当函数f执行完后,x值无定义。
10.若int i=10,j=2;则执行i*=j+8;后i的值为28。
四、编程题
1.输入圆的半径,计算并输出圆的周长、面积及球的体积(结果保留两位小数)。
2.有一个函数:
y=
编程输入x的值,求y的值。
3.Fibonacci数列为1、1、2、3、5、8、13、……,编程输出该数列的前20项。
4.编程输出所有的水仙花数。水仙花数是一个3位数,其各位数字立方和等于该数本身。如:153=13+53+33,故153是水仙花数。
5.编程从输入的10个数中,去掉一个最大数和一个最小数,求剩余数的平均值。
参考答案:
第1题:程序代码
#define PI 3.1415926
main( )
{
float r,c,s,v;
printf("Please enter r:");
scanf("%f",&r);
c=2*PI*r;
s=PI*r*r;
v=4/3.0*PI*r*r*r;
printf("c=%6.2f\n",c);
printf("s=%6.2f\n",s);
printf("v=%6.2f\n",v);
getch();
} 第2题:程序代码
main()
{float x,y;
printf("Please enter x:");
scanf("%f",&x);
if(x<1)
y=x;
if(x>=1 &&x<10)
y=2*x;
if(x>=10)
y=3*x-2;
printf("y=%f\n",y);
}
第3题:程序代码
#include
void main()
{int f[20]={1,1},i;
for(i=2;i<20;i++)
f[i]=f[i-2]+f[i-1];
for(i=0;i<20;i++)
{if(i%4==0)
printf("\n");
printf("%5d",f[i]);
}
getch();
}第4题:程序代码
void main()
{int m,i,j,k;
for(m=100;m<=999;m++)
{i=m%10;
j=m%100/10;
k=m/100;
if(i*i*i+j*j*j+k*k*k==m)
printf("%d\t",m);
}
printf("\n");
}第5题:程序代码
#define N 10
main()
{float a[N],aver,sum=0,t;
int i,j;
printf("enter data to a:");
for(i=0;i
for(i=1;i
printf("the sorted data:");
for(i=0;i
for(i=1;i<9;i++)
sum=sum+a[i];
aver=sum/8;
printf("aver=%6.2f\n",aver);
}
奥鹏
版权声明
声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益
请联系本站我们将配合处理!
上一篇 : 山东大学20春《财务会计A》课程测试
下一篇 :山东大学20春《程序设计A》课程测试