C语言基础练习100题(含标准答案)

C语言基础练习100题(含标准答案)
C语言基础练习100题(含标准答案)

C语言基础练习100题(含答案)

雷柳青编排

1、下面程序的输出是________

#include

void main()

{ int k=11。

printf("k=%d,k=%o,k=%x\n",k,k,k)。

}

A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b

2、在下列选项中,不正确的赋值语句是________.

A) ++t。B) n1=(n2=(n3=0))。

C) k=i=j。D) a=b+c=1。

3、下面合法的C语言字符常量是__________.

A) '\t' B) "A" C) 65 D) A

4、字符(char)型数据在微机内存中的存储形式是____.

A) 反码B) 补码C) EBCDIC码D) ASCII码

5、设int a=12,则执行完语句a+=a-=a*a后,a的值是________

A) 552 B) 264 C) 144 D) -264

6、执行下面程序中的输出语句后,输出结果是______.

#include

void main()

{int a。

printf("%d\n",(a=3*5,a*4,a+5))。

}

A) 65 B) 20 C) 15 D) 10

7、下面程序的输出是__________.

#include

void main()

{int x=023。

printf("%d\n",--x)。

}

A) 17 B) 18 C) 23 D) 24

8、下面程序的输出是___________.

#include

void main()

{char ch1,ch2。

ch2='A'+'6'-'3'。

printf("%d,%c\n",ch1,ch2)。

}

A) 67,D B) B,C C) C,D D) 不确定的值

9、以下程序的输出结果是________.

#include

void main()

{ int x=10,y=10。

printf("%d %d\n",x--,--y)。

}

A) 10 10 B) 9 9 C) 9 10 D) 10 9

10、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:

printf("%d",(x,y))。

上面程序片段的输出结果是_______.

A) 200 B) 100

C) 100 200 D) 输出格式符不够,输出不确定的值

11、阅读下面的程序

#include

void main()

{

int i,j。

i=010。

j=9。

printf("%d,%d",i-j,i+j)。

}

则程序的运行结果是________.

A) 1,19 B) -1,19C) 1,17 D) -1,17

12、阅读下面的程序

#include

void main()

{

int i,j,m,n。

i=8。j=10。

m=++i。

n=j++。

printf("%d,%d,%d,%d",i,j,m,n)。

}

程序的运行结果是_________.

A) 8,10,8,10 B) 9,11,8,10

13、若已定义int a,则表达式a=10,a+10,a++的值是___.

A) 20 B) 10 C) 21 D) 11

14、阅读下面的程序

#include

void main()

{

int i,j。

scanf("%3d%2d",&i,&j)。

printf("i=%d,j=%d\n",i,j)。

}

如果从键盘上输入1234567<回车>,则程序的运行结果是________.

A) i=123,j=4567 B) i=1234,j=567

C) i=1,j=2 D) i=123,j=45

15、下面程序的输出结果是________.

#include

void main()

{

int a=-1, b=4, k。

k=(++a<=0)&&(b--<=0)。

printf("%d,%d,%d\n",k,a,b)。

}

A) 1,1,2 B) 1,0,3C) 0,1,2 D) 0,0,3

16、下面程序的输出结果是_______.

#include

void main()

{

int a=5,b=3。

float x=3.14, y=6.5。

printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1))。

}

A) 1,0 B) 0,1C) 1,1 D) 0,0

17、若有以下定义和语句:

int a=010, b=0x10, c=10。

printf("%d,%d,%d\n",a,b,c)。

则输出结果是_________.

A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,10

18、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_________.

A) 2.4 B) 2.5 C) 2.75 D) 0

19、设有以下语句:int x=10。x+=3+x%3,则x的值是._________

A) 14 B) 15 C) 11 D) 12 20、若d为double型变量,则表达式d=1,d+5,d++的值是_______.

A) 1 B) 6.0 C) 2.0 D) 1.0

21、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值__________.

A) 0 B) 1 C) 12 D) 6

22、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是____.

A) 0 B) 2 C) 1.5 D) 1

23、在C语言中,以下叙述不正确的是________.

A) 在C程序中,无论是整数还是实数,都能被准确无误

的表示

B) 在C程序中,变量名代表存储器中的一个位置

C) 静态变量的生存期与整个程序的生存期相同

D) C语言中变量必须先定义后引用

24、设a为整型变量,不能正确表达数学关系10

A) 1010&&a<15 D) !(a<=10)&&!(a>=15)

25、如果c为字符型变量,判断c是否为空格不能使用________.(假设已知空格ASCII码为32)

A) if(c=='32') B) if(c==32)

C) if(c=='\40') D) if(c==' ')

26、执行下面程序时,若从键盘输入"2",则程序的运行结果是________.

#include

void main( )

{ int k。char cp。

cp=getchar( )。

if (cp>='0' && cp<='9')

k=cp-'0'。

else if (cp>='a' && cp<='f')

k=cp-'a'+10。

else k=cp-'A'+10。

printf("%d\n",k)。

}

A) 2 B) 4 C) 1 D) 10

27、执行下面程序后,运行结果是________.

#include

void main( )

{ int x=41,y=1。

if (x%3==0 && x%7==0)

{ y+=x。printf("y=%d\n",y)。}

{y=x。printf("y=%d",y)。}

}

A) y=41 B) y=43 C) y=42 D) y=1

28、运行下面程序时,从键盘输入"12,34,9",则输出结果是______.

#include

void main( )

{ int x,y,z。

scanf("%d,%d,%d",&x,&y,&z)。

if (x

if (y

else printf("%d\n",y)。

else if (x

else printf("%d\n",x)。

}

A) 34 B) 12 C) 9 D) 不确定的值

29、运行下面程序时,从键盘输入字母H,则输出结果是________.

#include

void main( )

{ char ch。

ch=getchar( )。

switch(ch)

{ case 'H':printf("Hello!\n")。

case 'G':printf("Good morning!\n")。

default:printf("Bye_Bye!\n")。

}

}

A) Hello! B) Hello!

Good Morning!

C) Hello! D) Hello!

Goodmorning! Bye_Bye!

Bye_Bye!

30、执行下列程序段后的输出结果是_________.

int x=1,y=1,z=1。

x+=y+=z。

printf("%d\n",x

A) 3 B) 2 C) 1 D) 4

31、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是_____.

A) Z B) a C) z D) A

32、下面程序的输出结果是________.

#include { int x=8,y=-7,z=9。

if (x

if (y<0) z=0。

else z-=1。

printf("%d\n",z)。

}

A) 8 B) 1 C) 9 D) 0

33、运行下面程序时,若从键盘输入"3,4 ",则程序的输出结果是_______.

#include

void main( )

{ int a,b,s。

scanf("%d,%d",&a,&b)。

s=a。

if (s

s=s*s。

printf("%d\n",s) 。

}

A) 14 B) 16 C) 18 D) 20

34、下列程序的执行结果是_________.

#include

void main( )

{ int x=0,y=1,z=0。

if (x=z=y)

x=3。

printf("%d,%d\n",x,z)。

}

A) 3,0 B) 0,0 C) 0,1 D) 3,1

35、能够完成如下函数计算的程序段是______.

┌-1 x<0

y= ┤0 x=0

└ 1 x>0

A) y=1。B) if (x>=0)

if(x!=0)if(x>0) y=1。

