C语言程序设计试题汇编abcWord格式文档下载.docx
《C语言程序设计试题汇编abcWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计试题汇编abcWord格式文档下载.docx(23页珍藏版)》请在冰点文库上搜索。
c=y;
A)9,9,9 B)8,8,10 C)9,10,9 D)1,11,10
9.一个C语言程序的基本组成单位是______。
A)主程序 B)子程序 C)函数 D)过程
10.已知函数abc的定义为:
voidabc()
{.......}
则函数定义中void的含义是_____。
A)执行函数abc后,函数没有返回值
B)执行函数abc后,函数不再返回
C)执行函数abc后,可以返回任意类型
D)以上三个答案全是错误的
11.以下程序的输出结果是____。
main()
{inti,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;
i<
3;
i++)printf("
%d,"
x[i][2-i]);
}
A)1,5,9, B)1,4,7, C)3,5,7, D)3,6,9,
12.已知:
double*p[6];
它的含义是_____。
A)p是指向double型变量的指针B)p是double型数组
C)p是指针数组D)p是数组指针
13.已知:
int*p,a;
则语句"
p=&
a;
中的运算符"
&
的含义是_____。
A)位与运算B)逻辑与运算C)取指针内容D)取变量地址
14.变量的指针,其含义是指该变量的()
A)值B)地址C)名D)一个标志
15.下面程序段的运行结果是:
()
charc[]=”\t\v\\\0will\n”
printf(“%d”,strlen(c));
A)14B)3C)9D)字符串中有非法字符,输出值不确定
二、填空题:
1.表达式10+16%3的值为___________。
2.写出满足下列条件的表达式:
a和b都不小于c______________________。
3.若有定义:
inta[3][4]={{1,2},{0},{4,6,8,10}};
则初始化后,a[1][2]得到的初值为_____。
4.下面函数的功能是求整数1到n的和请把程序补充完整。
longsum(intn)
{inti;
__________
for(i=1;
=n;
i++)
_______________
returns;
三、程序阅读题,写出程序的输出结果:
1.#include“stdio.h”
main()
{inti,j;
i=j=2;
if(i==1)
if(i==2)
printf(“%d”,i=i+j);
else
printf(“%d”,i=i-j);
printf(“%d”,i);
}
___________________________________。
2.main()
{inti=3
while(i<
10))
{if(i<
6)
{i+=2;
continue;
else
printf(“%d”,++i);
3.#include“stdio.h”
#defineX5
#defineYX+1
#defineZY*X/2
main()
{inta;
a=Y;
printf(“%d%d\n”,Z,--a);
四、编程题:
(共45分)
1.编程求分段函数y=f(x)的值,f(x)的表达式如下:
2x+3x<
-1
f(x)=5x+10-1≤x≤1
12xx>
1
2.用switch语句编写程序,实现以下功能:
从键盘输入数字1、2、3、4。
分别显示excellent,good,pass,fail.输入其它键时显示error。
3.编写一函数,找出一整数的全部因子。
参考答案:
1、
#include"
math.h"
main()
{floatx,y;
printf("
inputx\n"
);
scanf("
%f"
&
x);
if(x<
-1)y=2*x+3;
elseif(x>
=-1&
x<
=1)y=5*x+10;
elsey=12*x;
printf("
x=%f,y=%f"
x,y);
2、
main()
{intx;
pleaseinputanumber\n"
scanf("
%d"
switch(x)
{case1:
excellent\n"
break;
case2:
good\n"
case3:
pass\n"
case4:
fail\n"
default:
error\n"
3、
voidyz(intn)
If(n%i==0)printf("
%5d"
i);
return;
《C语言程序设计》模拟卷
1.一个C语言程序的基本组成单位是______。
2.C语言中字符型(char)数据在内存中的形式存储是______。
4.执行以下语句的结果为______。
9.下列程序段______。
x=3;
do
{y=x--;
if(!
y){printf("
x"
continue;
printf("
#"
}while(1<
=x&
=2);
A)输出### B)输出##x C)是死循环 D)有语法错
10.一个C语言的源程序中______。
11.C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是_____。
A)地址传递B)值传递
C)由实参传给形参,并由形参传回来给实参D)由用户指定传递方式
12.以下程序的输出结果是____。
14.说明语句"
int(*p)();
A)p是一个指向一维数组的指针变量
B)p是指针变量,指向一个整型数据
C)p是一个指向函数的指针,该函数的返回值是一个整型
D)以上都不对
15.变量的指针,其含义是指该变量的()
a和b都不小于c_____________________。
4.下面函数的功能是求1到n的和请把程序补充完整。
2.main()
printf(“%d”,++i);
1.计算正整数1到n中的奇数之和及偶数之和。
3.编程求一个3×
3矩阵对角线元素之和。
{intn,i;
longs1,s2;
pleaseinputn\n"
n);
for(i=1,s1=0,s2=0;
if(i%2==0)s1=s1+i;
elses2=s2+i;
oushuheshi%ld\n"
s1);
jishuheshi%ld\n"
s2);
2、(总分8分))
switch(x)
3、(总分8分)
{inta[3][3];
inti,j;
longs;
pleaseinput9number\n"
for(i=0;
for(j=0;
j<
j++)scanf("
a[i][j]);
thearrayais\n"
for(i=0,s=0;
{for(j=0;
j++)
{printf("
%4d"
a[i][j]);
if(i==j||i+j==2)s=s+a[i][j];
\n"
}printf("
s=%3d"
s);
一、选择题
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+bB.autoC.2-andD.a2
4.在C语言中运算对象必须是整型的运算符是()。
A.%B./C.==D.<
=
5.若有以下定义:
intx=10,y=3,z;
则语句:
printf(“%d\n”,z=(x%y,x/y));
的输出结果为()。
A.1B.0C.2D.3
6.表达式()的值是整数类型。
A.15/2B.15/2+2.0C.25/5.0D.0.5*10
7.若doublex=2,y;
则执行y=x+3/2;
后,y的值是()。
A.3.500000B.3.000000C.2.000000D.3
8.C语言程序的基本单位是()。
A.程序行B.语句C.函数D.字符
9.设int类型的数据长度为2字节,则int类型数据的取值范围是()。
A.0~255B.-32768~32767C.-256~255D.0~65535
10.语句int(*p)()的含义是()。
A.p是一个指向一维数组的指针变量
B.p是指针变量,它指向一个整型数据的指针
C.p是一个指向函数的指针,该函数的返回值为整型
D.以上答案都不对
11.下面程序的输出结果是()。
{intx=10,y=10;
printf(“%d,%d\n”,x--,y--);
A.10,10B.9,9C.9,10D.10,9
12.()是C语言的标准函数名。
A.scanfB.caseC.whileD.int
13.下面程序的输出结果是()。
voidmain()
{inti=10;
switch(i)
{
case9:
i+=1;
case10:
case11:
case12:
}
printf(“i=%d\n”,i);
A.10B.11C.12D.13
14.以下定义语句中,错误的是()。
A.inta[]={1,2}B.inta[][3]={1,2,3,4,5};
C.chars[10]=“test”;
D.intn=5,a[n];
15.在一个源文件中定义的全局变量的作用域为()。
A.本文件的全部范围B.从定义该变量开始至本文件结束
C.本函数的全部范围D.本程序的全部范围
16.int型变量在内存中占2个字节,若inta[10]={0,2,4};
则数组a所占字节数是()。
A.3B.10C.20D.6
17.有以下程序
#include<
stdio.h>
string.h>
main()
{
chara[7]="
China"
;
inti,j;
i=sizeof(a);
j=strlen(a);
%d%d\n"
i,j);
程序运行后的输出结果是()。
A.55B.76
C.75D.66
18.下面程序运行时,如果从键盘上输入5,则输出的结果是()。
voidmain()
{intx;
scanf(“%d”,&
x);
if(x--<
5)printf(“%d\n”,x);
elseprintf(“%d\n”,x++);
A.3B.4C.5D.6
19.若有以下说明和语句,且已知char型占1个字节,int型占两个字节,float型占4个字节。
structst
{intnum;
charname[10];
intage;
floatscore;
}student;
则结构体变量student占用内存的字节数是()。
A.10B.18C.9D.2
20.以下程序的输出结果是()。
{chars[]="
ABCD"
;
int*p;
for(p=s;
p<
s+4;
p++)
%s\n"
,p);
A.ABCDB.A
ABCB
ABC
AD
C.DD.ABCD
CBCD
BCD
AD
二、填空题
1.若有定义inta[2][5],则整型数组a包含有个元素。
2.数学表达式x3+y3在C语言中应表示为。
3.若有数据3.5需要存储到变量x中,则变量x定义应写为。
4.有如下程序段
int*p,a=10,b=1;
p=&
a=*p+b;
执行该程序段后,a的值为。
5.表达式“0≤a≤10”在C语言中应表示为。
6.若有定义floatx,y;
则从键盘给x、y输入数据的语句应写为
。
7.有以下程序
#defineSQR(x)(x)*(x)
{inta,k=3;
a=SQR(k+1);
printf(“%d\n”,a);
程序运行后的输出结果为。
8.以下程序的输出结果为。
{inti,j,a[]={1,2,3,4,5,6,7,8,9,10};
intsum=0;
for(i=0;
10;
sum=sum+a[i];
sum);
9.以下程序的输出结果为。
#include<
{charstr1[20]=”Computer”,str2[]=”Language”;
strcat(str1,str2);
printf(“%s\n”,str1);
10.以下程序的输出结果为。
main()
{inta[]={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.若intx=100,y=200,则语句printf(“%d”,(x,y))的输出结果是100。
6.C语言的源程序经过编译、连接后才能运行。
7.若inta[2][2]={{1},{2,3}};
则a[0][1]的值为0。
8.C语言的数组名是一个地址常量,不能对它进行加、减和赋值运算。
9.若x为某函数f之内说明的变量,则当函数f执行完后,x值无定义。
10.若inti=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个数中,去掉一个最大数和一个最小数,求剩余数的平均