搜档网
当前位置:搜档网 › c语言上机选择题题及答案

c语言上机选择题题及答案

c语言上机选择题题及答案

1、下列字符序列中,不可用作C语言标识符的是(c)

A.abc123 B.no_1 C.a!b D._ok_0

2、正确的C语言标识符是(a)

A._buy_2 B.2_buy C.?_buy D.buy?

3、不属于C语言关键字的是(D)

A.int B.break C.while D.character

4、以下选项中,合法的C语言标识符是(A)

A.mon B.2_abc C.3dmax D.A.dat

5、以下选项中,合法的实型常数是(C)

A.5E2.0 B.E-3 C.2E02 D.1.3E

6、以下选项中,正确的字符常量是(C)

A."F" B.'\\\\'' C.'W' D.'''

7、已知字母A的ASCII码为十进制数65,且S为字符型,

则执行语句S='A'+'6'-'3';后,S中的值为(A)

A.'D' B.68 C.不确定的值D.'C'

8、在C语言中,要求运算数必须是整型的运算符是(D)

A./ B.++ C.*= D.%

9、若有定义:int m=7; float x=2.5, y=4.7;则表达式x+m%3*(int)(x+y)%2/4的值是(A) A.2.500000 B.2.750000 C.3.500000 D.0.000000

10、设变量x为float类型,m为int类型,则以下能实现将x中的数值

保留小数点后两位,第三位进行四舍五入运算的表达式是(B)

A.x=(x*100+0.05)/100.0 B.m=x*100+0.5, x=m/100.0

C.x=x*100+0.5/100.0 D.x=(x/100+0.5)*100.0

11、假设所有变量均为整型,则表达式(x=2, y=5, y++, x+y)的值是(B)

A.7 B.8 C.6 D.2

12、已知s是字符型变量,下面不正确的赋值语句是(B)

A.s='\\012'; B.s= 'u+v';

C.s='1'+'2'; D.s=1+2;

13、设x、y均为float型变量,则不正确的赋值语句是(C)

A.++x ; B.x*=y-2;

C.y=(x%3)/10; D.x=y=0;

14、putchar函数可以向终端输出一个(D)

A.整型变量表达式值。B.字符串

C.实型变量值。D.字符

15、以下程序段的输出结果是(C)

int a=12345; printf(”%2d\”, a);

A.12 B.34 C.12345 D.提示出错、无结果16、有如下程序段,从键盘输入数据的正确形式应是(B)

(注:└┘代表空格)

float x,y,z;

scanf(“x=%d,y=%d,z=%d”,&a,&y,&z);

A.123 B.x=1,y=2,z=3

C.1,2,3 D.x=1└┘y=2└┘z=3

17、有如下程序段,对应正确的数据输入是(A)

float x,y;

scanf(”%f%f”, &x,&y);

printf(”a=%f,b=%f”, x,y);

A.2.04<回车> B.2.04,5.67<回车>

5.67<回车>

C.A=2.04,B=5.67<回车> D.2.055.67<回车>

18、已有定义int a=-2;和输出语句:printf(”%8d”,a);以下正确的叙述是(D)

A.整型变量的输出格式符只有%d一种

B.%d是格式符的一种,它可以适用于任何一种类型的数据

C.%8d是格式符,其中8不应该有

D.%8d不是错误的格式符,其中数字8规定了输出字段的宽度

19、若变量已正确说明为float类型,要通过语句scanf(”%f %f%f”, &a, &b, &c);

给a赋予10.0,b赋予22.0,c赋予33.0,不正确的输入形式为(B)

A.10<回车> B.10.0,22.0,33.0<回车> 22<回车>

33<回车>

C.10.0<回车> D.10 22<回车>

22.0 33.0<回车> 33<回车>

20、以下说法正确的是(D)

A.输入项可以为一个实型常量,如scanf(”%f”,3.5);

B.只有格式控制,没有输入项,也能进行正确输入,如scanf(”a=%d,b=5d”);

C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(”%4.2f”,&f); D.当输入数据时,必须指明变量的地址,如scanf(”%f”,&f);

21、根据定义和数据的输入方式,输入语句的正确形式为:(B) (注:└┘代表空格)

已有定义:float x,y;

数据的输入方式:1.23<回车>

4.5<回车>

A.scan(”%f,%f”,&x,&y); B.scanf(”%f%f”,&x,&y);

C.scanf(”%3.2f└┘%2.1f”,&x,&y); D.scanf(”%3.2f%2.1f”,&x,&y);

22、根据题目中已给出的数据的输入和输出形式,程序中输入输出语句的正确内容是(A) #include ”stdio.h”

main()

{ int a;

float b;

输入语句

输出语句

}

输入形式:1└┘2.3<回车> (注:└┘代表空格)

输出形式:a+b=3.300

A.scanf(”%d%f”,&a,&b); B.scanf(”%d%3.1f”,&a,&b);

printf(”\a+b=%5.3f”,a+b); printf(”\a+b=%f”,a+b);

C.scanf(”%d,%f”,&a,&b); D.scanf(”%d%f”,&a,&b);

printf(”\a+b=%5.3f”,a+b) printf(”\a+b=%f”,a+b);

23、阅读以下程序,当输入数据的形式为:12,34,正确的输出结果为(D)

#include ”stdio.h”

main()

{ int a,b;

scanf(”%d%d”, &a,&b);

printf(”a+b=%d\”,a+b);

}

A.a+b=46 B.有语法错误

C.a+b=12 D.不确定值

24、该源程序执行后,屏幕上显示什么? (C)

#include

void main()