if(x>0) y=1。else y=0。

else y=0。else y=-1。

C) y=0。D) y=-1。

if (x>=0) if (x>0) y=1。

if (x>0) y=1。else y=0。

else y=-1。

36、以下程序的执行结果是________.

#include

void main( )

{ int x=1,y=0。

{

case 1:

switch (y)

{

case 0:printf("first\n")。break。

case 1:printf("second\n")。break。

}

case 2:printf("third\n")。

}

}

A) first B) first

second third

C) first D) second

third

37、以下程序的执行结果是________.

#include

void main( )

{ int a,b,c,d,x。

a=c=0。

b=1。

d=20。

if (a) d=d-10。

else if(!b)

if (!c) x=15。

else x=25。

printf("d=%d\n",d)。

}

A) d=20 B) d=10 C) d=15 D) 25

38、下列程序执行后的输出结果是________.

#include

void main( )

{ int x,y=1,z。

if ((z=y)<0) x=4。

else if (y==0) x=5。

else x=6。

printf("%d,%d\n",x,y)。

}

A) 4,1 B) 6,1 C) 5,0 D) 出错信息

39、有如下程序

#include

void main( )

{ int x=1,a=0,b=0。

switch(x)

{

case 0: b++。

case 2: a++。b++。

}

printf("a=%d,b=%d\n",a,b)。

}

该程序的输出结果是__________.

A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2

40、下面程序的输出结果是_________.

#include

void main( )

{ int a=-1,b=1,k。

if ((++a<0) && (b--<=0))

printf("%d %d\n",a,b)。

else

printf("%d %d\n",b,a)。

}

A) -1 1 B) 0 1 C) 1 0 D) 0 0

41、假定w、x、y、z、m均为int型变量,有如下程序段:

w=1。x=2。y=3。z=4。

m=(w

A) 4 B) 3 C) 2 D) 1

42、以下程序的输出结果是_________.

main( )

{ int a=100。

if (a>100) printf("%d\n",a>100)。

else printf("%d\n",a<=100)。

}

A) a<=100 B) 100 C) 0 D) 1

43、若执行下面的程序从键盘上输入9,则输出结果是.______________

#include

void main( )

{int n。

scanf("%d",&n)。

if (n++<10) printf("%d\n",n)。

else printf("%d\n",n--)。}

A) 11 B) 10 C) 9 D) 8

44、以下程序段运行结果是________.

int x=1,y=1,z=-1。

x+=y+=z。

printf("%d\n",x

A) 1 B) 2 C) 4 D) 不确定的值

#include

void main( )

{ int a,b,c=246。

a=c/100%9。

b=(-1)&&(-1)。

printf("%d,%d\n",a,b)。

}

输出结果是________.

A) 2,1 B) 3,2 C) 4,3 D) 2,-1

46、运行下面程序时,若从键盘输入数据为"123",则输出结果是_______.

#include "stdio.h"

void main()

{ int num,i,j,k,place。

scanf("%d",&num)。

if (num>99)

place=3。

else if(num>9)

place=2。

else

place=1。

i=num/100。

j=(num-i*100)/10。

k=(num-i*100-j*10)。

switch (place)

{ case 3: printf("%d%d%d\n",k,j,i)。

break。

case 2: printf("%d%d\n",k,j)。

break。

case 1: printf("%d\n",k)。

}

}

A) 123 B) 1,2,3C) 321 D) 3,2,1

47、执行下列程序后的输出结果是_______.

#include

void main( )

{ int k=4,a=3,b=2,c=1。

printf("%d\n",k

}

A) 4 B) 3 C) 2 D) 1

48、以下条件表达式中能完全等价于条件表达式if(x)中的x 的是____.

A) (x==0) B) (x!=0) C) (x==1) D) (x!=1) 是______.

#include

void main( )

{ int a,b。

scanf("%d",&a)。

b=a>15?a+10:a-10。

printf("%d\n",b) 。

}

A) 5 B) 25 C) 15 D) 10

50、执行下面程序的输出结果是________.

#include

void main( )

{ int a=5,b=0,c=0。

if (a=a+b) printf("****\n")。

else printf("####\n")。

}

A) 有语法错误不能编译

B) 能通过编译,但不能通过连接

C) 输出****

D) 输出####

51、为了避免嵌套的if-else语句的二义性,C语言规定else总是与______组成配对关系.

A) 缩排位置相同的if

B) 在其之前未配对的if

C) 在其之前尚未配对的最近的if

D) 同一行上的if

52、以下程序段__________.

x=-1。

do

{

x=x*x。

} while (!x)。

A)是死循环B)循环执行两次

C)循环执行一次D)有语法错误

53、对下面程序段描述正确的是_______.

int x=0,s=0。

while (!x!=0) s+=++x。

printf("%d",s)。

A) 运行程序段后输出0

B) 运行程序段后输出1

C) 程序段中的控制表达式是非法的

D) 程序段循环无数次

x=3。

do { y=x--。

if (!y) {printf("*")。continue。}

printf("#")。

} while(x=2)。

A) ## B) ##* C) 死循环D)输出错误信息

55、下面程序的运行结果是_______.

#include

void main( )

{ int a=1,b=10。

do

{ b-=a。a++。

} while(b--<0)。

printf("%d,%d\n",a,b)。

}

A) 3,11 B) 2,8 C) 1,-1 D) 4,9

56、下面程序段的运行结果是__________.

int n=0。

while (n++<=2)

printf("%d",n)。

A) 012 B) 123C) 234 D) 错误信息

57、下面程序段的运行结果是________.

int x=0,y=0。

while (x<15) y++,x+=++y。

printf("%d,%d",y,x)。

A) 20,7 B) 6,12 C) 20,8 D)8,20

58、下面程序的运行结果是________.

#include

void main()

{ int s=0,i=1。

while (s<=10)

{ s=s+i*i。

i++。

}

printf("%d",--i)。

}

A) 4 B) 3 C) 5 D) 6

59、下面程序段的运行结果是________.

for(x=10。x>3。x--)

{ if(x%3) x--。

--x。--x。

printf("%d ",x)。

}

A) 6 3 B) 7 4 C) 6 2 D) 7 3 60、下面程序的运行结果是________.

#include

void main( )

{ int a,b。

a=-1。

b=0。

do {

++a。

++a。

b+=a。

} while(a<9)。

printf("%d\n",b)。

}

A) 34 B) 24 C) 26 D) 25

61、下面程序段的运行结果是___________.

for(i=1。i<=5。)

printf("%d",i)。

i++。

A) 12345 B) 1234 C) 15 D) 无限循环

62、下面程序的输出结果是__________.

#include

void main( )

{ int n=4。

while (n--) printf("%d ",n--)。

}

A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 0

63、以下程序运行后的输出结果是________.

#include

void main()

{ int i=10,j=0。

do

{ j=j+1。i--。

}while(i>2)。

printf("%d\n",j)。

}

A) 50 B) 52 C) 51 D) 8

64、有如下程序

#include

void main()

{ int x=23。

do

{ printf("%d",x--)。

}while(!x)。

}

该程序的执行结果是_______

A) 321 B) 23

C) 不输出任何内容D) 陷入死循环

65、以下程序段的执行结果是_______.

int i,j,m=0。

for(i=1。i<=15。i+=4)

for(j=3。j<=19。j+=4)

m++。

