聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> 苏职大c语言考试填空题大全

苏职大c语言考试填空题大全

时间:2013-01-05 22:31:20    下载该word文档

苏州市职业大学20102011学年第二学期试卷

《计算机语言C 》答案与评分标准

一、填空题 (每空1,161)

1. 下列程序由两个源程序文件:t4.h t4.c 组成,程序编译运行的结果是: 】。

t4.h 的源程序为:

#define N 10

#define f2(x) (x*N)

t4.c 的源程序为:

#include

#define M8

#define f(x)((x)*M)

#include "t4.h"

main( )

{ int i,j;

i=f(1+1); j=f2(1+1);

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

}

【答案】

16 11

2. 执行以下程序后,输出'#'号的个数是【 】。

#include

main()

{ int i,j;

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

for(j=2; j<=i; j++) putchar('#');

}

【答案】

6

3. 请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。

( doubledouble);

main()

{ double xy;

scanf("%lf%lf"&x&y );

printf("%lf\n"max(x y));

}

double max(double adouble b)

{ return(a>b ? a:b); }

【答案】

double max

4. 下面程序把从终端读入的10个整数以二进制的方式写到一个名为bi.dat的新文件中。请填空。

#include

FILE *fp;

main( )

{ int i,j;

if((fp=fopen(" ","wb"))==NULL) exit(0);

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

{ scanf("%d",&j);

fwrite(&j,sizeof(int),1, );

}

fclose(fp);

}

【答案】

bi.dat fp

5. 以下程序中函数fun 的功能是:统计person 所指结构体数组中所有性别(sex)为M

的记录的个数,存入变量n 中,并作为函数值返回。请填空。

#include

#define N 3

typedef struct

{ int num; char nam[10]; char sex; } SS;

int fun(SS person[])

{ int i,n=0;

for(i=0; i

if( =='M') n++;

return n;

}

main()

{ SS W[N]={{1, "AA",’F’},{2, "BB",'M'},{3, "CC",'M'}}; int n;

n=fun(W); printf("n=%d\n", n);

}

【答案】

person[i].sex

6. 己知a所指的数组中有N个元素。函数fun的功能是,将下标k(k>0)开始的后续元素全部向前移动一个位置。请填空。

  void fun(int a[N],int k)

  { int i;

  for(i=k;i ;i++)

a =a[i];

}

【答案】

7. 若有定义语句:int a=5;,则表达式a++的值是【 】。

【答案】

5

8. 若有定义:int k; ,以下程序段的输出结果是【 】。

for(k=2;k<6;k++,k++) printf("##%d",k);

【答案】

##2##4

9. 以下程序的输出结果是【 】。

#include

void fun(int x)

{

if(x/2>0) fun(x/2);

printf("%d",x);

}

main()

{

fun(3);printf("\n");

}

【答案】

13

10. 以下程序运行后的输出结果是【 】。

main()

{ int i=10, j=0;

do

{ j=j+i; i--;

}while(i>2);

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

}

【答案】

52

11. 下面程序的运行结果是:【

int f( int a[] int n)

{ if(n>1) return a[0]+f(&a[1]n-1);

else return a[0];

}

main ( )

{ int aa[3]={123}s;

s=f(&aa[0]3); printf("%d\n"s);

}

【答案】

6

12. 下列程序运行后的输出结果是【 】。

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);

}

【答案】

4 3 3 4

13. i,j,k均为int型变量,则执行完下面的for循环后,k的值为【

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

k=i+j;

【答案】

10

14. 以下函数的功能是计算s=1+1/2!+1/3!+……+1/n!,请填空。

double fun(int n)

{double s=0.0fac=1.0; int i;

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

{fac=fac ;

s=s+fac;

}

return s;

}

【答案】

*(1.0/i)

15. 以下程序运行后的输出结果是【

main()

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

if (c=a+b) printf("yes\n");

else printf("no\n");

}

【答案】

yes

16. 以下fun函数的功能是在NM列的整形二维数组中,选出一个最大值作为函数值返回,请填空。(设M,. N已定义)

  int funint aN[M]

  {int ijrow=0col=0

  fori=0iI++

  forj=0j

  ifai][j]>arow][col]){row=icol=j;}

  return(【 );

  }

