C语言题库

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

`选择题
1.若x 为int 型变量,则执行以下语句后x 的值为(B )。

x=6;
x+=x-=x*x;
A. 36
B. -60
C. 60
D. -24
2.若有以下类型说明语句:
char w; int x; float y; double z;
则表达式w*x+z-y 的结果为(D )类型。

A.float B. char C. int D. double
3.能正确对一维数组a 中所有元素进行初始化的是(D )。

A. int a[5]={ }
B. int a[ ]={ }
C. int a[5]=0,0,0,0,0,
D. int a[5]={0}
4.有说明int k=3,a[10];
则下列可以正确引用数组元素的表达式是( A )。

A. a[k]
B. a[10]
C. a[1.3]
D. a[3*5]
5.有定义int d[ ][3]={1,2,3,4,5,6};
执行语句printf(“%c”,d[1][0]+‟A‟);
结果是(D )。

A. A
B. B
C. D
D. E
6.有定义char c=‟A‟,ch[20]={…a‟,‟b‟,‟c‟,‟\0‟,‟d‟,‟\0‟};
若执行printf(“%s”,ch);
结果为(B )。

A. …abc‟
B. abc
C.abcd
D.abc\0d
7.对数组进行初始化char carr[ ]={…s‟,‟t‟,‟u‟,‟d‟,‟e‟,‟n‟,‟t‟},barr[ ]=”student”;
则正确的是(D )。

A.carr与barr长度相同 B. carr 比barr 长
C.carr与barr 相同 D. carr 比barr 短
8.若函数f 定义如下:
void f (char * d,char * s)
{while(* d++=* s++);}
函数f 的功能是(B )。

A.串比较 B. 串复制 C. 求串长 D. 串反向
9.有定义int arr[10]={0,1,2,3,4,5,6,7,8,9},* p,i=2;若执行语句:
p=arr;
printf(“%d”,* (p+i));
输出结果为(B )。

A.0 B。

2 C。

3 D。

1
10.有定义int td[ ][3]={1,2,3,4,5,6},以下几种方法中,不能正确表示i 行j列元素的是(D )。

A.td[i][j] B. * (td[i]+j) C. * (* (td+i)+j) D. * (td+i+j) 11.下面的标识符中,合法的标识符是(C )
A.ab*2 B。

2stu C。

_762 D。

c.d
12.一个c语言程序可以由若干个函数构成,其中有且只能有一个的函数是(B)
A.sqrt B。

main C。

abs D。

fun()
13.下列常数中哪个是符合c语法规定的(C)
A.‟\‟B。

”\”C。

0x1e D。

2e2.5
14.设a=10,执行语句a+=a-=a*=a后,a的值是(B)
A.10 B。

0 C。

20 D。

30
15设a=10,执行语句a*=b=c=2后,a的值是(C)
A.10 B。

0 C。

20 D。

30
16设a=10,b=4,c=5,执行语句a*=b+c后,a的值是(C)
A.45 B。

50 C。

90 D。

80
17设a=10,b=4,c=5,表达式++a-c+++b的值是(A)
A.10 B。

11 C。

20 D。

30
18设a=10,b=4,c=5,执行语句a= b = = c后,a的值是(C)A.4 B。

5 C。

0 D。

1
19.假设所有变量都已经正确定义,则程序段
int a =0,y=10;
if(a=0)y--;else if(a>0) y++;
else y+=y;
运行后y的值是(B)
A.9 B。

20 C。

11 D。

12
20.设x、t都是int型变量,则执行语句“x=10;t=x&&x>10;”后,
t的值是(B)
A.不确定B。

0 C。

1 D。

10
21.下面的标识符中,合法的标识符是(C )
A.2.1 B。

3w C。

tc D。

a+d
22.c语言中的标识符不能包含的是(D)
A.字母B。

数字C。

下划线D。

*
23.下列标识符中哪个不是c语言中的关键字(D)
A.auto B。

typedef C。

extern D。

string
24.C语言中不包括哪些常量(C)
A.整型常量B。

字符串常量C。

数组常量D。

符号常量25.C语言中整型数据可分为(D)种类型
A.1 B。

2 C。

3 D。

4
26.C语言中八进制整型常量的前导是(A)
A.数字0 B。

字母o C。

数字0和字母x D。

字母o和x 27.下列标识符中哪个不是c语言中的关键字(C)
A.break B。

default C。

go D。

register
28.C语言中实型数据有(B)种表达形式
A.1 B。

2 C。

3 D。

4
29.C语言中double类型数据有(C)位有效数字
A.7 B。

8 C。

15 D。

16
30.下面的字符常量中,不合法的是(C )
A.‟x‟B。

‟+‟C。

‟101‟D。

‟\101‟
程序设计题
1.求30以内所有能被3或7整除的自然数的倒数之和,答案默认输出6位小数。

(答案:1.226323)
2.设某县2000年工业总产值为200亿元,如果该县预计平均年工业总产值增长率为4.5%,那么多少年后该县年工业总产值将超过1000亿?(答案:37)
3.输出1~999中能被3整除,而且至少有一位数字是5的数字的总个数。

(答案:91)
4.求爱因斯坦数学题。

有一条长阶,若每步跨两阶则最后剩一阶;
若每步跨三阶,则最后剩两阶;若每步跨5阶,则最后剩4阶;
若每步跨6阶,则最后剩5阶;若每步跨7阶,最后正好一阶不剩.(答案:119)
5.计算裴波那挈分数序列前20项之和,答案默认输出6位小数(裴波那挈分数序列为2/1,3/2,5/3,8/5,13/8,21/13,````)。

(答案:32.660259)
6.一个整数等于该数所有因子之和,则称该数是一个完数。

列如,6和28都是完数。

因为6=1+2+3,28=1+2+4+7+14。

编写程序求2-50000中的所有完数的和。

(答案:4)
7.编写程序,按下列公式计算e的值(精度为le-6),答案默认输出6位小数。

e=1+1/1!+1/2!+1/3!+```+1/N!(答案:2.718282)8.编写一个求a=3991680,b=3243240的最大公约数的程序。