printf("%d\n",m)。

A) 12 B) 15 C) 20 D) 25

66、下面程序的输出结果是___________.

#include

void main( )

{ int i。

for(i=1。i<6。i++)

{ if (i%2!=0) {printf("#")。continue。}

printf("*")。

}

printf("\n")。

}

A) #*#*# B) ##### C) ***** D) *#*#*

67、下面程序的输出结果是__________.

#include

void main( )

{ int x=10,y=10,i。

for(i=0。x>8。y=++i)

printf("%d %d ",x--,y)。

}

A) 10 1 9 2 B) 9 8 7 6

C) 10 9 9 0 D) 10 10 9 1

68、执行以下程序后,输出的结果是__________.

#include

void main( )

{ int y=10。

do {y--。}

while (--y)。

printf("%d\n",y--)。

}

A) -1 B) 1C) 8 D) 0

69、有如下程序

#include

void main( )

{ int n=9。

while(n>6) {n--。printf("%d",n)。} } 该程序段的输出结果是__________.

A) 987 B) 876 C) 8765 D) 9876

70、有如下程序

#include

void main( )

{ int i,sum=0。

for(i=1。i<=3。sum++) sum+=i。

printf("%d\n",sum)。

}

该程序的执行结果是___________.

A) 6 B) 3 C) 死循环D) 0

71、以下循环体的执行次数是_______

#include

void main( )

{ int i,j。

for(i=0,j=1。i<=j+1。i+=2, j--)

printf("%d \n",i)。

}

A) 3 B) 2 C) 1 D) 0

72、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为________.

#include

void main( )

{ char ch。

while ((ch=getchar( ))!='\n')

{ if (ch>='A' && ch<='Z') ch=ch+32。

else if (ch>='a' && ch<'z') ch=ch-32。

printf("%c",ch)。

}

printf("\n")。

}

A) ABCdef B) abcDEF C) abc D) DEF

73、下面程序的输出结果是__________.

main( )

{

int i,k=0, a=0, b=0。

for(i=1。i<=4。i++)

{

k++。

if (k%2==0) {a=a+k。continue。} b=b+k。

a=a+k。

}

printf("k=%d a=%d b=%d\n",k,a,b)。

}

A) k=5 a=10 b=4 B) k=3 a=6 b=4

C) k=4 a=10 b=3 D) k=4 a=10 b=4

74、执行下面程序段后,k的值是_________.

int i,j,k。

for(i=0,j=10。i

k=i+j。

A) 9 B) 11 C) 8 D) 10

75、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。________

#include

void main( )

{ float x,amax,amin。

scanf("%f",&x)。

amax=x。

amin=x。

while (________ )

{ if (x>amax) amax=x。

if (______) amin=x。

scanf("%f",&x)。

}

printf("\namax=%f\namin=%f\n",amax,amin)。

}

A) x<=0 B) x>0 C) x>0 D) x>=0

x>amin x<=amin x>amin x

76、阅读以下程序,程序运行后的输出结果是______.

#include

void main( )

{ int x。

for(x=5。x>0。x--)

if (x--<5) printf("%d,",x)。

else printf("%d,",x++)。}

A) 4,3,2 B) 4,3,1, C) 5,4,2 D) 5,3,1,

77、以下程序段的输出结果是_______.

int k,n,m。

n=10。m=1。k=1。

while (k<=n) {m*=2。k+=4。}

printf("%d\n",m)。

A) 4 B) 16 C) 8 D) 32

78、语句while(!e)。中的条件!e 等价于________.

A) e==0 B) e!=1 C) e!=0 D) ~e

79、以下叙述正确的是_________.

A) continue语句的作用是结束整个循环的执行C) 在循环体内使用break语句或continue语句的作用

相同

D) 从多层循环嵌套中退出时,只能使用goto语句

80、在下列选项中,没有构成死循环的程序段是____.

A) int i=100。B) for( 。。)。

while (1)

{ i=i%100+1。

if (i>100) break。

}

C) int k=1000。D) int s=36。

do {++k。} while (k>=1000)。while (s) --s。

81、下面程序的输出结果是________.

#include

void main( )

{ int i。

for(i=1。i<=5。i++)

{ if (i%2) printf("*")。

else continue。

printf("#")。

}

printf("$\n")。

}

A) *#*#*#$ B) #*#*#*$ C) #*#*$ D) *#*#$

82、下面程序段中,循环体的执行次数是_________.

int a=10,b=0。

do {b+=2。a-=2+b。} while(a>=0)。

A) 4 B) 5 C) 3 D) 2

83、若i为整型变量,则以下循环语句的循环次数是__. for(i=2。i==0。)

printf("%d",i--)。

A) 无限次B) 0次C) 1次D) 2次

84、对于for(表达式1。。表达式3)可理解为_________.

A) for(表达式1。0。表达式3)

B) for(表达式1。1。表达式3)

C) for(表达式1。表达式1。表达式3)

D) for(表达式1。表达式3。表达式3)

85、合法的数组定义是________.

A) int a[6]={"string"}。B) int a[5]={0,1,2,3,4,5}。

C) char a={"string"}。D) char a[]={0,1,2,3,4,5}。

86、给出以下定义:

char x[ ]="abcdefg"。

char y[ ]={'a','b','c','d','e','f','g'}。

A) 数组x和数组y等价

B) 数组x和数组y的长度相同

C) 数组x的长度大于数组y的长度

D) 数组x的长度小于数组y的长度

87、定义如下变量和数组:

int i。

int x[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}。则下面语句的输出结果是_______.

for(i=0。i<4。i++) printf("%3d",x[i][3-i])。

A) 1 5 9 13 B) 1 6 11 16

C) 4 7 10 13 D) 4 8 12 16

88、下面程序输出的结果是________.

#include

void main( )

{ int i,j,x=0。

static int a[6]={1,2,3,4,5,6}。

for(i=0,j=1。i<5。++i,j++) x+=a[i]*a[j]。

printf("%d\n",x)。

}

A) 数组a中首尾的对应元素的乘积

B) 数组a中首尾的对应元素的乘积之和

C) 数组a中相邻各元素的乘积

D) 数组a中相邻各元素的乘积之和

89、若有以下说明:

char s1[ ]={"tree"},s2[]={"flower"}。,

则以下对数组元素或数组的输出语句中,正确的是_____.

A) printf("%s%s",s1[5],s2[7])。

B) printf("%c%c",s1,s2)。

C) puts(s1)。puts(s2)。D) puts(s1,s2)。

90、运行下面程序段的输出结果是_______.

char s1[10]={'S','e','t','\0','u','p','\0'}。

printf("%s",s1)。

A) Set B) Setup C) Set up D) 'S''e''t'

91、以下程序段的输出结果是________.

char s[ ]="an apple"。

printf("%d\n",strlen(s))。

A) 7 B) 8 C) 9 D) 10

92、若有说明:char c[10]={'E','a','s','t','\0'}。,则下述说法中正确的是__________.

A) c[7]不可引用B) c[6]可引用,但值不确定C) c[4]不可引用D) c[4]可引用,其值为空字符A) c[0] B) c[9-6] C) c[4*2] D) c[2*3]

94、如有说明:char s1[5],s2[7]。,要给数组s1和s2整体赋值,下列语句中正确的是________.

A) s1=getchar()。s2=getchar()。