{

int a;

float b;

a=4;

b=9.5;

printf("a=%d,b=%4.2f\",a,b);

}

A. a=%d,b=%f\

B. a=%d,b=%f

C. a=4,b=9.50

D. a=4,b=9.5

25、若有以下说明语句:(B)

char s='\\\\\\092';

则下面哪一项是正确的.

A. 使s的值包含2个字符

B. 说明语句不合法

C. 使s的值包含6个字符

D. 使s的值包含4个字符

26、如这程序所示,如果运行时,输入18,18 ,那么b的值为多少? (C) #include

void main()

{int a,b;

scanf("%d,%o",&a,&b);

b+=a;

printf("%d",b);

}

A. 36

B. 34

C. 输入错误,b的值不确定

D. 18

27、执行x=(a=5,b=a++) 后,x,a,b的值依次为(D)

A. 6,6,5

B. 6,5,5

C. 6,5,6

D. 5,6,5

28、设以下变量均为int类型,则值不等于7的表达式是(C) A)(x=y=6,x+y,x+1) B)(x=y=6,x+y,y+1)

C)(x=6,x+1,y=6,x+y) D)(y=6,y+1,x=y,x+1)

29、有以下程序

void main()

{

char a='a',b;

printf("%c,",++a);

printf("%c\",b=a++);

}

程序运行后的输出结果是(A)

A. b,b

B. b,c

C. a,b

D. a,c

30、有以下程序

#include

void main()

{ int a=5;

printf("%d,",a);

printf("%d,",++a);

printf("%d\",++a);

}

程序运行后的输出结果是(A)

A. 5,6,7

B. 6,7,8

C. 7,6,5

D. 8,7,6

31、对于下述语句,若将10赋给变量k1和k3,将20赋给变量k2和k4,则应按下列哪种方式输入数据(D)

Int k1,k2,k3,k4;

scanf(“%d%d”,&k1,&k2);

scanf(“%d,%d”,&k3,&k4);

A)1020↙B)10 20↙C)10,20 ↙D)10 20↙1020↙10 20↙10,20↙10,20↙

32、已知字母A的ASCⅡ码为十进制数65,c2为整型,则执行语句

c2=’A’+’6’-‘3’;后,c2中的值为(B)

A) D B) 68 C) 不确定的值D) 'C'

33、若变量a是int型,并执行了语句:a=’A’+1.6;则正确的叙述是(D)

A) a的值是字符c

B) a的值是浮点型

C) 不允许字符和浮点型相加

D) a的值是字符A的ASCⅡ码值加上1

34、以下选项中,与k=n++完全等价的表达式是(A)

A) k=n, n=n+1 B) n=n+1,k=n

C) k=++n D) k+=n+1

35、若有以下程序:

#include

void main()

{ int k=2,i=2,m; m=k+=i*=k; printf("%d,%d\",m,i);}

执行后的输出结果是(C)

A) 8,6 B) 8,3

C) 6,4 D) 7,4

36、若re、a、b和c都是int型变量,则执行:re=(a=4,b=6,c=12)后,re的值是(C)

A) 4 B) 6

C) 12 D) 22

37、在ASCⅡ码字符集中,数字0的序号为48,下面程序输出结果为(D)

#include

void main()

{char a=’0’,b=’9’; printf(“%d,%c\”,a,b);}

A) 输出格式不合格B) 48,57

C) 0,9 D) 48,9

38、若有定义:int a=10,b=9,c=8; 顺序执行下列语句后,

c=(a-=(b-5));

c=(a%11)+(b=3);

b的值是(A)

A) 3 B) 9

C) 8 D)5

39、有以下程序:

#include

void main()

{char ch1,ch2; int n1,n2;

ch1=getchar(); ch2=getchar();

n1=ch1-‘0’; n2=n1*10+(ch2-‘0’);

printf(“%d”,n2);

}

程序运行时输入12<回车>,执行后输出结果是(A)

A) 12 B) 2 C) 10 D) 11

40、若有以下语句:int a=5;printf(“%d\”,a++); 则输出结果是

(B)

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

41、设x为int型变量,执行语句:x=10;x+=x-=x*x; x的值为

(C)

A) 10 B) 180 C) -180 D) 90

42、若变量已正确定义并赋值,下列表达式中,哪个不符合C语言语法(B)

A、a*b/c

B、a*3.14%2

C、2*(int)b

D、a/b/c

43、

下述不正确的字符常量是:(C)

A、'n'

B、'1'

C、"a"

D、'\\101'

44、在C 程序中,用哪个选项表示逻辑值“真”。(B)

A、0

B、非0 的数

C、非1 的数

D、大于等于1 的数

45、下列哪个选项是把x、y定义成float类型变量,并赋同一初值3.14(C)

A、float x, y=3.14;

B、float x, y=2*3.14;

C、float x=3.14, y=3.14;

D、float x=y=3.14;

46、若变量已正确定义,哪个表达式的值不是2(C)

A、2%3

B、10/4

C、a==2

D、18%4

47、若变量已正确定义,语句“if(a>b) k=0; else k=1;”和下面哪个选项等价(C)

A、k=(a>b)?1:0;

B、k=a>b;

C、k=a<=b;

D、a<=b ? 0 : 1;

48、设变量定义为“int a, b;”,执行下列语句时,输入下列哪个选项,a和b的值都是10。scanf("a=%d, b=%d",&a, &b);(D)

A、10 10

B、10, 10

C、a=10 b=10

D、a=10, b=10

49、假定x和y为double型,且x=5,则表达式y = x + 3 / 2 的值是:(A)

A)6 B)6.5 C)2 D)3

50、假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为:(C)

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

51、定义:int m=5, n=3;则表达式m/=n+4的值是:(A)

A) 0 B) 1

C) 2 D) 3

52、定义:int m=3, n=5;表达式m=(m=1,n=2,n-m)的值是:(B)

A) 0 B) 1

C) 2 D) 3

53、若a是int变量,则执行表达式a=25/3%3后,a的值是: (C)

A) 3 B) 5

C) 2 D) 4

54、下面A、B、C、D四种描述,正确的是:(A)

A)自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。

B)自增运算符(++)或自减运算符(--)能用于常量或表达式,也可用于变量。

C)自增运算符(++)或自减运算符(--)能用于变量、常量和表达式。

D)自增运算符(++)或自减运算符(--)只能用于常量,不能用于变量或表达式。

