就业数据资源平台
当前位置:首页 > C语言程序设计
2012年3月计算机等考二级C语言冲刺题及答案(4)

 一.单项选择题

  1. 运算符___________的优先级最高。


  A.[ ]


  B. +=


  C. ?:


  D.++


  2.main( )


  { int n; ( n=6*4,n+6),n*2; printf(“n=%d\n”,n); }


  此程序的输出结果是______________.


  A.30


  B. 24


  C. 60


  D. 48


  3.若有如下定义,则__________是对数组元素的正确的引用。.


  int a[10] , *p ; p=a ;


  A. *&a[10]


  B. a[11]


  C. *(p+11)


  D. *p *p *p


  4.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________


  A. 0


  B. 4


  C. - 4


  D. 2


  5.各种基本数据类型的存贮空间正确的长度排列为__________。


  A.Char


  C.Char


  6.下面的变量说明中_____________是正确的。


  A.char:a, b, c;


  B.char a; b; c;


  C.char a, b, c;


  D.char a, b, c


  7.表达式y=(13>12?15:6>7?8:9)的值为____________ 。


  A 9


  B 8


  C 15


  D. 1


  8.若x=5,y=3 则y*=x+5; y的值为_______________.


  A. 10


  B. 20


  C. 15


  D. 30


  9.能正确表示a和b同时为正或同时为负的逻辑表达式是_________。


  A.a>=0||b>=0)&&(a<0 ||b<0)


  B.(a>=0 && b>=0)&&(a<0 && b<0)


  C.(a+b>0) &&(a+b<=0)


  D. a*b>0


  10.C语言中,合法的字符型常数是_________。


  A.‘A’


  B.“A”


  C. 65


  D. A


  11.已有定义 int x=3, y=4, z=5;则表达式“!(x+y)+z-1&&y+z/2”的值是________。


  A.6


  B.0


  C.2


  D.1


  12.若变量c为char类型,能正确判断出c为小写字母的表达式是_______。


  A.’a’<=c<=’z’


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


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


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


  13.设有定义:long x=-123456L; 则以下能够正确输出变量x值的语句是_______。


  A.printf(“x=%d\n”,x)


  B.printf(“x=%ld\n”,x)


  C.printf(“x=l\n”,x)


  C.printf(“x=%D\n”,x);


  14.从循环体内某一层跳出,继续执行循环外的语句是:___________。


  A. break语句


  B.return语句


  C.continue语句


  D.空语句。


  15.C语言用_______表示逻辑“真”值。


  A.true


  B.t或y


  C.非零整型值


  D.整型值0


16.为了避免嵌套的条件分支语句if—else 的二义性,C语言规定:C程序中的else总是与_____组成配对关系。

  A.缩排位置相同的if


  B.在其之前未配对的if


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


  D.同一行上的if


  17.在函数中默认存储类型说明符的变量应该是________存储类型。


  A.内部静态


  B. 外部


  C.自动


  D. 寄存器


  18.C语言中以只读方式打开一个文件应选择_______________参数。


  A.“r”


  B.“w”


  C.“rb”


  D.“a”


  19.设有数组定义:char array[]=”student”;则数组所占的存贮空间为__________。


  A.6个字节


  B. 7个字节


  C. 8个字节


  D. 9个字节


  20.根据C语言的语法规则,下列________个是不合法标识符。


  A.do


  B. Name


  C. R5


  D. _exam


  二.判断题


  1. C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .EXE 的文件。 ( )


  2.在 C 程序中 , 函数既可以嵌套定义 , 也可以嵌套调用。( )


  3.在 C 程序中 ,APH 和 aph 代表不同的变量。( )


  4.表达式 0195 是一个八进制整数。( )


  5.Continue语句的作用是结束本次循环。( )


  6.Extern变量的生命期是整个程序执行期。 ( )


  7.C语言中字符串的结束符是’\0’。 ( )


  8.利用fclose函数关闭已打开的文件。 ( )。


  9.C程序总是从main( ) 函数的第一条语句开始执行的。 ( )


  10.数组名代表数组的首地址。( )


  三.填空


  1.C语言的预处理语句以__________开头。


  2.表达式7+10>2 && 25 %5的结果是_______________________。


  3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。


  Int n=0, ch; Ch=getchar( );


  While( __________________ )


  { if ( ________________ ) n++; c=getchar( ); }


  4.C语言中getchar() 函数的功能是_________________________________。


  5.int *p 的含义是___________________________________________。


  6.定义fp为文件型指针变量的定义方法为_______________________。


  7.数组 int a[3][3];共定义了____________个数组元素。