B) scanf("%s%s",s1,s2)。

C) scanf("%c%c",s1,s2)。

D) gets(s1,s2)。

95、以下程序输出的结果是_________.

#include

void main( )

{ char str[ ]="1a2b3c"。int i。

for(i=0。str[i]!='\0'。i++)

if(str[i]>='0'&&str[i]<='9') printf("%c",str[i])。

printf("\n")。

}

A) 123456789 B) 1a2b3cC) abc D) 123

96、以下程序输出的结果是________.

#include

void main( )

{ int a[ ]={5,4,3,2,1},i,j。

long s=0。

for(i=0。i<5。i++) s=s*10+a[i]。

printf("s=%ld\n",s)。

}

A) s=12345 B) s=5 4 3 2 1

C) s=54321 D) 以上都不对

97、在定义int a[5][6]。后,数组a中的第10个元素是.________(设a[0][0]为第一个元素)

A) a[2][5] B) a[2][4] C) a[1][3] D) a[1][5]

98、当接受用户输入的含有空格的字符串时,应使用________函数.

A) gets( ) B) getchar( ) C) scanf( ) D) printf( )

99、以下一维数组a的正确定义是________ .

A) int a(10)。B) int n=10,a[n]。

C) int n。D) #define SIZE 10

scanf("%d",&n)。int a[SIZE]。

int a[n]。

100、以下对二维数组a进行正确初始化的是_______.

A) int a[2][3]={ {1,2},{3,4},{5,6} }。

B) int a[ ][3]={1,2,3,4,5,6 }。

C) int a[2][ ]={1,2,3,4,5,6}。

D) int a[2][ ]={ { 1,2},{3,4}}。

答题卡

班级______姓名__________得分_________

参考答案:

1~5 DDADD 6~10 BBADA 11-15 DCDDD 15-20 ABBAD 21-25 ADAAA 26-30 AAACA 31-35 BCBDB 36-40 BABAC 41-45 DDBAA 46-50 CDBAC 51-55 CCBCB 56-60 BCBBD 61-65 DBDBC 66-70 ADDBC 71-75 CBDDD 76-80 BCABD 81-85 ACBBD 86-90 CCDCA 91-95 BDCBD 96-100CCADB

C语言基础编程题

5-1求幂之和(15分) 本题要求编写程序,计算sum=2^1+2^2+2^3+\cdots+2^n sum=21+22+23++2n。可以调用pow函数求幂。 输入格式: 输入在一行中给出正整数n n(\le≤10)。 输出格式: 按照格式“result=计算结果”输出。 输入样例: 输出样例: #include<> #include<> intmain() { inti,n,sum=0; scanf("%d",&n); for(i=1;i<=n;i++) { sum=sum+pow(2,i); } printf("result=%d\n",sum); return0; } 5-2近似求PI(15分) 本题要求编写程序,根据下式求\piπ的近似值,直到最后一项小于给定精度eps。

\frac{\pi}{2}=1+\frac{1!}{3}+\frac{2!}{3\times5}+\frac{3!}{3\times5\times7}+\ cdots+\frac{i!}{3\times5\times\cdots\times(2\timesi+1)}+\cdots2π=1+31!+3×52!+3×5×73!++3×5××(2×i+1)i!+ 输入格式: 输入在一行中给出精度eps,可以使用以下语句来读输入: 输出格式: 在一行内,按照以下格式输出\piπ的近似值(保留小数点后5位): 输入样例: 输出样例: #include<> #include<> intmain() { doublea=1,b=3,i=1,j=3; doubleeps,m=1,sum=0; scanf("%le",&eps); while(m>eps) { m=a/b; sum=sum+m; i=i+1; j=j+2; a=a*i; b=b*j; } printf("PI=%.5lf\n",2+2*sum);

C语言基础知识_测试题

C语言程序设计基础测试题 一、单选 [1] 下面叙述中错误的是____。 A. 复合语句中定义的函数只在该复合语句中有效 B. return( )语句中的括号中,可以是变量,常量或有确定值的表达式 C. 形式参数也是局部变量 D. 主函数中定义的变量在整个程序中都是有效的 [2]下列说法中正确的是____。 A.带参数的宏定义中的参数是没有类型的 B.宏展开将占用程序的运行时间 C.宏定义命令是C语言中的一种特殊语句 D.使用#include命令包含的头文件必须以“.h"为后缀 [3.] 若函数的形参为一维数组,则下列说法中正确的是____。 A.调用函数时的对应实参必为数组名 B.形参数组可以不指定大小 C.形参数组的元素个数必须等于实参数组的元素个数 D.形参数组的元素个数必须多于实参数组的元素个数 [4]. 系统的标准输出设备是____。 A.键盘 B.硬盘 C.内存 D.显示器 [5] 下面叙述中正确的是____。 A.全局变量在定义它的文件中的任何地方都是有效的 B.全局变量在程序的全部执行过程中一直占用内存单元 C. C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式 D. 说明函数时必须明确其参数类型和返回类型 [6]. C程序的基本结构单位是____。 A.文件 B.语句 C.函数 D.表达式 [7] 对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是____。 A.aa数组元素的值分别是"abcd"和"ABCD" B.aa是指针变量,它指向含有两个数组元素的字符型一维数组 C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D.aa数组的两个元素中各自存放了字符'a'和'A'的地址 [8]. 任何一个C语言的可执行程序都是从____开始执行的。 A.程序中的第一个函数 B.main( )函数的入口处

C语言习题集(基础篇)

《C语言程序设计》习题篇 第一章C语言基础知识 1.1 选择题 1. 以下不是C语言的特点的是()。 A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好 2.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 3.正确的C语言标识符是()。 A._buy_2 B.2_buy C.?_buy D.buy? 4. 请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 5.下列符号中,不属于转义字符的是()。 A.\\ B.\0xAA C.\t D.\0 6.不属于C语言关键字的是()。 A.int B.break C.while D.character 7.是C语言提供的合法关键字的是()。 A.Float B.signed C.integer D.Char 8.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 9.一个C程序是由()。 A.一个主程序和若干子程序组成 B.一个或多个函数组成 C.若干过程组成 D.若干子程序组成 10. C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 11.下列说法中,错误的是()。 A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外 C.主函数只能调用用户函数或系统函数,用户函数可以相互调用

C语言基本练习题

1. 某城市出租车收费标准如下:起步里程是3 公里,起步费是10 元;超出起步里程后每公里 1.5 元。编写程序,输入行驶里程(公里) ,计算并输出乘客应支付的车费(元)。 #include int main() { double n; scanf("%lf",&n); if(n<=3) { printf("%d\n",10); } else { printf("%.2f\n",1.0*(10+(n-3)*1.5)); } return 0; } 2. 某城市月用水量收费标准如下:每月使用吨数小于等于15 吨的,每吨收费2.5 元;每月使用吨数超过15 吨的,采用分段计费:超过部分每吨 3 元。编写程序,输入使用吨数,计算并输出用户水费(元) 。 #include int main() { double n,x; scanf("%lf",&n); if(n<=15) {x=n*2.5; } else { x=15*2.5+(n-15)*3.0; } printf("%.2f\n",x); return 0; } 3. 求解简单表达式。输入一个形式如:"操作数运算符操作数"的四则运算表达式,输出运算结果,要求使用switch 语句( if 语句)编写。#include #include int main() { double s1,s2; char op; scanf("%lf %c %lf",&s1,&op,&s2); switch(op) {case '+':printf("%.2f\n",s1+s2);break; case '-':printf("%.2f\n",s1-s2);break; case '*':printf("%.2f\n",s1*s2);break; case '/': if(fabs(s2)