【答案】

a[row][col]

17. 下列程序的运行结果是【 】。

int k=0;

void fun(int m)

{m+ =k;k+ =m;printf("m=%dk=%d",m,k+ +);}

main( )

{ int i=4;

fun(i+ +); printf("i=%dk=%d\n",i,k);

}

【答案】

m=4 k=4 i=5 k=5

18. 以下程序运行后的输出结果是【 】。

  #includestdioh>

  main()

  {int a=200b=010

  printfd%d\n”ab);

  }

【答案】

2008

19. 下列程序用于判断abc 能否构成三角形,若能,输出YES,否则输出NO。当给a

bc 输入三角形三条边长时,确定abc 能构成三角形的条件是需同时满足三个条

件:a+b>ca+c>bb+c>a。请填空。

main( )

{ float a,b,c;

scanf("%f%f%f",&a,&b,&c);

if( )printf("YES\n"); /*abc 能构成三角形*/

else printf("NO\n"); /*abc 不能构成三角形*/

}

【答案】

(a+b>c)&&(a+c>b)&&(b+c>a)

20. 下列程序的输出结果是【 】。

#include

main( )

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

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

}

【答案】

5 4

21. 请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。

( doubledouble);

main()

{ double xy;

scanf("%lf%lf"&x&y );

printf("%lf\n"max(x y));

}

double max(double adouble b)

{ return(a>b ? a:b); }

【答案】

double max

22. i,j,k均为int型变量,则执行完下面的for循环后,k的值为【

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

k=i+j;

【答案】

10

23. 有下列程序:

int sub(int n) { return(n/10+n%10);}

main( )

{ int x,y;

scanf("%d",&x);

y=sub(sub(sub(x)));

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

}

若运行时输入:1234,程序的输出结果是【 】。

【答案】

10

24. 下列程序的功能是输出如下形式的方阵:

13 14 15 16

9 10 11 12

5 6 7 8

1 2 3 4

请填空。

main( )

{ int i,j,x;

for(j=4;j ;j--)

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

{ x=(j-1)*4+ ;

printf("%4d",x);

}

printf("\n");

}

}

【答案】

>0 i

25. 若有程序,要求给i10,给j20,则应该从键盘输入【 】。

main()

{ int i,j;

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

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

}

【答案】

i=10,j=20

26. 下列程序中的函数strcpy2( )实现字符串两次复制,即将t 所指字符串复制两次到s

指内存空间中,全并形成一个新字符串。例如。若t 所指字符串为:efgh,调用strcpy2

后,s 所指字符串为:efghefgh。请填空。

#include

#include

void strcpy2(char *s,char *t)

{ char *p=t;

while(*s+ + =*t+ +);

s= ;

while ( =*p+ +);

}

main( )

{ char str1[100]= "abcd",str2[ ]="efgh";

strcpy2(str1,str2); printf("%s\n",str1);

}

【答案】

s-1 *s++

27. 若已定义:int a[10]i;,以下fun函数的功能是:在第一个循环中给前10个数组元素依次赋12345678910;在第二个循环中使a数组前10个元素中的值对称折叠,变成1234554321。请填空。

fun( int a[ ])

{ int i;

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

for(i=0; i<5; i++) =a[i];

}

【答案】

a[i-1] a[9-i]

28. 下列程序运行后的输出结果是【 】。

main( )

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

