C语言试题Word格式.docx
《C语言试题Word格式.docx》由会员分享,可在线阅读,更多相关《C语言试题Word格式.docx(73页珍藏版)》请在冰点文库上搜索。
![C语言试题Word格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/8/997b44c9-ae79-4b98-a9ef-2641c20fdb16/997b44c9-ae79-4b98-a9ef-2641c20fdb161.gif)
2'
3'
4'
5'
};
则
A)x数组与y数组的长度相同B)x数组长度大于y的长度
C)x数组长度小于y数组长度D)x数组等价于y数组
10、二维数组的第一个元素的行下标和列下标是
A)1,1B)0,1C)1,0D)0,0
二、填空题(每空3分,共30分)
1、如果a=4,b=3,那么,在执行语句a=b;
之后,a、b的值分别是
(1)
2、语句:
if(6>
5)printf(“#”);
printf(“$”);
输出
(2)
3、for(sum=j=0;
j<
=10;
++j)sum+=j;
循环结束后sum的值等于(3)
4、长度为10的int类型数组和长度为3的double类型数组,哪一个数组占用的内存空间多(4)
5、字符数组a)chara[]=“one”;
占多少内存字节(5)
6、如果ch<
‘A’或ch>
‘Z’,那么,表达式ch>
=‘A’&
ch<
=‘Z’的值是(6)
7、编写C语句,交换a、b的值(7)
8、为了使用库函数getchar(),必须在程序中包含命令(8)
9、设intnumbers[5]={17,25,30,56,58};
编写C的for语句,将数组numbers中的每个元素减去3。
使用变量i跟踪下标。
(9)
10、设有函数定义:
设有函数定义:
intmax(intx,inty)
{intz;
z=x>y?
x∶y;
return(z);
}
语句printf(“%d”,max(max(2,3),4));
输出什么?
(10)
三、阅读下列程序,写出运行结果(每题5分,共20分)
1、
#include<
stdio.h>
voidmain()
{
chara=’A’;
printf(“%c\n"
a+32);
}
2、
{intx=3,y;
if(x<
0)y=-1;
elseif(x>
0)y=1;
elsey=0;
printf(“x=%d,y=%d\n”,x,y);
3、
{intf1,f2;
intj;
f1=1;
f2=1;
for(j=1;
=4;
j++){
printf(″%d%d″,f1,f2);
f1=f1+f2;
f2=f2+f1;
4、
{inta[2][3]={{1,2,3},{4,5,6}};
intb[3][2],i,j;
for(i=0;
i<
2;
i++){
for(j=0;
3;
j++)b[j][i]=a[i][j];
printf("
arrayb:
\n"
);
j++)printf("
%5d"
b[i][j]);
四、编写程序(共30分,每题10分)
1、从键盘上输入两个整数,比较两个数的大小,并输出较大者
2、编写程序,打印如下图案:
*
**
***
****
*****
3、编写程序,求一维数组中最大元素,数据自定。
C语言程序设计试题集(第2套)
单项选择题(30分,每题2分)
1.用C语言编写的代码程序______。
A、可立即执行B、是一个源程序
C、经过编译即可执行D、经过编译解释才能执行
2.C语言中用于结构化程序设计的三种基本结构是______。
A、顺序结构、选择结构、循环结构B、if、switch、break
C、for、while、do-whileD、if、for、continue
3.以下选项中合法的实型常数是______。
A、5E2.0B、E-3C、.2E0D、1.3E
4.假定x和y为double型,则表达式x=2,y=x+3/2的值是______。
A、3.500000B、3C、2.000000D、3.000000
5.ch是字符型变量,下面不正确的赋值语句是______。
A、ch=65;
B、ch="
a"
C、ch='
\n'
D、ch=9+'
0'
6.下列有关C语言程序书写格式的说法哪个是错误的?
A、C程序的书写格式比较自由,一个语句可以占多行,一行也可以有多个语句。
B、C语句必须要有分号。
C、C语言程序的标识符必须使用小写字母。
D、用{}括起来的部分,通常表示了程序的某一层次结构,称为块。
7.下面程序段所表示的数学函数关系是______。
x=-1;
if(a!
=0)
if(a>
0)x=1;
elsex=0;
-1(a<
0) 1(a<
0)
A、x=0(a=0)B、x=-1(a=0)
1(a>
0)0(a>
0(a<
0)-1(a<
C、x=-1(a=0) D、x=1(a=0)
8.以下关于do-while循环的不正确描述是______。
A)do-while的循环体至少执行一次
B)do-while的循环体可以是复合语句
C)在do-while循环体中,一定要有能使while后面表达式的值变为零("
假"
)的操作
D)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
9.以下程序执行后sum的值是______。
A)15B)14C)不确定D)0
main()
{inti,sum=0;
for(i=1;
6;
i++)sum+=i;
%d\n"
sum);
10.若有说明语句:
则a数组第一维的大小是。
A.1B.2C.3D.无确定值
11.C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是______。
A、float型B、long型C、int型D、double型
12.下面正确的函数定义形式为
A、doublefun(intx;
inty)
B、doublefun(intx,inty);
C、doublefun(intx,y)
D、doublefun(intx,inty)
13.以下程序运行后,输出结果是______。
#defineADD(x)x+x
main()
{intm=1,n=2,s=3;
s=S+ADD(m+n);
printf("
s=%d\n"
s);
}
A、s=8 B、s=9 C、s=6 D、s=18
14.若有定义:
intx,*p;
则以下正确的赋值表达式是
A、p=&
xB、p=xC、*p=&
xD、p=*x
15.以下变量a,b,c均为double型且已正确赋值,不能正确地表示数学式子
的C语言表达式是
A、2*(1/(a*b*c)) B、2/a*b*cC、2/a*1/b*1/cD、2/a/b/c
程序填空题(20分,每空2分)
1.以下程序的功能是:
输入三个整数n1、n2、n3,将最大的数输出。
请填空。
{intn1,n2,n3,temp;
scanf("
%d%d%d"
&
n1,&
n2,&
n3);
if(n2<
n3)
{temp=n2;
n2=n3;
n3=temp;
if(n1<
n2)
{temp=n1;
①;
②;
printf("
n1);
2.编写打印整数1~10的平方的函数。
{inti;
i③;
i++)
printf(“%d\n”,square(i));
square(intn)
{return(④);
3.求数组所有元素累加和。
{intsum,i,j,k,a[2][2][2]={1,2,3,4,5,6,7,8};
sum=⑤;
j++)
for(k=0;
k<
k++)
sum=⑥;
%d"
4.以下程序的功能是调用函数fun计算:
m=1-2+3-4+…+9-10,并输出结果。
intfun(intn)
{intm=0,f=1,i;
=n;
{m+=⑦;
f=⑧;
returnm;
{printf(“m=%d\n”,fun(10));
5.将以下含有switch语句的程序段改写成对应的含有嵌套if语句的程序段,请填空。
含有switch语句的程序段:
ints,t,m;
t=(int)(s/10);
switch(t)
{case10:
m=5;
break;
case9:
m=4;
case8:
m=3;
case7:
m=2;
case6:
m=1;
default:
m=0;
}
含有嵌套if语句的程序段:
ints,m;
if(s<
60||s>
110)m=0;
elseif(s<
70)m=1;
80)m=2;
90)m=3;
100)⑨;
else⑩;
三.程序运行结果题(20分,每题4分)
1.写出程序运行的结果:
{
inta=2,b=3;
floatx=3.5,y=2.5,p;
p=(float)(a+b)/2+(int)x%(int)y;
p=%f\n"
p);
2.写出程序运行的结果:
inti,j;
i=3;
j=6;
%d,%d\n"
i++,j--);
++i,--j);
3.写出程序运行的结果:
{intnumber=0;
while(number<
=1)
{printf(“*%d,”,number);
number++;
printf(“**%d\n”,number);
4.写出程序运行的结果:
{chars[]="
abcdefg"
inti;
7;
i+=2)
%c"
s[i]);
5.写出程序运行的结果:
intast(intx,inty,int*cp,int*dp)
{*cp=x+y;
*dp=x-y;
{inta=4,b=3,c,d;
ast(a,b,&
c,&
d);
%d%d\n"
c,d);
四.程序设计题(30分,每题10分)
参考知识:
C语言数的范围:
int型和short型为-32768~32767,long型为-2147483648~2147483647,单精度实数为-3.4×
10-38~3.4×
1038(7位有效数字),双精度实数为-1.7×
10-308~1.7×
10308(15位有效数字),长双精度实数为-1.2×
10-4932~1.2×
104932(18位有效数字)。
1.输入一个华氏温度f,然后计算,最后输出对应的摄氏温度c。
换算公式为:
C=5*(F-32)/9
要求输出保留2位小数。
2.已知
x(x<
1)
y=2x-1(1<
=x<
10)
3x-11(x>
=10)
用scanf函数输入x的值,求y值。
3.编写一个循环结构的程序,求1!
+2!
+3!
+4!
+5!
+6!
+7!
+8!
+9!
+10!
的值。
C语言程序设计试题集(第3套)
1、下列语言中,CPU能直接识别的是
A)自然语言B)高级语言C)汇编语言D)机器语言
2、以下所列的C标识符中,错误的是
A)examp1B)RS686C)2mixD)first_exam
3、下面哪个是不合法的赋值语句
A)x+=2;
B)x=y=z=0;
C)x+y=z;
D)m+=m/=2;
4、设intage,count;
doubleprice,weight;
下面哪个语句是正确的
A)scanf(“%lf”,&
price);
B)scanf(“%d”,age);
C)printf(“%d”,&
count);
D)printf(“%d”,weight);
5、下面哪一项不是程序的控制结构?
A)循环B)选择C)顺序D)排序
6、指出下面语句的执行结果
if(5<
3)printf(“*”);
elseif(7==8)printf(“&
”);
elseprintf(“$”);
A)*B)&
C)$D)以上全不是
7、选出最佳答案
s=0;
5;
++j)s=2*s+j;
s最后的值是什么?
A)11B)4C)26D)22
8、下面哪一项是对函数voiddisplay(void);
的调用?
A)calldisplay();
B)display();
C)display()D)display;
9、下面哪个说法是错误的?
数组中的所有元素具有相同的名称
数组中的所有元素具有相同的数据类型
数组中的所有元素具有相同的下标
数组中的元素在内存是连续存放的
A)0,0B)0,1C)1,0D)1,1
二、填空题(每空2分,共20分)
1、编写C表达式:
b2-4ac
(1)
2、编写C语句,声明int变量来存储4个整数
(2)
3、假定intx=5,y;
,在执行语句“y=x++;
”后,x,y的值是(3)
4、将复合赋值语句x*=5-z;
写成等效的简单赋值语句(4)
5、编写C语句,该语句显示12.3的平方根(5)
6、编写C语句,如果gender是’M’,那么输出Male(6)
7、假设输入:
3845714–1,下面代码的输出是什么?
(7)
sum=0;
scanf(“%d”,&
num);
while(num!
=-1){
sum+=num;
printf(“%d”,sum);
8、为了使用库函数sqrt(),必须在程序中包含命令(8)
编写C的while语句,将数组numbers中的每个元素减去数字3。
使用变量i跟踪下标,假设变量的初值为0。
ints(intone)
{intj;
intp=1;
=3;
++j)p=p*one;
returnp;
语句printf(“%d”,s
(2));
三、程序分析填空题(每空3分,共30分)
从键盘输入一个大写字母,要求改用小写字母输出。
chara;
printf(“请输入一个大写字母:
a=getchar();
printf(“对应的小写字母是:
(1));
2、判断是否是闰年,闰年的条件:
能被4整除而不能被100整除,或能被400整除的公元年。
{intyear,leap;
scanf("
year);
if(
(2))leap=1;
elseleap=0;
if(leap)printf("
%dis"
year);
elseprintf("
%disnot"
aleapyear.\n"
3、求1到100的和
{inti,sum;
(3)
do{
sum=sum+i;
(4);
}while(i<
=100);
%d\n″,sum);
4、打印Fibonicci数列前20项:
1,1,2,3,5,8…数学表示:
f(0)=f
(1)=1,f(n)=f(n-2)+f(n-1)
intf[20]=(5);
for(i=2;
20;
i++)(6);
i++)printf(“%10d”,f[i]);
5、有一个3×
4的矩阵,要求编程序以求出其中值最大元素及其所在的行号和列号。
{inti,j,row=0,colum=0,max;
inta[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};
max=a[0][0];
(6);
(7);
if(a[i][j]>
max){
max=a[i][j];
row=(8);
colum=(9);
max=%d,row=%d,colum=%d\n"
max,row,colum);
6、在主函数中输入一个整数,调用函数isprime()判是否素数并输出相关信息。
math.h>
intisprime(int);
{intm;
pleaseenteranumber:
"
m);
if((10))printf(“%disaprime\n“,m);
elseprintf(“%disnotaprime\n“,m);
intisprime(intm)
=sqrt(m);
++i)if(m%i==0)return0;
return1;
四、编写程序(每题10分,共30分)
1、从键盘上输入两个单精度型实数f1,f2,然后交换它们的值,最后输出f1和f2。
2、任意输入三个整数,要求按从大到小的顺序输出。
3、计算12-22+32-42+·
·
+472-482+492-502
———————————————————————————
C语言程序设计试题集(第4套)
一、单项选择题(45分,每题3分)
1.构成一个C程序的是_______。
A、一个主函数和若干个非主函数
B、若干个主函数和若干个非主函数
C、一个主函数和最多一个非主函数
D、若干个主函数和最多一个非主函数
2.以下选项中合法的字符常量是_______。
A、"
B"
B、'
B'
C、68D、'
\B'
3.在C语言中,不合法的实数是_______。
A、1.23B、e-5C、3.245E3D、-.187
4.已知a是int型变量,下面不正确的赋值语句是_______。
A、a=65;
B、a=1.2;
C、a="
D、a='
A'
+32;
5.广义地说,为解决一个问题而采取的方法和步骤,称为_______。
A、迭代B、增量C、递归D、算法
6.以下叙述中正确的是_______。
A、C程序中注释部分可以出现在程序中任意合适的地方
B、花括号"
{"
和"
}"
只能作为函数体的定界符
C、构成C程序的基本单位是函数,所有函数名都可以由用户命名
D、分号是C语句之间的分隔符,不是语句的一部分
7.若w、x、y、z、k均为int类型变量,则执行下面语句后的k的值是_______。
w=1;
x=2;
y=3;
z=4;
k=(w<
x)?
w:
x;
k=(k<
y)?
k:
y;
z)?
z;
A、1 B、2 C、3 D、4
8.以下程序段,说法正确的是_______。
x=-1;
do
x=x*x;
while(!
A、是死循环B、循环执行二次
C、循环执行一次D、有语法错误
9.用语句floatx[3][100];
定义数组x后,则下标最大的一个数组元素是
A、x[3][100]B、x[2][99]C、x[2][100]D、x[3][99]
10.若i、j已定义为int型,则以下程序段中,循环体的总的执行次数为_______。
for(i=5;
i>
0;
i--)
4;
{n=n+1;
A、20B、24C、25D、30
11.以下程序编译、运行的结果是
A、5,5B、5.0,5.0C、5.05.0D、55
#defineMIN2
#defineMAX7
{printf("
MIN+3,MAX-MIN);
12.下列符号中可以作为函数名的是_______。
A、x—aB、sysfC、5acD、$bc
13.以下正确的函数形式是_______。
A、doublefun1(intx,inty) B、fun1(intx,y)
{z=x+y;
returnz;
} {intz;
returnz;