C语言基础题及参考答案

第一单元程序设计和C语言 一、选择题 1.C语言的基本构成单位是: A 。 A. 函数 B. 函数和过程 C. 超文本过程 D. 子程序 2.一个C语言程序总是从 B 开始执行。 A. 主过程 B. 主函数 C. 子程序 D.主程序 3.C语言的程序一行写不下时,可以 D 。 A. 用逗号换行 B. 用分号换行 C. 在任意一空格处换行 D. 用回车符换行 4.以下叙述不正确的是: C 。 A. 在C程序中,语句之间必须要用分号";"分隔 B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数 C. 在C程序中,无论是整数还是实数都能正确无误地表示 D. 在C程序中,%是只能用于整数运算的运算符 5.以下不正确的C语言标识符是 D 。 A. ABC B. abc C. a_bc D. ab.c 6.下列字符串是标识符的是:。 ? A. _HJ B. 9_student C. long D. LINE 1 7.以下说法中正确的是: C 。 A. C语言程序总是从第一个定义的函数开始执行 B. 在C语言程序中,要调用的函数必须放在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分 8.不合法的常量是: B 。 A. ‘\2’ B. "" C. ‘3’ D. ‘\483’ 9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:。 int k,a,b; unsigned long w=5; double x=1.422; A. x%(-3) B. W += -2 C. k=(a=2,b=3,a+b) D. a+=a=+(b=4)*(a=3) 10.在C语言中,字符型数据在内存中以 D 形式存放。 A. 原码 B. BCD码 C. 反码 D. ASCII码 11.若有定义:int a=7; float x=2.5; y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是: A 。

C语言编程基础考试试题

C语言编程基础考试试题 文档名称文档密级 C语言编程基础考试 [考前说明]本题目中不考虑头文件引用问题(假定已经包含正确的头文件),C 语言的标 准函数都可用;如果不特别说明, 假定程序运行环境为:操作系统Windows 2000, VC6.0编译环境,缺省为四字节对齐, X86(80586)CPU处理器(32位小字节序处理器). 一、单选题 1、给出以下定义: char acX[ ]= "abcdefg"; char acY[ ]= {'a','b','c','d','e','f','g'}; 则正确的叙述为( ) A) 数组acX和数组acY等价 B) 数组acX和数组acY的长度相同 C) 数组acX的长度大于数组acY的长度 D) 数组acX的长度小于数组Y的长度 2、 void example(char acHello[]) { printf("%d", sizeof(acHello)); return; } void main()

{ char acHello[] = "hello"; example(acHello); return; } 的输出是( ) A 4 B 5 C 6 D不确定 3、以下叙述中不正确的是( ) A) 在不同的函数中可以使用相同名字的变量 B) 函数中的形式参数是在栈中保存 C) 在一个函数内定义的变量只在本函数范围内有效 D) 在一个函数内的复合语句中定义的变量在本函数范围内有效(复合语句指函数 中的成对括号构成的代码) 4、设有如下定义: unsigned long pulArray[] = {6, 7, 8, 9, 10}; unsigned long *pulPtr; 则下列程序段的输出结果为( ) 1 文档名称文档密级 pulPtr = pulArray; *(pulPtr + 2) += 2; printf ("%d,%d\n", *pulPtr, *(pulPtr + 2)); A)8,10 B)6,8 C)7,9 D)6,10

C语言基础练习100题(含标准答案)

C语言基础练习100题(含答案) 雷柳青编排 1、下面程序的输出是________ #include void main() { int k=11。 printf("k=%d,k=%o,k=%x\n",k,k,k)。 } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是________. A) ++t。B) n1=(n2=(n3=0))。 C) k=i=j。D) a=b+c=1。 3、下面合法的C语言字符常量是__________. A) '\t' B) "A" C) 65 D) A 4、字符(char)型数据在微机内存中的存储形式是____. A) 反码B) 补码C) EBCDIC码D) ASCII码 5、设int a=12,则执行完语句a+=a-=a*a后,a的值是________ A) 552 B) 264 C) 144 D) -264 6、执行下面程序中的输出语句后,输出结果是______. #include void main() {int a。 printf("%d\n",(a=3*5,a*4,a+5))。 } A) 65 B) 20 C) 15 D) 10 7、下面程序的输出是__________. #include void main() {int x=023。 printf("%d\n",--x)。 } A) 17 B) 18 C) 23 D) 24 8、下面程序的输出是___________. #include void main() {char ch1,ch2。 ch2='A'+'6'-'3'。 printf("%d,%c\n",ch1,ch2)。 } A) 67,D B) B,C C) C,D D) 不确定的值 9、以下程序的输出结果是________. #include void main() { int x=10,y=10。 printf("%d %d\n",x--,--y)。 } A) 10 10 B) 9 9 C) 9 10 D) 10 9 10、若x和y都是int型变量,x=100,y=200,且有下面的程序片段: printf("%d",(x,y))。 上面程序片段的输出结果是_______. A) 200 B) 100 C) 100 200 D) 输出格式符不够,输出不确定的值 11、阅读下面的程序 #include void main() { int i,j。 i=010。 j=9。 printf("%d,%d",i-j,i+j)。 } 则程序的运行结果是________. A) 1,19 B) -1,19C) 1,17 D) -1,17 12、阅读下面的程序 #include void main() { int i,j,m,n。 i=8。j=10。 m=++i。 n=j++。 printf("%d,%d,%d,%d",i,j,m,n)。 } 程序的运行结果是_________. A) 8,10,8,10 B) 9,11,8,10

C语言编程基础习题答案

《C语言编程基础(第2版)》习题答案 前言 《C语言编程基础(第2版)》每章后面都安排了一定数量的习题,这有利于读者理解、消化和掌握各单元的学习内容。习题中,除了有填空题、选择题、回答问题等适合掌握基本概念的题型外,大部分是分析程序运行结果和要求编写实用程序,这有利于读者训练编程技巧和增强编程能力。应广大读者要求,特别是一线教学老师的要求,我们给出全部习题答案,供读者参考。编程答案只是实现题目算法要求的一种,并不一定是最好的。希望读者自己多做思考,利用多种方法进行编程,用以提高自己的程序设计水平和锻炼自己的创新能力。由于作者水平所限,错误和不当之处在所难免,恳请批评指正。 习题一 1、填空题。 ⑴ C语言程序由__函数__组成,其中必须有且只能有一个名为_main__的函 数。C程序的执行从___名为main的主__函数开始。 ⑵每个C语句必须以__分__号结束。 ⑶标识符只能由_英文字母_、__数字_和_下划线__三类符号构成,而且标 识符的第一个字符必须是__英文字母__或__下划线__。 ⑷关键字是指___C语言编译系统所固有的、具有专门意义的标识符___。 ⑸ C程序中,注释的内容应放在__/*_和_*/__符号之间。 2、选择题。 ⑴下面合法的C语言标识符是___ C ___。 ⑵ C语言中主函数的个数是___ A______。 ⑶以下有关注释的描述中,错误的是___ C ___。 ⑷ C程序中,main函数的位置____ D___。 3、指出并改正下面程序中的错误。 ⑴ main 应为 main() ⑵应在本程序最后加上大括号 }。 ⑶语句结束应有分号。如: int a,b; a=1;b=2; printf(%d,a+b); 、分析下列程序,写出运行结果。4. ⑴该程序是计算两个整数a和b的乘积并赋值给c,运行结果为: c=30 ⑵该程序输出一个字符串和一排星号,运行结果为:

