当前位置:文档之家› C语言程序设计精编源程序100题(C语言考试题库)

C语言程序设计精编源程序100题(C语言考试题库)

C语言程序设计精编源程序100题(C语言考试题库)
C语言程序设计精编源程序100题(C语言考试题库)

C语言程序设计精编源程序100题

一、单选题

1.由C语言编写的代码程序( )

A. 可直接执行

B. 是一个源程序

C. 经过编译即可执行

D. 经过编译解释才能执行

2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )

A. 大写字母

B. 中划线

C. 数字字符

D. 下划线

3.下列选项中,不能用作标识符的是( )

A. _1234_

B. _1_2

C. int_2_

D. 2_int_

4.以下选项中合法的用户标识符是( )

A. long

B. _2Test

C. 3Dmax

D. A.dat

5.以下不能定义为用户标识符的是( )

A. Main

B. _0

C. _int

D. sizeof

6.下列定义变量的语句错误的是( )

A. int _int;

B. double int_;

C. char For;

D. float US$;

7.在C语言中,合法的实型常数是( )

A. 5E2.0

B. E-3

C. 2E0

D. 1.3E

8.在C语言中,合法的实型常数是( )

A. 1.2E0.5

B. 3.14159E

C. 5E-3

D. E15

9.以下选项中,不能作为合法常量的是( )

A. 1.234e04

B. 1.234e0.4

C. 1.234e+4

D. 1.234e0

10.以下不合法的数值常量是( )

A. 011

B. le1

C. 8.0E0.5

D. 0xabcd

11.在C语言中,非法的字符常量是( )

A.‘\t’

B.‘\17’

C. "\n"

D.‘\xaa’

12.以下不合法的字符常量是( )

A.‘\018’

B.‘\"’

C.‘\\’

D.‘\xcc’

13.下列运算符中优先级最高的运算符是( )( )

A. <=

B. =

C. %

D. &&

A. ==

B. /

C. =

D. >=

14.以下程序的输出结果是( )

main()

{

int a=3,b=4;

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

}

A. 3

B. 4

C. 1

D. 0

15.在C语言中,以下非法的表达式是( )

A. 0<=x<=100

B. i=j==0

C. (char)(65+3)

D. x+1=x+1

16.在C语言中,以下非法的赋值语句是( )

A. j++;

B. ++(i+1);

C. x=j>0;

D. k=i==j;

17.表达式3.6-5/2+1.2+5%2的值是( )

A. 4.3

B. 4.8

C. 3.3

D. 3.8

18.设有语句:int a=3;则执行了语句a+=a-=a*a;变量a的值是( )

A. 3

B. 0

C. 9

D. -12

19.设有语句:int x=10;则执行了语句x+=x-=x-x;变量x的值是( )

A. 10

B. 20

C. 40

D. 30

20.以下程序的输出结果是( )( )( )( )( )

⑴ main()

{

int i=10,j=1;

printf("%d,%d\n",i--,++j);

}

A. 9,2

B. 10,2

C. 9,1

D. 10,1

⑵ main()

{

int a=12,b=12;

printf("%d %d\n" ,--a,++b);

}

A. 10 10

B. 12 12

C. 11 10

D. 11 13

⑶ main()

{ int x=023;

printf("%d\n",--x);}

A. 17

B. 18

C. 23

D. 24

⑷ main()

{ int x=10,y=10;

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

A. 10 10

B. 9 9

C. 9 10

D. 10 9

⑸ main()

{ int i=010,j=10;

printf("%d,%d\n",++i,j--);}

A. 11,10

B. 9,10

C. 010,9

D. 10,9

21.以下程序的输出结果是( )

main()

{ int x=100,y=200;

printf("%d\n",(x,y)); }

A. 200

B. 100

C. 100 200 D)200 100

22.以下程序的输出结果是( )

main()

{ int x=10,y=3,z;

printf("%d\n",z=(x%y,x/y));}

A. 1

B. 0

C. 4

D. 3

23.int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )

A. k++

B. k+=1

C. ++k

D. k+1

24.以下程序的输出结果是( )

main()

{ int x,y,z;

x=y=1;

z=x++,y++,++y;

printf("%d,%d,%d\n",x,y,z); }

A. 2,3,3

B. 2,3,2

C. 2,3,1

D. 2,2,1

25.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( )

A. 1

B. 2

C. 3

D. 4

26.设int x=-1;执行表达式++x||++x||++x||++x,x的值是( )

A. 0

B. 1

C. 2

D. 4

27.以下程序的输出结果是

(1) 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) main(){ int k=17; printf("%d,%o,%x\n",k,k,k); }()

A. 17,021,0x11

B. 17,17,17

C. 17,0x11,021

D. 17,21,11

28.运行时从键盘上输入9876543210(表示回车),则该程序的输出结果是()

main()

{ int a;float b,c;

scanf("%2d%3f%4f\n",&a,&b,&c);

printf("a=%d,b=%f,c=%f\n",a,b,c);}

A. a=98,b=765,c=4321

B. a=10,b=432,c=8765

C. a=98,b=765.000000,c=4321.000000

D. a=98,b=765.0,c=4321.0

29.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量

a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的是(注:□代表空格字符)( )

A. 10□X□20□Y<回车>

B. 10□X20□Y<回车>

C. 10□X<回车>

D. 10X<回车>

20□Y<回车> 20Y<回车>

30.以下程序的输出结果是( )

#define MA(x) x*(x-1)

main()