55、执行下列程序片段时输出结果是: (C)

float x=1023.012

printf(“\%5.3f,”,x);

pri ntf(“%8.3f”,x);

A)23.012,1023.012 B)10.012,1023.012

C)1023.012,1023.012 D)不能正确输出

56、根据公式|(a+b)(a-b)+2|,写出下面C语言表达式。请选择哪个是正确的:(C)

A) |(a+b)(a-b)+2| B) abs((a+b)(a-b)+2)

C) abs((a+b)*(a-b)+2) D) abs((a+b)*(a-b))+2

57、有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量

a的值为1,b的值为3,c的值为2,则正确的数据输入方式是:(D)

A)132↙B)1,3,2↙

C)a=1 b=3 c=2↙D)a=1,b=3,c=2↙

58、已知i,j,k为int型变量,若从键盘输入:1,2,3<回车>,

使i的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是:(C) 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);

59、若运行时输入:123456↙,则下列程序运行结果为: (B)

#include

void main()

{

int a,b,c;

scanf("%2d%2d%2d",&a,&b,&c);

printf("%d, %d, %d\",a,b,c);

}

A) 1,2,3 B) 12,34,56

C) 4,5,6 D) 不能正确输入数据

60、执行下列程序时输出结果是: (A)

#include

void main()

{

int x=3;

printf("%d",--x);

}

A) 2 B) 3

C) 4 D) 1

61、执行下列程序时输出结果是: (C)

#include

void main()

{

int x=13,y=5;

printf("%d",x%=(y/=2));

}

A)3 B)2

C)1 D)0

62、下面程序段的运行结果是: (D)

char c[5]={'a','b','\\0','c','\\0'};

printf("%s",c);}

A) ‘a’’b’ B) ab\\0

C) ab c D) ab

63、已知:char a='a’,b='b’,c='c’;

执行printf("%d,%d,%d",a,b,c); 输出为: (A) A) 97,98,99 B) a,b,c

C) 类型不匹配D) ‘a’,’b’,’c’

64、若有定义:int a=8,b=5; double c;执行语句c=a/b+0.4;后,c的值为:(A)

A) 1.4 B) 1.0

C) 2.0 D) 1.8

65、.以下程序段的输出结果是:(C)

int a=1234;

printf("%2d\",a);

A) 2 B) 34 C) 1234 D) 提示出错、无结果

66、设x、y均为float型变量,则不正确的赋值语句是(C) A.++x ; B.x*=y-2;

C.y=(x%3)/10; D.x=y=0;

67、执行表达式x=(a=1,b=++a)后,x,a,b的值依次为(D)

A. 1,1,1

B. 1,2,1

C. 2,1,1

D. 2,2,2

68、有以下程序

#include "stdio.h"

void main()

{ int a,b;

printf("%d",(a=2,b=5,++a,++b,a+b));

}

程序运行后的输出结果是(D)

A. 6

B. 7

C. 8

D. 9

69、有以下程序

void main()

{

char a='a',b;

printf("%c,",++a);

printf("%c\",b=++a);

}

程序运行后的输出结果是(B)

A. c,c

B. b,c

C. c,b

D. b,b

70、设以下变量均为int类型,则值等于7的表达式是。(D) A)(x=y=6,x+y,x++) B)(x=y=6,x+y,y++)

C)(x=6,x+1,y=6,x+y) D)(y=6,y+1,x=y,x+1)

71、以下选项中,与k=++n完全等价的表达式是(B)

A) k=n, n=n+1 B) n=n+1,k=n C) k=n++ D) k+=n+1

72、有以下程序

#include

void main()

{ int a=5;

printf("%d,",a);

printf("%d,", a++);

printf("%d\",a++);

}

程序运行后的输出结果是(D)

A.5,6,7

B. 6,7,8

C. 5,6,5

D.5,5,6

73、若有以下程序:

#include

void main()

{ int k=2,i=2,m; m=(i++,k+i); printf("%d,%d\",m,i);}

执行后的输出结果是(A)

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

74、有以下程序

#include

void main()

{ int a=5;

printf("%d,",a);

printf("%d,", a++);

printf("%d\",a++);

}

程序运行后的输出结果是。(D)

A.5,6,7

B. 6,7,8

C. 5,6,5

D.5,5,6

75、若定义int i=5; 则表达式i++ 的值是:(B)

A) 4 B) 5

C) 6 D) 不确定

76、若定义int i=5; 则表达式i-- 的值是:(B)

A) 4 B) 5

C) 6 D) 不确定

77、若定义int i=5,k; 则表达式(k=i++,k++) 的值是:(B)

A) 4 B) 5

C) 6 D) 不确定

78、能正确表示“当x的取值在[1,100]和[200,300]范围内为真,否则为假”的表达式是(C)

A (x>=1)&&(x<=100)&&(x>=200)&&(x<=300)

B (x>=1)||(x<=100)||(x>=200)||(x<=300)

C (x>=1)&&(x<=100)||(x>=200)&&(x<=300)

D (x>=1)||(x<=100)&&(x>=200)||(x<=300)

79、设有:int a=1,b=2,c=3,d=4,m=2,n=2;

执行(m=a>b) && (n=c>d)后n的值为(B)

A 1

B 2

C 3

D 4

80、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是

if(x>y) z=x;x=y;y=z; (B)

A x=10,y=20,z=30 Bx=20,y=30,z=30

C x=20,y=30,z=10

D x=30,y=30,z=20

81、以下程序的输出结果是(C)

main()

{ int a=5,b=4,c=6,d;

printf(“%d\”,d=a>b?(a>c?a:c):b);

}

A 5

B 4

C 6

D 不确定

82、以下程序的输出结果是(A)

main()

{ int a=4,b=5,c=0,d;

d=!a&&!b||!c;

printf(“%d\”,d);

}

A 1

B 0

C 非0的数

D -1

83、若变量c为char类型,能正确判断c为小写字母的表达式是

(D)