c语言基础题

“C语言程序设计”平时作业(二) 填空题: (1)已知:int a[3] = {1, 2, 3}; 则 *(a+1)+2 的值为 ___【1】__4_。 (2)下面程序段的输出结果是___【2】___BC。 int a=1; s witch(a<=1) { case 0:printf("A"); case 1:printf("B"); default:printf("C"); } (3)以下程序运行后的输出结果是____【3】___3。 main() {int a=5,b=4,c=3,d=2; if (a>b>c) printf(“%d\n”,d); else if( (c-1 >=d) = =1 ) printf( “%d\n”,d+1); else printf( “%d\n”,d+2); } (4)下面程序段的输出结果是___【4】___ 3 int a[][3]={{1,2,3},{1,2,3},{1,2,3}}; int s=0,m,n; for(m=0;m<=2;m++) for(n=0;n<=3;n++) { if (a[m][n]= =2) break; s+= a[m][n]; } printf(“%d”,s); (5)以下程序运行后的输出结果是____【5】____24 #include int f ( int ); void main( ) { int a = 4; printf(“%d\n”, f(a) ); } int f( int a ) { return ( a= =0 ) ? 1: a*f(a-1);} (6)下列函数用起泡法对一维整数数组中的数据进行从小到大的排序,请填空。

C语言-基本选择题及答案解析

计算机程序设计基础(C语言) 单项选择练习题 说明:带*号的对非信息学院的同学不作要求。 一、基本概念 1. C语言程序是由 C 构成的。 A)一些可执行语言 B)main函数 C)函数 D)包含文件中的第一个函数2.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 3.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 4.C语言程序从main()函数开始执行,所以这个函数要写在_D___。 A) 程序文件的开始 B) 程序文件的最后 C) 它所调用的函数的前面 D) 程序文件的任何位置 5、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 6. 下列方法中错误的是(D)。 A.主函数可以分为两个部分:主函数说明部分和主函数体。 B.主函数可以调用任何非主函数的其它函数。 C.任何非主函数可以调用其它任何非主函数。 D.程序可以从任何非主函数开始执行。 7. 下列说法错误的是:(B) A.C程序运行步骤是编辑、编译、连接、执行。 B.C语言的变量名必须用小写,常量用大写。 C.C语言的三种基本结构是顺序、选择、循环。 D. C程序一定由函数构成的。 8.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行

C语言基础测试题

C语言基础测试题 一选择题(每题2分) 1. C语言程序的基本单位是( A )。 A. 函数 B. 过程 C. 语句 D. 子程序 2. 对于whil e语句,错误的说法是( C )。 A.用条件控制循环体的执行次数 B.循环体至少要执行一次 C.循环体有可能一次也不执行 D.循环体中可以包含若干条语句 3. 定义语句int a=3;则执行语句a+=a-=a*a后,变量a的值是(C)。 A.3 B.0 C.9 D.-12 4. 关于局部变量和全局变量的叙述中,错误的是(A)。 A.全局变量的重复赋值不会影响局部变量的使用。 B.主函数中定义的变量在整个程序中都是有效的 C.形式参数也是局部变量。 D.不论是局部变量还是全局变量,都以最近的一次赋值为准。 5. 已知:int a=13;那么:printf("%02d",a)结果是(A)。 A.13 B.013 C.01 D.03 6. 在main函数中调用scanf给变量a赋值的方法是错误的,原因是()。 int *p,a; p=&a; printf("input a:"); scanf("%d",*p); A. *p表示的是指针变量p的地址 B. *p表示的是变量a 的值,而不是变量a的地址 C. *p表示的是指针变量p的值 D. *p只能用来说明p是一个指针变量 7.若有以下定义,则对a数组元素地址的正确引用是()。 A.a+5 B.*a+1 C.&a+1 D.&a[0] 8. 若int k=4,a=3,b=2,c=1;则kb); A. 1,3 B. 1,4 C. 2,3 D. 2,4 二.填空题。(每空3分) 1.写一个宏MIN,这个宏输入两个参数并返回较小的一个_________。2.main函数中:for(int i=0; i<3; i++){printf("%d",i);}输出结果是_________。3.设int a=9,b=20;则printf("%d,%d",a--,--b);的输出结果是_________。

(完整版)C语言基础知识综合练习题

一、C语言基本知识和基本语句 (一)选择题 1.设a,b和c都是int型变量,且a=3,b=4,c=5则下面的表达式中,值为零的表达式是()。 A)‘a’&&’b’ B) a<=b C) a || b+c&&b-c D) ! ((a= ‘A’ && ch <=‘Z’) ? ( ch + 32):ch,则表达式ch的值是()字符。 A) A B) a C) Z D) z 3.若x和y都是int 型变量,x=100,y=200,且有程序段:printf (“%d”,(x,y));则输出结果是()。 A) 200 B)100 C) 100,200 D)输出格式不够,输出不确定的值4.C语言中最简单的数据类型包括()。 A)整型、实型、逻辑型 B) 整型、单精度型、双精度、字符型 C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型5.C语言中,运算对象必须是整型的运算符是()。 A)% B) / C) % 和 / D) ** 6.数学关系x≥y≥z ,它对应C语言表达式是()。 A)(x>=y)&& (y>=z ) B) (x>=y) AND (y>=z ) C) (x>=y>=z) D) (x>=y) & (y>=z ) 7.以下说法中正确的是()。 A)C语言程序总是从第一个定义的函数开始执行 B) 在C语言程序中,要调用的函数必须在main()函数中定义 C) C语言程序总是从main()函数开始执行 D) C语言程序中的main()函数必须放在程序的开始部分 8.设int x=10,y=3,z;则语句printf (“%d\n”,z=(x%y,x/y));的输出结果是()。 A) 1 B) 0 C) 4 D) 3 9.C语言表达式10 != 9 的值是()。 A)true B) 非零值 C) 0 D) 1 10.合法的C语言字符常量是()。 A)’\t’B) “A” C) 65 D) A 11.若int类型数据占两个字节,则下列语句的输出为()。 int k = -1 ; printf (“%d,%u\n ”,k,k); A)- 1,- 1 B) – 1,32767 C) –1,32768 D) –1,65535 12.组成C语言程序的是()。 A)子程序 B) 过程 C) 函数 D) 主程序和子程序

C语言基础练习题含答案

第一章C语言基础知识 1.1 选择题 1. 以下不是C语言的特点的是()。 A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好 2.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D.-_ok 3.正确的C语言标识符是()。 A._buy_2 B.2_buy C._buy D.buy 4. 请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3C.For D.2a define _123 -abc DO WORD IF Case sizeof 5.下列符号中,不属于转义字符的是()。 A.\\ B.\0xAA C.\t D.\0 6.不属于C语言关键字的是()。 A.int B.break C.while D.character 7.是C语言提供的合法关键字的是()。 A.Float B.signed C.integer D.Char 8.以下不能定义为用户标示符的是()。

