版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021年山东省威海市全国计算机等级考试C语言程序设计模拟考试(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.执行下面的程序后,a的值为()。main{inta,b;for(a=1,b=1;a<=10;a++){if(b%3==l){b+=3;continue;}b-=5;}}A.7B.8C.9D.10
2.数据的存储结构是指()。
A.数据所占的存储空间
B.数据的逻辑结构在计算机中的存放形式
C.数据在计算机中的顺序存储方式
D.存储在计算机外存中的数据
3.以下关于C语言的叙述中正确的是()。
A.C语言中的注释不可以夹在变量名或关键字的中间
B.C语言中的变量可以在使用之前的任何位置进行定义
C.在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致
D.C语言的数值常量中夹带空格不影响常量值的正确表示
4.有如下形式的函数:intfun(inta[4][5],int*p[10],intn){…}调用函数之前需要对函数进行说明,即所谓的函数向前引用说明,以下对fun函数说明正确的是()。A.intfun(intb[][5],int*r[],intm);
B.intfun(inta[4][],int*p[10],intn);
C.intfun(inta[][],int*p[],intn);
D.intfun(inta[],int*p[],intn);
5.有下列程序:main{chars[]="abcde";s+=2:printf("%d\n",s[0]);}执行后的结果是()。A.输出字符a的ASCII码B.输出字符c的ASCII码C.输出字符cD.程序出错
6.有下列程序:程序执行后的输出结果是()。A.abbcdefghijkI23456789964
B.123456789964abbcdefghijk
C.123445667899abbcdefghijk
D.abbcdefghijk123445667899
7.
8.函数原形中,下列()是不必要的。
A.函数的类型B.形式参数名C.函数名D.形式参数类型
9.数组A中,每个元素的长度为4个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[8][5]的起始地址为()。
A.SA+292B.SA+296C.SA+300D.304
10.在定义inta[5][6];后,数组a中的第10个元素是()。(设a[0][0]为第一个元素)
A.a[2][5]B.a[2][4]C.a[1][3]D.a[1][5]
11.不带头结点的单链表head为空的判定条件是()。A.head=NULLB.head→next=NULLC.head→next=headD.head!=NULL
12.堆的形状是一棵_______。
A.二叉排序树B.满二叉树C.完全二叉树D.平衡二叉树
13.
14.以下叙述中正确的是()。
A.在switch语句中,不一定使用break语句
B.break语句只能用于switch语句
C.break语句必须与switch语句中的case配对使用
D.在switch语句中必须使用default
15.有如下程序段:inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=P[5];则b的值是()。
A.5B.6C.9D.8
16.在C语言中,函数隐含的类型是()
A.autoB.staticC.intD.void
17.若有定义“intk=7,x=12;”,则以下表达式值为3的是()。
A.(x%=k)-(k%=5)B.x%=(k%=5)C.x%=(k-k%5)D.x%=k-k%5
18.在“文件包含,预处理语句的使用形式中,当#include后面的文件名用(双引号)括时,寻找被包含文件的方式是()。
A.直接按系统设定的标准方式搜索目录
B.先在源程序所在的目录搜索,如没找到,再按系统设定的标准方式搜索
C.仅仅搜索源程序所在目录
D.仅仅搜索当前目录
19.下列程序的输出结果是()#include<stdio.h>main(){inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=1;case1:case2:a+=2;default:a+=3;}printf(“%d”,a);}A.19B.18C.6D.8
20.若有定义语句:“charsE10]="1234567\0\0";”,则strlen(s)的值是()。
A.7B.8C.9D.10
二、2.填空题(20题)21.若有以下程序
main()
{inta[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-21,32,-33,0}};
inti,j,s=0;
for(i=0;i<4;i++)
{for(j=0;j<4;j++)
{if(a[i][j]<0)continue;
if(a[i][j]==0)break;
s+=a[i][j];
}
}
printf("%d\n",s);
}
执行后输出结果是【】。
22.数据库技术的主要特点为数据的集成性、数据的高【】和低冗余性、数据独立性和数据统一管理与控制。
23.数据结构分为逻辑结构和存储结构,循环队列属于______结构。
24.数据结构分为逻辑结构与存储结构,线性链表属于【】。
25.以下程序运行时,若从键盘输入:102030<回车>,输出的结果是【】。
#include<stdio.h>
main()
{inti=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);
prinff("%d%d%d\n",i,j,k);
}
26.在计算机中,字符的比较是对它们的【】进行比较。
27.以下程序的输出结果是【】。
main()
{unsignedshorta=65536;intb;
printfC%d\n",b=a);
}
28.有以下程序:
intf(intn)
{if(n==1)retum1;
elsereturnf(n-1)+1;}
main()
{inti,j=0;
for(i=1;i<3;i++)j+=f(i);
printf("%d\n",j);
}
程序运行后的输出结果是【】。
29.程序测试分为静态分析和动态测试。其中【】是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。
30.若输入thistestterminal,以下程序的输出结果为:terminaltestthis。请填空。
#defineMAXLINE20
【】
{inti;
char*pstr[3],str[3][MAXLINE];
for(i=0;i<3;++)pstr[i]=str[i];
for(i=0;i<3;i++)scanf("%s",pstr[1]);
sort(pstr);
for(i=0;i<3;i++)prntf("%s",pstr[i]);
}
sort(【】)
char*pstr[3];
{inti,j;
char*p;
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)
if(strcmp(*(pstr+i,*(pstr+j)>0
{p=*(pstr+i);
*(pstr+i=【】;
*(pstr+j)=p;
}
31.以下程序的功能是:从键盘上输入若干学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。填空。
main()
{floatx[1000],sum,=0.0,avea;
intn=0,i;
printf("Entermark:"\n");scanf("%f",&a);
while(a>=0.0&&n<1000)
{sum+=【】;x[n]=【】;
n++;scanf("%f",&a);
}
ave=【】;
printf("Output:"\n");
printf("ave=%f"\n",ave);
for(i=0,i<n;i++)
if(【】)frintf("%f\n",x[i]);
}
32.函数voidfun(float*sn,intn)的功能是:根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请补全程序。
S=1-1/3+1/5-1/7+…+1/(2n+1)
voidfun(float*sn,intn)
{floats=0.0,w,f=-1.0;
inti=0;
for(i=0;i<=n;i++)
{f=【】*f;
w=f/(2*i+1);
s+=w;
}
【】=s;
}
33.下面程序把从终端读入的文本(用#作为文本结束标志)复制到一个名为file.txt的新文件中。补足所缺语句。
main()
{charch;
FILE*fp;
if((fp=fopen(______))=NULL)exit(0);
while((ch=getchar())!='#')
fputc(ch,fp);
______;
}
34.在关系运算中,【】运算是对两个具有公共属性的关系所进行的运算。
35.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块,其中______的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。
36.以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。
main()
{intx[10],a[9],i;
for(i=0;i<10;i++)scanf("%d",&x[i]);
for([11];i<10;i++)
a[i-1]=x[i]+[12];.
for(i=0;i<9;i++)printf("%d",a[i]);
printf("");
}
37.下面程序的功能是输出数组中最大的数,由a指针指向该元素。请填空。
main()
{ints[]={6,7,2,13,9,1,12,10,5,8,4,3,11},*a,*b;
for(b=s,a=s;b-s<13;b++)
if(【】)a=b;
printf("%d",*a);}
38.下面程序的输出是【】。
main()
{enumem{em1=3,em2=1,em3};
char*aa[]={"AA","BB","CC","DD"};
printf("%s%s%s\n",aa[em1],aa[em2],aa[em3]);
}
39.下列程序执行后输出的结果是【】。
main()
{intarr[10],i,k=0;
for(i=0;i<10;i++)arr[i]=i;
for(i=1;i<4;i++)k+=arr[i]+i;
printf("%d\n",k);
40.以下程序的运行结果是______。
#include<stdio.h>
main()
{intfun();fun();}
fun()
{staticinta[3]={0,1,2};
inti;
for(i=0;i<3;i++)a[i]+=a[i];
for(i=0;i<3;i++)printf("%d,",a[i]);
pfintf("\n",);}
三、1.选择题(20题)41.下面程序的输出结果为______。#include<string.h>main(){charp1[7]="abc",p2[]="ABC",str[50]="xyz";strcpy(str,strcat(p1,p2));printf("%s",str);}
A.xyzabcABCB.abcABCC.xyzabcD.xyzABC
42.C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符
A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母,数字和下划线中任一字符
43.有以下程序:#include<stdio.h>main(){chars[]="159",*p;p=s;printf("%c",*p++);printf("%~",*p++);}程序运行后的输出结果是()。
A.15B.16C.12D.59
44.有以下程序
#include<stdio.h>
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:a++;break;
case1:b++;break;
}
case2:a++;b++;break;
case3:a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
程序的运行结果是
A.a=1,b=0B.a=2,b=2C.a=1,b=1D.a=2,b=1
45.下列程序执行后的输出结果是voidfunc(int*a,intb[]){b[0]=*a+6;}main(){inta,b[5];a=0;b[0]=3;func(&a,b);printf("%d\n",b[0]);}
A.6B.7C.8D.9
46.设有如下定义:char*aa[2]={"abcd","ABCD"},则以下说法中正确的是()。
A.aa数组中元素的值分别是{"abcd","ABCD"};
B.aa是指针变量,它指向含有两个数组元素的字符型一维数组
C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D.aa数组的两个元素中各自存放了字符‘a’和‘A’的地址
47.以下程序的运行结果是#include"stdio.h"main(){structdate{intyear,month,day;}today;printf("%d\n",sizeof(structdate));}
A.6B.8C.10D.12
48.已知chara=15,则a,-a和!a的整型值分别为______。
A.240、-15、0B.-16、-15、0C.0、-15、240D.0、-15、0
49.设x=011050,则x=x&01252的值是()。
A.1000101000
B.1111110100011000
C.1011100010
D.1100000000101000
50.语句“a=2;p=&a;b=*p++;”执行后的结果是()。
A.a=3b=3B.a=2b=2C.a=2b=1D.a=2b=3
51.设有以下语句:typedefstreetS{intg;charh;}T;则下面叙述中正确的是()。
A.可用S定义结构体变量B.可以用T定义结构体变量C.S是struct类型的变量D.T是structS类型的变量
52.结构化分析方法是面向()的自顶向下、逐步求精进行需求分析的方法
A.对象B.数据结构C.数据流D.目标
53.有以下程序
intf(intn)
{if(n==1)return1;
elsereturnf(n-1)+1;}
main()
{inti,j=0;
for(i=1;i<3;i++)j+=f(i);
printf("%d\n",j);}
程序运行后的输出结果是
A.4B.3C.2D.1
54.C语言中各种基本数据类型的存储空间长度排列为()。
A.char≤long≤int≤float≤double
B.double≤float≤long≤int≤char
C.char≤int≤long~float≤double
D.float≤int≤long≤char≤double
55.下列叙述中正确的是A.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构
56.设有:
inta=1,b=2,c=3,d=4,m=2,n=2;
执行(m=a>b)&&(n=c>d)后,n的值是
A.1B.2C.3D.4
57.阅读以下程序以及对程序功能的描述,其中正确的描述是()。#include<stdio.h>main(){FILE*in,*out;charch,infile[10],outfile[10];printf("Entertheinfilename:\n");scanf("%s",infile);printf("Entertheoutfilename:\n");scanf("%s",outfile);if((in=fopen(infile,"r"))==NULL){printf("cannotopeninfile\n");exit(0);}if((out=fopen(outfile,"w"))==NULL){printf("cannotopenoutfile\n");exit(0);}while(!feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);}
A.程序完成将磁盘文件的信息在屏幕上显示的功能
B.程序完成将两个磁盘文件合二为一的功能
C.程序完成将一个磁盘文件复制到另一个磁盘文件中的功能
D.程序完成将两个磁盘文件合并并在屏幕上输出的功能
58.以下叙述中正确的是
A.用C程序实现的算法必须要有输入和输出操作
B.用C程序实现的算法可以没有输出但必须要有输入
C.用C程序实现的算法可以没有输入但必须要有输出
D.用C程序实现的算法可以既没有输入也没有输出
59.一个C语言程序是由()
A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成
60.下列能正确定义一维数组的选项是()。
A.inta[5]={0,1,2,3,4,5);
B.chara[]={0,1,2,3,4,5};
C.chara={'A','B','C'};
D.inta[5]="0123";
四、选择题(20题)61.
62.下面概念中,不属于面向对象方法的是()。A.对象B.继承C.类D.过程调用
63.
64.有如下程序段
#include"stdio.h"
main()
{intk[10];
intj;
for(j=0;j<10;j++)
scanf("%d",&k[j]);
for(j=9;j>=0;j--)
printf("%d",k[j]);}
则程序段实现的功能是
A.输入10个数据的顺序输入并输出
B.输入10个数据的逆序存放
C.输入10个数据的逆序输出
D.以上叙述均错误
65.若有定义语句:“charS[3][10],(*k)[3],*p;”,则以下赋值语句正确的是()。
A.p=S;B.p=k;C.p=s[0];D.k=s;
66.以下选项中正确的语句组是()。
A.char*s;8={1.BOOK!”}i
B.char*s;8=”BOOK!”;
C.charS[10];S=”BOOK!”;
D.charS[];S=”BOOK!”;
67.
68.
69.有以下程序:
程序运行后的输出结果是()。
A.b,B"b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B
70.
71.在软件开发中,需求分析阶段可以使用的工具是()。A.N—s图B.DFD图C.PAD图D.程序流程图
72.下列程序的输出结果是()。#includedstdi0.h>#includedstring.h>voidfun(intb[]){staticinti=0;do{b[i]+=b[i+1];}while(++i<2);}main{intk,a[5]={1,3,5,4,9};fun(a);for(k=0;k<5;k++)printf("%d",a[k]);}A.13579B.48579C.48549D.48999
73.
74.
75.
76.
77.
有下列程序:
main
{intk=5:
while(--k)printf("%d",k=1);
printf("\n");
}
执行后的输出结果是()。
A.1B.2C.4D.死循环
78.
79.若有定义语句:“inta=3,b=2,c=1;”,以下选项中错误的赋值表达式是()。
A.a=(b=4)=3;B.a=b=c+1:C.a=(b=4)+C;D.a=1+(b=c一4);
80.按照“先进后出”原则组织数据的结构是()。
A.队列B.栈C.双向链表D.二叉树
五、程序改错题(1题)81.已知一个数列从0项开始的前3项为0,0,1,以后的各项都是其相邻的前3项之和。下列给定的程序中,函数proc的功能是:计算并输出该数列前n项的和sum。n的值通过形参传人。例如,当n=20时,程序的输出结果应为42762.000000。请修改程序中的错误,使它能得到正确结果。注意:不要改动maiil函数,不得增行或删行,也不得更改程序的结构。试题程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>doubleproc(intn){doublesum,s0,s1,s2,s;intk;sum=1.0;if(n<=2)sum=0.0;s0=0.0;s1=0.0;s2=1.0;//****found****for(k=4;k<n;k++)}{s=s0+s1+s2;sum+=S:s0=s1;s1=s2;//****found****s2=s;returnsum;}voidmain{intn;system("CLS");printf("InputN=");scanf("%d",&nJ;printf("%f\n",proc(n));}
六、程序设计题(1题)82.请编一个函数fun(char*str),该函数的功能是把字符串中的内容逆置。例如,字符串中原有的字符串为asdfg,则调用该函数后,串中的内容为gfdsa。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:
参考答案
1.D本题考查continue的用法,continue语句的作用是结束本次循环,直接进行下次循环。所以在程序中,只有当a=10时,才退出循环,故选择D选项。
2.B解析:数据的存储结构,又称为数据的物理结构,是数据的逻辑结构在计算机中的存放形式,数据的存储结构有顺序结构、链式结构、散列结构和索引结构等。
3.B解析:C语言中注释可以放在任何位置,选项A错误;C语言中的变量只要在使用之前定义即可,位置可以是使用前的任何位置,故选项B正确;C语言中两侧数据类型可以不一致,系统可进行强制类型转换,选项C错误;C语言数值常量中不允许存在空格,选项D错误。
4.A题干中函数的定义指出了函数名为fun,返回值的数据类型为int。函数包含3个参数,第1个参数是整型的二维数组,第2个参数是整型数组,第3个参数是整型变量。在定义二维数组时,必须指定第二维的长度,所以选项B、C、D错误,选项A正确。本题答案为A选项。
5.D因为字符数组s[]中的数组名s表示的是一个地址常量。所以语句“s+=2;”不能将指针在当前位置的基础上再向后移动两位。因而程序编译时出错。
6.B程序定义数组a和b,其中a使用小写字母和数字构成的字符串完成初始化。第1个for循环将数组a中所有的非小写字母字符(数字字符)自左向右存放到b数组中;第2个for循环将数组a中所有的非数字字符(小写字母)自左向右存放到b的后续单元中,在所有字符后添加空字符,输出b,此时b的值为:123456789964abbcdefghijk。本题答案为B选项。
7.B
8.A
9.B
10.C
11.A解析:在不带头结点的单链表head中,head指向第一个元素结点,head=NULL表示该链表为空,所以答案为A。
12.C
13.D
14.Aswitch语句中不一定使用break语句,选项A正确;break语句除了用于switch语句,还可以用于循环语句中,选项B、C错误;switch语句不一定需要使用default语句,选项D错误。本题答案为A选项。
15.C解析:p=&a[3]将指针指向数组a的第4个元素,p[5]则是数组a的第9个元素,而a[8]=9,所以b=9。
16.C
17.A选项A中,表达式“x%=k”结果为5,表达式“k%=5”结果为2,5-2结果为3;选项B中,“k%=5”结果为2,“x%=2”结果为0;选项C中,“k%5”结果为2,“k-k%5”结果为5,“x%5”结果为2;选项D中,“k%5”结果为2,“k-k%5”结果为5,x%5结果为2。故本题答案为A选项。
18.B#include”文件名”,预处理程序首先在引用被包含文件的源文件所在的目录下搜索指定的文件,如没找到,再按系统指定的标准目录搜索。
19.A本题考查switch语句。当i=1时,执行case1,因为没有遇到break语句,所以依次往下运行,a=a+2=2,a=a+3=5;当i=2时,执行case2,因为没有遇到break语句,所以依次往下运行,a=a+2=7,a=a+3=10;当i=3时,执行case3,a=a+1=11,因为没有遇到break语句,所以依次往下运行,a=a+2=13,a=a+3=16;当i=4时,执行default,a=a+3=19,结束循环。
20.A"\0"表示空字符,strlen函数求得的是不包括字符串结束符\0的长度。故选A。
21.5858解析:本题中处理二维数组元素用了两重循环,外循环变量i表示数组的行,内层循环变量j表示数组的列。在第二重循环中首先判断数组元素的值是否小于0,若是则处理该行的下一个元素;若不是则判断a[i][j]的值是否等于0,若等于0则退出内层循环开始处理下一行;其他情况下,把a[i][j]的值加到变量s中。所以本程序段的功能是把每行值为0的元素前面的所有大于0的元素值加到变量s中。
22.共享性共享性解析:数据库技术的主要特点有以下几个方面:数据的集成性,数据的高共享性与低冗余性,数据的独立性,数据统一管理与控制。
23.存储或物理或存储结构或物理结构存储或物理或存储结构或物理结构解析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间。供队列循环使用。可知,循环队列应当是物理结构。
24.存储结构
25.1030010300解析:在scanf格式控制符中有一个“*”附加说明符,表示跳过它指定的列数。程序中'%d%*d%d'表示首先将10赋给i,然后遇%。d读入整数但不赋给任何变量,最后将读人的整数30赋给变量j,变量k并没有重新赋值,仍为初始值0。所以输出的结果为10300。
26.ASCII码ASCII码解析:C语言中,字符也可以进行比较运算,并且是按照其ASCII码值进行的。
27.00解析:对于一个unsignedshort来说,它能取的最大值是65535。这里给a赋值65536,已经超出了它的取值范围,这样它的高位将被截掉,只把低位赋给它(全零)。所以a的值实际为0。
28.33解析:i=1时,f(1)=1,j=j+f(1)=0+1=1;i=2时,f2=f(1)+1=1+1=2,j=j+f(2)=1+3=3;此时循环结束,程序运行后的输出结果是3。
29.静态分析静态分析解析:程序测试分为静态分析和动态测试。其中,静态分析是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。
30.main()pstr*(pstr+j)
31.aasum/n或sum/(float)n或sum/(double)nx[i]<sve或!(x[i]>=sve)或sve>x[i]a\r\na\r\nsum/n或sum/(float)n或sum/(double)n\r\nx[i]<sve或!(x[i]>=sve)或sve>x[i]
32.-1或-1.0*sn-1或-1.0\r\n*sn解析:由于在对S求和时,相邻两项的符号刚好相反,而在函数fun中没有对数据进行取反的操作,故第—空的目的是对数据进行取反,以保证序列中相邻两项的符号不同。故第—个应填-1或-1.0。在执行完循环体后,要将求和结果通过指针参数的形式传递绐调用fun的函数,故第二空应填*sn。
33.file.txt"w"fclose(fp)。file.txt,'w'fclose(fp)。解析:向文件中写数据,并且该文件是新文件,应当使用文件打开方式'w',文件操作结束时要用函数fclose关闭文件,以防数据丢失。
34.自然连接自然连接解析:在关系运算中,自然连接运算是对两个具有公共属性的关系所进行的运算。
35.驱动模块驱动模块解析:由于模块通常不是独立的程序,自己不能运行,而需要其他模块调用或驱动,同时被测试模块还要去调用其他模块,前者称为驱动模块,后者称为承接模块。其中驱动模块的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果;承接模块的作用是代替被测模块,调用其他模块。
36.对于10个数,相邻的两个数相加取和,总共要进行9次加法运算,所以空14处应填入i=1。相邻的两个数相加取和,放在数组a中,x[0]与x[1]的和存放在a[0]中,所以空15处应填入x[i-1]。\r\n\r\n
37.*b>*a
38.DDBBCCDDBBCC解析:C语言对枚举的定义规定:在枚举中声明的各个枚举元素,如果没有明确指出某个枚举元素的值,它的上一个元素存在并有明确值的情况下,这个枚举元素的值为其上一个元素的值+1。在本题中,没有明确说明枚举元素em3的值,则em3=em2+1=1+1=2,进而可知,在printf()打印函数中,要打印的数组元素是aa[3]、aa[1]、aa[2],因此最后的打印结果应当为“DDBBCC”。
39.1212解析:本题的第一个for循环用于给数组arr赋初值,第二个for循环用于求和运算。由于第二个for循环初始值为1,而循环条件为i<4,所以求的是arr[1]到arr[3]及i的和,所以输出结果为12。
40.本题主要考查for循环语句的使用以及静态局部变量的特点。
41.B解析:strcpy(str1,s1):作用是将字符串s1拷贝到字符数组str1中去。strcat(字符数组1,字符数组2):把字符串2接到字符串1的后面,结果放在字符数组1中,函数调用后返回字符数组1的地址。本题定义了三个字符数组p1,p2,sir,strcat(p1,p2)函数的作用是将字符串数组p2接到字符串p1的后面,结果放在字符数组p1中,再通过strcpy()函数将该字符串拷贝到str数组中,原str数组中的字符串xyz被覆盖,因此打印输出字符串str即可得到abcABC。
42.C解析:C语言中规定,标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须是字母或下划线,而且标识符不能是C语言的关键字。
43.A解析:语句p=s将指针变量p指向字符数组s,第一次输出时,由于++和*为同一优先级,而结合方向为自右向左,所以,*p++相于*(p++)。但又因为“++”在p的右侧,所以,先输出*p,得到s[0]的值,然后P++,P指向s[1],故第二次输出时,输出s[1]的值,所以输出结果为15。
44.D解析:本题考查switch语句,首先,x=1符合条件case1,执行switch(y)语句,y=0符合case0语句,执行a++并跳出switch(y)语句,此时a=1。因为case1语句后面没有break语句,所以向后执行case2语句,执行a++,b++,然后跳出switch(x),得a=2,b=1。
45.A解析:函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针型。它的作用是将一个变量的地址传递到另一个函数中。当数组名作参数时,如果形参数组中的各元素的值发生变化,实参数组元素的值也将随之发生变化。
46.C解析:aa数组被定义为字符型指针数组,有两个元素,分别存放字符串'abcd'和'ABCD'的首地址。
47.A解析:在解答本题时应该考虑两个问题:结构体变量的长度及sizeof()求字节数的运算符。结构体变量的长度是其内部成员总长度之和,本题中,structdate中包含year,month,day三个整型变量。一个整型变量所占的字节数为2。
48.A
49.A解析:本题主要考查按位与运算,x=011050的二进制形式为000100100010t000,01252的二进制形式为0000001010101010,两者相与得0000001000101000。
50.B解析:执行p=&a;,将变量a的地址赋给指针变量p,运算符*和++的优先级相同,都具有自右向左的结合性,p++是先使用p的值再对p加1,则计算*p,即取p所指向的存储单元的值2,赋值给b,再对p的值加1。输出结果为a=2b=2。
51.B解析:可以用typedef定义新的类型名来代替已有的类型名。T是所定义的新的类型名,它代表题中定义的一个结构体类型,这样就可以用T定义结构体变量了。
52.CC。【解析】结构化分析方法是面向数据流进行需求分析的方法,采用自顶向下、逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。
53.B解析:在main函数中,对f(1)和f(2)的值进行了累加。
f(1)=1
f(2)=f(1)+1=2
最后,j的值为1+2=3
54.C解析:在TurboC2.0环境中,char占1个字节、int占2个字节、long占4个字节、float占4个字节、double占8个字节。所以本题的正确答案为C。
55.A根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。如果一个非空的数据结构满足下列两个条件:1,有且只有一根节结点,2,每一个结点最多有一个前件,也最多有一个后件,则称该数据结构为线性结构,又称线性表。所以线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。
56.B本题考查逻辑与运算符“&&”的使用。对于逻辑与运算符&&来说,对象的结合方式为从左往右,只有&&左边的值为真,才继续右边的运算。题目中&&左边的表达式为m=a>b,“>”运算符优先级高于“=”,故先判断a>b,因为a=1,b=2,所以a>b为假,于是m=0。“&&”左边的值为假,所以不进行右边的运算。n的值没有发生改变,n=2。
57.C解析:在C程序中,如果已经定义文件指针FILE*fp;fopen函数的功能是打开一个文件,调用方式为fp=fopen(文件名,使用文件方式);feof函数的功能是检查文件是否结束,调用方式为feof(FILE*fp);fpute函数的功能是把一个字符写到磁盘文件中,调用方式为fputc(ch,fp),ch是要输出的字符,fp是指定要将该字符写入的文件,该文件必须已经以写或读写方式打开了;fgetc函数的功能是从磁盘文件中读入一个字符,调用方式为ch=fsetc(fp),ch是字符变量,fp是文件指针变量;fclose函数的功能是关闭一个文件,调用方式为fclose(文件指针)。
58.C算法具有的5个特性是:有穷性、确定性、可行性、有0个或多个输入、有一个或多个输出。所以说,用C程序实现的算法可以没有输入,但必须要有输出。因此本题答案选C。
59.B解析:C程序是由函数构成的。一个C源程序至少包括一个main函数,也可以包含一个main函数和若干个其他函数。因此,函数是C程序的基本单位,被调用的函数可以是系统提供的库函数,也可以是用户根据需要自己编制设计的函数。
60.B解析:在定义数组时,如果赋给的初始值个数大于数值的长度,这样就会越界,因此选项A)错误;选项C)中定义的是一个字符变量C:选项D)中整型数组a中只能存储整型数据,而不能存储字符串常量“0123”。
61.B
62.D[答案]D
[考点]软件工程基础
[评析]
面向对象=对象+类+继承+通过消息的通信
对象:一组属性及其上的操作的封装体
类:一组有相同属性和操作的对象的集合
继承:一个类为另一个类上的扩充的方式,子类继承父类,主要目的是代码复用
消息:对象间通信的手段
D是结构化程序设计或过程式(函数式)语言中的,一般的面向对象程序设计语言兼容这种方式,但不是其特征,故最佳选项为D
63.A
64.C在本题中,从给出的选项可以知道,本题程序的作用是对数组的十个元素按照一个规则进行输出。
在程序中,首先定义了一个大小为10的数字用来存放需要处理的十个数,然后通过循环从键盘输入需要被处理的十个数,又通过一个循环完成对数组元素的输出。在该循环中,当循环变量j=9时,输出的是a[9],即数组中的最后一个元素,当j=8时,输出的是a[8],即数组中的倒数第二个元素,以此类推,当j=0时,输出的是a[0],即数组的第一个元素。由此我们可以看出,最后是将数组逆序输出。与选项C完全一致,因此,本题的正确答案是C。
65.C答案C的意思是*P指向数组的第一个值。
66.BA选项去掉大括号就正确了;c选项和D选项应在定义时赋初值。因此B选项正确。
67.D
68.D
69.A本题重点考察函数的调用,首先要了解字母对应的ASCIl码。例如A为65,a为97。即字母+1劂可得到下一个字母。-其次是函数形参和实参的问题,运行过程如下:在fun(&b,a)中,}c=.a-,d=65。}c+l=V,d+1=66,prinff(”%c,%c,”,}C,d);输出b,B,因为指针c指向地址的值为b,此时b=}C=.b.;豳数返回执行ptud(。%C,%c、n”,b,8);输出b,A,因此A选项正确。
70.B
71.B在需求分析阶段可以使用的工具有数据流图(DFD),数据字典(DD),判定树与判定表,因此本题答案为B)。
72.C本题考查do-while循环,在fun函数中,首先定义了静态变量i=0,do-while循环要实现的功能是以b[0]=b[0]+b[1],b[1]=b[1]+b[2],其他元素不变的规则重新给b数组赋值。在主函数中,通过调用fun函数,按上面的规则对数组a重新赋值,最后输出数组a。
73.D
74.C
75.B
76.D
77.A
\n在程序语句中,k的初始值为5,进行第l次while循环后,k自减1为4,非0,执行循环体里的printf语句,输出k,此时k的值变为1。程序执行第2次循环时,k自减1变为0,为假,退出while循环语句。所以程序的最后结果为1。
\n
78.B
79.A由等式的规则可知,A选项错误。先对括号的b进行等式运算,得出b=4,然后计算得出a=4=3,所以会导致错误。答案选择A。
80.B栈是线性表的一种,其插入和删除运算都只在表的一端进行。进行插入、删除的一端称为栈顶,封闭的一端称为栈底。栈顶元素是最后被插入的元素,不是最后被删除的元素,是按先进后出的原则组织数据的。81.(1)错误:for(k=4;k<n;k++)正确:for(k=4;k<=11;k++)(2)错误:s2=S;正确:s2=s;)【解析】题目中要求计算数列前n项的和,包括第n项,因此“for(k=4;k<n;k++)”中的“k<n”应改为“k<=n”;根据C语言的语法规则,for循环体中的多条语句必须在大括号“{”和“}”之间,因此,要在语句s2=s;后加上)。
82.
【解析】在fun()函数中,首先求行字符串的长度,然后通过循环进行字符交换。要注意的是,如果字符串长度是奇数,则最中间的元素在逆置前后的位置是没有改变的。
2021年山东省威海市全国计算机等级考试C语言程序设计模拟考试(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.执行下面的程序后,a的值为()。main{inta,b;for(a=1,b=1;a<=10;a++){if(b%3==l){b+=3;continue;}b-=5;}}A.7B.8C.9D.10
2.数据的存储结构是指()。
A.数据所占的存储空间
B.数据的逻辑结构在计算机中的存放形式
C.数据在计算机中的顺序存储方式
D.存储在计算机外存中的数据
3.以下关于C语言的叙述中正确的是()。
A.C语言中的注释不可以夹在变量名或关键字的中间
B.C语言中的变量可以在使用之前的任何位置进行定义
C.在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致
D.C语言的数值常量中夹带空格不影响常量值的正确表示
4.有如下形式的函数:intfun(inta[4][5],int*p[10],intn){…}调用函数之前需要对函数进行说明,即所谓的函数向前引用说明,以下对fun函数说明正确的是()。A.intfun(intb[][5],int*r[],intm);
B.intfun(inta[4][],int*p[10],intn);
C.intfun(inta[][],int*p[],intn);
D.intfun(inta[],int*p[],intn);
5.有下列程序:main{chars[]="abcde";s+=2:printf("%d\n",s[0]);}执行后的结果是()。A.输出字符a的ASCII码B.输出字符c的ASCII码C.输出字符cD.程序出错
6.有下列程序:程序执行后的输出结果是()。A.abbcdefghijkI23456789964
B.123456789964abbcdefghijk
C.123445667899abbcdefghijk
D.abbcdefghijk123445667899
7.
8.函数原形中,下列()是不必要的。
A.函数的类型B.形式参数名C.函数名D.形式参数类型
9.数组A中,每个元素的长度为4个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[8][5]的起始地址为()。
A.SA+292B.SA+296C.SA+300D.304
10.在定义inta[5][6];后,数组a中的第10个元素是()。(设a[0][0]为第一个元素)
A.a[2][5]B.a[2][4]C.a[1][3]D.a[1][5]
11.不带头结点的单链表head为空的判定条件是()。A.head=NULLB.head→next=NULLC.head→next=headD.head!=NULL
12.堆的形状是一棵_______。
A.二叉排序树B.满二叉树C.完全二叉树D.平衡二叉树
13.
14.以下叙述中正确的是()。
A.在switch语句中,不一定使用break语句
B.break语句只能用于switch语句
C.break语句必须与switch语句中的case配对使用
D.在switch语句中必须使用default
15.有如下程序段:inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=P[5];则b的值是()。
A.5B.6C.9D.8
16.在C语言中,函数隐含的类型是()
A.autoB.staticC.intD.void
17.若有定义“intk=7,x=12;”,则以下表达式值为3的是()。
A.(x%=k)-(k%=5)B.x%=(k%=5)C.x%=(k-k%5)D.x%=k-k%5
18.在“文件包含,预处理语句的使用形式中,当#include后面的文件名用(双引号)括时,寻找被包含文件的方式是()。
A.直接按系统设定的标准方式搜索目录
B.先在源程序所在的目录搜索,如没找到,再按系统设定的标准方式搜索
C.仅仅搜索源程序所在目录
D.仅仅搜索当前目录
19.下列程序的输出结果是()#include<stdio.h>main(){inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=1;case1:case2:a+=2;default:a+=3;}printf(“%d”,a);}A.19B.18C.6D.8
20.若有定义语句:“charsE10]="1234567\0\0";”,则strlen(s)的值是()。
A.7B.8C.9D.10
二、2.填空题(20题)21.若有以下程序
main()
{inta[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-21,32,-33,0}};
inti,j,s=0;
for(i=0;i<4;i++)
{for(j=0;j<4;j++)
{if(a[i][j]<0)continue;
if(a[i][j]==0)break;
s+=a[i][j];
}
}
printf("%d\n",s);
}
执行后输出结果是【】。
22.数据库技术的主要特点为数据的集成性、数据的高【】和低冗余性、数据独立性和数据统一管理与控制。
23.数据结构分为逻辑结构和存储结构,循环队列属于______结构。
24.数据结构分为逻辑结构与存储结构,线性链表属于【】。
25.以下程序运行时,若从键盘输入:102030<回车>,输出的结果是【】。
#include<stdio.h>
main()
{inti=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);
prinff("%d%d%d\n",i,j,k);
}
26.在计算机中,字符的比较是对它们的【】进行比较。
27.以下程序的输出结果是【】。
main()
{unsignedshorta=65536;intb;
printfC%d\n",b=a);
}
28.有以下程序:
intf(intn)
{if(n==1)retum1;
elsereturnf(n-1)+1;}
main()
{inti,j=0;
for(i=1;i<3;i++)j+=f(i);
printf("%d\n",j);
}
程序运行后的输出结果是【】。
29.程序测试分为静态分析和动态测试。其中【】是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。
30.若输入thistestterminal,以下程序的输出结果为:terminaltestthis。请填空。
#defineMAXLINE20
【】
{inti;
char*pstr[3],str[3][MAXLINE];
for(i=0;i<3;++)pstr[i]=str[i];
for(i=0;i<3;i++)scanf("%s",pstr[1]);
sort(pstr);
for(i=0;i<3;i++)prntf("%s",pstr[i]);
}
sort(【】)
char*pstr[3];
{inti,j;
char*p;
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)
if(strcmp(*(pstr+i,*(pstr+j)>0
{p=*(pstr+i);
*(pstr+i=【】;
*(pstr+j)=p;
}
31.以下程序的功能是:从键盘上输入若干学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。填空。
main()
{floatx[1000],sum,=0.0,avea;
intn=0,i;
printf("Entermark:"\n");scanf("%f",&a);
while(a>=0.0&&n<1000)
{sum+=【】;x[n]=【】;
n++;scanf("%f",&a);
}
ave=【】;
printf("Output:"\n");
printf("ave=%f"\n",ave);
for(i=0,i<n;i++)
if(【】)frintf("%f\n",x[i]);
}
32.函数voidfun(float*sn,intn)的功能是:根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请补全程序。
S=1-1/3+1/5-1/7+…+1/(2n+1)
voidfun(float*sn,intn)
{floats=0.0,w,f=-1.0;
inti=0;
for(i=0;i<=n;i++)
{f=【】*f;
w=f/(2*i+1);
s+=w;
}
【】=s;
}
33.下面程序把从终端读入的文本(用#作为文本结束标志)复制到一个名为file.txt的新文件中。补足所缺语句。
main()
{charch;
FILE*fp;
if((fp=fopen(______))=NULL)exit(0);
while((ch=getchar())!='#')
fputc(ch,fp);
______;
}
34.在关系运算中,【】运算是对两个具有公共属性的关系所进行的运算。
35.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块,其中______的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。
36.以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。
main()
{intx[10],a[9],i;
for(i=0;i<10;i++)scanf("%d",&x[i]);
for([11];i<10;i++)
a[i-1]=x[i]+[12];.
for(i=0;i<9;i++)printf("%d",a[i]);
printf("");
}
37.下面程序的功能是输出数组中最大的数,由a指针指向该元素。请填空。
main()
{ints[]={6,7,2,13,9,1,12,10,5,8,4,3,11},*a,*b;
for(b=s,a=s;b-s<13;b++)
if(【】)a=b;
printf("%d",*a);}
38.下面程序的输出是【】。
main()
{enumem{em1=3,em2=1,em3};
char*aa[]={"AA","BB","CC","DD"};
printf("%s%s%s\n",aa[em1],aa[em2],aa[em3]);
}
39.下列程序执行后输出的结果是【】。
main()
{intarr[10],i,k=0;
for(i=0;i<10;i++)arr[i]=i;
for(i=1;i<4;i++)k+=arr[i]+i;
printf("%d\n",k);
40.以下程序的运行结果是______。
#include<stdio.h>
main()
{intfun();fun();}
fun()
{staticinta[3]={0,1,2};
inti;
for(i=0;i<3;i++)a[i]+=a[i];
for(i=0;i<3;i++)printf("%d,",a[i]);
pfintf("\n",);}
三、1.选择题(20题)41.下面程序的输出结果为______。#include<string.h>main(){charp1[7]="abc",p2[]="ABC",str[50]="xyz";strcpy(str,strcat(p1,p2));printf("%s",str);}
A.xyzabcABCB.abcABCC.xyzabcD.xyzABC
42.C语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符
A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母,数字和下划线中任一字符
43.有以下程序:#include<stdio.h>main(){chars[]="159",*p;p=s;printf("%c",*p++);printf("%~",*p++);}程序运行后的输出结果是()。
A.15B.16C.12D.59
44.有以下程序
#include<stdio.h>
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:a++;break;
case1:b++;break;
}
case2:a++;b++;break;
case3:a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
程序的运行结果是
A.a=1,b=0B.a=2,b=2C.a=1,b=1D.a=2,b=1
45.下列程序执行后的输出结果是voidfunc(int*a,intb[]){b[0]=*a+6;}main(){inta,b[5];a=0;b[0]=3;func(&a,b);printf("%d\n",b[0]);}
A.6B.7C.8D.9
46.设有如下定义:char*aa[2]={"abcd","ABCD"},则以下说法中正确的是()。
A.aa数组中元素的值分别是{"abcd","ABCD"};
B.aa是指针变量,它指向含有两个数组元素的字符型一维数组
C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D.aa数组的两个元素中各自存放了字符‘a’和‘A’的地址
47.以下程序的运行结果是#include"stdio.h"main(){structdate{intyear,month,day;}today;printf("%d\n",sizeof(structdate));}
A.6B.8C.10D.12
48.已知chara=15,则a,-a和!a的整型值分别为______。
A.240、-15、0B.-16、-15、0C.0、-15、240D.0、-15、0
49.设x=011050,则x=x&01252的值是()。
A.1000101000
B.1111110100011000
C.1011100010
D.1100000000101000
50.语句“a=2;p=&a;b=*p++;”执行后的结果是()。
A.a=3b=3B.a=2b=2C.a=2b=1D.a=2b=3
51.设有以下语句:typedefstreetS{intg;charh;}T;则下面叙述中正确的是()。
A.可用S定义结构体变量B.可以用T定义结构体变量C.S是struct类型的变量D.T是structS类型的变量
52.结构化分析方法是面向()的自顶向下、逐步求精进行需求分析的方法
A.对象B.数据结构C.数据流D.目标
53.有以下程序
intf(intn)
{if(n==1)return1;
elsereturnf(n-1)+1;}
main()
{inti,j=0;
for(i=1;i<3;i++)j+=f(i);
printf("%d\n",j);}
程序运行后的输出结果是
A.4B.3C.2D.1
54.C语言中各种基本数据类型的存储空间长度排列为()。
A.char≤long≤int≤float≤double
B.double≤float≤long≤int≤char
C.char≤int≤long~float≤double
D.float≤int≤long≤char≤double
55.下列叙述中正确的是A.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构
56.设有:
inta=1,b=2,c=3,d=4,m=2,n=2;
执行(m=a>b)&&(n=c>d)后,n的值是
A.1B.2C.3D.4
57.阅读以下程序以及对程序功能的描述,其中正确的描述是()。#include<stdio.h>main(){FILE*in,*out;charch,infile[10],outfile[10];printf("Entertheinfilename:\n");scanf("%s",infile);printf("Entertheoutfilename:\n");scanf("%s",outfile);if((in=fopen(infile,"r"))==NULL){printf("cannotopeninfile\n");exit(0);}if((out=fopen(outfile,"w"))==NULL){printf("cannotopenoutfile\n");exit(0);}while(!feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);}
A.程序完成将磁盘文件的信息在屏幕上显示的功能
B.程序完成将两个磁盘文件合二为一的功能
C.程序完成将一个磁盘文件复制到另一个磁盘文件中的功能
D.程序完成将两个磁盘文件合并并在屏幕上输出的功能
58.以下叙述中正确的是
A.用C程序实现的算法必须要有输入和输出操作
B.用C程序实现的算法可以没有输出但必须要有输入
C.用C程序实现的算法可以没有输入但必须要有输出
D.用C程序实现的算法可以既没有输入也没有输出
59.一个C语言程序是由()
A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成
60.下列能正确定义一维数组的选项是()。
A.inta[5]={0,1,2,3,4,5);
B.chara[]={0,1,2,3,4,5};
C.chara={'A','B','C'};
D.inta[5]="0123";
四、选择题(20题)61.
62.下面概念中,不属于面向对象方法的是()。A.对象B.继承C.类D.过程调用
63.
64.有如下程序段
#include"stdio.h"
main()
{intk[10];
intj;
for(j=0;j<10;j++)
scanf("%d",&k[j]);
for(j=9;j>=0;j--)
printf("%d",k[j]);}
则程序段实现的功能是
A.输入10个数据的顺序输入并输出
B.输入10个数据的逆序存放
C.输入10个数据的逆序输出
D.以上叙述均错误
65.若有定义语句:“charS[3][10],(*k)[3],*p;”,则以下赋值语句正确的是()。
A.p=S;B.p=k;C.p=s[0];D.k=s;
66.以下选项中正确的语句组是()。
A.char*s;8={1.BOOK!”}i
B.char*s;8=”BOOK!”;
C.charS[10];S=”BOOK!”;
D.charS[];S=”BOOK!”;
67.
68.
69.有以下程序:
程序运行后的输出结果是()。
A.b,B"b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B
70.
71.在软件开发中,需求分析阶段可以使用的工具是()。A.N—s图B.DFD图C.PAD图D.程序流程图
72.下列程序的输出结果是()。#includedstdi0.h>#includedstring.h>voidfun(intb[]){staticinti=0;do{b[i]+=b[i+1];}while(++i<2);}main{intk,a[5]={1,3,5,4,9};fun(a);for(k=0;k<5;k++)printf("%d",a[k]);}A.13579B.48579C.48549D.48999
73.
74.
75.
76.
77.
有下列程序:
main
{intk=5:
while(--k)printf("%d",k=1);
printf("\n");
}
执行后的输出结果是()。
A.1B.2C.4D.死循环
78.
79.若有定义语句:“inta=3,b=2,c=1;”,以下选项中错误的赋值表达式是()。
A.a=(b=4)=3;B.a=b=c+1:C.a=(b=4)+C;D.a=1+(b=c一4);
80.按照“先进后出”原则组织数据的结构是()。
A.队列B.栈C.双向链表D.二叉树
五、程序改错题(1题)81.已知一个数列从0项开始的前3项为0,0,1,以后的各项都是其相邻的前3项之和。下列给定的程序中,函数proc的功能是:计算并输出该数列前n项的和sum。n的值通过形参传人。例如,当n=20时,程序的输出结果应为42762.000000。请修改程序中的错误,使它能得到正确结果。注意:不要改动maiil函数,不得增行或删行,也不得更改程序的结构。试题程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>doubleproc(intn){doubl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 未来五年半导体级单晶硅材料企业县域市场拓展与下沉战略分析研究报告
- 未来五年家禽脂肪企业县域市场拓展与下沉战略分析研究报告
- 未来五年食品包装、标志检验服务企业ESG实践与创新战略分析研究报告
- 未来五年新形势下半自动酶标仪行业顺势崛起战略制定与实施分析研究报告
- 医疗器械研发产学研协同的风险管控策略
- 医疗区块链数据安全:政策法规与技术适配
- 护士个人职责试题及答案2025新版
- 医疗区块链技术的跨区域协同创新
- 初级会计实务冲刺阶段补充习题含答案
- 成品仓库管理制度
- 伟大的《红楼梦》智慧树知到期末考试答案章节答案2024年北京大学
- AQ2059-2016 磷石膏库安全技术规程
- 喷涂车间操作工安全操作规程模版(三篇)
- 节水型小区总结汇报
- 仓库发货年终总结
- 2023中华护理学会团体标准-老年人误吸的预防
- 一年级数学重叠问题练习题
- 事业单位专业技术人员岗位工资标准表
- 人工湿地施工方案【整编】
- Android图形图像教学课件
- 知识图谱与自然语言处理的深度融合
评论
0/150
提交评论