if(b

if(a

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

【答案】

435

29. yint型变量,请写出判断y为奇效的关系表达【 】。

【答案】

(Y%2)= =1

30. yint型变量,请写出判断y为奇效的关系表达【 】。

【答案】

(Y%2)= =1

31. 下列程序运行后的输出结果是【 】。

main( )

{ char c; int n=100;

float f=10; double x;

x=f* =n/ =(c=50);

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

}

【答案】

2 20.000000

32. 下列程序运行后的输出结果是【 】。

main( )

{ int a, b,c;

a=10; b=20; c=(a%b<1)(a/b>1);

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

}

【答案】

10201

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

main()

{ int s,i;

for(s=0,i=1;i<3;i++,s+=i);

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

}

【答案】

5

34. fp已正确定义为一个文件指针,d1.dat为二进制文件,请填空,以便为而打开此文件:

fp=fopen( );

【答案】

d1.fat,rb

35. mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。请填空。

int mystrlen(char *str)

{ int i;

for(i=0; !=\0';i++);

return( );

}

【答案】

*(str+i)str[i] i

36. 以下程序运行后的输出结果是【

main()

{ int p=30;

printf("%d\n",(p/3>0?p/10:p%3));

}

【答案】

3

37. C语言中,当表达式值为0时表示逻辑值,当表达式值为【 】时表示逻辑值

【答案】

0

38. 下列函数rotate 的功能是:将a 所指N N 列的二维数组中的最后一行放到b 所指

二维数组的第0 列中,把a 所指二维数组中的第0 行放到b 所指二维数组的最后一列

中,b 所指二维数组中其他数据不变。

#define N 4

void rotade(int a[ ][N],int b[ ][N])

{ int i,j;

for(i=0;I

{ b[i][N-1]= ; =a[N-1][i]; }

}

【答案】

a[0][i] b[0][i]

39. 有以下程序

  #includestdioh>

  intfint *pintq);

  main()

  {int m=1n=2,*r=&m

  r=fr,&n);printfdn”,*r);

  }

  intfint *pintq

  {return*p>q?pq;}

  程序运行后的输出结果是【

【答案】

2

40. 以下函数把b字符串连接到a字符串的后面,并返回a中新字符串的长度。请填空。

Strcen(char a[], char b[])

{ int num=0,n=0;

while(*(a+num)!= ) num++;

while(b[n]){*(a+num)= b[n]; num++; ;}

return(num);

}

【答案】

\0'0 n++n+=1n=n+1

41. 已有定义:char c=' ';int a=1, b;(此处c 的初值为空格字符),执行b=!c &&a;

b 的值为【 】。

【答案】

0

42. 设变量a b 已正确定义并赋初值。请写出与a-=a+b 等价的赋值表达式【 】。

【答案】

a=a-(a+b) a=-b

43. 函数fun的功能是:使一个字符串按逆序存放,请填空

void fun (char str[])

{ char m; int ij;

for(i=0j=strlen(str);i< ;i++j--)

{ m=str[i];

str[i]= ;

str[j-1]=m;

}

printf("%s\n"str);

}

【答案】

strlen(str )/2strlen(str)/2.00.5*strlen(str)jj-1 str[j-1]*(str+j-1)

44. 下列程序的功能是:将输入的正整数按逆序输出。例如:若输入135 则输出531。请

填空。

#include

main( )

{ int n,s;

printf("Enter a number : "); scanf("%d",&n);

printf("Output: ");

do

{ s=n%10; printf("%d",s); 】;}

while(n! =0);

printf("\n");

}

【答案】

n/=10

45. 下列程序的输出结果是【 】。

#include

main()

{ int n=12345,d;

while(n! =0) { d=n%10;printf("%d",d);n/=10; }

}

【答案】

54321

46. 执行下列程序后的输出结果是【 】。

main( )

{ int a=10;

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

}

【答案】

a=14

47. 以下函数的功能是:求xy次方,请填空。

double fun( double x int y)

{ int i;

double z;

for(i=1 z=x; i ;

return z;

}

【答案】

x

48. 设有以下变量定义,并已赋确定的值

char w int x float y double z

则表达式:w*xzy所求得值的数据类型为【

【答案】

double

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

  #include

  main()

  { int a;

  a=(int)((double)(3/2)+0.5+(int)1.99*2);

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

  }

【答案】

3

50. 下列程序运行后的输出结果【 】。

main( )

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

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

else printf("%d\n"b);

}

【答案】

1

51. 有下列程序段,且变量已正确定义和赋值

for(s=1.0,k=1;k<=n;k+ +) s=s+1.0/(k*(k+1) );

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

请填空,使下列程序段的功能与之完全相同

s=1.0;k=1;

while( ){s=s+1.0/(k*(k+1) ); ;}

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

【答案】

k<=n k++

52. 以下sstrcpy( )函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。

void sstrcpy(char *s,char *t)

{ while(*s++= );}

main( )

{ char str1[100],str2[]="abcdefgh";

sstrcpy(str1,str2);

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

}

【答案】

*t++

53. 以下程序输出的结果是 】。

main()

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

d=(a>b>c);

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

}