A.scanf B.V oid C._3com_ D.int 9.一个C程序是由()。 A.一个主程序和若干子程序组成 B.一个或多个函数组成 C.若干过程组成 D.若干子程序组成 10. C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 11.下列说法中,错误的是()。 A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号 B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用 D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数 12.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分13. C编译程序是()。 A.C程序的机器语言版本 B.一组机器语言指令 C.将C源程序编译成目标程序 D.由制造厂家提供的一套应用软件

C语言基础题

第一单元C语言概述 一、选择题 1、C语言中主函数的个数为()个。 A)1 B)2 C)无穷个D)任意个 2、以下关于C语言描述错误的是()。 A)一个C程序总是从main函数开始执行 B)每个语句和数据声明的最后必须有一个分号 C)C语言的注释符是以“/*”开始并以“*/”结束的 D)一个C程序可以包含多个main函数 3、C 语言源程序文件后缀为()。 A).EXE B).OBJ C).C D).ASM 4、C语言是由()组成的。 A)子程序B)主程序与子程序C)函数D)过程 5、C语言属于()语言 A)机器语言B)汇编语言C)高级语言D)面向对象语言 第二单元C语言基础 一、选择题 1、C语言中普通整型变量int在内存中占()字节。 A)1 B)2 C)3 D)4 2、下列不是C语言基本数据类型的是()。 A)字符型B) 整型 C) 浮点型D) 结构体 3、有关自增、自减运算,以下只有()是正确的。 A) ---f B) ++78 C) a—b++ D) d++ 4、已知A=7.5,B=2,C=3.6,表达式(A>B && C>A) || (AB)的值是()。 A)0 B)10 C)1 D)5 5、若有x=1,y=2,z=3,则表达式(x

A)1 B)2 C)3 D)0 6、判断char型变量ch是否为大写字母的正确表达式是()。 A) ‘A’<=ch<=‘Z’B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 7、判断整型变量digit是否为数字的正确表达式是()。 A) ‘0’<=ch<=‘9’B) (ch>=‘0’)&(ch<=‘9’) C) (ch>=‘0’)&&(ch<=‘9’) D) (‘0’<= ch)AND(‘9’>= ch) 8、一个C程序的执行是从()。 A)本程序的main函数开始,到main函数结柬 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 9、在以下标识符中,合法的是() A)if B)0xy C)_xy D)case 10、C语言中各种类型的数据其实决定了占用内存的字节数。float占()。 A)一字节B)二字节C)四字节D)八字节 11、下列各选项中,()是有效的标识符。 A)ab B)3day C)day-3 D)#abc 12、以下叙述正确的是()。。 A) 在C程序中,每行只能写一条语句 B) 若a是实型变量,C程序中不允许a=10这种赋值。 C) 在C程序中,%是只能用于整数运算的运算符 D) 在C程序中,无论是整数还是实数,没有什么区别 13、有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是()。 A)132↙B)1,3,2↙ C)a=1 b=3 c=2↙D)a=1,b=3,c=2↙ 14、设整型变量a为5,使b不为2的表达式是()。 A)b = a/2 B)b = 6-(--a) C)b=a%2 D)b=a>3?2:1

C语言基础题及答案

1、一个C正确答案: A]。 A)必须有一个主函数 B)可以有多个主函数 C)必须有主函数和其他函数 D)可以没有主函数 2、关于C正确答案: B]。 A)C程序的第一个函数称为主函数,程序从该函数开始运行。 B)C程序的主函数即是main函数,程序从该函数开始运行。 C)C程序可以有多个主函数,程序从第一个主函数开始运行。 D)C程序可以没有主函数,程序从第一个函数开始运行。 3、C程序中,return正确答案: D]。 A)终止程序运行 B)返回到上层循环 C)返回到外层结构 D)返回到上层函数 4、C语言程序的3正确答案: A]。 A)顺序结构,选择结构,循环结构 B)递归结构,循环结构,转移结构 C)嵌套结构,递归结构,顺序结构 D)循环结构,转移结构,顺序结构 5、以下对C正确答案: A]。 A)C程序总是从main()函数开始执行。 B)C程序可以从程序中的任何函数开始执行。 C)C程序总是从第一个定义的函数开始执行。 D)C程序中的main()函数必须放在程序的开始部分。 6、关于C程序第1正确答案: D]。A)#include stdio.h B)#include 'stdio.h' C)#include (stdio.h) D)#include 7、关于C正确答案: A]。 A)编辑→保存→编译→运行 B)编译→编辑→运行→保存 C)保存→运行→编辑→编译 D)运行→编译→保存→编辑

8、下列的哪个不是C正确答案: D]。 A)while B)auto C)break D)printf 9、下列的哪个不是C正确答案: C]。 A)+ B)% C)= D)- 10、下列的哪个不是C正确答案: C]。 A)>= B)<= C)= D)!= 11正确答案: D]。 A)代码如果没有缩排是错误的 B)程序总是从main函数开始执行 C)注释/*和*/不可以嵌套 D)C源文件经过编译先生成目标文件,再经过连接才能生成可执行文件 12正确答案: B]。 A)3ab B)_isw C)float D)b-b 13正确答案: B]。 A)INT B)int C)year2009 D)my_program 14、以下选项中,合法的C正确答案: D]。 A)b-a B)5ab C)int D)_5ab 15、以下选项中,三种类型都是C正确答案: C]。

C语言基础练习题

C语言基础练习题 1. 从键盘上输入两个整数,求出它们的和。 2. 已知三角形的底和高,求出三角形的面积。 3. 从键盘上输入三角形的底和高,求出三角形的面积。 4. 已知三角形的三边长,求出三角形的面积。 5. 已知二元一次方程的三个系数,求方程的一个根。 6. 编程实现符号函数。当x <0 ,则sgn(x)=-1, 当x >0 ,则sgn(x)=+1, 当x =0 ,则sgn(x)=0。 7. 从键盘上输入数字星期,在屏幕上显示英文星期。 8. 从键盘输入三角形的三边长,判断出这三边能否构成三角形。 9. 从键盘输入三个整数,将这三个数按从大到小的顺序排列起来。 10. 从键盘输入二个整数,求出最大值。 11. 从键盘输入三个实数,求出最大值。 12. 从键盘输入三个整数,在一个程序中既要求出最大值,还要求出最大值。 13. 使用for循环编程求出1到100的和。 14. 使用当循环for循环编程求出1到100的和。 15. 使用直到循环编程求出1到100的和。 16. 从键盘输入10个实数,求出最大值。(画N-S流程图) 17. 从键盘输入10个整数,求出最小值。 18. 从键盘输入10个整数,求出它们的平均值。(画N-S流程图) 19. 编程在屏幕上输出具有7行的正三角形。 20. 求出8的阶乘。 21. 从键盘输入20个整数,求出不大于90所有数的和。(画N-S流程图)

