位置:首页 > 自考专业

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

  • 发布时间:2024-09-15 16:21:23
  • 来源:本站整理
  • 阅读:
导读:
  第二部分 非选择题(共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;则该循环共执行 

第二部分 非选择题(共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”。

相关阅读