【答案】

0

54. 有以下程序,程序运行后的输出结果是【 】。

float fun(int xint y)

{return(x+y); }

main()

{int a=2b=5c=8;

printf("%3.0f\n"fun((int)fun(a+cb)a-c));

}

【答案】

9

55. 以下程序用来输出结构体变量ex所占存储单元的字节数,请填空。

struct st

{ char name[20]; double score; };

main()

{ struct st ex;

printf("ex size: %d\n",sizeof( ));

}

【答案】

struct st ex

56. 执行以下程序后,输出'#'号的个数是【 】。

#include

main()

{ int i,j;

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

for(j=2; j<=i; j++) putchar('#');

}

【答案】

6

57. 下列程序的输出结果是【 】。

#include

main( )

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

【答案】

9

58. 有以下程序,请在 处填写正确语句,使程序可正常编译运行。

  #include

  【 ;

  main()

  { double x,y,(*p)();

  scanf("%lf%lf",&x,&y);

  p=avg;

  printf("%f\n",(*p)(x,y));

  }

  double avg(double a,double b)

  { return((a+b)/2);}

【答案】

double avg(double a,double b);

59. 有以下程序

  #includestdioh>

  main()

  {int i,n[]={0,0,0,0,0};

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

  {n[i]=n[i-1]3+1; printf”%d ",n[i]);}

  }

  程序运行后的输出结果是【 】。

【答案】

141340

60. 下列程序运行后的输出结果是【 】。

main( )

{ char c1,c2;

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

printf("\n");

}

【答案】

0918273645

61. 若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是 [ ]

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

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

【答案】

3

62. 下列程序中,fun()函数的功能是计算x2-2x+6,主函数中将调用fun()函数计算:

y1=(x+8)2-2(x+8)+6

y2=sin2(x)-2sin(x)+6

请填空。

#include "math.h"

double fun(double x){return(x*x-2*x+6);}

main( )

{ double x,y1,y2;

printf("Enter x: "); scanf("%lf",&x);

y1=fun( );

y2=fun( );

printf("y1=%lf,y2=%lf\n",y1,y2);

}

【答案】

x+8 sin(x)

63. 设有如下宏定义

#define MYSWAP(z,x,y) {z=x; x=y; y=z;}

以下程序段通过宏调用实现变量ab内容交换,请填空。

float a=5,b=16,c;

MYSWAP( ,a,b);

【答案】

c

64. 以下sum函数的功能是计算下列级数之和。

s=1x+x^2/2!+x^3/3!+........+x^n/n!

请给函数中的各变量正确赋初值。

double sum(double x int n )

{ int i; double abs;

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

{ a=a*x; b=b*i; s=s+a/b; }

return s;

}

【答案】

a=1;b=1;s=1;

65. 下列程序的输出结果是【

#include

main( )

{ int i;

for(i='a';i<'f';i+ +,i+ +) printf("%c",i-'a'+'A');

printf("\n");

}

【答案】

ACE

66. 若有语句

int i=-19,j=i%4;

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

则输出的结果是【 】。

【答案】

-3

67. 设有定义

struct person

{ int ID;char name[12];}p;

请将scanf("%d", );语句补充完整,使其能够为结构体变量p

成员ID正确读入数据

【答案】

&p.ID

68. 下列程序的功能是输出abc 三个变量中的最小值。请填空。

#include

main( )

{ int a,b,c,t1,t2;

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

t1=a ;

t2=c ;

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

}

【答案】

a:b c:t1

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

main( )

{ int m=011,n=11;

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

}

【答案】

10 11

70. 以下程序的功能是:借助指针变量找出数组元素中的最大值及其元素的下标值。请填空。

  #include

  main()

  { int a[10],*p,*s;

  for(p=a;p-a<10;p++) scanf("%d",p);

  for(p=a,s=a;p-a<10;p++) if(*p>*s) s= ;

  printf(“index=%d\n”,s-a);

  }

【答案】

p

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

#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);

}