A ‘a’<=c<=’z’

B (c>=’a’) || (c<=’z’)

C (c>=’a’) and (c<=’z’)

D (c>=’a’) && (c<=’z’)

84、以下程序的输出结果是(A)

main()

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

switch(x);

{

case 0:b++;

case 1: a++;

case 2:a++;b++;

}

printf(“a=%d,b=%d\”,a,b);

}

A a=2,b=1

B a=1,b=1

C a=1,b=2

D a=2,b=2

85、以下程序输出结果是(D)

main()

{ int x=-1,a=1;

if(x+=a) printf(“YES!\”);

else printf(“NO!\”);

}

A 有语法错误,不能通过编译

B 通过编译,但运行程序造成死机

C 输出YES!

D 输出NO!

86、设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是(C)

A if(x++);

B if(x>y && y!=0);

C if(x>y) x-- else y++;

D if(y<0) {;} else x++;

87、以下程序的输出结果是(C)

#include

void main()

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

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

printf(“%d %d\”,a,b);

else

printf(“%d %d\”,b,a);

}

A -1 1

B 0 1

C 1 0

D 0 0

88、当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为(A)

if(a

if(c>d) x=1;

else if(a

if(b>c) x=2;

else x=3;

else x=6;

else x=7;

A 1

B 2

C 3

D 6

89、阅读以下程序:

void main()

{int x;

scanf(“%d”,&x);

if(x--<5) printf(“%d”,x);

else printf(“%d”,x++);

}

程序运行后,如果从键盘上输入5,则输出结果是(B)

A 3

B 4

C 5

D 6

90、以下非法的赋值语句是(C)

A n=(i=2,++i);

B j++;

C ++(i+1)

D x=j>0

91、下面程序的运行结果是(A)

#include

void main()

{int a=15,b=21,m=0;

switch(a%3)

{case 0:m++;break;

case 1:m++;

switch(b%2)

{default:m++;

case 0:m++;break;

}

}printf(“%d\”,m);

}

A 1

B 2

C 3

D 4

92、设ch是char型变量,其值为A,且有下面的表达式:

ch=(ch>='A'&&ch<='Z')?(ch+32):ch

上面表达式的值是(B)

A) A B) a

C) Z D) z

93、设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是(D)

A) 'a'&&'b' B) a<=b

C) a||b+c&&b-c D) !((a

94、为表示关系x≥y≥z,应使用C语言表达式(A)

A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z)

C) (x>=y>=z) D) (x>=y) || (y>=z)

95、执行下面程序段

int x=35;

char z='A';

int B;

B=((x=15)&&(z<'a'))

后,B的值为(B)

A) 0 B) 1

C) 2 D) 3

96、表达式: 10!=9的值是(D)

A) true B) 非零值

C) 0 D) 1

97、若要求在if后一对圆括号中表示a不等于0的关系,则能正确

C语言上机练习题及答案

C语言上机练习题及答案 1输入三个整数x,y,z,把这三个数由小到大输出。# include void main() { int x,y,z,a; scanf ("%d,%d,%d",&x,&y,&z); if(x>y) {a=x; x=y;y=a; } if(x>z) { a=x; x=z; z=a; } if(y>z) {a=y; y=z; z=a; } printf("%d,%d,%d\n",x,y,z); } 2输入圆的半径,输出圆的周长和面积。 # include # define PI 3.1415926 # define S ==PI*r*r # define V (4.0/3)*PI*r*r*r void main() { double r; printf("please input r:"); scanf("%lf",&r); printf("area is %.4lf\n",S); printf("volume is %.4lf\n",V); } 输入正方形的边长,输出正方形的周长和面积。

# include void main() { float c,zc,mj; printf("输入你的正方形"); scanf("%f\n",&c); zc=4*c; mj=c*c; printf("周长%f,面积%f,边长%f",zc,mj,c); } 3用格式输入函数输入3个字符,并用输出函数反向输出3个字符和他们的ASCII 码。 # include int main() {char-ch1,ch2,ch3; printf("please input three characters:\n"); scanf("%C%C%c",&ch1,&ch2,&ch3); printf("%c\n%d\n",ch3,ch3); printf("%c\n%d\n",ch2,ch2); printf("%c\n%d\n",ch1,ch1); } 输入一个摄氏温度,要求输出华氏温度。公式为f=9/5*c+32。# include void main() { float C,F; scanf("%f",&F); C=5.0/9*(F-32); printf("%8.2f",C); }

C语言程序设计基础试题及答案

第一部分C语言基础 一、选择题 1.以下正确的C语言标识符是() A.%X B.a+b C.a123 D.test! 2.已定义int a,b;则以下不正确的C语句是() A.a*=5; B.b/=2; C.a+=1.75; D.b&&=a; 3.若x、i、j和k都是整型变量,则执行下面表达式后x的值为() x=(i=4,j=16,k=32) A.4 B.16 C.32 D.52 4.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()A.必须是字母B.必须为下划线 C.必须为字母或下划线D.可以是字母、数字、下划线中的任一字符 5.下面正确的字符常量是() A.“c” B.’\\”C.‘w’D.” 6.设int a=2,b=0,c;则执行语句c+=b&&a--后, c的结果为()。 A.0,1 B.1,0 C.2,0 D.不确定 7. 以下不正确的C语言标识符是( ) A) int B) a_1_2 C) ab1exe D) _x 8.以下是正确的C语言标识符是( )。 A) #define B) _123 C) %d D) \n 9.下列四组字符串中都可以用作C语言程序标识符的一组是( ) 。

A) print B) i\am C) Pxq D) str_l _3d one_half My->book Cpp ••• oodbs tart$it line# pow 10.下面各选项组中,均是C语言关键字的组是( ) 。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 11.下列不属于C语言关键字的是( ) 。 A) default B) register C) enum D) external 12.C语言程序从main()函数开始执行,所以这个函数要写在( )。 A) 程序文件的开始 B) 程序文件的最后 C) 它所调用的函数的前面 D) 程序文件的任何位置 13.下列关于C语言的叙述错误的是( ) A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 14.在C语言中,错误的int类型的常数是( ) 。 A) 32768 B) 0 C) 037 D) 0xAF 15.将字符g赋给字符变量c,正确的表达式是( ) 。 A) c=\147