{ int a=1,b=2;

printf("%d\n",MA(1+a+b));}

A. 6

B. 8

C. 10

D. 12

31.以下程序的输出结果是( )

#define M(x,y,z) x*y+z

main()

{ int a=1,b=2,c=3;

printf("%d\n",M(a+b,b+c,c+a)); }

A. 19

B. 17

C. 15

D. 12

32.以下程序段的输出结果是( )

#define MIN(x,y) (x)<(y)?(x):(y)

main()

{ int i=10,j=15,k;

k=10*MIN(i,j);

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

}

A. 15

B. 100

C. 10

D. 150

33.设a=1,b=2,c=3,d=4,则表达式a

A. 4

B. 3

C. 2

D. 1

34.以下程序段的输出结果是( )

main()

{ int x=5;

if(x++>5) printf("%d\n",x);

else printf("%d\n",x--);

}

A. 4

B. 5

C. 6

D. 7

35.有以下程序

main()

{ int n=4;

while(n--)

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

}

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

A. 2 0

B. 3 1

C. 3 2 1

D. 2 1 0

36.有以下程序

main()

{ int y=10;

while(y--); printf("y=%d\n",y); }

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

A. y=0

B. y=-1

C. y=1

D. while构成无限循环

37.有以下程序

main()

{ int i;

for(i=0;i<3;i++)

switch(i)

{ case 0: printf("%d",i);

case 1: printf("%d",i);

default: printf("%d",i);

}

}

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

A.000112 B. 012 C. 012020 D. 120

38.以下叙述中正确的是( )

A. 构成C程序的基本单位是函数

B. 可以在一个函数中定义另一个函数

C. main()函数必须放在其它函数之前

D. 所有被调用函数一定要在调用之前进行定义

39.以下说法中正确的是( )

A. C语言程序总是从第一个函数开始执行

B. 在C语言程序中,要调用的函数必须在main()函数中定义

C. C语言程序总是从main()函数开始执行

D. C语言程序中的main()函数必须放在程序的开始部分

40.以下程序的输出结果是( )

int fun(int x)

{ int p;

if(x==0||x==1) p=3;

else p=x-fun(x-2);

return p; }

main()

{ printf("%d\n",fun(7)); }

A. 7

B. 3

C. 2

D. 0

41.以下数组定义中错误的是( )

A. int x[][3]={0};

B. int x[2][3]={{1,2},{3,4},{5,6}};

C. int x[][3]={{1,2,3},{4,5,6}};

D. int x[2][3]={1,2,3,4,5,6};

42.以下能正确定义二维数组的是( )

A. int a[][3];

B. int a[][3]={2*3};

C. int a[][3]={};

D. int a[2][3]={{1},{2},{3,4}};

43.以下程序的输出结果是( )

main()

{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

printf("%d\n",*(p+2));

}

A. 3

B. 4

C. 1

D. 2

44.以下程序的输出结果是( )

main()

{ int a[]={1,2,3,4,5,6,7,8,9,10},*p=a;

printf("%d\n",*p+9);

}

A. 0

B. 1

C. 10

D. 9

45.以下程序的输出结果是( )

main()

{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;

printf("%d\n", *p+*q); }

A. 16

B. 10

C. 8

D. 6

46.设有char array[]="China";

则数组array所占的空间字节数为( )

A. 4

B. 5

C. 6

D. 7

47.在C语言中,对于以下定义正确的叙述为( )

char x[]="abcdefg";

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

A. 数组x和数组y等价

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

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

D. 数组x的长度大于数组y的长度

48.以下不能正确进行字符串赋初值的语句是( )

A. char str[5]="good!";

B. char str[]="good!";

B. char *str="good!"; D. char str[5]={‘g’,‘o’,‘o’,‘d’};

49.以下程序的输出结果是( )

main()

{ char str[]="ABCD",*p=str;

printf("%d\n",*(p+4)); }

A. 68

B. 'D'

C. 0

D. '0'

50.以下程序的输出结果是( )

main()

{ char str[]="aeiou",*p=str;

printf("%c\n",*p+4)); }

A. o

B. u

C. e

D. f

二、填空题

51.一个C源程序至少应该有一个函数。

52.以下程序运行后的输出结果是。

main()

{ int x=2006,y=2007;

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

}

53.(1) 以下程序运行后的输出结果是。

main()

{ int a=10;

printf("%d,%o,%x\n",a,a,a);

}

(2) 以下程序运行后的输出结果是。

main()

{ int a,b,c;

a=25;b=025;c=Ox25;

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

}

(3) 以下程序运行后的输出结果是。

main()

{ int a=1,b=2;

a=a+b;b=a-b;a=a-b;

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

}

54.(1) 以下程序运行后的输出结果是。

main()

{ char ch='B';

printf("%c %d\n",ch,ch);

}

(2) 以下程序运行后的输出结果是。

main()

{ char ch='B';

ch+=32;

printf("%c\n",ch);

}

(3) 以下程序运行后的输出结果是。

main()

{ char ch;

ch='H'-'A'+'0';

printf("%c\n",ch);

}

(4) 以下程序运行后的输出结果是。

main()

{ int c;

char ch=97;

c=ch+1;

printf("%c %c\n",c,ch);

}

55.以下程序运行后的输出结果是。

main()

{ float x=123.4567;

printf("%f\n",(int)(x*100+0.5)/100.0);

}

56.有程序如下,要求给i赋10,给j赋20,则应该从键盘输入。

main()

{ int i,j;

scanf("i=%d,j=%d",&i,&j);

printf("i=%d,j=%d",i,j);

}