22. (画N-S流程图)从键盘输入一个整数,判断这个数是否为素数。 23. 从键盘输入20个整数,求出它们的和。(画N-S流程图,使用数组) 24.从键盘输入20个整数,求出它们的平均值及比平均值大的数。(使用数组) 25. 已知五个整数3,-5,8,2,9,求出最大值。(画N-S流程图 (使用数组) 26.从键盘输入20个整数,求出它们的最小值,并求最小值所在位置。 27. 已知五个整数3,-5,8,2,9,按从大到小的顺序排列起来(画N-S流程图,使用数组) 28. 从键盘输入10个实数,按从大到小的顺序排列起来(画N-S流程图,使用数组)。 29. 某班有43名学生,某门考试结束后,请按10段统计出各分数段的人数(画流程图)。 30. 从键盘上输入两个字符串,并将它们交换后输出。 31. 已知五个字符串"China","American","Japan","France","Australia",编程将它们按从小到大的顺序排列起来。 32. 使用指针将a数组中的五个数依次输出。

c语言程序基础练习题道附答案

1.下列四组选项中,均不是C语言关健字的选项是( A )。 A) define B) gect C) include D) while IF char scanf go type printf case pow 2.下面四个选项中,均是合法整型常量的选项是( A )。 A)160 B)-0xcdf C) -01 D)-0x48a -0xffff 01a 986,012 2e5 011 0xe 0668 0x 3.下面四个选项中,均是不合法的转义符的选项是( B )。 A) '\"' B) '\1011' C) '\011' D) '\abc' '\\' '\' '\f' '\101' 'xf' '\A' '\}' 'x1f' 4.下面不正确的字符串常量是( A )。 A)'abc' B)"12'12" C)"0" D)" " 5.以下选项中不合法的用户标识符是( A )。 A)abc.c B)file C)Main D)PRINT 6.C语言提供的合法关键字是( D )。 A) swith B) cher C) Case D)default 7.下列标识符组中,合法的用户标识符为 A A)_0123与ssiped B)del-word与signed C)list与*jer D) keep%与wind 8.在C语言中,逻辑值"真"的表示是用( C )。 A) true B) 整型值0 C)非另整型值 D) T 9若有以下定义 char s='\092'; 则该语句( b ) A)使s的值包含一个字符 B)定义不合法,s的值不确定 C)使s的值包含4个字符 D)使s的值包含3个字符 10设C语言中,int类型数据占2个字节,则float类型数据占( D )个字节。 A)1 B)2 C)8 D)4 11已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为( A )。 A)D B)68 C)不确定的值 D)C 12逻辑运算符两侧运算对象的数据类型是 ( D )。 A) 只是0或1 B) 只能是0或非0正数 C) 只能是整型或字符型数据 D) 可以是任何合法的类型数据 13TURBO C中int类型变量所占字节数是( B )。

【专业课】《c语言基础》习题及答案

《C语言基础》习题及答案 一、选择题 1.设a的值为15,n的值为5,则进行a%=(n%=2)运算后,a的值为()。 A.0 B.1 C.12 D.6 2.设有类型说明 unsigned int a=65535; ,按%d格式输出a的值,其结果是(B)。 A.65536 B.-1 C.1 D.-32767 3.下列运算符中优先级最高的是(C)。 A.?: B.&& C.+ D.!= 4.以下程序输出的结果是(A)。 main( ) { int a= -1,b=4,k; k=!((++a<0)&&! (b--<0)); printf("%d%d%d\n",k,a,b); } A.104 B.103 C.013 D.004 5.下面的程序执行后,变量a的值是(B)。 #define SQR(x) x*x main() { int a=10,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf("%d\n",a); } A.10 B.1 C.9 D.0 6.设有int i;则表达式i=1,++i,++i||++i,i的值为(C)。 A.1 B.2 C.3 D.4 7.设有int i;则表达式(i=1,i=10)?i++||++i:++i的值为(A)。 A.1 B.2 C.3 D.10 8.设有int a[]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是(C)。 A.10,11,12 B.11,12,12 C.10,12,12 D.11,11,12 9.设有int i, j, k; 则表达式i=1,j=2,k=3, i&&j&&k 的值为 ( A )。 A.1 B.2 C.3 D.0 10.设有说明int s[2]={0,1},*p=s; 则下列错误的C语句是 ( A )。 A.s+=1; B.p+=1; C.*p++; D.(*P)++;

C语言基础编程题

C语言基础编程题标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]

5-1求幂之和(15分) 本题要求编写程序,计算sum=2^1 + 2^2 + 2^3 + \cdots + 2^n sum=21+22+23++2n。可以调用pow函数求幂。 输入格式: 输入在一行中给出正整数n n(\le≤10)。 输出格式: 按照格式“result = 计算结果”输出。 输入样例: 输出样例: #include<> #include<> int main() { int i,n,sum=0;

scanf("%d",&n); for(i=1;i<=n;i++) { sum=sum+pow(2,i); } printf("result = %d\n",sum); return 0; } 5-2近似求PI(15分) 本题要求编写程序,根据下式求\piπ的近似值,直到最后一项小于给定精度eps。 \frac{\pi}{2}=1+\frac{1!}{3}+\frac{2!}{3\times 5} + \frac{3!}{3\times 5\times 7}+ \cdots +\frac{i!}{3\times 5\times \cdots \times (2\times i+1)}+ \cdots2π=1+31!+3×52!+3×5×73!++3×5××(2×i+1)i!+ 输入格式: 输入在一行中给出精度eps,可以使用以下语句来读输入: 输出格式:

在一行内,按照以下格式输出\piπ的近似值(保留小数点后5位): 输入样例: 输出样例: #include<> #include<> int main() { double a=1,b=3,i=1,j=3; double eps,m=1,sum=0; scanf("%le", &eps); while(m>eps) { m=a/b;

C语言基础试题

1. C语言程序的执行,总是起始于()。 A) 程序中的第一条可执行语句 B) 程序中的第一个函数 C) main函数 D) 包含文件中的第一个函数 2. 在C语言系统中,假设int类型数据占2个字节,则double、long、unsigned int、char类型数据所占字节数分别多少()。 A) 8,2,4,1 B) 2,8,4,1 C) 4,2,8,1 D) 8,4,2,1 3. C语言程序的基本单位是() A) 语句B) 程序行C)函数D) 字符 4. 以下4组用户定义标识符中,全部合法的一组是() A)_main B)If C)txt D)int enclude -max REAL k_2 sin turbo 3COM _001 5. 已有定义:int x=3,y=4,z=5;则表达式!(x+y)+z-1&&y+z/2的值是()。 A、0 B、1 C、2 D、-1 6. 设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d) 后n的值()。 A、1 B、2 C、3 D、4 7. 有如下程序 main() { int y=3,x=3,z=1; printf("%d %d\n",(++x, y++),z+2); } 运行该程序的输出结果是() A) 3 4 B) 4 2 C) 4 3 D) 3 3 8. 下列程序执行后的输出结果是(小数点后只写一位)() A)6 6 6.0 6.0 B)6 6 6.7 6.7 C)6 6 6.0 6.7 D)6 6 6.7 6.0 main()

{ double d ;flaot f;long l;int i; i=f=l=d=20/3; printf(”%d %ld %f %f\n”,i,l,f,d); 9. 已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j 的值为2、k的值为3,以下选项中正确的输入语句是() A)scanf("%2d%2d%2d",&i,&j,&k); B)scanf(""%d %d %d",&i,&j,&k); C)scanf("%d,%d,%d",&i,&j,&k); D)scanf("i=%d,j=%d,k=%d",&i,&j,&k); 10. 有如下程序 main() {int a=2,b=-1,c=2; if(a

相关主题