c语言上机考试题及答案

c语言上机考试题及答案 1. 编写一个C程序,实现求两个整数的和,并输出结果。 ```c #include int main() { int num1, num2, sum; printf("请输入两个整数:"); scanf("%d %d", &num1, &num2); sum = num1 + num2; printf("两个整数的和为:%d\n", sum); return 0; } ``` 2. 编写一个C程序,实现从键盘输入一个整数,判断该数是否为质数,并输出结果。 ```c #include int main() { int num, i, flag = 0;

printf("请输入一个整数:"); scanf("%d", &num); for (i = 2; i <= num / 2; i++) { if (num % i == 0) { flag = 1; break; } } if (num == 1) { printf("1既不是质数也不是合数。\n"); } else { if (flag == 0) { printf("%d是质数。\n", num); } else { printf("%d不是质数。\n", num); } } return 0; }

``` 3. 编写一个C程序,实现对数组元素进行冒泡排序,并输出排序后的结果。 ```c #include void bubbleSort(int arr[], int size) { int i, j, temp; for (i = 0; i < size - 1; i++) { for (j = 0; j < size - i - 1; j++) { if (arr[j] > arr[j+1]) { temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } } int main() { int arr[] = {5, 2, 8, 3, 1};

计算机二级《C语言》上机操作试题及答案

计算机二级《C语言》上机操作试题及答案 计算机二级《C语言》上机操作试题及答案 计算机二级考试是全国计算机等级考试,四个等级中的一个等级,由教育部考试中心主办,考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。下面是店铺收集整理的计算机二级《C语言》上机操作试题及答案,仅供参考,希望能够帮助到大家。 (1)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、c、 D、E依次入栈,然后再依次出栈,则元素出棱的顺序是( )。 A.12345ABCDE B.EDCBA54321 C.ABCDEl2345 D.54321EDCBA (2)下列叙述中正确的是( )。 A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 D.循环队列中元素的个数是由队头指针和队尾指针共同决定的 (3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。 A.0(n) B.D(n2) C.O(1092n) D.0(nl092n) (4)下列叙述中正确的是( )。 A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间

不一定是连续的 B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 C.顺序存储结构能存储有序表,链式存储结构不能存储有序表 D.链式存储结构比顺序存储结构节省存储空间 (5)数据流图中带有箭头的线段表示的是( )。 A.控制流 B.事件驱动 C.模块调用 D.数据流 (6)在软件开发中,需求分析阶段可以使用的工具是( )。 A.N—s图 B.DFD图 C.PAD图 D.程序流程图 (7)在面向对象方法中,不属于“对象”基本特点的是( )。 A.一致性 B.分类性 C.多态性 D.标识唯一性 (8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。 A.一对一 B.一对多 C.多对一 D.多对多 (9)在数据管理技术发展的三个阶段中,数据共享最好的是( )。 A.人工管理阶段 B.文件系统阶段 C.数据库系统阶段

C语言理论上机考试选择题及答案

C语言理论上机考试选择题部分 1、下面程序的输出是___D______ #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、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是________D____. A) true B) 非零值 C) 0 D) 1 5、C语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC码 D) ASCII码 7、C语言程序的基本单位是_____C______. A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句a+=a-=a*a后,a的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include void main() {int x=10,y=3; printf("%d\n",y=x/y); } A) 0 B) 1 C) 3 D) 不确定的值 12、已知字母A的ASCII码为十进制的65,下面程序的输出是______A_____. #include void main() {char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不确定的值 13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____D__. A) a<>0 B) !a C) a=0 D) a 14、以下程序的输出结果是____D_____. #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 15、设有如下定义: int x=10,y=3,z; 则语句

c语言上机选择题题及答案

c语言上机选择题题及答案 1、下列字符序列中,不可用作C语言标识符的是(c) A.abc123 B.no_1 C.a!b D._ok_0 2、正确的C语言标识符是(a) A._buy_2 B.2_buy C.?_buy D.buy? 3、不属于C语言关键字的是(D) A.int B.break C.while D.character 4、以下选项中,合法的C语言标识符是(A) A.mon B.2_abc C.3dmax D.A.dat 5、以下选项中,合法的实型常数是(C) A.5E2.0 B.E-3 C.2E02 D.1.3E 6、以下选项中,正确的字符常量是(C) A."F" B.'\\\\'' C.'W' D.''' 7、已知字母A的ASCII码为十进制数65,且S为字符型, 则执行语句S='A'+'6'-'3';后,S中的值为(A) A.'D' B.68 C.不确定的值D.'C' 8、在C语言中,要求运算数必须是整型的运算符是(D) A./ B.++ C.*= D.% 9、若有定义:int m=7; float x=2.5, y=4.7;则表达式x+m%3*(int)(x+y)%2/4的值是(A) A.2.500000 B.2.750000 C.3.500000 D.0.000000 10、设变量x为float类型,m为int类型,则以下能实现将x中的数值 保留小数点后两位,第三位进行四舍五入运算的表达式是(B) A.x=(x*100+0.05)/100.0 B.m=x*100+0.5, x=m/100.0 C.x=x*100+0.5/100.0 D.x=(x/100+0.5)*100.0 11、假设所有变量均为整型,则表达式(x=2, y=5, y++, x+y)的值是(B)

c 上机试题及答案

c 上机试题及答案第一部分:多项选择题 1. 下面哪个选项是正确的? a) A b) B c) C d) D 答案:d) D 2. 在计算机科学中,什么是“算法”? a) 一种计算机语言 b) 一种软件程序 c) 一种解决问题的方法或步骤 d) 一种计算机硬件 答案:c) 一种解决问题的方法或步骤 3. 下面哪个选项是关于二进制的描述? a) 使用0和1进行计算的系统 b) 使用10个数字进行计算的系统 c) 使用英文字母进行计算的系统

d) 使用负数进行计算的系统 答案:a) 使用0和1进行计算的系统 第二部分:填空题 1. 在C语言中,用于在屏幕上输出文本的函数是______。 答案:printf 2. 在计算机领域中,RAM代表______。 答案:Random Access Memory(随机存取存储器) 3. 当一个程序在运行时遇到错误并突然停止时,我们称之为______。答案:运行时错误(Runtime Error) 第三部分:编程题 编写一个C程序,计算并输出1到100之间所有奇数的和。 ```c #include int main(void) { int sum = 0; for (int i = 1; i <= 100; i += 2) { sum += i; }