【答案】

7

72. 表达式(int)((double)(5/2)+2.5)的值是【

【答案】

4

73. 执行下列程序时,输入1234567,则输出结果是【 】。

#include

main( )

{ int a=1,b;

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

}

【答案】

12 34

74. 有以下程序

  #includestdioh>

  main()

  {int x,Y;

  scanf2d%3d”,&x,&y);printfdn”x+y);

  }

  程序运行时输入:1234567程序的运行结果是【 】。

【答案】

357

75. xint型变量,请写出一个关系表达式 ,用以判断x同时为37的倍数时,关系表达式的值为真。

【答案】

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

76. 设有以下程序: 程序运行后,如果从键盘上输入1298;则输出结果为 】。

main()

{ int n1,n2;

scanf("%d",&n2);

while(n2!=0)

{ n1=n2%10;

n2=n2/10;

printf("%d",n1);

}

}

【答案】

8921

77. 若变量ab 已定义为int 类型并赋值21 55,要求用printf 函数以a=21b=55 的形

式输出,请写出完整的的输出语句

【答案】

printf("a=%d,b=%d",a,b);

78. 设有说明:

struct DATE{int year;int month;int day;};

请写出一条定义语句,该语句定义d 为上述结构体类型变量,并同时为其成员year

monthday 依次赋初值2006101 】。

【答案】

struct DATE d={2006,10,1};

79. 已知字母A ASCII 码为65,下列程序运行后的输出结果是【 】。

main( )

{ char a,b;

a='A'+'5'-'3'; b=a+'6'-'2';

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

}

【答案】

67 G

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

  #include

  main()

  { int x=10,y=20,t=0;

  if(x==y)t=x;x=y;y=t;

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

  }

【答案】

20 0

81. 以下程序的定义语句中,x[1]的初值是【 】,程序运行后输出的内容是【 】。

#include

main()

{

int x[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i;

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

{

p[i]=&x[2*i+1];

printf("%d",p[i][0]);

}

printf("\n");

}

【答案】

2 2 4 6 8

82. 下列程序统计从终端输入的字符中大写字母的个数,num0]中统计字母A 的个数,

num[1]中统计字母B 的个数,其他依次类推。用#号结束输入,请填空。

#include

#include

main( )

{ int num[26]={0},i; char c;

while(( )! ='#')

if(isupper(c)) num[c-'A']+ = ;

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

printf("%c:%d\n",i+'A',num[i]);

}

【答案】

c=getchar() 1

83. 以下程序的功能是调用函数fun计算:m=1-2+3-4++9-10,并输出结果。请填空。

int fun( int n)

{ int m=0f=1i;

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

{ m+=i*f;

f= ;

}

return m;

}

main()

{ printf("m=%d\n",【 ); }

【答案】

-f f(10)

84. 若整型变量a b 中的值分别为7 9,要求按以下格式输出a b 的值:

a=7

b=9

请完成输出语句:printf (" ",a,b);

【答案】

a=%d\nb=%d

85. 下列程序中,fun()函数的功能是求3 4 列二维数组每行元素中的最大值。请填空。

void fun(int, int, int(*)[4],int*);

main( )

{ int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;

fun(3,4,a,b);

for(i=0;i<3;i+)printf("%4d",b[i]);

printf("\n"); }

void fun(int m, int n, int ar[ ][4], int *br)

{ int i, j, x;

for(i=0;i

{ x=ar[i][0];

for(j=0;j

if(x

=x;

}

}

【答案】

br[i]

86. 以下函数用来在w数组中插入x,w数组中的数已按由小到大顺序存放,n所指存储单元中存放数组中数据的个数,插入后数组中的数仍有序。请填空:

void fun (char *w,char x,int *n)

{ int i,p;

p=0;

while (x>w[p])

for(i=*n;i>p;i--)w[i]=

w[p]=x;

++ *n;

}

【答案】

p++; w[i-1];

87. 以下fun函数的功能是:找出具有N个元素的一维数组中的最小值,并作为函数值返回。请填空。(设N已定义)

  int funint xN])

  {int ik=0

  fori=0iI++

  ifxi< x[k])【 ;

  return xk];

  }

