2023年自考类计算机类(工学类)高级语言程序设计(一)历年高频考题带答案难题附详解_第1页
2023年自考类计算机类(工学类)高级语言程序设计(一)历年高频考题带答案难题附详解_第2页
2023年自考类计算机类(工学类)高级语言程序设计(一)历年高频考题带答案难题附详解_第3页
2023年自考类计算机类(工学类)高级语言程序设计(一)历年高频考题带答案难题附详解_第4页
2023年自考类计算机类(工学类)高级语言程序设计(一)历年高频考题带答案难题附详解_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2023年自考类计算机类(工学类)高级语言程序设计(一)历年高频考题带答案难题附详解(图片大小可自由调整)第1卷一.历年考点试题黑钻版(共50题)1.#include<stdio.h>

voidmain()

{

intx=5;

if(X--<5)

printf("%d\n",x);

elseprintf("%d\n",x++);

}2.成员变量可以像一般的______一样进行各种运算,只是在运算时要加上“.”运算符。3.设char*s1="12345",*s2="1234";,执行语句printf("%d\n",strlen(strcpy(s1,s2)));后的输出结果是

A.4B.5C.9D.104.执行语句for(i=10;i>0;i--);后,变量i的值是______。5.设typedefintARR[10];,与ARRa,*b;等价的定义是

A.inta,b;B.inta,*b;C.inta[10],*b;D.inta[10],*=b[10];6.设inta=0,b=5,c;,执行语句c=(a==b)||++a;后c的值是______A.0B.1C.4D.57.以下循环体的执行次数是______。

#include<stdio.h>

main()

{intj,k;

for(j=0,k=1;j<=k+1;j+=2,k--)

printf("%d\n",j);)8.#include<stdio.h>

intf1(intx,inty){returnx>y?x:y;)

intf2(intx,inty){returnx>y?y:x;}

main()