(答案:
249480)
9.编写程序计算12+22+32+…+100002(答案:333383335000)10.设s=2/1+3/2+4/3+…+(n+1)/n,求s刚好大于50时候的值,答案默认输出6位小数。

(答案:50.416687)
程序填空题
1.下面程序的功能是求1~200之间能被7除余3的数之和。

请将程序填写完整,运行后将结果填入答案框。

#include "stdio.h"
void main()
{
int n,sum=0;
for(n=1;n<=200;n++)
if( )
sum=sum+n;
printf("%d",sum);
}
程序的结果为: 2929
2.下面程序的功能是求200~300之间能被8除余3的数之和。

请将
程序填写完整,运行后将结果填入答案框。

#include "stdio.h"
void main()
{
int n,sum=0;
for(n=200;n<=300;n++)
if(n%8==3)
_________
printf("%d",sum);
}
程序的结果为: 3263
3.下面程序的功能是求200~800之间能被8除余5的数的个数。

请将程序填写完整,运行后将结果填入答案框。

#include "stdio.h"
void main()
{
int i,n=0;
for(i=200;i<=800;i++)
if(i%8==5)
_________
printf("%d",n);
}
程序的结果为: 75
4.下面程序的功能是求100~900之间能被7除余4的数的个数。

请将程序填写完整,运行后将结果填入答案框。

#include "stdio.h"
void main()
{
int i,n;
_________
for(i=100;i<=900;i++)
if(i%7==4)
n++;
printf("%d",n);
}
程序的结果为:115
5.下面程序的功能是统计100~999之间所有满足三个数字之积为20,三个数字之和为9的数的个数。

请将程序填写完整,运行后将结果填入答案框。

#include "stdio.h"
void main()
{
int x,y,z,count=0;
for(x=1;x<=9;x++)
for(y=0;y<=9;y++)
for(z=0;z<=9;z++)
if( )
count++;
printf("%d",count);
}
程序的结果为: 3
6.下面程序的功能是统计100~999之间所有满足三个数字之积为24,三个数字之和为12的数的个数。

请将程序填写完整,运行后将结果填入答案框。

#include "stdio.h"
void main()
{
int x,y,z,n=0;
for(x=1;x<=9;x++)
for(y=0;y<=9;y++)
for(z=0;z<=9;z++)
if(x*y*z==24&&x+y+z==12)
_________
printf("%d",n);
}
程序的结果为: 6
7. 下面程序的功能是计算各位数字之和等于25的四位数的个数。

请将程序填写完整,运行后将结果填入答案框。

#include "stdio.h"
void main()
{
int i,a,b,c,d,n=0;
for(i=1000;________;i++)
{
a=i/1000;
b=i/100%10;
c=i%100/10;
d=i%10;
if(a+b+c+d==25)
n++;
}
printf("%d",n);
}
程序的结果为: 342
8. 下面程序的功能是计算各位数字之和等于26的四位数的个数。

请将程序填写完整,运行后将结果填入答案框。

