学历改变命运
24小时客服:4008135555/010-82335555
当前位置:首页 > 笔记串讲 > 自考《高级语言程序设计(一)》06年模拟题

自考《高级语言程序设计(一)》06年模拟题(2)

2006年12月30日    来源:   字体:   打印

  第二部分 非选择题(共80分)

  二、填空题(本大题共10小题,每小题2分,共20分)

  请在每小题的空格中填上正确答案。错填、不填均无分。

  21.设char a,b;则表达式a/b-‘c’的值的类型为 .

  22.设int k=-1;执行printf(“%u”,k);后输出的值是 .

  23.设for(k=0;k<0;k++)++k;则该循环共执行 次。

  24.设int a =1,b=2;经表达式a=a∧b,b=a∧b,a=a∧b运算后a,b的值分别是 .

  25.表示空类型的保留字是 .

  26.被调函数在执行结束时,这个函数中定义的_______________类型的变量不被释放。

  27.设struct student

  {

  int no;

  char name[12];

  float score[3];

  }sl,* p = &sl;

  用指针法给sl的成员no赋值1234的语句是___________________.

  28.C语言程序中对文本文件的存取是以________________为单位进行的。

  29.设char string[] =“This_is_a_book!”;则数组的长度应是________________.

  30.设int a[2][3] = {{2},{3}};则数组元素_____________________的值为3.

  三、程序分析题 (本大题共5小题,每小题5分,共25分)

  阅读下列程序,将输出结果写到各题右侧的空白处31.

  int a = 200;

  main()

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

  {a + + ;

  printf(“﹪d,”,a);

  s()

  }

  {

  s()

  {static int a = 20;

  a + + ;

  printf(“﹪d \ n”,a);

  }

  32.

  # include “stdio.h”

  main()

  {

  char c;

  c = getchar();

  if((c> =‘a’&&c< =‘z’) ‖c> =‘X’&&c< =‘Z’)

  c = c - 23;

  printf(“﹪c \ n”,c);

  }

  设从键盘上输入Next ↙

  33.

  # define N 7

  main()

  {int i,j,temp,a[N]={1,2,3,4,5,6,7};for(i = 0;i;i + + )

  {j = N - 1 - i;temp = a[i];a[i]=a[j];

  a[j]=temp;

  }

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

  printf(“﹪5d”,a[i]);

  }

  34.int x=30,y=50;

  sub(x,y)

  { y=x>y?x:y;

  return y;

  }

  main( )

  {

  {int x=100;

  printf(“%d\n”,sub(x,y));

  }

  printf(“%d,%d\n”,x,y);

  }

  35.设文件file1.c的内容为COMPUTER

  #include “stdio.h”

  main( )

  { FILE *fp;

  char ch;

  if((fp=fopen(“file1.c”,“r”))= =NULL)

  { printf(“Cannot open file \n”);

  exit(0);

  }

  while(!feof(fp))

  {

  ch=fgetc(fp);

  if(ch>=‘A’&&ch<=‘Z’)

  fputc(ch+32,stdout);

  }

  fclose(fp);

  }

  四、程序填充题(本大题共3小题,每小题6分,共18分)

  给出下列程序,将横线处缺少的部分补上,使其能正确运行。

  36.将一个十进制整数n转变为二进制数。

  main( )

  { int i=0,j,n,num[20];

  scanf(“%d”, ); /*第一空*/

  while(n!=0)

  { num[i++]= ; /*第二空*/

  n= ; /*第三空*/

  }

  for(j=i-1;j>=0;j——)

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

  }

  37.一个一维数组和一个二维数组同处一个共用型,将数据输入一维数组后,在二维数组中输出。

  main( )

  {union data

  { int a[10];

  int b ;/*第一空*/

  };

  union data ab;

  int i,j;

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

  scanf(“%d”, ); /*第二空*/

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

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

  printf(“]”, );/*第三空*/

  }

  38. 先为数组a输满数据,再为x输入一个数据,在数组a中找出第一个与x相等的元素并将其下标输出,若不存在这样的元素,则输出“Not found!”标志。

  main()

  {int i,x,a[10];

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

  scanf(“﹪d”,___________);

  scanf(“﹪d”,&x);

  printf(“﹪d”,x);

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

  if(_________________)break;

  if (i _________10)

  printf(“ position:﹪d \ n”,i);

  else printf(“Not found! \ n”,x);

  }

  五、程序设计题(第39小题5分,第40、41小题各6分,共17分)

  39.输出100之内所有个位数字为6且能被3整除的自然数。(如:36,66,96……)

  40. 求1到100之间的奇数之和及偶数之和,并将二者输出。

  41. 输入一字符串,检查是否回文 (回文是指正反序相同,如,LeveL),若是则输出“Yes”,否则输出“No”。

关闭