C填空编程题.docx
《C填空编程题.docx》由会员分享,可在线阅读,更多相关《C填空编程题.docx(45页珍藏版)》请在冰豆网上搜索。
![C填空编程题.docx](https://file1.bdocx.com/fileroot1/2023-4/24/e8fb66d5-8b19-4b16-8f64-1bc2cf976cbb/e8fb66d5-8b19-4b16-8f64-1bc2cf976cbb1.gif)
C填空编程题
C填空题
1.若有定义语句:
ints=6;则表达式s%2+(s+1)%2的值为[<1>]。
2.在C语言中,&作为单目运算符时表示的是[<取地址>]。
3.若已知:
a=1,b=2,则表达式:
!
(a]。
4.若s是int型变量,且s=8,则s%3+(s+1)%3表达式的值为[<2>]。
5.若x和n均是int型变量,且x=12,n=5,则执行y=x%=(n%=2)表达式后y的值为[<0>]。
6.若a的值为1,则表达式!
a||++a的值是[<1>]。
7.C语言所提供的基本数据类型包括:
单精度型、双精度型、整型、[<字符型>]和枚举类型。
8.设有定义:
floatx=123.4567;,则执行下列语句后的输出结果是[<123.460000>]printf("%f\n",(int)(x*100+0.5)/100.0);
9.若变量已正确定义为整型,则表达式n=i=2,++i,i++的值是[<3>]。
10.在C语言中的赋值表达式中,赋值号左边须是[<变量>]。
11.若有定义语句:
intx=3,y=2;floata=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为[<1>]
12.C语言中逻辑运算符[
>]的优先级高于算术运算符。
13.运算符%两侧运算量的数据类型必须都是[<整型>].
14.C语言源程序的后缀是[<.c>]。
15.C语言中的标识符只能由3种字符组成,它们是字母、数字、[<下划线>]。
16.C语言中用[<非0>]表示逻辑"真".
17.在C语言中,用“\”开头的字符序列称为转义字符,转义字符“\n”的功能是[<换行>]。
18.在C语言中,用关键字[]定义单精度实型变量.
19.C语言中,用[<0>]表示逻辑值"假"。
20.C语言源程序经过编译后,生成文件的后缀是[<.obj>]。
21.C语言源程序连接后生成文件的后缀是[<.exe>]。
22.空语句的形式是[<;>]。
23.若有定义:
intx=3,y=2;floata=2.5,b=3.5;则下面表达式的值为[<1>]
(x+y)%2+(int)a/(int)b
24.若a是int型变量,则计算表达式后,a的值为[<2>]
a=25/3%3
25.在C语言中的实型变量分为两种类型,它们是float和[]。
26.结构化程序由[<顺序、选择、循环>]三种基本结构组成。
27.运算符++和--的运算量必须是[<变量>]。
28.一个int型数据在内存中所占的字节数为[<2>].
29.在C语言中,用关键字[]定义双精度实型变量.
30.在C语言中,用关键字[]定义字符型变量。
31.在TurboC环境中用RUN命令运行一个C程序时,所运行的程序的后缀是[<.exe>]。
32.在C语言中(以16位PC机为例),一个char型数据在内存中所占的字节数为[<1>].
33.当a=1,b=2,c=3时,以下if语句执行后,a、b、c中的值分别为[<3、2、2>]。
if(a>c)
b=a;a=c;c=b;
34.已知字母A的ASCII值为65,下列程序运行后的输出结果是[<67G>]
main()
{chara,b;
a='A'+'5'-'3';b=a+'6'-'2';
printf("%d%c",a,b);
}
35.若有定义:
inta=4,b=5,c=6;接着顺序执行下列语句后,变量b中的值是[<1>]。
c=(a-=(b-5));
c=(a%3)+(b=1);
36.复合语句在语法上被认为是[<一条语句>]。
37.执行下列程序时,输入1234567,则输出结果是[<1234>]。
#include
main()
{inta=1,b;
scanf("%2d%2d",&a,&b);printf("%d%d\n",a,b);
}
38.若变量a和b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句[]。
39.C语句的最后用[<;>]结束。
40.变量i,j,k已定义为int类型并有初值0,用以下语句进行输入时
scanf("%d",&i);scanf("%d",&j);scanf("%d",&k);
当执行第一个输入语句,从键盘输入:
12.3。
(表示回车)
则变量i,j,k的值分别是[<12,0,0>]。
41.下列程序运行后的输出结果是[<10200>]。
main()
{inta,b,c;
a=10;b=20;c=(a%b<1)||(a/b>1);
printf("%d%d%d\n",a,b,c);
}
42.C语言中结束本次循环的语句是[]。
43.以下程序段的输出结果是[<死循环>]
intk,n,m;
n=10;m=1;k=1;
while(k<=n)m*=2;
printf("%d\n",m);
44.已有定义:
charc='';inta=1,b;执行b!
=c&&a;后b的值为[<0>]。
45.以下程序的输出结果是[<-1>]
main()
{
intx=2;
while(x--);
printf("%d\n",x);
}
46.下列程序的输出结果是[<1>]。
main()
{intx,a=1,b=2,c=3,d=4;
x=(a
a:
b;x=(xx:
c;x=(d>x)?
x:
d;
printf("%d\n",x);
}
47.for(;;)语句相当于while([<1>])。
48.下列程序的输出结果是[<1>]。
main()
{inta=1,b=2,c=3;
if(c=a)printf("%d\n",c);
elseprintf("%d\n",b);
}
}
49.C语言中至少执行一次循环体的循环语句是[]。
50.结构化程序设计规定的三种基本结构是顺序结构,选择结构和[<循环>]结构。
51.C语言中终止整个循环的语句是[]。
52.若a,b均为整型变量,则以下语句的功能是[<交换a,b的值>]
a+=b;b=a-b;a-=b;
53.在C语言中,表示逻辑"真"值使用整型值[<1>]
54.设inta[2][3]={{5},{6}};则数组元素[]的值为5。
55.若有定义:
doublea[5],则a数组的长度为[<5>]。
56.若有定义:
inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]的值为[<0>]。
57.如果在程序中调用了strcat函数,则需要预处理命令[<#include>]。
58.欲将字符串S1复制到字符串S2中,其语句是[]。
59.C语言中数组的下标总是从[<0>]开始,不可以为负数。
60.strcmp("how","How")的值是[<32或者>0>]
61.若有定义inta[3][5];则排列在数组中的第九个元素是[]
62.C语言中构成数组各个元素具有相同的[<数据类型>]。
63.字符串是以[<\0>]为结束标志的一维字符数组。
64.若有定义:
intb[2][3],则b数组中列下标的上限为[<2>]。
65.C语言中字符串结束的标志是[<'\0'>]
66.设inta[2][3]={{2},{3}};则数组元素[]的值为3。
67.strlen("Howareyou\n")的值是[<12>]
68.若有定义:
doublex[3][5],则x数组中行下标的上限为[<2>]。
69.写出一个名为s的单精度实型一维数组,长度是6,所有元素初值均为0,其数组定义语句是[]
70.设有定义语句:
inta[][3]={{0},{1},{3}},则数组元素a[1][2]是[<0>]
71.若自定义函数要求返回一个值,则应在该函数体中有一条[<带表达式的return>]语句.
72.若用数组名作为函数调用的实参,传递给形参的将是数组的[<首地址>]。
73.C语言规定,简单变量作实参时,和它对应的参数之间的传递方式是[<值传递>]。
74.若自定义函数要求不返回一个值,则应在该函数说明时加一个类型符[]。
75.全局的外部变量和函数体内定义的局部变量重名时,[<函数的局部>]变量优先。
76.函数中的形参和调用时的实参都是变量时,传递方式为[<值传递方式>]。
77.C程序中的一个函数由两部分组成,即声明部分和[<执行部分>]
78.函数的形式参数的作用域为[<定义它的函数>].
79.函数中的形参和调用时的实参都是数组名时,传递方式为[<传地址方式>]。
80.C语言程序执行的开始处是[]
81.假定在同一个编译单位中,函数a()调用了函数b(),则对函数b()不需要说明的情况有下列两种:
b()函数的定义地点在a()函数定义地点之前和[]。
82.函数可以嵌套调用,但是不可以嵌套[<定义>]。
83.为了保证被调用函数不返回任何值,其函数定义的类型应为[]
84.若有定义inti;int*p=&i;则*&i等价于[]。
85.指针变量作为函数的参数时,实参与形参之间传递的是[<地址>]。
86.语句int*p中,指针变量名为[
]。
87.执行语句inti=2;int*p;p=&i;后,*p的值为[<2>]。
88.设有char*a="ABCD",则printf("%c",*a)的输出是[]。
89.若d是已定义的双精度变量,再定义一个指向d的指针变量p的代码是[]。
90.设inta[10],*p=a;则对a[3]的引用可以是p[3]和*(p[<+3>])
91."*"称为[<取内容运算符>]运算符.
92.设有char*a="ABCD",则printf("%s",a)的输出是[]。
93."&"称为[<取地址运算符>]运算符。
94.以下程序的输出结果是[<35>]。
#include
voidswap(int*a,int*b)
{
int*t;
t=a;a=b;b=t;
}
main()
{
inti=3,j=5,*p=&i,*q=&j;
swap(p,q);printf("%d%d",*p,*q);
}
95.若有定义inti;int*p=&i;则&*p等价于[
]。
96.以下程序的输出结果是[<4>]。
#include
main()
{
inta[5]={2,4,6,8,10},*p;
p=a;p++;
printf("%d",*p);
}
97.有下列程序段,且变量已正确定义和赋值:
for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));
printf("s=%f\n\n",s);
请填空,使下列程序段的功能与之完全相同。
s=1.0;k=1;
while([]){s=s+1.0/(k*(k+1));[];}
printf("s=%f\n\n",s);
98.下列程序中,fun()函数的功能是计算x^2-2x+6,主函数中将调用fun()函数计算:
y1=(x+8)^2-2(x+8)+6
y2=sin^2(x)-2sin(x)+6
请填空。
#include"math.h"
doublefun(doublex){return(x*x-2*x+6);}
main()
{doublex,y1,y2;
printf("Enterx:
");
scanf("%lf",&x);
y1=fun([]);
y2=fun([]);
printf("y1=%lf,y2=%lf\n",y1,y2);
}
99.下列程序用于判断a、b、c能否构成三角形,若能输出YES,否则输出NO。
请填空。
main()
{floata,b,c;
scanf("&f&f&f",&a,&b,&c);
if([<(a+b>c)&&(a+c>b)&&(b+c>a)>])printf("YES\n");
elseprintf("NO\n");
}
100.从键盘输入一个字符,并将其输出,完成填空。
main()
{charc;
c=[];
putchar[];
}
101.下列程序的输出结果是[<0235>]
main()
{intk=5,n=0;
do
{switch(k)
{case1:
case3:
n+=1;k--;break;
default:
n=0;k--;
case2:
case4:
n+=2;k--;break;
}
printf("%d",n);
}while(k>0&&n<5);
}
102.下列程序的输出结果是[<2,2,0>]
main()
{inta=-5,b=1,c=1;
intx=0,y=2,z=0;
if(c>0)x=x+y;
if(a<=0)
{if(b>0)
if(c<=0)y=x-y;
}
elseif(c>0)y=x-y;
elsez=y;
printf("%d,&d,&d\n",x,y,z);
}
103.下列程序的输出结果是[<25>]
main()
{inti;
for(i=1;i<=10;i++)
{if((i*i>=20)&&(i*i<=100))
break;
}
printf("%d\n",i*i);
}
104.下列程序的功能是:
将输入的正整数按逆序输出。
例如,如输入135则输出531,请填空。
main()
{intn,s;
scanf("%d",&n);
do
{s=n%10;printf("%d",s);[];}
while(n!
=0);
}
105.下列程序的功能是计算:
s=1+12+123+1234+12345.请填空。
main()
{intt=0,s=0,i;
for(i=1;i<=5;i++)
{t=i+[];s=s+t;}
printf("%d\n",s);
}
106.输出已知数组中的所有偶数,完成填空。
main()
{inta[10]={0,1,2,3,4,5,6,7,8,9},i;
for(i=0;i<10;i++)
if[]
printf(“%d\n”,[]);
}
107.输入数组的值,并输出,完成填空。
main()
{inta[6],i;
for(i=0;i<6;i++)
scanf(“%d”,[<&a[i]>]);
for(i=0;i<6;i++)
printf(“%d\n”,[]);
}
108.下列程序中的数组a包括10个整数元素,从a中第二个元素起,分别将后项减前项之差存入数组b,并按每行4个输出,请填空。
main()
{inta[10],b[10],i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=1;i<10;i++)
[]
for(i=1;i<10;i++)
{printf("%d",b[i-1]);
if(i%4==0)printf("\n");
}
}
109.有下列程序:
intsub(intn){return(n/10+n%10);}
main()
{intx,y;
scanf("%d",&x);
y=sub(sub(sub(x)));
printf("%d\n",y);
}
若运行时输入:
1234,程序的输出结果是[<10>]。
110.下面程序将二维数组a的行和列互换后存放到一个二维数组b中,请填空。
main()
{inta[2][3]={{1,2,3},{4,5}},b[3][2],i,j;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
[]
}
}
111.下列程序的功能是:
求出数组x中各相临两个元素的和依次存放到数组a中,然后输出。
请填空。
main()
{intx[10],a[9],i;
for(i=0;i<10;i++)
scanf("%d",&x[i]);
for([];i<10;i++)
a[i-1]=x[i]+[];
for(i=0;i<9;i++)
printf("%d",a[i]);
printf("\n");
}
112.从键盘输入一个小写字母,改用大写字母输出,完成填空。
main()
{charc1,c2;
c1=[];
c2=[];
putchar(c2);}
113.下列程序计算1到100的整数的累加和,请完善程序
main()
{inta,sum=[<0>];
a=1;
while([])
{sum+=a;
a++;}
printf(“sum=%d\n”,sum);
}
114.下列isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0。
请填空。
intisprime(inta)
{inti;
for(i=2;i<=a/2;i++)
if(a%i==0)[];
[(1)>];
}
115.以下程序功能是:
从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。
请填空。
main()
{
floatx,amax,amin;
scanf("%f",&x);
amax=x;
amin=x;
while[=0>]
{
if(x>amax)amax=x;
if[]amin=x;
scanf("%f",&x);
}
printf("\namax=%f\namin=%f\n",amax,amin);
}
116.以下程序段:
s=1.0;
for(k=1;k<=n;k++)
s=s+1.0/(k*(k+1))
printf("%f\n",s);
请填空,使下面的程序段的功能完全与之等同。
s=0.0
d=1.0
k=0;
do
{
s=s+d;
[]
d=1.0/(k*(k+1));
}
while[]
printf("%f\n",s);}
117.以下函数用以求x的y次方。
请填空。
doublefun(doublex,inty)
{
inti;doublez;
for(i=1;i[<<=y>];i++)
z=[];
returnz;
}
118.下面pi函数的功能是,根据以下公式返回满足精度ε要求的∏的值。
请填空。
∏/2=1+1/3+(1/3)*(2/5)+(1/3)*(2/5)*(3/7)+(1/3)*(2/5)*(3/7)*(4/9)+...
doublepi(doubleeps)
{doubles=0.0,t=1.0;
intn;
for([];t>eps;n++)
{
s+=t;
t=n*t/(2*n+1);
}
return(2.0*[]);
}
119.以下程序的功能是计算s=0!
+1!
+2!
+3!
+...+n!
。
请填空。
longf(intn)
{inti;longs;
s=1L;
for(i=1;i<=n;i++)s=[];
returns;
}
main()
{
longs;intk,n;
scanf("%d",&n);
s=0;
for(k=0;k<=n;k++)s=s+[];
printf("%ld\n",s);}
120.下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符'\n'结束循环,请填空.
intn=0,c;
c=getchar();
while([='\n'>])
{if([='0'&&c<='9'>])n++;
c=getchar();
}
编程
1.有一函数:
当x<0时,y=-1;当x=0时,y=0;当x>0时,y=1。
编一程序,输入x的值,输出y的值。
#include
intmain()
{
intx,y;
scanf(