#include "stdio.h"
void main()
{
int i,a,b,c,d,n=0;
for(i=1000;i<=9999;i++)
{
a=i/1000;
b=i/100%10;
c=i%100/10;
d=i%10;
if( )
n++;
}
printf("%d",n);
}
程序的结果为:279
9. 下面程序的功能是计算各位数字之和等于24的四位数的个数。

请将程序填写完整,运行后将结果填入答案框。

#include "stdio.h"
void main()
{
int i,a,b,c,d,n=0;
for(i=1000;i<=9999; _______)
{
a=i/1000;
b=i/100%10;
c=i%100/10;
d=i%10;
if(a+b+c+d==24)
n++;
}
printf("%d",n);
}
程序的结果为: 405
10. 下面程序的功能是计算各位数字之和等于27的四位数的个数。

请将程序填写完整,运行后将结果填入答案框。

#include "stdio.h"
void main()
{
int i,a,b,c,d,n=0;
for(i=1000;i<=9999;i++)
{
a=i/1000;
b=i/100%10;
c=i%100/10;
d=________;
if(a+b+c+d==27)
n++;
}
printf("%d",n);
}
程序的结果为: 219
11. 下面程序的功能是求100~400之间能同时被3和5整除的数之
和。

请将程序填写完整,运行后将结果填入答案框。

#include "stdio.h"
void main()
{
int n,sum=0;
for(n=100;n<=400;n++)
if( )
sum=sum+n;
printf("%d",sum);
}
程序的结果为: 4950
12. 下面程序的功能是求200~400之间能同时被3和5整除的数之和。

请将程序填写完整,运行后将结果填入答案框。

#include "stdio.h"
void main()
{
int n,sum=0;
for(n=200;n<=400;n++)
if(n%3==0&&n%5==0)
________
printf("%d",sum);
}
程序的结果为: 3900
13.下面程序的功能是求200~500之间能被5或7整除的数的个数。

请将程序填写完整,运行后将结果填入答案框。

#include "stdio.h"
void main()
{
int i,n=0;
for(i=200;i<=500;i++)
if( )
n++;
printf("%d",n);
}
程序的结果为: 95
14.下面程序的功能是求300~800之间能被5或7整除的数的个数。

请将程序填写完整,运行后将结果填入答案框。

#include "stdio.h"
void main()
{
int i,n;
________
for(i=300;i<=800;i++)
if(i%5==0||i%7==0 )
n++;
printf("%d",n);
}
程序的结果为: 159
15.下面程序的功能是求20~50之间奇数的平方和。

请将程序填写完整,运行后将结果填入答案框。

#include "stdio.h"
void main()
{
int i;
long sum=0;
for(i=20;i<=50;i++)
if( )
sum=sum+i*i;
printf("%ld",sum);
}
程序的结果为: 19495
16.下面程序的功能是求20~60之间偶数的平方和。

请将程序填写完整,运行后将结果填入答案框。

#include "stdio.h"
void main()
{
int i;
long sum=0;
for(i=20;i<=60;i++)
if( )
sum=sum+i*i;
printf("%ld",sum);
}
程序的结果为: 36680
17.已知数列1,1,2,3,5,8……有f(n)=f(n-1)+f(n-2),f(1)=1,f(2)=1,下面程序的功能是求f(30)。

请将程序填写完整,运行后将结果填入答案框。

#include "stdio.h"
void main()
{
int i;
long f1,f2,f;
f1=1;
f2=1;
for(i=3;i<=30;i++)
{________
f1=f2;
f2=f;
}
printf("%ld",f);
}
程序的结果为:832040
18.已知数列1,1,2,3,5,8……有f(n)=f(n-1)+f(n-2),f(1)=1,f(2)=1,下面程序的功能是求f(35)。

请将程序填写完整,运行后将结果填入答案框。

#include "stdio.h"
void main()
int i;
long f1,f2,f;
f1=1;
f2=1;
for(________;i<=35;i++)
{f=f1+f2;
f1=f2;
f2=f;
}
printf("%ld",f);
}
程序的结果为:9227465
19.下面程序的功能是求3+6+12+24+48+ …之和,当累加和大于800时终止累加,输出此时的和。

请将程序填写完整,运行后将结果填入答案框。

#include "stdio.h"
void main()
{
int i,s=0;
for(i=3;s<=800;________)
s=s+i;
printf("%d",s);
}
程序的结果为:1533
20.下面程序的功能是求3+6+12+24+48+ …之和,当累加和大于1600时终止累加,输出此时的和。

请将程序填写完整,运行后将结果填入答案框。

#include "stdio.h"
void main()
{
int i,s=0;
for(i=3;________;i=i*2)
s=s+i;
printf("%d",s);
}
程序的结果为:3069。

相关文档
最新文档