57.(1) 以下程序运行后的输出结果是。

main()

{ int a=10;

a=(3*5,a+4);

printf("a=%d\n",a);

}

(2)以下程序运行后的输出结果是。

main()

{ int a=0,b=0,c=0;

c=(a+=a-=5),(a=b,b+3);

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

}

58.以下程序运行后的输出结果是。

main()

{ int a=5,b=4,c=3,x;

x=a>b>c;

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

}

59.以下程序运行后的输出结果是。

main()

{ int a=3,b=2;

b=a<0&&a++>3;

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

}

60.以下程序运行后的输出结果是。

main()

{ int a,b,c=246;

a=c/100%9;

b=-1&&-1;

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

}

61.(1) 以下程序运行后的输出结果是。

#define MAX(x,y) (x)>(y)?(x):(y)

main()

{ int a=5,b=2,c=3,d=3,t;

t=MAX(a+b,c+d)*10;

printf("%d\n",t);

}

(2)以下程序运行后的输出结果是。

#define S(x) 4*x*x+1

main()

{ int i=6,j=8;

printf("%d\n",S(i+j));

}

62.以下程序运行后的输出结果是。

main()

{ int x,a=1,b=2,c=3,d=4;

x=(a

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

}

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

main()

{ int a=3,b=4,c=5,t=99;

if(b

if(a

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

}

64.以下程序运行后的输出结果是。

main()

{ int i,t=0;

for(i=5;i>=0;i--)

t*=i;

printf("%d\n",t);

}

65.以下程序运行后的输出结果是。

main()

{ char c1,c2;

for(c1='0',c2='9';c1

printf("%c%c",c1,c2);

printf("\n");

}

66.输入1234567890<回车>,则其中while循环体将执行次。

#include

main()

{ char ch;

while((ch=getchar())==‘0’) printf("#");

}

67.设有定义语句:int a[][3]={{0},{1},{2}};

则数组元素a[1][2]的值为。

68.在C语言中,有如下语句:

int a[]={10,20,30,40,50,60},*p;

p=a+3;

printf("%d\n",*p++);

则输出结果是。

69.以下程序运行后的输出结果是。

main()

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

int m,*p;

p=&a[0][0];

m=(*p)*(*(p+2))*(*(p+4));

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

}

70.设有以下定义和语句:

int a[3][2]={10,20,30,40,50,60},(*p)[2];

p=a;

则*(*(p+2)+1)的值为。

71.在C语言中,有如下语句:

int a[3][2]={1,2,3,4,5,6,},*p[3];

p[0]=a[1];

则*(p[0]+1)所代表的数组元素是。

72.以下程序运行后的输出结果是。

main()

{ char s[]="abcdef";

s[3]='\0';

printf("%s\n",s);

}

73.以下程序运行后的输出结果是。

main()

{ char s[]="ABCD",*p;

for(p=s;p

printf("%s",p);

printf("\n");

}

74.以下程序运行后的输出结果是。

main()

{ char s[]="ABCD",*p=s;

printf("%d\n",*(p+4));

}

75.(1) 以下程序运行后的输出结果是。

main()

{ char str[]="\tab\n\012\\\"";

printf("%d\n",strlen(str));

}

(2) 以下程序运行后的输出结果是。

main()

{ printf("%d\n",strlen("IBM\n012\1\\")); }

(3) 以下程序运行后的输出结果是。

main()

{ printf("%d\n",strlen("\t\"\065\xff\n")); }

(4) 以下程序运行后的输出结果是。

main()

{ char s[]="stop\0\n\"";

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

71.(1) 以下程序运行后的输出结果是。

main()

{ char str[]="Beijing";

printf("%d\n",strlen(strcpy(str,"China")));

}

(2) 以下程序运行后的输出结果是。

main()

{ char *s1="12345",*s2="1234";

printf("%d\n",strlen(strcat(s1,s2)));

}

72.以下程序运行后的输出结果是。

main()

{ char a[]={‘\1’,‘\2’,‘\3’,‘\4’,‘\0’};

printf("%d %d\n",sizeof(a),strlen(a)); }

73.以下程序运行后的输出结果是。

main()

{ char ch[3][5]={"AAAA","BBB","CC"};

printf("\"%s\"\n",ch[1]); }

74.以下程序运行后的输出结果是。

main()

{ char str[][20]={"China","Beijing"},*p=str;

printf("%s\n",p+20);

}

75.在C语言中,有如下语句:

struct std

{ char ch;

int a[2];

float t;

double f

} std1;

则结构体变量std1占用内存的字节数为。

76.在C语言中,有如下语句:

struct dog

{ char ch[10];

int i;

int *p;

double k;

} dog1;

则结构体变量dog1占用内存的字节数为。

77.在C语言中,有如下语句:

struct cat

{ int a[10];

char ch;

float f;

double *p;

} cat1;

则结构体变量cat1占用内存的字节数为。

78.有以下结构体说明,请填空,以完成对结构体数组t定义:

struct STR

{ char a;

int b;

float c;

double d;

};

t[20];

三、多选题

79.在C语言中,以下合法的变量名是( )

A. register

B. _10days

C. my_book

D. us$

E. count

80.在C语言中,以下合法的实型常量是( )

A. 1.2E+0.5

B. 3.14159E

C. .5E-3

D. E15

E. 3.E+2

81.在C语言中,变量已正确定义并赋值,下面正确的表达式为( )

A. a=b+1

B. b=float(a)

C. a=a+7=c+3 C. c=15.0%3

E. a=b+c,a++

82.在C语言中,以下合法的字符常量是( )

A. "\n"

B. 'ab'

C. '\x43'

D. '\084'

E. '\0'

83.在C语言中,以下合法的常量是( )

A. 0386

B. 0Xff

C. 1.2e0.5

D. ‘\17’

E. "\0"

84.在C语言中,以下错误的数组定义是( )

A. int a[]={1,2,3};

B. int s[];

C. int n=10,t[n];

D. char *q[3];

E. char str[]={1,2,3};

四、程序填空题

85.以下程序的功能是计算:1-2+3-4……+99-100

main()

{ int i=1,j=1,s=0;

while( )

{ s+= ;

i++;

; }

printf("s=%d\n",s);

}

86.输入20个整数到一维数组,统计正整数的个数及其和

main()

{ int a[20],i,sum,count;

sum=count= ;

for(i=0;i<20;i++)

scanf("%d",&a[i]);

for(i=0;i<20;i++)

if( )

{ count++; ; }

printf("count=%d,sum=%d\n",count,sum);

}

87.输入10个整数到一维数组,输出其中最大数和最小数

main()

{ int a[10],i,max,min;

for(i=0;i<10;i++)

scanf("%d",&a[i]);

max=min= ;

for(i=1;i<10;i++)

if(a[i]>max) ;

else if( ) min=a[i];

printf("%d,%d\n",max,min);

}

88.输入一个字符串,将其倒序后输出

main()

{ int i,j;

char st[60],ch;

scanf("%s",st);

for(i=0,j= ; ;i++,j--)

{ ch=st[i];

;

st[j]=ch;

}

printf("%s\n",st);

}

89.输入字符串,将其中的非数字字符删除后,输出整个字符串

main()

{ char st[80];

int i=0,j=0;

scanf("%s",st);

while(st[i])

{ if( )

st[ ]=st[i];

i++;

}

;

printf("%s\n",st);

}

90.输出方阵中主对角线和、副对角线上元素的和sum1和sum2

#define N 3

main()

{ int a[N][N],i,j,sum1,sum2;

sum1=sum2= ;

for(i=0;i

for(j=0;j

scanf("%d",&a[i][j]);

for(i=0;i

{ sum1+= ;

sum2+= ;

}

printf("sum1=%d,sum2=%d\n",sum1,sum2);

}

五、程序写结果

91.以下程序运行后的输出结果是。

main()

{ int a=3,b=4,c=5,d=2;

if(a

if(b

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

else

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

printf("%d\n",d);

}

92.以下程序运行后的输出结果是。

main()

{ int i=1;

while(i<=15)

if(++i%3!=2) continue;

else printf("%d,",i);

printf("\n");

}

93.以下程序运行后的输出结果是。

main()

{ int i,j,x=0;

for(i=0;i<2;i++)

{ x++;

for(j=0;j<=3;j++)

{ if(j%2) continue;

x++;

}

x++;

}

printf("x=%d\n",x);

}

94.以下程序运行后的输出结果是。

int fun(int n)

{ int i,s=1;

for(i=1;i<=n;i++)

s*=i;

return s;

}

main()

{ int i,s=0;

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

s+=fun(i);

printf("s=%d\n",s);

}

95.以下程序运行后的输出结果是。

void swap(int x,int y)

{ int t;

t=x;x=y;y=t;

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

}

main()

{ int a=3,b=4;

swap(a,b);

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

}

96.以下程序运行后的输出结果是。

int fun(int n)

{ switch(n)

{ case 0: return 0;

case 1: return 1;

case 2: return 1;

default: return fun(n-1)+fun(n-2);

}

}

main()

{ int n=7,s;

s=fun(n);

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

}

97.以下程序运行后的输出结果是。

int fun(int x,int y)

{ static int m=0,i=2;

i+=m+1; m=i+x+y;

return m; }

main()

{ int j=1,m=1,k;

k=fun(j,m); printf("%3d",k);

k=fun(j,m); printf("%3d",k); }

98.以下程序运行后的输出结果是。

int fun(int n)

{ static int s=1;

s*=n;

return s; }

main()

{ int i,s=0;

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

s+=fun(i);

printf("%d\n",s); }

99.(1) 以下程序运行后的输出结果是

main()

{ char s[]="1234567890",*p=s+3;

int i=5;

printf("%d,%s\n",--i,p++);

printf("%s\n",p-i); }

(2) 以下程序运行后的输出结果是。

main()

{ char s[]="123456789",*p,i=0;

while(*p)

{ if(i%2==0) *p='*';

p++;

i++; }

printf("%s\n",s); }

100.(1) 以下程序运行后的输出结果是。

main()

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

switch(x)

{ case 1:switch(y)

{ case 0:a++;break;

case 1:b++;break;

}

case 2:a++;b++;break;

}

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

}

(2) 以下程序运行后的输出结果是

main()

{ int x=1,y=0;

switch(x)

{ case 1:switch(y)

{ case 0:printf("first\n");break;

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

}

case 2:printf("third\n");break;

} }

(3) 输入a,输出结果是

输入c,输出结果是。

main()

{ char n;

scanf("%c",&n);

switch(n)

{ case 'a':case 'A':printf("very good\n");break;

case 'b':case 'B':printf("good\n");break;

case 'c':case 'C':

case 'd':case 'D':printf("pass\n");break;

case 'e':case 'E':printf("warn\n");break;

default:printf("error\n");

} }

(4) 以下程序运行后的输出结果是。

main()

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

switch(a==0)

{ case 1:switch(b<0)

{ case 1:printf("@");break;

case 0:printf("!");break;

}

case 2:switch(c==5)

{ case 0:printf("*");break;

case 1:printf("#");break;

}

default:printf("&");

}

printf("\n"); }

2019年电大C语言考试题库(c语言小题+编程)

C语言程序设计课程期末复习练习 一、单选题 1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。 A. main B. MAIN C. name D. function 2.每个C语言程序文件的编译错误分为()类。 A. 1 B. 2 C. 3 D. 4 3. 字符串"a+b=12\n"的长度为()。 A. 6 B. 7 C. 8 D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为()语句。 A. for B. if C. do D. while 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为()。 int i=0; do i++; while(i<10); A. 4 B. 3 C. 5 D. 10 6. 将两个字符串连接起来组成一个字符串时,选用的函数为()。 A. strlen() B. strcap() C. strcat() D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是()。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组中全部元素的值 D. 数组元素的个数 8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大( )个字节。 A. 4 B. 8 C. 16 D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为()。 A. char *p=s; B. char *p=&s; C. char *p;p=*s; D. char *p; p=&s; 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为()。 A. gets() B. fgets() C. getc() D. fgetc() 11. 由C语言目标文件连接而成的可执行文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. c 12. 设有两条语句为“int a=12; a+=a*a;”,则执行结束后,a的值为( )。 A. 12 B. 144 C. 156 D. 288 13. 带有随机函数调用的表达式rand()%20的值在( )区间内。 A. 1~19 B. 1~20 C. 0~19 D. 0~20 14. for循环语句“for(i=0; i

C语言程序设计模拟试题1(附答案)

《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。 x = 9; while (x > 7)

C语言程序设计部分习题及例题参考程序

《C语言程序设计》部分例题及课后习题参考程序1.编程计算如下分段函数: y={2x+3 x≥10 4x 0≤x<10 5x?6 x<0 [参考程序] #include int main() { float x,y; printf("input x:"); scanf("%f",&x); if(x>=10) y=2*x+3; else if(x>=0) y=4*x; else y=5*x-6; printf("y=%.2f\n",y); } 2.编程将从键盘输入的百分制成绩转换为等级分,转换方法如下:90以上(大于或等于90,下同)为A,80分以上为B,70分以上为C,60分以上为D,60分以下,即低于60分为E。[参考程序] #include int main() { float score; char rank; printf("input a score:"); scanf("%f",&score); if(score>100||score<0) { printf("invalid score input\n"); exit(-1); } switch((int)score/10) { case 10: case 9: rank='A';break; case 8: rank='B';break; case 7: rank='C';break;

rank='D';break; default: rank='E'; } printf("%.2f:%c\n",score,rank); return 0; } 3.编程判断以从键盘输入的三个数为边长,是否能构成三角形。 [参考程序] #include int main() { float a,b,c; printf("input a,b,c:"); scanf("%f%f%f",&a,&b,&c); if(a>0 && b>0 && c>0 && a+b>c && a+c>b && b+c>a) printf("(%.2f,%.2f,%.2f)能围成三角形\n",a,b,c); else printf("(%.2f,%2.2f,%.2f)不能围成三角形\n",a,b,c); } 4.编程实现将从键盘输入的一个正整数逆序输出,如输入1234,输出3421 [参考程序] #include int main() { int n; printf("input a number:"); scanf("%d",&n); do { printf("%d",n%10); n/=10; } while(n!=0); return 0; } 5.输入一个1~10范围内的整数,计算该数的阶乘。 [参考程序] #include int main() { int n,s=1,i; printf("input a number(1~10):"); scanf("%d",&n); for(i=2;i<=n;i++) s*=i;

大学c语言考试题库含答案

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 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、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0;

C语言程序设计100例之(15):除法算式

C语言程序设计100例之(15):除法算式 例15 除法算式 问题描述 输入正整数n(2≤n≤68),按从小到大输出所有形如abcde/fghi=n的表达式。其中a~i为1~9的一个排列。 输入格式 每行为一个正整数n (n <= 1500),输入n=0结束。 输出格式 输出满足条件的所有形如abcde/fghi=n的表达式,每个表达式占一行,具体格式参见输出样例。 输入样例 4 20 62 输出样例 15768/3942=4 17568/4392=4 23184/5796=4 31824/7956=4 No Solution! 79546/1283=62 94736/1528=62 (1)编程思路。 本例需要先确定好穷举的思路。虽然题目说a~i为1~9的一个排列,但穷举1~9的所有排列显然没有必要。 可以穷举除数fghi,这是一个4位数,最小可为1234,最大可为9876,然后按fghi*n 计算出abcde,最后判断这9个数字是否不相同。 为判断9个数字是否相同,可以定义一个数组flag[10],其中flag[i]的值表示数字i在算式中出现的次数,显然flag[1]~flag[9]的值全为1才满足要求。 另外,在穷举时进行适当优化。若计算出abcde小于12345,显然除数fghi太小,直接增大除数进行下次穷举;若计算出abcde大于98765,显然除数fghi太大,不再可能找到解,直接退出穷举循环。

(2)源程序。 #include int main() { int n,x,y,i,flag[10],t; while (scanf("%d",&n) && n!=0) { t=0; for (y=1234;y<=9876;y++) { x=y*n; if (x<12345) continue; if (x>98765) break; for (i=0;i<10;i++) flag[i]=0; flag[x/10000]++; flag[x%10000/1000]++; flag[x%1000/100]++; flag[x%100/10]++; flag[x%10]++; flag[y/1000]++; flag[y%1000/100]++; flag[y%100/10]++; flag[y%10]++; for (i=1;i<10;i++) if (flag[i]!=1) break; if (i==10) { printf("%d/%d=%d\n",x,y,n); t++; } } if (t==0) printf("No Solution!\n"); } return 0; } 习题15 15-1 完美立方 问题描述 a3 +b3 + c3 = d3为完美立方等式。例如13 + 63 + 83 =93。编写一个程序,输出100以内的所有四元组(a, b, c, d),使得a3 +b3 + c3 = d3,其中1≤a< b< c< d≤100。 输入格式

C语言程序设计模拟试题A附答案

《C语言程序设计》模拟试卷A 一、单项选择题(每题2分,共20分) 1、下列有关C语言的叙述中错误的就是(D)。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被瞧作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的就是(C)。 A) MAIN B) _HJ C) 2ong D) LINE1 3、以下能正确定义一维数组的就是(C)。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 4、执行下列程序段后输出的结果就是(C)。 x = 9; while (x > 7) { printf(“*”); x- -; } A) **** B) *** C) ** D) * 5、设char str1[10] = “ABCDE”, str2[10] = “xyz”; 则执行语句 printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果就是(D)。 解析: strcpy(str1,str2); 后,str1[] 里就是"XYZ", Z 后面有字符串结束符 strcpy(str1,str2); 执行后,函数返回的就是str1, 因为str1[] 里就是新值"XYZ", 而 strlen(strcpy(str1,str2)) 就就是strlen(str1的新值),所以得3。 strlen 统计到字符串结束符以前,即,不计入字符串结束符。 A) 9 B) 8 C) 5 D) 3 6、若用数组名作为函数调用的实参,则传递给形参的就是(A)。

