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

​2012年全国高等教育自学考试高级语言程序设计标准预测试卷(4)

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

2012年全国高等教育自学考试高级语言程序设计标准预测试卷(4):2012年全国高等教育自学考试高级语言程序设计标准预测试卷。本试卷总分100分;共有5类型题目

一、单项选择题,每小题2分,共30分,在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.下列关于C语言的描述正确的是( )
A.C语言是面向硬件的高级语言
B.C语言是面一种面向对象的程序设计语言
C.C语言是一种结构化程序设计语言
D.C语言的前身是汇编语言

2.C语言的基本数据类型包括( )
A.字符型和数值型
B.字符型和逻辑型
c.整型和实型
D.指针型和数据型

3.已知有以下定义(假定现有计算机字长为16)
Int a=0x48,b=0xf0;
a^b的值为( )
A.184
B.183
C.290
D.287

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

5.若有说明语句: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]表示元素的地址

6.

若有下列类型说明语句:

char w;int x;float y;double z;
则表达式w*x+z-y的结果的数据类型是( )
A.char
B.int
C.float
D.double

7.下列程序正确的运行结果为( )
#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

8.以下函数的功能是( )
ABC(ps)
char *ps;
{char *P;
p=ps;
while(*p++);
return(p-ps);
}
A.比较两个字符串的大小
B.求字符串的长度
C.将字符串ps复制到P中
D.以上三种说法都不对

9.若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

10.执行下列语句后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

11.若有以下说明,则在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);

12.设有以下定义
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)

13.执行以下程序段后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

14.不能把字符串"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!";

15.下列选项中合法的数组定义是( )
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分,共20分请在每小题的空格中填上正确答案。错填、不填均无分。

16.与标准输出设备所对应的文件型指针名为______。

17.将字符串写入文件时,不写入文件的字符串结束标志是______。

18.将字符转换成ASCⅡ代码值的函数是______。

19.文件包含命令是以______为开头的编译预处理命令。

20.______是C语言中唯一的一个三目运算符,它是由两个符号组成。

21.数组int arry[5][9];的第二维下标的最大值是______。

22.在进行程序清单的编译时,______是先于编译进行的。

23.已知char str[]="ABCD";,则语句printf("%d",strlen(str));的输出是______。

24.设int a;float b;char c;long d;double e;unsigned u;,则表达式a+c/b-d*e+u值的类型是______。

25.设
int x=5;
x+==x-=x*x;
则x的值是______。
三、程序分析题
阅读下列程序,将输出结果写到各题右侧的空白处。

三、程序分析题,每小题5分,共20分阅读下列程序,将输出结果写到各题右侧的空白处。

26.#include<stdio.h>
void main()
{int i;
for(i=1;i<5;i++)
printf("%d %c ",i,("A"+i));
}

27.#include<stdio.h>
void main()
{int i,j,a[4][4];
for(i=0;i<4;i++)
for(j=0;0<4;j++) a[i][j]=1+i;--j;
for(i=0;i<4;i++)
{for(j=0;j<4;j++)
if(a[i][j]>0)printf("%3 d",a[i][j]);
printf(" ");}
}

28.#include<stdio.h>
int f(int n)
{static int s=1;
while(n)s*=n--;
return s;
}
main()
{int i,j;
i=f(3);j=f(5);
printf("The output is: ");
printf("i=%d j=%d ",i,j);
}

29.#include<stdio.h>
int trans(int m,int n)
{int i;
if(m>n){
i=m%n;trans(m,n);}
else i=m:
if(i<10)printf("%d ",i):
else printf("%C".’A’+i-10):
}
main()
{int i;
printf("The output is: ");
printf("n%d ",-23);
trans(21,3);
printf("n%d ",123);
trans(123,16);
}

四、程序填充题,每空5分,共15分给出下列程序,将横线处缺少的部分补上,使其能正确运行。

30.将一个十进制整数转变成一个二进制整数。
#include<stdio.h>
main()
{int i=0.j,n,num[20];
scanf("%d",______);/*第一空*/
while(n!=0)
{num[i++]=______;/*第二空*/
n=______;)/*第三空*/
for(j=i-1;j>=0;j--)
printf("Ha",num[j]);
printf(" ");
}

31.以下程序用来统计从终端输入的字符中大写字母的个数。以"$"作为输入结束标记。
#include<stdio.h>
#include<ctypc.h>
main()
{int num[126],i;char c;
for(i=0;i<26;i++)
num[i]=0;
while((______)!="$")/*第一空*/
if(isupper(c))num[c-65]+=1;
for(i=0;i<26;i++)
if(______)/*第二空*/
printf("%c:%d ",______,num[i]);/*第三空*/
}

32.输入5个字符,从中找出最大的并输出。要求用字符数组存放此字符,并用指针数组元素分别指向这5个字符。
#include<stdio.h>
main()
{char a[5],*p[5],*max;
int I;
for(I=0;I<5;I++)
______;/*第一空*/
for(I=0;I<5;I++)
scanf("%C",p[I]);
max=p[0];
for(I=0;______;I++)/*第二空*/
if(*max<*p[I])
______;/*第三空*/
printf("%c",*max);
}

五、程序设计题,每小题7.5分,共15分。

33.输出100以内所有个位数字为7且能被3整除的数。

34.一个二维数组int a[4][4],请将其填满并输出其四个边的元素。

更多资料

00037《美学》 名词解释汇总

00537 中国现代文学史 2025年10月真题

古诗词答题模板

温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
资料下载
  • 00037《美学》2026年全国高等教育自学考试考前60分

    下载
  • 语文诗歌阅读答题模板

    下载
  • 15044《马原》2026年10月考前预测100题

    下载
  • 00261《行政法学》知识集锦(2023版教材)

    下载
相关阅读
查看更多