【答案】

k=i

88. 以下函数的功能是删除字符串s中的所有数字字符。请填空。

viod dele(char *s)

{ int n=0,i;

for(i=0;s[i];i++)

if( )

s[n++]=s[i];

s[n]= ;

}

【答案】

!(s[i]>='0'&&s[i]<='9') '\0'

89. 下面的程序是求满足如下条件的最大的n:12+22+32+...+n2<1000。请填空。

main()

{ int s, n;

;

while(s<1000)

{ n++; s+=n*n; }

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

}

【答案】

s=n=0 n-1,s-n*n

90. 以下程序的功能是调用函数fun计算:m=1-2+3-4++9-10,并输出结果。请填空。

int fun( int n)

{ int m=0f=1i;

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

{ m+=i*f;

f= ;

}

return m;

}

main()

{ printf("m=%d\n",【 ); }

【答案】

-f f(10)

91. 有以下定义和语句,sizeof(a)的值是【 ,sizeof(a.share)的值是【

struct date{ int day;

int month;

int year;

union{int share1

float share2;

}share;

}a;

【答案】

10 4

92. 下面函数用来求出两个整数之和,并通过形参传回两数相加之和值,请填空。

int add(int x,inty, )

{ =x+y;}

【答案】

int *z *z

93. 有以下语句段

int n1=10,n2=20;

printf(" ",n1n2);

要求按以下格式输出n1n2的值,每个输出行从第一列开始,请填空。

n1=10

n2=20

【答案】

n1=%d\nn2=%d

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

fun(int x)

{ if(x/2>0) fun(x/2) ;

printf("%d "x);

}

main()

{ fun(6); }

【答案】

1 3 6

95. 设有定义:FILE *fw;,请将以下打开文件的语句补充完整,以便可以向文本文件

readme.txt 的最后续写内容。

fw=fopen("readme.txt", );

【答案】

"a"

96. 下列程序的功能是输入任意整数给n 后,输出n 行由大写字母A 开始构成的三角形

字符阵列图形。例如,输入整数5 时(注意:n 不得大于10),程序运行结果如下:

A B C D E

F G H I

J K L

M N

O

请填空完成该程序。

main( )

{int i,j,n; char ch='A';

scanf("%d",&n);

if(n<11)

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

{for(j=1; j<=n-i+1;j+ +)

{ printf("%2c",ch);

;

}

;

}

}

else printf("n is too large!\n")

printf("\n");

}

【答案】

ch++ printf("\n")

97. 下列程序的运行结果为【

#include 

#include 

struct A

{int a; char b[10];double c;};

void f(struct A *t);

main()

{ struct A a={1001,"ZhangDa",1098.0};

  f(&a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);

}

void f(struct A *t)

{ strcpy(t->b,"ChangRong");}

【答案】

1001,ChangRong,1098.0

98. 下面程序的功能是:输出 100以内能被 3整除且个位数为 6的所有整数,请填空。

includestdioh

main()

{ int i, j;

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

{ j=i *106

if ( ) continue;

printf("%d", j)

}

}

【答案】

j%3!=0j%3

99. 若有以下定义和语句,sizeof(a)的值是【 ,sizeof(b)的值是【 】。

struct { int day; char mouth; int year;}a;*b;

b=&a;

【答案】

5 2

100. 已知字符A ASCII 代码值为65,下列程序运行时若从键盘输入:B33。则输

出结果是 】。

#include

main( )

{ char a,b;

a=getchar( );scanf("%d", &b);

a=a-'A'+'0'; b=b*2;

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

}

【答案】

1B

101. 下列函数fun 的功能是返回str 所指字符串中以形参c 中字符开头的后续字符串的首

地址,例如:str 所指字符串为:Hello!c 中的字符为e,则函数返回字符串:ello!

的首地址。若str 所指字符串为空串或不包含c 中的字符,则函数返回NULL。请填

空。

char *fun(char *str,char c)

