多平台全面支持
方便选课,随时随地学习
下载APP
小程序
希赛网小程序
首页 > 自考 > 习题练习
导航

​全国自考(高级语言程序设计)模拟试卷4

责编:彭雅倩 2019-08-12
自考资料领取

一、1.单项选择题

0. 下列关于C语言的描述正确的是(  )

A.C语言是面向硬件的高级语言
B.C语言是面一种面向对象的程序设计语言
C.C语言是一种结构化程序设计语言
D.C语言的前身是汇编语言

1. C语言的基本数据类型包括(  )

A.字符型和数值型
B.字符型和逻辑型
C.整型和实型
D.指针型和数据型

2. 已知有以下定义(假定现有计算机字长为16)   int a=0x48,b=0xf0;  a^b的值为(  )

A.184
B.183
C.290
D.287

3. 若有以下定义:   char s[20]=="programming",*ps=s;  则不能代表字符o的表达式是(  )

A.*(ps+2)
B.s[2]
C.ps[2]
D.*ps+=2

4. 若有说明语句:int I,;则以下关于x、*x、x[0]、&x[0][0]的描述正确的是(  )

A.x、*x、x[0]、&x[0][0]均表示元素x[0][0]的地址
B.只有x、*x表示元素x[0][0]的地址
C.只有x[0]、&x[O]L0]表示元素x[0][0]的地址
D.只有&x[0][0]表示元素的地址

5. 若有下列类型说明语句:  char w;int x;float y;double z;  则表达式w*x+z-y的结果的数据类型是(  )

A.char
B.int
C.float
D.double

6. 下列程序正确的运行结果为(  )  #include<stdio.h>  main()  {int a[]={2,6,8,10,14,18);  int *ptr[-]={&a[0],&a[1],&a[2],&a[3],&a[4]);  int i;  for(i=0;i<5;i++)  a[i]=a[i]/2+a[i]  printf("%d ",*(*(ptr+2)));  printf("%d ",*(*ptr));  }

A.12 21
B.21 12
C.12 3
D.3 12

7. 以下函数的功能是(  )  ABC(ps)  char *ps;  {char *P;  p=ps;  while(*p++);  return(p-ps);  }

A.比较两个字符串的大小
B.求字符串的长度
C.将字符串ps复制到P中
D.以上三种说法都不对

8. 若x、y是int型变量,则执行以下语句后的x值是(  )  #include<stdio.h>  main()  {  int x,y;  for(y=1,x=1;y<50;y++)  {if(x>=10)break;  if(x%2==1)  x+=5;}  x-=3;  }

A.3
B.6
C.7
D.10

9. 执行下列语句后b的值为(  )  int a,b,C,l=4,m=6,n=8;  int *p1=&1,*p2=&m,*p3;  a=p1==&1;b=3*(-*p1)/(*p2)+7;  c=*(p3=&n)=*p1*(*p2);

A.4
B.5
C.7
D.8

10. 若有以下说明,则在seanf函数调用语句中对结构体变量成员引用方式不正确的是(  )  struct pub  {char name[20];  int age;  int sex;  }pub[5],*P;

A.scanf("%s",pup[0].name);
B.scanf("%d",&pup[0].age);
C.scanf("%d",&p->sex);
D.scanf("%d",*P.age);