四、读程序。

  1. 改正下列程序中不正确的语句。


  main( )


  { int a;


  scanf(“%d”, a); if (a = 1) printf(“One\n”) ; }


  2.写出下列程序的运行结果。


  fun(int a, int b)


  { if(a>b) return (a);


  Else return (b); }


  main()


  { int x=3,y=8,z=6,r;


  r=fun(fun(x,y),2*z); printf(“%d\n”,r); }


  3. 改正下列程序中不正确的语句。


  main()


  { int n ;


  float s=1.0;


  for(n=10;n>1;n- -)


  s=s+1/n;


  printf(“%6.1f\n”,s); }


  4. 写出下列程序的运行结果。


  main()


  { int n;


  For(n=3; n<=10; n++)


  { if(n%6= =0) break; Printf(“%d”,n); } }


  5.写出下列程序的运行结果。


  #include “stdio.h”


  Main()


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


  int m,n,*p; p=&a[0]; m=*(p+1); n=*(p+4);


  printf(“%d %d %d ”,*p,m,n); }


  五.编程


  1. 编程计算下列表达式:s=n!(n从键盘上输入)


  2.输出1—100之间不能被12整除的数。


  3.从键盘上输出10个整数存入一维数组中,按由大到小的顺序输出。


  4.从键盘上输入9个数,按3行3列的格式输出。


  5.编程将文件read.txt中的字符读出显示到屏幕上。


参考答案


  一.单项选择题


  1 A 2B 3D 4C 5C


  6C 7C 8D 9D 10A


  11D 12D 13B 14A 15C


  16C 17A 18A 19C 20A


  二.判断题


  1√ 2Ⅹ 3√ 4Ⅹ 5√


  6√ 7√ 8√ 9√ 10√


  三、填空


  1 #号


  2 0


  3 ch!=’\n’ ch>=’0’ && ch<=’9’


  4 从键盘上输入一个字符。


  5 指针变量p为整型


  6 FILE *fp


  7 9


  四、读出程序。


  1 printf("%d,",&a); if (a==1)


  2 12


  3 s=s+1.0/n


  4. 3 4 5


  5 1 2 5


  五.编程序


  1.


  #include "stdio.h"


  main()


  { long t=1;


  int i;


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


  t=t*i;


  printf("%ld",t); }


  2


  #include "stdio.h"


  main()


  { int i;


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


  { if(i==0)


  continue;


  printf("%d ",i);


  }


  3.


  #include "stdio.h"


  main()


  { int i,j,a[10];


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


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


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


  for(j=9;j>i;j--)


  if(a[j-1]{ t=a[j-1];


  a[j-1]=a[j];


  a[j]=t; }


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


  printf("%d",a[i]);


  }


  4.


  #include "stdio.h"


  main()


  { int a[3][3],i,j,s=0;


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


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


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


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


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


  printf(“%d ”,a[i][j] );


  printf(“\n”);


  }


  }


  5.


  #include "stdio.h"


  main()


  { int c;


  FILE *fp;


  fp=open("read.txt","r");


  c=fgetc(fp);


  while(c!='\n')


  { putchar(c);


  c=fgetcr(fp);


  } }


  fclose(); }

就业数据资源平台