C语言程序设计50例(经典收藏)

水仙花 #include void main() { int a,b,c,i; for( i=100;i<1000;i++) { a=i/100; b=i%100/10; c=i%10; if(a*a*a+b*b*b+c*c*c==i) { printf("\n"); } } } 【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有

的排列后再去掉不满足条件的排列。 2.程序源代码: #include "stdio.h" #include "conio.h" main() { int i,j,k; printf("\n"); for(i=1;i<5;i++) /*以下为三重循环*/ for(j=1;j<5;j++) for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k); } getch(); } 【程序2】 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按1 0%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 2.程序源代码:

(完整版)C语言考试题库之判断题(2)

三、判断题(10道小题,共10分) 1、C 语言具有简洁明了的特点。(1分) 正确 2、预处理命令的前面必须加一个“#”号。(1分) 正确 3、标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。(1分) 正确 4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。(1 分) 正确 5、continue 不是结束本次循环,而是终止整个循环的执行。(1分) 错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数(1分) 错误 7、.函数的实参传递到形参有两种方式值传递和地址传递(1分) 正确 8、直接访问就是直接利用变量的地址进行存取直接访问(1分) 正确 9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。(1分) 正确 10、文件指针和位置指针都是随着文件的读写操作在不断改变。(1分) 错误 11、C 语言标准格式输入函数scanf() 的参数表中要使用变量的地址值。(1分) 正确 12、浮点型常量的指数表示中,e 是可以省略的。(1分) 错误 13、任何表达式语句都是表达式加分号组成的。(1分) 正确 14、在switch语句中,每一个的case常量表达式的值可以相同。(1分) 错误 15、do-while循环的while后的分号可以省略。(1分) 错误 16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。正确 17、C语言函数返回类型的默认定义类型是void(1分) 错误 18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数(1分) 正确 19、枚举类型中的元素都具有一个整型值。(1分) 正确 20、C 语言是一种具有某些低级语言特征的高级语言。(1分) 正确 21、case语句后如没有break,顺序向下执行。(1分)正确

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