printf("1到100之间所有奇数的和为:%d\n", sum); return 0; } ``` 答案: 1到100之间所有奇数的和为:2500 第四部分:简答题 1. 请简要解释什么是“数据类型”,并举例说明。 答:数据类型是一种用于定义变量或表达式的特性,包括数据的范围、内存大小和操作。例如,在C语言中,int是一种数据类型,用于定义整数类型的变量,如: ```c int age = 25; ``` 2. 请简要介绍一下C语言的特点。 答:C语言是一种通用、高级的编程语言,具有以下特点: - 结构简洁:C语言的语法相对简单,易于学习和理解。 - 高效性:C语言可以生成高效的机器代码,执行速度快。

全国计算机三级C语言上机题库(附答案)

三级机试题库(附答案) 1、已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsV al(),其功能是:依次从数组a中取出一个四位数,如果该四位数大于该四位数以后的连续五个数且该数是偶数(该四位数以后不满五个数,则不统计), 则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DA T文件中。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义数组: a[200], b[200], 已定义变量: cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。 2、在文件in.dat中已存有200个正整数, 且每个数均在1000至9999之间。函数readDat()是读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是: 要求按每个数的后三位的大小进行降序排列,如果出现后三位相等的数值,则对这些数值按原始4位数据进行升序排列,将排序后的前10个数存入数组bb中。最后调用函数writeDat()把结果bb输出到文件out.dat中。 例: 处理前90125099601270258088 处理后50998088702560129012 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动数据文件in.dat中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。 3、函数ReadDat()实现从文件IN.DA T中读取一篇英文文章,存入到无符号字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,其替代值仍存入数组xx所对应的位置上,最后调用函数WriteDat()把结果xx输出到文件OUT.DAT中。 替代关系:f(p)=p*11mod256, mod为取余运算,p是数组xx中某一个字符的ASCII值, f(p)是计算后无符号的整型值(注意:中间变量定义成整型变量), 如果计算后f(p)值小于等于32或f(p)是奇数时,则该字符不变,否则用f(p)替代所对应的字符。 注意: 部分源程序存放在PROG1.C中, 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 4、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位), 产品名称mc(字符型10位), 单价dj(整型), 数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()读取这100个销售记录并存入结构数组sell 中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列, 若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中。最后main()函数调用函数WriteDat()把结果输出到文件OUT.DAT中。 提示: 若中间变量为PROtemp, 则可以直接使用结构赋值语句进行解题;产品名称比较请用函数strcmp进行解题。 例如: sell[i] = temp ; 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main( )、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 5、已知在IN.DA T中存有若干个(个数<200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组xx中。请编制函数CalValue(), 其功能要求: 1.求出这文件中共有多少个正

C语言试卷(含答案)

一、单项选择题(每小题2分,共40分) 1、sizeof(float)是() A. 一个双精度型表达式 B. 一个整型表达式 C. 一种函数调用 D. 一个不合法的表达式 2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f); 为了把100和765.12分别赋给i和f,则正确的输入为()。 A. 100 765.12 B. i=100,f=765.12 C. 100<回车> 765.12 D. x=100 y=765.12 3、#include void main() { int a=3,b=2,c=1; int x=10,y=20; if(a void main() { int num=0; while(num<=2){ num++; printf("%d ",num); } } 输出结果是()。 A. 1 2 3 B. 0 1 2 C. 2 3 D. 1 2 8、下面的C语言代码段的输出结果是()。 int j; for(j=1; j<10; j+=2) printf("%d ",j); A. 1 2 3 4 5 6 7 8 9 B. 2 4 6 8 C. 1 3 5 7 9 D. 1 2 4 6 8 9、在C语言中,表达式:10!=9 的值是()。 A. true B. 非零值 C. 0 D. 1 10、分析下面的C代码段:

C语言上机练习常见选择题答案

C语言上机练习常见选择题答案 1、下列计算机语言中,CPU能直接执行的是( D ) A、自然语言 B、高级语言 C、汇编语言 D、机器语言 2、算法具有5个特性,以下选项中不属于算法特性的是( B ) A、有穷性 B、简洁性 C、可行性 D、确定性 3、以下叙述中,正确的叙述是( A ) A、构成C程序的基本单位是函数 B、可以在一个函数中定义另一个函数 C、main( )函数必须放在其他函数之前 D、所有被调用的函数一定要在调用之前进行定义 4、c2为字符型,执行语句“c2='A'+'6'-'3';”后,c2的值为( A ) A、D B、63 C、不确定的值 D、C 5、已知字母A的ASCII码为十进制的65,char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';,则 printf("%d,%c\n",ch1,ch2);的输出是( A ) A、67,D B、B,C C、C,D D、不确定的值 6、若a为int类型,且其值为5,则执行完表达式a+=a-=a*a

后,a的值是( C ) A、-5 B、20 C、-40 D、25 7、设a、b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是( D ) A、'a'&&'b' B、a<=b C、a||b+c&&b-c D、!((a<b)&&!c||1) 8、表达式18/4*sqrt(4.0)/8值的数据类型为( C )。(1分) A、int B、float C、double D、不确定 9、以下选项中,属于C语言的数据类型是( C )。(1分) A、复数型 B、逻辑型 C、双精度型 D、集合型 10、若有main(){ char c='z'; printf("%c",c-25);} ,此程序的输出结果是( A )。(1分) A、a B、Z C、z-25 D、y 11、设x是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f ",&i,&f);,为了把100和765.12分别送给i

c语言上机考试训练题库及答案

上机考试习题集 1.编写程序,一次输入5个学生的3门课成绩,每输入一个学生的3门成绩后,立即统计并输出该学生的总分和平均分。 #include "stdio.h" void main() { int score[5][3], i,j; float sum[5],average[5]; printf("请分别输入三个学生的成绩:\n"); for(i=0;i<5;i++) { sum[i]=0; for(j=0;j<3;j++) {scanf("%d",&score[i][j]); average[i]=0; sum[i]+=score[i][j]; average[i]=sum[i]/5; } }

for(i=0;i<5;i++) printf("第%d个学生的总分为:%f,平均成绩 为:%f\n",i+1,sum[i],average[i]); } 2 、编写程序,提示用户从键盘输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后在显示器上输出此数,以便验证处理是否正确。 #include #include double rounding(double x,int n); void main() { double x,x1; int n; printf("请输入一个浮点数:\n"); scanf("%lf",&x); printf("请输入给定的小数位:\n"); scanf("%d",&n);

x1=rounding(x,n); printf("圆整后的数为:\n%.*lf\n",n,x1); } double rounding(double x,int n) { double s; s=(int)(x*pow(10,n)+0.5)/pow(10,n); return s; } 3编写程序,提示用户从键盘输入一个四位数年份,如1988,程序自动判断其是否为闰年,如果是闰年,则显示“****是闰年”;如果不是,则输出“****不是闰年”,此处****指代用户输入的四位数年份。 #include "stdio.h" void main() {int a printf("请输入四位数:"); scanf("%d",&a); if(a%4==0&&a%100!=0)‖(a%400==0))

C语言程序设计(选择题专项练习)及答案

C语言程序设计(选择题专项练习)及答案 一、理论基础(每小题1 分,共 20分) 1、设x,y,z,s均为int型变量,且初值均为1,则执行语句s=++x||++y&&++z后,则s的值为: A、不定值 B、2 C、1 D、0 2、下列选项不符合良好程序设计风格的是________。 A、源程序要文档化 B、数据说明的次序要规范化 C、避免滥用goto语句 D、模块设计原则是高耦合、高内聚 3、变量的指针,其含义是指该变量的________。 A、值 B、地址 C、名 D、一个标志 4、若变量a、i已正确定义,且i已正确赋值合法的语句是________。 A、a==1 B、++i C、a=a++=5 D、a=int(i) 5、以下关于注释的叙述中错误的是________。 A、注释的边界符号“/”和“*”之间不允许加入空格 B、C 语言允许注释出现在程序中任意合适的地方 C、注释的内容仅用于阅读,对程序的运行不起作用 D、注释的边界符号“/*”和“*/”必须成对出现且可以嵌套 6、c 语言共用体类型变量在程序运行期间。 A、所有成员一直驻留在内存中 B、只有一个成员驻留在内存中 C、部分成员驻留在在内存中 D、没有成员驻留在内存中 7、在c语言中,能代表逻辑值"真"的是________。 A、True B、大于0的数

C、非0整数 D、非0的数 8、以下选项中属于c语言的数据类型是________。 A、复合型 B、双精度型 C、逻辑型 D、集合型 9、下列关于八进制与十六进制的描述中,错误的是________。 A、八进制是一种逢八进一的机制 B、八进制由0-8这此符号来描述 C、十六进制是一种逢十六进一的机制 D、十六进制由0-9、A-F这些符号来描述 10、以下叙述中不正确的是________。 A、预处理命令行都必须以#号开始 B、在程序中凡是以#号开始的语句行都是预处理命令行 C、C程序在执行过程中对预处理命令行进行处理 D、以下是正确的宏定义#define IBM_PC 11、下列错误的是________。 A、char s[]="China"; B、char s[10]={"China"}; C、char s[10];s="China"; D、char s[10]={'c','h','i','n','a'}; 12、以下合法的赋值语句是______。 A、X=Y=100 B、D-; C、X+Y; D、C=int(A+B) 13、若变量已正确定义为float型,要通过输入语句:scanf("%f%f% f",&a,&b,&c);给a赋值11.0,b赋值22.0,e赋值33.0,不正确的输入形式是________。 A、11 22 33 B、11.0,22.0,33.0 C、11.0 22.0 33.0 D、1122 14、下列四组常数中,均是合法整型常量的一组是________。 A、160 0xffff 011 B、-0xcdf 01a 0xe C、-01 986,012 0668 D、-0x48a 2e5 0x

C语言上机作业试题5套含答案

第一次上机作业(2014): 要求: ⏹独立完成,上机调试通过后上交 ⏹作业提交邮箱: ⏹邮件主题命名:班级学号姓名(第1次作业), 例如:电1301班2王鹏(第1次作业) ⏹以附件形式将每次作业的所有程序源程序压缩打包后提交,压缩文件命名格式同上。 ⏹程序必须采用缩进格式 1.大写字母转换成小写字母 从键盘输入一个大写英文字母,输出相应的小写字母。 例:输入G 输出g 2.求平方根 输入一个实数x,计算并输出其平方根(保留1 位小数)。 例:输入17 输出The square root of 17.0 is 4.1 3.温度转换 设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32) a)输入华氏温度(实型) b)输出的摄氏温度结果保留两位小数 例:Please input Fahrenheit temperature: 76.8 The corresponding Celsius temperature is 24.89 4. 计算旅途时间 输入二个整数time1 和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 (输入的有效的时间范围是0000 到2359,不需要考虑出发时间晚于到达时间的情况。) 例:输入712 1411 (出发时间是7:12,到达时间是14:11) 输出The train journey time is 6 hours 59 minutes. 5. 数字加密 输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。 例:输入1257 输出The encrypted number is 4601 思考题:你能否编程找出谁做的好事? 有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。 ⏹A说:不是我。 ⏹B说:是C。 ⏹C说:是D。 ⏹D说:他胡说。 已知三个人说的是真话,一个人说的是假话。现在要根据这些信息,找出做了好事的人。 第二次上机作业(2014): 要求: ⏹独立完成,程序必须采用缩进格式,上机调试通过后上交

C语言程序设计习题与上机指引答案

《C语言程序设计习题与上机指南》 答案 第一部分习题篇第一章 C 语言概述 一.单选题 1.以下说法中正确的是(C)。 A )C 语言程序总是从第一个函数开始执行 B)在 C 语言程序中,要调用函数必须在main()函数中定义 C)C 语言程序总是从main()函数开始执行 D)C 语言中的main()函数必须放在程序的开始部分 2.一个 C 语言程序是由(B)。 A )一个主程序和若干子程序组成B)函数组成 C)若干过程组成D)若干子程序组成 3.C语言规定,在一个源程序中,main 函数的位置(C)。 A )必须在最开始B)必须在系统调用的库函数的后面 C)可以任意D)必须在最后 4.以下叙述不正确的是(D)。 A )一个 C 源程序可由一个或多个函数组成 B)一个 C 源程序必须包含一个main 函数 C ) C 程序的基本组成单位是函数 D)在 C 程序中,注释只能位于一条语句的后面 5.下列关于 C 语言的说法不正确的是(D)。 A )C 语言既有高级语言的功能,也具有低级语言的一些功能 B)C 语言中的一条执行语句都必须用分号结束 C)注释可以出现在程序中任意合适的地方D)include 命令行后面必须加分号6.用 C 语言编写的代码程序(B)。 A )可以立即执行B)是一个源程序 C)经过编译即可执行D)经过编译解释才能执行 7.用高级语言(如 C 语言)编写的程序称为(A )

A )源程序 B )目标程序C)可执行程序D)编译程序8.一个函数的组成有(A )。 A )函数首部和函数体B)函数名和函数的声明部分 C)主函数和子函数D)声明部分和执行部分 9.在 C 语言中,用来表示“取地址”的符号是(B)。 A)#B)&C)* D)@ 10. C 语言是计算机高级语言,它适合于作为系统描述语言,它(A)。 A)既可用来写系统软件,也可用来写应用软件 B)只能写系统软件,不能用来写应用软件 C)不能写系统软件,只能用来写应用软件 D)既不能写系统软件,也不能写应用软件

_《C语言》机试题(成-部分答案)

上机试题(一) 1 已知A,B为正整数, A2 试求F(1)+F(3)+F(5)+……+F(49)值。 提示:最好使用递推法求解,因为使用递归调用很可能超出某些语言的递归深度。答案:12586269025 ………………………………………………………………………………………………… 上机试题(四) 1设有6个十进制数字a,b,c,d, e,f ,求满足abcdf×e=fdcba条件的五位数abcdf(a≠0,e≠0,e≠1)的个数。 答案:16 2一个数如果刚好与它所有的因子之和相等,则称该数为一个"完数",如:6=1+2+3,则6就是一个完数。求出200到500之间所有的完数之和。 答案:496 ………………………………………………………………………………………………… 上机试题(五) 1 一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:除1和它本身外,不能被其它整数整除的正整数称为素数,1不是素数,2是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。例如,617,17,7都是素数,因此617是逆向超级素数,尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。试求[100,999]之内的所有逆向超级素数的个数。 答案:39 2 编写程序,求在5000以内能被17或者23整除的正整数的个数。 答案:499 ………………………………………………………………………………………………… 上机试题(六) 1 设有十进制数字a,b,c,d和e,它们满足下列式子:abcd*e=bcde (a不等于0, e不等于0或1),求满足上述条件的所有四位数abcd的和。

C语言单项选择题(含答案)

计算机程序设计基础(C语言) 单项选择练习题 一、基本概念 1. C语言程序是由构成的。 A)一些可执行语言 B)main函数C)函数 D)包含文件中的第一个函数 2. 是构成C语言程序的基本单位。 A)函数 B)过程 C)子程序 D)子例程 3.C语言可执行程序从开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 4.C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始 B) 程序文件的最后 C) 它所调用的函数的前面 D) 程序文件的任何位置 5. 以下说法中正确的是。 A)C语言程序总是从第一个定义的函数开始执行 B)在C语言程序中,要调用的函数必须在main( )函数中定义 C)C语言程序总是从main( )函数开始执行 D)C语言程序中的main( )函数必须放在程序的开始部分 6. 下列方法中错误的是。 A)主函数可以分为两个部分:主函数说明部分和主函数体。 B)主函数可以调用任何非主函数的其它函数。 C)任何非主函数可以调用其它任何非主函数。 D)程序可以从任何非主函数开始执行。 7.下列关于C语言的说法错误的是。 A) C程序的工作过程是编辑、编译、连接、运行 B) 标识符的命名由英文字母、数字和下划线组成,与字母的大小写无关 C) C程序的三种基本结构是顺序、选择、循环 D) 一个C程序总是从main函数开始执行的 8. 系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才能运行。 A) 编辑、编译 B )编辑、连接 C) 编译、连接 D) 编辑、改错 9.下列说法中正确的是。 A)由于C源程序是高级语言程序,因此一定要在TC软件中输入。 B)由于C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入。 C)由于C程序是高级语言程序,因此输入后即可执行。 D)由于C程序是高级语言程序,因此它是由命令组成的。

C语言程序设计选择题库及答案

单项选择题 导读:单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。本类习题主要检查对C语言基本概念的掌握情况,读者可根据学习进度选做部分习题。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题,应该通过上机实验来检验。 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123 C) %d D) \n 【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 ••• A) print B) i\am C) Pxq D) str_l ••• _3d one_half My->book Cpp ••• oodb start$it line# pow ••• aBc 3pai His.age while

【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义

相关主题