{ int n=0; char *p=str;

if(p! =NULL)

while(p[n]! =c&&p[n]! = '\0')n+ +;

if(p[n]= = '\0') return NULL;

return( );

}

【答案】

p+n

102. 设有定义语句:int a[ ][3]={{0},{1}{2}};,则数组元素a[1][2]的值是【 】。

【答案】

0

103. 有以下程序(说明:字符0ASCII码值为48)

  #include

  main()

  { char c1,c2;

  scanf("%d",&c1);

  c2=c1+9;

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

  }

  若程序运行时从键盘输入48<回车>,则输出结果为

【答案】

09

104. 有以下程序

#include 

main()

{  char a[20]="How are you?",b[20];

   scanf("%s",b); printf("%s %s\n",a,b);

}

程序运行时从键盘输入: How are you?<回车>

则输出结果为【

【答案】

How are you? How

105. 以下程序运行后的输出结果是【

#include 

main()

{  int x=20;

   printf("%d ",0

   printf("%d\n",0

}

【答案】

1 0

106. 下列程序的功能是:输出100 以内(不含100)能被3 整除且个位数为6 的所有整数,

请填空。

main( )

( int i,j;

for(i=0; ;i+ +)

{ j=i*10+6;

if( )continue;

printf("%d",j);

}

}

【答案】

i<10 j%3!=0

107. 下面程序的功能是从键盘输入10个无序的整数,去掉一个最大数和最小数,然后求其平均值。请填空。

main()

{ int j,x,max,min,sum;

float ave;

printf(Enter 10 number:\n);

scanf(%d,&x);

sum=max=min=x;

for( ;j<=10;j++)

{ ;

sum+=x;

if( x>max ) max=x;

else if(x

}

;

ave=sum/8.0;

printf(The average is %.2f\n,ave);

}

【答案】

j=2 scanf("%d",&x) sum=sum-max-min

108. 函数pi的功能是根据以下近似公式求π值:

(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)

现在请你在下面的函数中填空,完成求π的功能。

#include "math.h"

double pi(long n)

{ double s=0.0; long i;

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

return(sqrt(6*s));

}

【答案】

1.0/(i*i)

109. 若变量x,y已定义为int类型且x的值为99y的值为9,请将输出语句printf( ,x/y);

  补充完整,使其输出的计算结果形式为: x/y=11

【答案】

"x/y=%d"

110. 下列程序运行后的结果是【 】。

#include

void fun(char *s, int p, int k)

{ int i;

for(i=p;i

main( )

{ char s[ ]="abcdefg";

fun(s,3,strlen(s)); puts(s);

}

【答案】

abcfg

111. 下面程序的功能是:计算110之间的奇数之和及偶数之和,请填空。

include Stdioh

main()

{ int a b c i

a=c=0

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

{ a+=i

】;

c+=b

}

printf("偶数之和=d\na)

printf"奇数之和=d\nc-11);

}

【答案】

b=i+1

112. 下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。请填空。

#include

#include

main()

{ char a[]="clanguage",t;

int i,j,k;

k=strlen(a);

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

for(j=i+2;j )

if ( ) { t=a[i]; a[i]=a[j]; a[j]=t;}

puts(a);

printf("\n");

}

【答案】

j+=2 a[i]>a[j]

113. 下列程序的输出结果是【 】。

#include

#define M 5

#define N M+M

main()

{ int k;

k=N*N*5;printf("%d\n",k);

}

【答案】

55

114. 下列程序运行时若从键盘输入:10 20 30。输出结果是【 】。

#include

main( )

{ int i=0, j=0, k=0;

scanf("%d%*d%d",&i,&j,&k); printf("%d%d%d\n",i,j,k);

}

【答案】

10300

115. 若想通过以下输入语句使a=5.0b=4c=3,则输入数据的形式应该是 】。

int bc float a

scanf("%f%dc=%d"&a&b&c)

【答案】

5.0,4,c=3

116. 下列程序的功能:利用指针指向3 个整型变量,并通过指针运算找出3 个数中的最大

值,输出到屏幕上。请填空。

main( )

{int x,y,z,max, *px, *py, *pz, *pmax;

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

px=&x; py=&y; pz=&z; pmax=&max;

;

if(*pmax<*py)*pmax=*py;

if(*pmax<*pz)*pmax=*pz;

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

}

【答案】

*pmax=*px

117. 若有以下程序,执行后输出结果是【 】。

main()

{ char a;

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

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

}

【答案】

7

118. 若有语句double x=17;int y;,当执行y=(int)(x/5)%2;之后y的值是【

【答案】

1

119. 设有定义:float x=123.4567;,则执行下列语句后的输出结果是【 】。

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

【答案】

123.460000

120. 以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。

例如:输入的两个字符串分别为abcdefabceef,则输出为-1。请填空。

#include

main()

{ char str[100],str2[100],c;

int i,s;

printf("\n input string 1:\n"); gest(str1);

printf("\n input string 2:\n"); gest(str2);

i=0;

while((strl[i]==str2[i]&&(str1[i]!= ))

i++;

s= ;

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

}

【答案】

'\0'0 strl[i]-str2[i]

121. 65. 以下程序的输出结果是【

int fun(int xint y)

{ static int m=0i=2;

i+=m+1;

m=i+x+y;

return m

}

main()

{ int j=4m=1k;

k=fun(jm); printf("%d"k);

k=fun(jm); printf("%d\n"k);

}

【答案】

817

122. 有以下程序,执行后输出结果是【 】。

main( )

{ int t=1,i=5;

for(;i>=0;i--) t*=i;

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

}

【答案】

0

123. 下列函数sstrcat( )的功能是实现字符串的连接,即将t 所指字符串复制到s 所指字符

串的尾部。例如:s 所指字符串为abcdt 所指字符串为efgh,函数调用后s 所指字

符串为abcdefgh。请填空。

#include

void sstrcat(char *s,char *t)

{ int n;

n=strlen(s);

while(*(s+n)= ){s+ +,t+ +;}

}

【答案】

*t

124. 有以下语句段

int n1=10,n2=20;

printf(" ",n1n2);

要求按以下格式输出n1n2的值,每个输出行从第一列开始,请填空。

n1=10

n2=20

【答案】

n1=%d\nn2=%d

125. 下列程序的功能是计算:s=1+12+123+1234+12345。请填空。

main( )

{ int t=0,s=0,i;

for(i=1;i =5;i+ +}

{ t=i+ ; s=s+t; }

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

}

【答案】

t*10

126. 当执行下列程序时,输入1234567890,则其中while 循环体将执行【 】次。

#include

main( )

{ char ch;

while((ch=getchar( ))= ='0')printf("#");

}

【答案】

0

127. 下列程序中huiwen()函数的功能是检查一个字符串是否是回文,当字符串是回文时,

函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出。所谓回文即

正向与反向的拼写都一样,例如:adgda。请填空。

#include

char*huiwen(char *str)

{ char *p1,*p2; int i,t=0;

p1=str; p2= ;

for(i=0);i<=strlen(str)/2;i+ +)

if(*p1+ +! =*p2--){t=1;break;}

if( )

return("yes!");

else

return("no!");

}

main( )

{ char str[50];

printf("Input:"); scanf("%s",str);

printf("%s\n", );

}

【答案】

str+strlen(str)-1 i>strlen(str)/2 huiwen(str)

128. 以下程序运行后的输出结果是【

#include 

main()

{  int a=1,b=7;

   do{

      b=b/2;a+=b;

   } while (b>1);

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

}

【答案】

5

129. 已知字符AACSII码值为65,以下语句的输出结果是【

char ch=B;

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

【答案】

B 66

130. 下列isprime 函数的功能是判断形参a 是否为素数,是素数,函数返回1

否则返回0。请填空

int isprime(int a)

{ int i;

for(i=2;i<=a/2;i+ +)

if(a%i= =0) ;

;

}

【答案】

return 0 return 1

免费下载 Word文档免费下载: 苏职大c语言考试填空题大全

  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服

常用手机号:
用于找回密码
图片验证码:
看不清?点击更换
短信验证码:
新密码:
 
绑定后可用手机号登录
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系 在线客服