C语言程序设计实验与习题答案

2.程序填空 (1)以下程序的功能是计算1~50之间能被7整除的整数之和。 #include void main() {int i,sum= 0; for(i=1; 50;i++) if( i%7==0) sum+=i; printf("sum=%d\n",sum); } (2) 下面程序接收来自键盘的输入,直到输入+Z(值为-1)键为止。这些字符被原样输出,但若有连续一个以上的空格时只输出一个空格。请填空。 #include void main() {char cx; char front=’’; while ( (cx=getchar())!=’\n’) {if (cx!=’’) putchar(cx); if (cx= =’’) if (front!=’’) putchar(cx); front=cx; } } 3.程序改错 (1)下列程序的功能是求1+3+5+…99的和。 #include

void main( ) { int s,i; ★ //int s=0,i; i=1; while(i<=99)s=s+i;★ //{s=s+i;i++;} printf("1+3+5+…99的和是:%d\n",s); } (2)下面程序的功能是输入一个正整数,判断是否是素数,若 为素数输出1,否则输出0。 #include void main() { int i,x,y=0; ★ //y=1 scanf("%d",&x); for(i=2;i<=x/2&&y;i++) if ((x%i)!=0) y=0; ★ //x%i==0 printf("%d\n",y); } 4.设计性实验 (1)题 /* 方法(1)精度控制*/ #include #include

C语言程序设计模拟试题2(附答案)

《C语言程序设计》模拟试卷二 一、填空题。(每空2分,共30分) 1.设有变量说明语句 int x=1,y=2; 则执行下述printf语句的输出结果是___1.000000___ _____。 printf("%f\n",1.0+x/y); 2.执行下述程序 #include main() { int x,y; scanf("%2d%*2s%1d",&x,&y); printf("%d\n",x+y); } 若从键盘输入 12345671 则程序的输出结果是__17______。 3.以下程序的功能是:从键盘上输入若干名学生的成绩(百分制,可带小数,以输入负数或0为结束标志),统计并输出最高成绩和最低成绩。请填空。 #include main() {

float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while ( X>0&&X<=100 ) { if (x>amax) amax=x; else if (x

_k++ _________; d=1.0/(k*(k+1)); } while (k<=n); printf("%f\n",s); 5.执行下述程序的输出结果是_-3 -4 0 4 4 3___ ____。 #inclued main() { int a[6],i; for (i=0;i<6;i++) { a[i]=9*(i-2+4*(i>3))%5; printf("%3d",a[i]); } printf("\n"); } 6.执行下述程序时的输出结果是____6_____ ________。 #include main() { int a[]={2,4,6,},*ptr=&a[0],x=8,y,z; for (y=0;y<3;y++) z=(*(ptr+y)

C语言程序设计100个经典例子

经典C语言程序设计100例 1.数字排列 2.奖金分配问题 3.已知条件求解整数 4.输入日期判断第几天 5.输入整数进行排序 6.用*号显示字母C的图案 7.显示特殊图案 8.打印九九口诀 9.输出国际象棋棋盘10.打印楼梯并按条件打印笑脸11.经典兔子问题12.判断素数 13.水仙花数问题14.正整数分解质因数15.学习成绩划分16.正整数求其最大公约数和最小公倍数 17.统计英文字母/空格/数字个数 18.求s=a+aa+aaa+aa...a的值19.求解"完数" 20.球体自由落下物理问题 21.猴子吃桃问题22.乒乓球比赛抽签问题23.打印菱形图案24.分数数列求和 25.求1+2!+3!+...+20!的和26.利用递归方法求5! 27.将输入字符以相反顺序打印28.岁数问题 29.求解正整数位数30.判断回文数31.星期几猜测游戏32.改变文本颜色 33.学习gotoxy()与clrscr()函数34.练习函数调用35.设置文本颜色36.求100之内的素数37.对10个数进行排序 38.求3*3矩阵对角线元素之和39.数字插入数组重新排序40.将一个数组逆序输出 41.static定义静态变量用法42.使用auto定义变量用法43.使用static的另一用法44.使用external的用法 45.使用register定义变量方法46.宏#define命令练习(1) 47.宏#define命令练习(2) 48.宏#define命令练习(3) 49.#if #ifdef和#ifndef的综合应用50.#include 的应用练习51.学习使用按位与& 52.学习使用按位或| 53.学习使用按位异或^ 54.取一个整数从右端开始的4~7位。55.学习使用按位取反~ 56.用circle画圆形 57.学用line画直线58.用rectangle画方形59.画图综合例子60.画图综合例子2 61.打印杨辉三角形62.学习putpixel画点63.画椭圆ellipse 64.利用ellipse and rectangle画图 65.画个最优美的图案66.输入3个数字按大小顺序输出67.输入数组交换元素重新输出 68.多个整数后移位置问题 69.圆圈报数问题70.计算一个字符串长度71.编写输入/输出函数72.创建链表 73.反向输出链表74.连接两个链表75.算一道简单题目76.调用函数求1/2+1/4+...+1/n 77.填空练习(指向指针的指针) 78.找到年龄最大的人79.字符串排序80.海滩猴子分桃81.已知公式条件求数字82.八进制转换为十进制83.求0-7所能组成的奇数个数84.由两个素数之和表示的偶数 85.判断一个素数能被几个9整除86.两个字符串连接程序87.结构体变量传递88.读取数字的整数值并打印出该值个数的* 89.数据加密90.专升本一题91.时间函数举例1 92.时间函数举例2 93.时间函数举例3 94.一个猜数游戏95.家庭财务管理小程序96.计算字符串中子串出现的次数 97.输入字符并保存到磁盘98.字符串转换成大写字母并输出保存99.文件操作应用1 100.文件操作应用2 -------------------------------------------------------------------------------- c语言经典100题【实用】

C语言试题库(完整版)

C语言试题库 一、单项选择 第一章 C语言概述 (1)一个C程序的执行是从 A、本程序的MAIN函数开始,到MAIN 函数结束。 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C、本程序的MAIN函数开始,到本程序的最后一个函数结束。 D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。(2)以下叙述正确的是 A、在C程序中,MAIN函数必须位于程序的最前面。 B、 C程序的每行中只能写一条语句。 C、 C语言本身没有输入输出语句。 D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。(3) C语言规定,在一个源程序中,MAIN主函数的位置是在: A、必须在最前面。 B、必须在系统调用的库函数的后面 C、可以在任意位置。

D、必须在最后面 (4)一个C程序是由: A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 (5)以下叙述不正确的是: A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个MAIN函数 C、 C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 第二章数据类型、运算符与表达式 (1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32) A、4 B、16 C、32

D、52 (2)下列四组选项中,均不是C语言键字的选项是 A、define , IF, type B、getc, char, printf C、include, scanf, case E、 if, struct, type (3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,do B、float,1a0, _A C、b-a, goto, int D、_123, temp, INT (4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3 B、3*a*e/bc C、3*a*e/b*c D、a*e/c/b*3 (5)已知各变量的类型说明如下:

大学C语言考试题库及答案

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学C语言考试题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题库吧。加油! 一单项选择题库 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是(B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C )。 A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

C语言考试题库之判断题[1]_共5页

三、判断题(10道小题,共10分) 1、c语言具有简洁明了的特点。 正确 2、预处理命令的前面必须加一个“#”号。正确 3、标准格式输入函数seanf()可以从键盘上接收不同数据类型的数据项。 正确 4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{} 括起来组成一个复合语句。 正确 5、continue不是结束本次循环,而是终止整个循环的执行。 错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数 错误 7、.函数的实参传递到形参有两种方式值传递和地址传递 正确 8、直接访问就是直接利用变量的地址进行存取直接访问 正确 9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。 正确 10、文件指针和位置指针都是随着文件的读写操作在不断改变。 错误 11、C语言标准格式输入函数scanfO的参数表中要使用变量的地址值。 正确 12、浮点型常量的指数表示中,6是可以省略的。 错误 13、任何表达式语句都是表达式加分号组成的。 正确 14、在switch语句中,每一个的case常量表达式的值可以相同。 错误 15、do-while循环的while后的分号可以省略。 错误 16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。 正确 17、C语言函数返回类型的默认定义类型是void( 错误 18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数正确 19、枚举类型中的元素都具有一个整型值。 正确 20、C语言是一种具有某些低级语言特征的高级语言。 正确 21、c ase语句后如没有break,顺序向下执行。正确 22、d o-while循环至少要执行一次循环语句。正确

C语言程序设计模拟试题1

C语言程序设计模拟试题. 一、填空题. 1. C语言程序的三种基本结构是顺序结构,选择结构,循环结构。 2.if语句控制表达式只有其值为非0表示逻辑值“真”,其值为0表示逻辑值“假”。 3.说明语句:int b[10]; 定义了数组b有10个整型元素,这些数组元素的下标是从0开始,最大为9。 4. 有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]=0,a[2][1]=6. 5. 设x,y,z均为int 型变量,C语言描述”x或y中有一个小于z”的表达式是x

8. 在C语言中,十进制数30的八进制表示形式是036 ,十六进制表示形式是0x1e 9. C程序是由函数组成的。一个C程序由一个main()函数和若干个子函数构成。函数的构成可分为两部分:函数说明(或函数头) 和函数体。 10.标识符是指程序中的符号常量、变量、函数等对象的名称。在C语言中,标识符只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线。 11.在C语言中整型常量有十进制、八进制和十进制三种表示方法。实型常量有小数形式和指数两种表示方法。 12.C语言中语句的作用是向计算机系统发出操作命令,从而完成一定的操作任务。C语句可以分为:表达式语句、函数调用语句、控制语句、复合语句和空语句等五种类型。 二、单项选择题) 1.一个C语言的执行是从 A (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函数开始,到本程序文件的 最后一个函数结束

经典C语言程序设计100例

经典C语言程序设计100例 【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。 2.程序源代码: main() { int i,j,k; printf("\n"); for(i=1;i<5;i++)/*以下为三重循环*/ for(j=1;j<5;j++) for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k); } } 【程序2】 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 2.程序源代码: main() { long int i; int bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf("%ld",&i); bonus1=100000*0.1;bonus2=bonus1+100000*0.75; bonus4=bonus2+200000*0.5; bonus6=bonus4+200000*0.3; bonus10=bonus6+400000*0.15; if(i<=100000) bonus=i*0.1; else if(i<=200000) bonus=bonus1+(i-100000)*0.075; else if(i<=400000) bonus=bonus2+(i-200000)*0.05;

c语言上机题库 (1)

1、给定n 个数据, 求最小值出现的位置(如果最小值 出现多次,求出第一次出现的位置即可)。 2、编写程序求无理数e 的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当1/n!<0.000001时e=2.718282。 3、求一批数中最大值和最小值的积。 4、某一正数的值保留2位小数,对第三位进行四舍 五入。 5、从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x 的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10) z=|x|+20(其他) 6、求出N ×M 整型数组的最大元素及其所在的行坐标 及列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为: 1 2 3 4 15 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。 7、求一个n 位自然数的各位数字的积。(n 是小于10的 自然数) 8、计算n 门课程的平均值,计算结果作为函数值返回。 例如:若有5门课程的成绩是:92,76,69,58,88, 则函数的值为76.599998。 9、求一批数中小于平均值的数的个数。 10、编写函数判断一个整数m 的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出 100~200之间满足条件的所有数。

11、请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列 中最大元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。 12、编写函数fun用比较法对主程序中用户输入的具有10 个数据的数组a按由大到小排序,并在主程序中输出 排序结果。 13、编写main程序调用函数fact求解从m个元素选n 个元 素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!)。 要求:m不能小于n,否则应有容错处理。 说明:函数fact(x)的功能是求x!。 14、找出一批正整数中的最大的偶数。 15、实现两个整数的交换。 例如:给a和b分别输入:60和65,输入为: a=65 b=60 16、将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 17、求一个四位数的各位数字的立方和。 18、求一组数中大于平均值的数的个数。 例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。 19、对任意输入的x,用下式计算并输出y 的值。 5 x<10 y= 0 x=10 -5 x>10 20、求给定正整数m以内的素数之和。 例如:当m=20时,函数值为77。 21、判断整数x是否是同构数。若是同构数,函数返回1; 否则返回0。x的值由主函数从键盘读入,要求不大

相关主题
相关文档 最新文档