{

inta=4,b=3,c=5,d=2,e,f,g;

e=f2(f1(a,b),f1(C,d));f=f1(f2(a'b),f2(c,d));

g=a+b+c+d-e-f;

printf("%d,%d,%d\n",e,f,g);

}9.若有定义:inti=10;则执行下列程序后,变量i的正确输出结果是______。

switch(i)

{case9:i+=1;

case10:i+=1;

case11:i+=1;

default:i+=1;}10.编写一个程序,其功能是输出10~1000之间的所有素数之和。11.编写程序,要求输入两个数,比较大小,输出大数和小数(用指针实现)。12.设a=6,b=-8,c=3,则下面逻辑表达式的值为______。

'd'&&(a>b)&&(b>c)&&(a-c)13.#include<string.h>

char*scmp(char*s1,char*s2)

{if(strcmp(s1,s2)<0)return(s1);

elsereturn(s2);

}

main()

{inti;charstring[20],str[3][20];

for(i=0;i<3;i++)gets(str[i]);

strcpy(string,scmp(str[0],str[1]));

strcpy(string,scmp(string,str[2]));

printf("%s\n",string);

}

依次输入:

ABCD

ABBA

ABC14.文件包含命令是以______为开头的编译预处理命令。15.下列表达式值为0的是

A.5/2B.2&&5C.!2||5D.2&516.设chars[]="Star";,执行语句printf("%d",strlen(s));后的输出结果是______。17.可以将被调函数中获得的值返回主调函数的语句是______。18.编程序输入30个学生的学号、姓名、3门课程的成绩,存入一个结构型的数组。统计并输出每个学生的学号、姓名、总分。19.不属于C语言主要特点的是______A.运算能力强大B.可移植性好C.数据类型丰富D.面向对象20.有以下程序

#include<stdio.h>

main()

{unsignedchara,b;

a=4|3;

b=4&3;

printf("%d%d\n",a,b);

}

执行后输出结果是A.70B.07C.11D.43021.使用系统函数对两个字符串进行比较,该系统函数的名字是______。22.voidfun(intx,inty,intz)

{

z=x*x+y*y;

printf("%d\n",z);

}

voidmain()

{

inta=31;

fun(5,2,a);

printf("%d\n",a);

}23.求10~1000之间的所有素数之和,并输出。24.从键盘上输入若干个正整数,求其中最大数和最小数,输入的数以0为终止标记。25.设charc='A';inti=1,j;,执行语句j=!c&&i++;后,i和j的值分别是

A.0和1B.1和0C.1和65D.2和6626.main()

{intx;

while(1)

{scanf("%d",&x);

//输入25

if(x<0)printf("-1\n");elseif(x>0)printf("1\n");

elsebreak;}

}27.在C语言中,当while语句中的条件为哪个值时,结束本循环______A.0B.1C.TRUED.非028.设chars[20]="My";,则执行strcat(s,"Sun!")后s的内容是______。29.自定义标识符由字母、数字或下划线组成,且第一个字符必须是

A.数字B.字母或数字C.数字或下划线D.字母或下划线30.下面程序的功能是输出以下形式的金字塔图案:

#include<stdio.h>

main()

{inti,j;

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

{for(j=1;j<=4-i;j++)printf("");

for(j=1;j<=______;j++)printf("*");

printf("\n");

}

}

在下划线处应填入的是

A.iB.2*i-1C.2*i+1D.i+231.输入10个整数到数组a中并输出,将数组各元素依次向后循环移动一个位置(如下图),输出移动后的数组a。

32.实(浮点)型分为单、双精度两种,其类型保留字分别是______。33.专门判断文件是否结束的函数feof(),如果返回值为0,则表示文件______。34.以下函数的功能是从名为"filea.dat"的文本文件中逐个读入字符并显示在屏幕上。

#include<stdio.h>

main()

{FILE*fp;charch;

fp=fopen("filea.dat","r");

______;

/*第一空*/

while(______(fp));{putchar(ch);ch=______;}/*第二、三空*/

putchar('\n');fclose(fp);

}35.求出10到500之内能同时被3、7整除的数,并输出;然后求出其和值。36.#include<stdio.h>

main()

{structdate{intyear,month,day;}today;

printf("%d\n",sizeof(structdate));

}37.设i为整型变量,i=0;while(i=1)i++;则以上循环

A.执行10次B.执行1次C.一次也不执行D.无限循环38.从键盘输入整数n(1≤n<10),分别计算并输出1!,2!,……,n!。

#include<stdio.h>

longintfac(______)

{

staticintc=1;

c*=m;

return(c);

}

voidmain()

{

inti,n;

scanf("%d",______);

if(n>=1&&n<10)

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

printf("%d!

=%1d\n",i,______);

/*第三空*/

elseprintf("InputError!\n");

}39.#defineN10

#defines(x)x*x-5

#definef(x)(x*x)*s(x)

main()

{inta,b;

a=1000/s(N);

b=1000/f(N);

printf("%d,%d\n",a,b);

}40.下面程序输出的结果是

main()

{structcmplx

{intx;inty;}cnum[2]={1,3,2,7};

printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x);

}A.0B.1C.3D.641.下列程序的运行结果是

main()

{inta=3,c=6;

printf("a=%d,b=%d\n",a,c);

}A.a=%3,b=%6B.a=d,b=dC.a=3,b=6D.a=%d,b=%d42.下列数组定义并初始化正确的是______A.inta[]=(1,2,3,4,5);B.int8[5]=1,2,3,4,5;C.inta[2+3]={1,2,3};D.int8(5)={1,2,3};43.设inta,b,c;则执行a=(b=3,c=5,b=10);后变量a的值是______。44.将字符转换成ASCⅡ代码值的函数是______。45.设struct{intage;intnum;)stu,*p=&stu;

对结构型变量stu的成员age引用错误的是

A.stu.ageB.p->ageC.*p.ageD.(*p).age46.有以下程序:

#include<stdio.h>

#definePT4.5;

#defines(x)PT*x*x;

main()

{inta=1,b=2;printf("%4.1f\n",s(a+b));}

输出结果为______A.8.5B.40.5C.程序有错D.18.047.C语言中数组元素的下标从______开始,下标不能越界。48.C语言中规定,在程序中表示一维数组首地址的表达式可以写成______,还可写成数组名。49.C语言中规定,在程序中表示一维数组首地址的表达式可以写成______,还可写成数组名。50.以下程序输出的结果是

#include<stdio.h>

intfun(intk)

{if(k>0)fun(k-1);

printf("%d",k);

}

main()

{intw=3;fun(w);

printf("\n");

}A.3210B.0123C.210D.012第1卷参考答案一.历年考点试题黑钻版1.参考答案:42.参考答案:变量[考点]结构型变量成员

[解析]结构型变量成员的使用和一般的普通变量或数组的使用方法完全相同。3.参考答案:A4.参考答案:05.参考答案:D[解析]主要考查的知识点为自定义数组类型和指针类型。[要点透析]typedef

基本数据类型

用户类型符[数组长度];

typedef

基本数据类型

*用户类型符;

分别用于自定义数组类型和指针类型。题中ARRa相当于inta[10],ARR*b相当于int*b[10]。6.参考答案:B[考点]逻辑运算符的运算

[解析]

表达式中出现11时,只要有一个为真,则逻辑值为非零,即1。由于++a=1,故选B。7.参考答案:1[解析]

#include<stdio.h>

main()

{intj,k;

for(j=0,k=1;j<=k+1;j+=2,k--)/*变量j的步进值是2,变量k的步值是-1。当第二次进入循环时,j=2而k=0已不能满足继续执行循环体的条件j<=k+1*/

printf("%d\n",j);}8.参考答案:4,3,7[解析]

#include<stdio.h>

intf1(intx,inty){returnx>y?x:y;}/*如果x>y则输出x*/

intf2(intx,inty){returnx>y?y:x;}/*如果x>y则输出y*/

main()

{

inta=4,b=3,c=5,d=2,e,f,g;

e=f2(f1(a,b),f1(c,d));f=f1(f2(a,b),f2(c,d));/*嵌套调用函数f1和f2*/

g=a+b+c+d-e-f;

printf("%d,%d,%d\n",e,f,g);

}9.参考答案:13[考点]多分支选择结构

[解析]因为没有break语句,所以从case10开始会一直执行下去,直到程序结构。10.参考答案:

main()

{longs=OL;

intk,m,flag;

for(k=10;k<1001;k++)

{flag=1;

for(m=2;m<=k/2;m++)

if(k%m==0){flag=0;break;}

if(flag)s+=k;

}

printf("s=%1d\n",s);

}11.参考答案:main()

{inta,b,*p1,*p2,*p;

scanf("%d,%d",&a,&h);

p1=&a;p2=&b;

if(a<b)

{p=p1;p1=p2;p2=p;}

printf("max=%d,min=%d\n",*p1,*p2);

}12.参考答案:013.参考答案:ABBA14.参考答案:#include15.参考答案:D[解析]位逻辑运算符将数据中每个二进制位上的“0”或“1”看成逻辑值,逐住进行逻辑运算,而2的二进制为00000010,5的二进制为00000101,则2&5得0。16.参考答案:4[考点]strlen()函数

[解析]strlen函数的功能是测试指定字符串的长度。17.参考答案:return(表达式);18.参考答案:

main()

{struct

{longnum;

charname[20];

floatscore1;

floatscore2;

floatscore3;

floattotal;

}stu[50];

inti;

floatx1,x2,x3;

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

{scanf("%1d,%s/t&stu[i].num,stu[i]).name);

scanf("%f,%f,%f",&x1,&x2,&x3);

stu[i].score1=x1,stu[i].score2=x2,stu[i].score3=x3;

}

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

stu[i].score1=stu[i].score2=x2,stu

score2+stu[i].score3;

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

printf("%1dname%f\n",stu[i].num,

stu[i].total);

}19.参考答案:D[考点]本题主要考查的知识点为C语言特点。[解析]C语言是一种结构化的高级语言,是当今最流行的计算机语言之一。20.参考答案:A21.参考答案:strcmp22.参考答案:29

3123.参考答案:main()

{longs=0L;

intk,m,flag;

for(k=10;k<1001;k++)

{flag=1;

for(m=2;m<=k/2;m++)

if(k%m==0){flag=0;break;}

if(flag)s+=k;

}

printf("s=%1d\n",s);

}24.参考答案:#include<stdio.h>main(){intx,max=0,min=0;scanf("%d",&x);while(x)/*此处的判定条件见为需要,当输入"0"时断开循环*/{if(x<min)min=x;if(x>max)max=x;sanf("%d",&x);/*此处是在循环体内的输入语句,是对整个循环的支撑*/}printt("%d,%d\n",max,min);}25.参考答案:B[解析]由于!c的值为0,则整个表达式的值为0,不再执行后面的i++,故j=0,i=1。26.参考答案:127.参考答案:A[考点]while的循环条件

[解析]while(表达式)当表达式的值为0时,即为“假”时,结束循环。28.参考答案:MySun!29.参考答案:D[解析]标识符是用户自定义的字符序列,通常用来表示程序中各种语法成分的名称。C语言规定,标识符是由字母或下划线开头的字母、数字、下划线组成的字符序列。30.参考答案:B[解析]应填入控制打印"*"的个数,其个数与行数i的关系是2*i-1的关系。31.参考答案:#include<stdio.h>

voidmain()

{

inta[10],i,temp;

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

{

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

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

}

printf("\n");

temp=a[9];

for(i=9;i>0;i--)a[i]=a[i-1];

a[0]=temp;

for(i=0;i<10;i++)printf("%5d",a[i]);

printf("\n");

}32.参考答案:float,double[考点]保留字

[解析]在C语言中有特殊含义的单词称为“保留字”,对于实型变量来说,保留字double代表的含义为双精度实型;保留字float代表的含义为单精度实型。33.参考答案:没有结束[考点]文件尾测试函数

[解析]若当前是文件尾,返回非0,否则返回0。34.参考答案:ch=fgete(fp)

!feof

fgetc(fp)35.参考答案:[解析]

#include<stdio.h>

main()

{inti,sum=0;

for(i=10;i<=500;i++)/*限定处理范围为10~500*/

if((i%3)==0&&(i%7)==0)/*判断是否能同时被3、7整除*/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论