11. 设有以下定义  int a[4][3]={{1,2,3},{4,5,6},{7,8,9),{10,11,12};  int *ptr[3]={a[0]},*p=a[0];  则以下能正确表达数组元素a[1][2]的表达式是(  )

A.*((*ptr+1)[2])
B.*(*(p+5))
C.*((*ptr+1)+4)
D.*(*(p+1)+2)

12. 执行以下程序段后s的值为(  )  int a[]={5,6.4,4,8,9,5,8};  int s=0;  int k;  for(k=0;k<8;k+=2)  s+=*(a+k):

A.17
B.22
C.27
D.32

13. 不能把字符串"Hello!"符给数组b的语句是(  )

A.char b[10]={"H","e","l","l","o","!"};
B.char b[10];b="Hello!";
C.char b[10];strcpy(b,"Hello!");
D.char b[10]="Hello!";

14. 下列选项中合法的数组定义是(  )

A.int a[]="string";
B.int a[5]={0,1,2,3,4,5};
C.char a="sting";
D.char a[]={0,1,2,3,4}

二、2.填空题

0. 若有定义:double w[6];,则数组元素下标的上限为______。

1. 若有定义语句:int a[]={10,2,20,3,30,4,40},p;p=a;,则执行"p2+=;之后p的值是______。

2. 若定义了 int a[9],*p;,将数组元素a[8]的地址赋给指针变量p的赋语句是______。

3. C语言的保留字主要用于语句的构成,所有保留字均由______组成。

4. 语句";"是无任何操作的语句,被称为______。

5. ______是双目运算符,其运算对象是表达式,其值是右边表达式的值。

6. 若要使用系统函数getchar(),必须在程序的开头使用预编译命令______。

7. 若要以八进制输出整型变量,则要在输出语句中加上格式输出符______。

8. 指针变量的使用主要有两种,一是______;二是引用所指向的变量。

9. 写出n小于m的奇数的表达式______。

三、3.程序分析题

0. #include<stdio.h>
  main()
  {int a[]={2,4,6,8,10};
  int y=1,x,*P;
  p=&a[1];
  for(x=0;x<3;X++)
  y+=*(p+x);
  printf("%d ",y);
  }

1. #include<stdio.h>
  main()
  {char *p[]={"BOOL","OPK","H","ASD");
  int;
  for(i=3;i>=0;i--,i--)
  printf("%s",*(p+i));
  printf(" ");
  }

2. #include<stdio.h>
  int d=1:
  int fun(int p)
  {d+=P++;
  printf("%d",d);
  }
  main()
  {int a=3;
  fun(a);
  d+=a++;
  printf("%d ",d);
  }

3. #include<stdio.h>
  main()
  {int i,j,row,col,max;
  int a[3][4]={{1,2,3,4,},{10,4,20,6,},{0,-1,-3,-5,}};
  max=a[0][0];
  for(i=0;i<3;i++)
  for(j=0;j<4;j++)
  if(a[i][j]>max)
  {max=a[i][j];row=i;col=j;)
  printf("max=%d,row=%d,col=%d ",max,row,col);
  }

四、4.程序填充题

0. 函数YangHui的功能是把杨辉i角形的数据赋给二维数组的下半三角,形式如下:
  1
  1 1
  1 2 1
  1 3 3 1
  1 4 6 4 1
  其构成规律是:(1) 第0列元素和主对角线元素均为1(2) 其余元素为其左上方和正上方元素之和(3) 数据的个数每行递增1
  #include<stdio.h>
  #define N 5
  void YangHui(int x[N][N])
  {int i,j;
  x[0][0]=1;
  for(i=1;i<N;i++)
  {x[i][0]=______=1;/*第一空*/
  for(j=1;j<i;j++)
  if(______)/*第二空*/
  x[i][j]=______;/*第三空*/
  }
  }

1. 下面程序段可以求出n!的值。
  #include<stdio.h>
  main()
  {int i,n;
  long np;
  scanf("%d",&n);
  ______;/*第一空*/
  for(i=2;______;i++)/*第二空*/
  ______;/*第三空*/
  printf("n=%d,n!=%ld ",n,np);
  }

2. 下面程序可用来统计文件中字符的个数。
  #include<stdio.h>
  main()
  {FILE *fp;
  long num=0;
  if((fp=______)==NULL)/*第一空*/
  {printf("Can not open file ");exit(0);}
  while(______)/*第二空*/
  {______;}/*第三空*/
  printf("num=%d ",num);
  fclose(fp);
  }

五、5.程序设计题

0. 编一个程序其功能是输入一个正整数,判断是否是素数,若为素数则输出1,否则输出0。(素数是只能被1和本身整除且大于1的自然数)

1. 有一个字符串,包含n个字符。写一个函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。要求在主函数中输入字符串及m值并输出复制结果。

更多资料

15043《中国近现代史纲要》2026年10月考点总结

2025年4月自考 00159《高级财务会计》 真题及答案解析

00537 中国现代文学史 2026年4月真题

温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
资料下载
  • 语文诗歌阅读答题模板

    下载
  • 00537中国现代文学史第三章 40年代文学

    下载
  • 2025年10月自考 00037《美学》真题及答案解析

    下载
  • 00537中国现代文学史第四章 50至70年代文学

    下载
相关阅读
查看更多