版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022年江苏省南通市全国计算机等级考试C语言程序设计模拟考试(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.设x=011050,则x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
2.下面关于数据库系统中叙述正确的是()。
A.数据库系统减少了数据冗余
B.数据库系统避免了一切冗余
C.数据库系统中数据的一致性是指数据类型的一致
D.数据库系统比文件系统能管理更多的数据
3.已知一算术表达式的中缀形式为A+B*C–D/E,后缀形式为ABC*+DE/–,其前缀形式为()。
A.–A+B*C/DEB.–A+B*CD/EC.–+*ABC/DED.–+A*BC/DE
4.若有定义“inta=5,b=7;”,则表达式a%-(b%2)运算后,a的值为()。
A.0B.1C.11D.3
5.算法分析的目的是()。
A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性
6.以下不正确的叙述是()。
A.在C程序中,逗号运算符的优先级最低
B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变
D.当从键盘输入数据时,对整型变量只能输入整型数值,对实型变量只能输入实型数值
7.单链表的存储密度()顺序表的存储密度。
A.大于B.等于C.小于D.不能确定
8.定义根节点深度为1,有n个元素的完全二叉树的深度是()
A.D(n)=log2(n)
B.D(n)=1+log2(n)
C.D(n)=n+log2(n)
D.D(n)=1+n*log2(n)
9.若有定义“doublea;”,则正确的输入语句是()。A.A.seaM("%1f",&a);B.scanf("%f",&a);
C.scanf("%1f",&a)
D.scanf("%1e",&a);
10.有以下程序:#include<stdio.h>structord{intX,y;)dt[2]={1,2,3,4};main(){structord*p=dt;printf("%d,",++(p->x));printf("%d\n",++(p->y));}程序运行后的输出结果是()。A.1,2B.4,1C.3,4D.2,3
11.
12.
13.若i和k都是int类型变量,有以下for语句:for(i=0,k=-1;k=1;k++)printf("*****\n");下面关于语句执行情况的叙述中正确的是()。
A.循环体执行两次B.循环体执行一次C.循环体一次也不执行D.构成无限循环
14.以下叙述中错误的是()。
A.在一个函数内的复合语句中定义的变量在本函数范围内有效
B.在一个函数内定义的变量只在本函数范围内有效
C.在不同的函数中可以定义相同名字的变量
D.函数的形参是局部变量
15.下列程序段输出的字符串长度为()。printf("\\aaa\'ccc\bddd\'");
A.11B.12C.13D.17
16.字符(char)型数据在微内存中的存储形式是______。
A.反码B.补码C.EBCDIC码D.ASCII码
17.以下能够正确描述“k是大于0的偶数”的表达式是()。
A.(k>0)&&(k%2!=1)
B.(k>0)&&(k%2=0)
C.(k>0)||!(k%2)
D.(k>0)||(k%2==0)
18.
19.标准库函数fgets(str,n,fp)的功能是()。A.从fp所指的文件中读取长度不超过n-1的字符串存入指针str所指的内存
B.从fp所指的文件中读取长度为n的字符串存入指针str所指的内存
C.从fp所指的文件中读取n个字符串存入指针str所指的内存
D.从fp所指的文件中读取长度为n-1的字符串存入指针str所指的内存
20.在下列几种排序方法中,要求内存量最大的是______。
A.插入排序B.选择排序C.快速排序D.归并排序
二、2.填空题(20题)21.若按功能划分,软件测试的方法通常分为白盒测试方法和【】测试方法。
22.表达式1/2*(int)3.7/(int)(2.4*(1.5+2.5))值的数据类型为______。
23.若有如下程序:
main()
{intx=20;
if(x>10)printf("%d",x-=5);
if(x>15)printf("%d",x);
}
则程序运行后的输出结果是【】。
24.有以下程序
#include<stdio.h>
main()
{charch1,ch2;intn1,n2;
ch1=getchar();ch2=getchar();
n1=ch1-'()';n2=n1*10+(ch2-'()');
printf("%d\n",n2);
}
程序运行时输入:12<回车>,执行后输出结果是【】。
25.实现算法所需的存储单元多少和算法的工作量大小分别称为为算法的【】。
26.以下程序的运行结果是______。
#include<string.h>
typedefstructstudent{
charname[10];
longsno;
floatscore;
}STU;
main()
{STUa={"zhangsan",2001,95},b={"Shangxian",2002,90},
c={"Anhua",2003,95},d,*p-&d;
d=a;
if{strcmp(a.nalne,)>0)d=b;
if(strcmp(,)>0)d=c;
printf("%ld%s\n",d.sno,p>name};
}
27.常用的黑箱测试有等价类划分法、【】和错误推测法3种。
28.下列程序的输出结果是______。
main()
{inta[]={31,27,20,12,6,1),*p=a;
p++;
printf("%d\n",*(p+2));
}
29.以下程序的定义语句中,x[1]的初值是[9],程序运行后输出的内容是[10]。
#include<stdio.h>
main()
{intx[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i;
for(i=0;i<4;i++)
{p[i]=&x[2*i+1];
printf("%d",p[i][0]);
}
printf("\n");
}
30.以下程序的输出结果是______。
#include<stdio.h>
main()
{inta[5]={2,4,6,8,10},*p;
p=a;p++;
printf("%d",*p);
}
31.有以下程序
intsub(intn){retnrn(n/10+n%10);}
main()
{intx,y;
scanf("%d",&x);
y=sub(sub(sub(x)));
printf("%d\n",y);
}
若运行时输入:1234<回车>,程序的输出结果是______。
32.对于一棵具有n个结点的树,该树中所有结点的度为【】。
33.C语言用于结构化程序设计的3种基本结构是______、选择结构和循环结构。
34.数据库系统其内部分为三级模式,即概念模式、内模式和外模式。其中,______是用户的数据视图,也就是用户所见到的数据模式。
35.以下程序由终端键盘输入一个文件名,然后把从终端键盘输入的字符依次放到该文
件中,用井作为结束输入的标志。请填空。
#include<stdio.h>
main()
{FILE*fp;
charch,fname[10];
printf("Inputthenameoffile\n");
gets(fname);
if((fp=【】)==NULL)
{printf("Cannotope\n");exit(O);}
printf("Enterdata\n");
while((ch=getchar())!='#')
fputc(【】,fp);
fclose(fp);
}
36.若由以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是【】。
intw[10]={23,54,10,33,47,98,72,80,61},*p=w;
37.测试的目的是暴露错误,评价程序的可靠性;而______的目的是发现错误的位置并改正错误。
38.在内存中,存储字符'x'要占用1个字节,存储字符串"x"要占用【】个字节。
39.一般来说,算法可以用顺序、选择和______三种基本控制结构组合而成。
40.仅依据规格说明书描述的程序功能来设计测试实例的方法称为【】。
三、1.选择题(20题)41.以下程序的输出结果是charcchar(charch){if(ch>='A'&&ch<='Z')ch=ch-'A'+'a';returnch;}main(){chars[]="ABC+abc=defDEF",*p=s;while(*p){*p=cchar(*p);p++;}printf{"%$\n",s);}
A.abc+ABC=DEFdef
B.abc+abc=defdef
C.abcABCDEFdef
D.abcabcdefdef
42.下列叙述中错误的是()。
A.线性表是由n个元素组成的一个有限序列
B.线性表是一种线性结构
C.线性表的所有结点有且仅有一个前件和后件
D.线性表可以是空表
43.在执行以下程序时,如果从键盘上输入ABCdef<回车>,则输出为______。#include<stdio.h>main(){charch;while((ch=getchar())!="\n"){if(ch>='A'&&ch<='B')ch=ch+32;elseif(ch>='a'&&ch<='z')ch=ch-32;printf("%c",ch);}printf("\n");}
A.ABCdefB.abcDEFC.abcD.DEF
44.下列程序的输出结果是()。#include<stdio.h>intf(inta,intb);main(){inti=2,p,j,k;j=i;k=++i;p=f(j,k);printf("%d",p);}intf(inta,intb){intc;if(a>b)c=1;elseif(a==b)c=0;elsec=-1;return(c);}
A.-1B.1C.2D.编译出错,无法运行
45.下面能正确进行字符串赋值操作的语句是()
A.chars[5]={"ABCDE"}
B.chars[5]={'A','B','C','D','E'};
C.char*s;s="APCDEF"
D.char*s;scanf("%s",s);
46.下列有关数据库的描述,正确的是______。
A.数据库是一个DBF文件B.数据库是一个关系C.数据库是一个结构化的数据集合D.数据库是一组文件
47.以下程序的输出结果是______。charcchar(charch){if(ch>='A'&&ch<='z')ch=ch-'A'+'a';returnch;}main(){chars[]="ABC+abc=defDEF",*p=s;while(*p){*p=cchar(*p);p++;}printf("%s\n",s);}
A.abe+ABC=DEFdef
B.abc+abe=defdef
C.abcaABCDEFdef
D.abcabcdefdef
48.有以下程序段charch;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是
A.因变量类型与格式描述符的类型不匹配输出无定值
B.输出项与格式描述符个数不符,输出为零值或不定值
C.a,97,12k=12
D.a,97,k=12
49.下列选项中,不是一个算法的基本特征的是()。
A.完整性B.可行性C.有穷性D.拥有足够的情报
50.有如下程序intfunc(inta,intb){return(a+b);}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);printf("%d\n",r);}该程序的输出结果是______。
A.12B.13C.14D.15
51.若有说明:inta[][3]={0,0};则不正确的叙述是()。
A.数组a的每个元素的初值都是0
B.数组a的第一维大小为1
C.数组a的行数为1
D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
52.有定义语句:“intx,y;”,若要通过“scanf("%d,%d,&x,&y);”语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是
A.1112<回车>B.11,12<回车>C.11,12<回车>D.11,<回车>12<回车>
53.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A.函数调用可以作为独立的语句存在
B.函数调用可以作为一个函数的实参
C.函数调用可以出现在表达式中
D.函数调用可以作为一个函数的形参
54.以下程序中函数f的功能是将n个字符串按由大到小的顺序进行排序。#include<string.h>voidf(charp[][10],intn){chart[20];inti,j;for(i=0;i<n-1;i++)for(j=i+l;j<n;j++)if(strcmp(p[i],p[j])<0){strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);}}main(){charp[][lO]-{"abc","aabdfg","abbd","dcdbe","cd"};inti;f(p,5);printf("%dkn",strlen(p[0]));}程序运{亍后的输出结果是
A.6B.4C.5D.3
55.执行下面的程序段后,变量k中的值为()。intk=3,s[2];s[0]=k;k=s[1]*10;
A.不定值B.33C.30D.10
56.单个用户使用的数据视图的描述称为______。
A.外模式B.概念模式C.内模式D.存储模式
57.当执行下列宏定义命令后,S的值为()#defineR3.0#definePI3.1415926#defineL2*PI*R#defineSPI*R*R
A.3.1415926B.18.849556C.3D.28.2743334
58.设有以下定义和语句:charstr[20]="Program",*P;p=str;则以下叙述中正确的是()。
A.*p与str[0]中的值相等
B.str与p的类型完全相同
C.str数组的长度和p所指向的字符串长度相等
D.数组str中存放的内容和指针变量p中存放的内容相同
59.下列描述中正确的是()。
A.在C语言程序中预处理是指完成宏替换和文件包含指定的文件的调用
B.预处理指令只能位于C源程序文件的首部
C.预处理命令可以放在程序中的任何位置
D.预处理命令结尾需要加分号
60.目前因特网(Internet)尚未提供的服务是()
A.电子邮件B.文件传送C.远程使用计算机D.电视广播
四、选择题(20题)61.有以下程序程序运行后的输出结果是()。
A.1B.16C.32D.0
62.若有定义语句:doublea,*P=&a;以下叙述中错误的是()。
A.定义语句中的*号是-个间址运算符
B.定义语句中的木号是-个说明符
C.定义语句中的P只能存放double类型变量的地址
D.定义语句中,P=&a把变量a的地址作为初值赋给指针变量P
63.有以下定义和语句:
structworkers
{intnum;charname[20];charC;
struct
{intday;intmonth;intyear;)S;
};
structworkersw,*pw;
pw=&w;
能给w中year成员赋1980的语句是()。
A.*pw.year=1980;
B.w.year=1980;
C.pw->year=1980
D.w.S.year=1980;
64.
以下程序的输出结果是()。
main
{charch[3][4]={"123","456","78"),*p[3];inti;
for(i=0;i<3;i++)p[i]=ch[i];
for(i=0;i<3;i++)printf("%s",p[i]);}
A.123456780B.123456780C.12345678D.147
65.
有以下程序段
intj;floaty;charname[50]:
scanf("%2d%f%s",&i,&.y,name):
当执行上述程序段,从键盘上输入555667777abc后,y的值为()。
A.55566.0B.566.0C.7777.0D.566777.0
66.一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为()。
A.16B.10C.6D.4
67.
以下程序的输出结果是()。
main
{charw[][10]={"ABCD","EFGH","IJKL","
MNOP"),K;
for(k=1;k<3;k++)printf("%s\n",w[k]);
A.ABCDFGHKLB.ABCDEFGUC.EFGJKOD.EFGHUKL
68.
69.
程序运行后的输出结果是()。A.1002,ZhangDa,1202.0
B.1002,ChangRon9。1202.0
C.1001,ChangRon9,1098.0
D.1001,ZhangDa,1098.0
70.
71.
72.以下说法中正确的是()。
A.C语言程序总是从第一个的函数开始执行
B.在C语言程序中,要调用的函数必须在main函数中定义
C.C语言程序总是从main函数开始执行
D.C语言程序中的main函数必须放在程序的开始部分
73.下列叙述中正确的是()。
A.数据库系统是一个独立的系统,不需要操作系统的支持
B.数据库技术的根本目标是要解决数据的共享问题
C.数据库管理系统就是数据库系统
D.以上三种说法都不对
74.
75.
76.以下程序的输出结果是
#include<stdio.h>
main()
{
inta,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
A.6,1B.6,0
C.2,1D.2,0
77.有以下程序
main()
{chara[]={’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’\0’};
inti,j;
i=sizeof(a);
j=strlen(a);
printf("%d,%d\b",i,j);
}
程序运行后的输出结果是
A.9,9B.8,9C.1,8D.9,8
78.若变量已正确定义,在if(W)埘ntf(”%d\n”,k);中,以下不可替代w的是()。
A.a<>b+CB.ch=getcharC.a==b+CD.a++
79.假定X和Y为double型,则表达式x=2,y=x+3/2的值是()。
A.3.500000B.3C.2.000000D.3.000000
80.
五、程序改错题(1题)81.写出下列程序的运行结果。
main
{intn;
For(n=3;n<=10;n++)
{if(n%6==0)break;Printf(“%d”,n);}}
六、程序设计题(1题)82.请编写函数proc(),该函数的功能是:将str所指字符串中ASCⅡ值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。例如,若str所指字符串中的内容为aBcdef9789,其中字符8的ASCⅡ码值为偶数……字符8的ASCⅡ码值为偶数……都应当删除,其他依此类推。最后t所指的数组中的内容应是ace979。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:
参考答案
1.A本题考查按位与运算,按位与就是相同为1,不同为0,把x=011050化成二进制为0001001000101000,把01252化成二进制为0000001010101010,两者相与得0000001000101000。
2.A\n数据的共享自身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。所谓数据的一致性是指在系统中同一数据在不同位置出现时应保持相同的值。
\n
3.D
4.A本题考查“%”运算符的使用。运算符“%”是整数除法的余数。本题中表达式a%=(b%2)等价于a=a%(b%2)=5%(7%2)=5%1=0。
5.C
6.D
7.C
8.B
9.D本题考查seanf函数的调用形式:scanf(格式字符串,输入项地址表)。题中定义变量a为双精度型变量,双精度变量的格式符为“le”;变量的地址用取地址符“&”加变量名表示,所以选项D正确。
10.Dp一>x的值为1,++(p->x)作用是取p->x的值加1作为表达式的值即值为2,同理++(p->y)的值为3。所以选D。
11.A
12.A
13.D此题考查的是基本的循环,答案为D。
14.A在一个函数内的复合语句中定义的变量在本复合语句块范围内有效,选项A错误,其他选项正确。本题答案为A选项。
15.C解析:转义字符有1个\\\\、2个\\'、1个\\b,普通字符有3个a、3个c、3个d,共13个字符。
16.D解析:将一个字符常量放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的ASCII码值放到存储单元中。
17.A判断k大于0的表达式为“k>0”,判断k是偶数的表达式为“k%2==0”或“k%2!=1”。两个表达式必须都成立才能确定k是大于0的偶数,则对应的表达式为“(k>0)&&(k%2==0)”或“(k>0)&&(k%2!=1)”。故本题答案为A选项。
18.A
19.Afgets函数的功能是从fp所指文件中读入n-1个字符放入以str为起始地址的空间内,读取长度不超过n-1,读入结束后,自动在最后添加’\\0’,选项A正确。本题答案为A选项。
20.D解析:快速排序的基本思想是,通过一趟排序将排序记录分割成独立的两部
分,其中一部分记录的关键字均比另一部分记录的关键字小,再分别对这两部分记录继
续进行排序,以达到整个序列有序;插入排序的基本操作是指将无序序列中的各元素依
次插入到已经有序的线性表中,从而得到一个新的序列;选择排序的基本思想是:扫描整
个线性表,从中选出最小的元素,将它交换到表的最前面(这是它应有的位置),然后对剩
下的于表采用同样的方法,直到表空为止;归并:排序是将两个或两个以上的有序表组合
成一个新的有序表。
注意:各种排序方法实现过程及实现机制。
21.黑盒软件测试的方法有三种:动态测试、静态测试和正确性证明。设计测试实例的方法一般有两类:黑盒测试法和白盒测试法。在使用黑盒法设计测试实例时,测试人员将程序看成一个“黑盒”,即不关心程序内部是如何实现的,只是检查程序是否符合它的“功能说明”,所以使用黑盒法设计的测试用例完全是根据程序的功能说明来设计的。
22.整型整型解析:上面的表达式中,通过强制类型转换把最后参与运算的数据都转换成了int型,所以最后得到的结果也是int类型。
23.1515解析:本题首先定义了一个变量x并初始化为20。然后第一个if语句判断x是否>10,结果为真,则执行后面的输出语句,输出结果是赋值表达式X-=5的值,所以输出15,同时x的值也变成15。第二个if语句再判断x是否>15时条件为假,结束程序。所以程序运行后的输出结果是15。
24.1212解析:字符类型的数据在内存中以相应的ASCII码存放,在C语言中,字符数据可以等价为与其相应的ASCII码的整数,还可以作为整数参加运算。在本题中,n1=h1-0'=1-0=49-48=1,n2=n1*10+(ch2-'0')=1*10+(2-0)=10+2=12。
25.空间复杂度和时间复杂度空间复杂度和时间复杂度解析:算法的复杂性是指对—个在有限步骤内终止算法和所需存储空间大小的估计。算法所需存储空间大小是算法的空间复杂性,算法的计算量是算法的时间复杂性。
26.2002Shangxian2002Shangxian解析:本题考核的知识点是结构体类型的定义、赋初值以及字符串的比较。本题中首先定义一个结构体类型STU,镇结构体由一个长度为10的字符型数组、一个long型变量和一个float型变量组成。接着在主函数中用STU定义了4个结构体变量a、b、c、d,并且给a、b、c赋初值,然后定义?一个结构体指针p,并让它指向变量d。然后让将变量a的值赋给变量d,接着通过两个if语句比较结构体变量a、b、c的成员name大小。第一个订语句将结构体变量和结构体变量中较小的那个赋值给结构体变量d,第二个if语句将结构体变量和结构体变量较大的那个赋给结构体变量d。比较通过函数strcmp实现。strcmp()函数有两个参数,分别为被比较的两个字符串。如果第一个字符串大于第二个字符串返回值大于0,若第一个小于第二个返回值小于0,相等时返回值为0。字符串比较大小的标准是从第一个字符开始依次向右比较,遇到某一个字符大,该字符所在的字符串就是较大的字符串,如果遇到某一个字符小,该字符所在的字符串就是较小的字符串。程序中第一个if语句strcmp(,)>0为真,故将b的值赋给d;第二个if语句strcmp()>0为假,故不执行后面的语句,最后d的值为b的值,因此输出d.sn0和p->name的值为2002Shangxian
27.边界值分析法边界值分析法解析:黑箱测试方法完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例。常用的黑箱测试有等价类划分、边界值分析法和错误推测法3种。
28.1212解析:本题考查如何用指针引用数组元素。分析程序,首先定义了一个指向数组a的指针p,p指向数组的首地址,通过p++,将p指向a[1],p+2是将指针后移2位指向a[3],*(p+2)即是取a[3]的值12。
29.在主函数中根据整型数组x[]的定义可知,x[1]的初值等于2。在for循环语句中;当i=0时,p[0]=&x[1],p[0][0]=2;当i=1时,P[1];&x[3],p[1][0]=4;当i=2时,p[2]=及x[5],p[2][0]=6;当i=3时,p[3]=&x[7],p[3][0]=8,所以程序输出的结果为2、4、6、8。\r\n\r\n
30.指针P指向数组a的首地址,执行语句p++;后p指向数组a的第2个元素的地址,即a[1]的地址,因此*p=a[1]=4。\r\n\r\n
31.1010解析:本题程序中定义了一个函数sub(),用来计算一个整数整除10的商和余数的和。在主函数中,首先用scanf()函数读入一个十进制整数1234,然后对1234三次嵌套调用函数svb()。首先看最里层的调用,应该返回的值是123+4=127;然后中间一层调用应该返回的是12+7=19;所以最外层调用返回1+9=10。故最后输出10。
32.n-1n-1解析:设该树中所有结点的度为x,因为,在树的结点中,除了根结点以外,其余结点都有一个分支进入,所以,n=x+1,所以x=n-1。
33.顺序结构顺序结构解析:结构化程序有3种摹本结构,即顺序结构、选择结构(包括if语句和switch语句)和循环结构(包括for语句、while语句、do…while语句)。
34.外模式外模式解析:数据库系统的三级模式分别是内模式、概念模式和外模式。其中,物理模式给出了数据库的物理存储结构和存取方法;概念模式是数据库系统中全局数据逻辑结构的描述;外模式是用户的数据视图,也就是用户所见到的数据模式。
35.fopen(fname:"w")
36.*(p+5)或p[5]*(p+5)或p[5]解析:本题的考查点是通过指针引用数组元素。98是数组w的第5个元素(最开始的为第0个),而通过*p=w已经将p指向了数组w,要想不移动指针p而引用98,可以有以下两种方法:p[5]、*(p+5)。
37.调试调试
38.22解析:计算机存储一个字符用1个字节,存储字符串时,每个字符用占用1个字节,另在字符串的有效字符之后存储1个字符串的结束标记符。所以存储字符串“X”要占用2个字节,存储字符'x'只要1个字节。注意:sizeof()函数和strlen()函数的作用。
39.循环循环解析:算法一般由顺序,选择和循环三种基本控制结构组合而成。
40.黑箱法黑箱法
41.B解析:本题考核的知识点是字符型指针变量与函数的综合应用。本题首先定义了一个函数cchar(),有一个字符型参数ch。在函数中首先判断该字符是否为大写字母,如果是则把它转换成小写字符再赋值给cb,把ch作为函数值返回。在主函数中定义了一个字符数组s并初始化,然后定义了一个指针变量并使它指向数组s。接着通过一个while循环利用指针变量p,依次取出字符数组的字符(直到遇到字符串结束标志['\\0'为止),并调用cchar()函数,把大写字母转换成小写字母,其他字符不变。最后输出字符数组为s中的内容,结果为“abc+abc=defdeF”。所以,4个选项中B为所选。
42.CC.【解析】线性表是一种线性结构,由n(n≥0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前件,最后一个结点没有后件,其他结点有且只有一个前件和后件,所以选项C.是错误的。
43.B
44.A解析:函数调用相当于f(2,3),程序运算结果为-1。
45.C
46.C解析:数据库(Database,简称DB)是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。数据库中的数据具有“集成”、“共事”之特点。
47.B解析:字符数组元素作函数参数是单向的值传递。函数cchar的功能是将大写字母转换为小写字母。主函数中while循环语句的条件是判断指针p当前指向的字符是否为空,若不为空,则调用函数cchar,即主函数中通过循环语句将字符串'ABC+abc=defDEF'中的大写字母全部转换为小写字母,因此printf的输出结果为选项B。
48.D解析:输出格式控制符%c表示将变量以字符的形式输出;输出格式控制符%d表示将变量以带符号的十进制整型数输出,所以第一个输出语句输出的结果为a,97;第二个输出语句输出的结果为k=12。
49.A解析:作为一个算法,一般应该具有下列4个特征:(1)可行性,即考虑到实际的条件能够达到一个满意的结果;(2)确定性,算法中的每一个步骤都必须是有明确定义的,(3)有穷性,一个算法必须在有限的时间内做完;(4)拥有足够的情报。
50.D解析:调用函数func(x,y),返回x+y,即7;再调用函数func(7,z),返回7+z,即15。
51.D解析:本题考查给二维数组元素赋值。给二维数组元素赋值时应注意下列两点:①在对二维数组元素赋初值时,可以只对部分元素赋初值,未赋初值的元素自动取0。②二维数组第一维的大小由下列规则确定;当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小;当初值的个数不能被第二维的常量表达式的值除尽时,第一维的大小等于所得商数加1。
52.A解析:本题考核的知识点是scanf()函数的运用。seanf()函数有两个参数,第一个参数为输入格式字符串,第二个参数为输入变量地址列表,在scallf()语句中非格式字符可以作为输入时数据的间隔,输入时必须原样输入,在本题中输入格式串为%d,%d其中“,”为非格式字符,所以输入时必须原样输入。所以4个选项中选项A符合题意。
53.D解析:本题考查函数的调用。在有参函数调用中,是将主调函数的实参值传给被调函数的形参。按函数在程序中出现的位置来分,有以下三种函数调用形式:
①函数调用作为一条语句。例如:fun();这时不要求函数带回值,只要求函数完成一定的操作。故选项A)正确。
②函数出现在表达式中,这种表达式称为函数表达式。这时要求函数带回一个确定的值以参加表达式的运算。例如:c=5*max(a,b);函数max是表达式的一部分,将其值乘以5后赋给c。故选项C)正确。
③函数调用作为一个函数的实参,例如:m=max(a,max(b,c));其中max(b,c)是一次函数调用,它的值作为max另一次调用的实参。故选项B)正确。
函数调用不可作为一个函数的形参,因为函数调用参数的数据传递是单向传递,即实参传给形参,不能由形参传给实参。故选项D)错误。
54.C解析:函数strcmp(字符串1,字符串2)作用是将”字符串1”和”字符串2”进行比较,如果“字符串1”》”字符串2”,返回一个大于0的整数值;如果“字符串1”<“字符串2”,返回一个小于0的整数值;如果”字符串1”=“字符串2”,返回0。函数strcpy(字符串数组名,字符串,[整型表达式])的作用是将“字符串”的前“整型表达式”个字符有入到指定的“字符数组”中,若省略“整型表达式”,则将整个“字符串”存入,字符数组”中.函数f()的功能是利用选择法把一个具有n行的二维数组中按行存放的n个字符串由大到小排序。在主函数中定义了一个二维字符数组p并给它按行赋初值,然后调用f()函数;把它按行从大到小排列。字符串比较大小的标准是从第一个字符开始依次向右比较,遇到某一个字符大,该字符所在的字符串就是较大的字符串。由此可知最大的字符串为“dcdbe”,排序后存放在第一行,其首地址为P[0],在输出语句输出的p[0]指向的字符串长度是5。所以4个选项中C正确。
55.A解析:定义数组时,没有对s[1]进行初始化,因此s[1]的值不确定,所以k=s[1]*10的值也不确定。
56.A解析:选项A)正确,外模式是用户的数据视图,也就是用户所见到的数据模式;选项B)不正确,全局数据视图的描述称为概念模式,即数据库中全部数据的整体逻辑结构的描述;选项C)不正确,物理存储数据视图的描述称为内模式,即数据库在物理存储方面的描述;选项D)不正确,存储模式即为内模式。
57.D
58.A解析:语句p=str表示指针变量p指向str数组的首地址,即&str[0],所以*p与str[0]中的值相等,选项A)正确。
59.C解析:本题考查预处理命令的特点,编译预处理命令的特点:①为了区别一般的语句,预处理命令行都必须以“#”号开始,结尾不加分号;②预处理命令可以放在程序中的任何位置;③在程序中凡是以“#”号开始的语句行都是预处理命令行。
60.D
61.A无符号整型变量a的值为g,二进制表示为00001000,右移3位后为00000001,即十进制的l,因此输出1。
62.A在变量定义doublea,*P:&a;中,}号是一个指针运算符,而非间址运算符,所以A错误。
63.D\n结构workers中的成员s是一个嵌套的结构类型定义,因此在给year赋值时,要用“.”运算在深入一层访问到最基本的成员year,只有D项反映出了这一点。
\n
64.B
\n第一个for循环的作用是让p指向每行的首地址,第二个for循环的作用是把它指向的字符串输出,故选择B选项。
\n
65.B
\n变量J只接收输入数据的前两位,从第三位开始直到空格之间的输入整数都会被保存到浮点型变量Y中。
\n
66.A【答案】:A【知识点】:二叉树的性质
【解析】:由二叉树的性质3可知,度为0的结点数(即叶子结点数)=度为2的结点数+1。题目中给出叶子结点数为5个,利用性质3可计算出度为2的结点数为4个。在二叉树只有三种结点:度为0的、度为1的、度为2的,总数为25个,所以度为1的结点数即为25-5-4=16个,所以答案为A。
67.D
\n当k=1时,循环成立,输出w[l]的数组即EFGH,接着执行k++后k为2;当k=2时,循环成立,输出w[2]的数组即IJKL,接着执行k++后,k为3;当k=3时,循环不成立,退出。
\n
68.B
69.B本题考查结构体变量的引用以及作为函数参数,题目虽然看似复杂,其实比较容易,f函数的参数是结构体变量,然后对参数重新赋值并返回,所以该题目的答案为B选项。
70.A
71.B
72.C
73.B解析:本题考查数据库系统的基本概念和知识。
数据库系统除了数据库管理软件之外,还心须有其他相关软件的支持。这些软件包括操作系统、编译系统、应用软件开发工具等。对于大型的多用户数据库系统和网络数据库系统,还需要多用户系统软件和网络系统软件的支持。因此,选项A的说法是错误的。
数据库可以看成是长期存储在计算机内的、大量的、有结构的和可共享的数据集合。因此,数据库具有为各种用户所共享的特点。不同的用户可以使用同一个数据库,可以取出它们所需要的子集,而且容许子集任意重叠。数据库的根本目标是要解决数据的共享问题。因此,选项B的说法是正确的。
通常将引入数据库技术的计算机系统称为数据库系统。一个数据库系统通常由五个部分组成,包括相关计算机的硬件、数据库集合、数据库管理系统、相关软件和人员。
因此,选项C的说法是错误的。
因此,本题的正确答案是选项B。
74.D
75.D
76.C第一个表达式中,运算的方向是从左至右,所以a的值为2;第二个表达式中,等式右边是一个逻辑表达式,由于结果为真,所以表达式的值为1,即b为1。
77.D在本题中,程序首先定义一个字符数组,并对其进行了初始化,在初始化的最后添加了一个字符串结束标志,表示前面的各字符可以被当做一个字符串操作。从这个初始化的操作我们也可以看出数组的长度为9。
然后定义两个整型变量,分别用于保存计算结果,sizeof(a)是计算数组a所占的存储空间字节数,由于数组a是大小为9的字符型数组,那么占用的存储空间是1´9=9个字节,将结果保存至变量i中。
strlen(a)是计算数组a中字符的个数,虽然数组a中有9个字符,但结合上面的分析我们可以知道,其中’\\0’是字符串结束标志符,不能作为字符串中的字符,因此返回的结果是8,并将该结果保存至变量j中。
最后,程序执行输出语句,分别输出变量i和j的值,从上面的分析我们可以知道,输出的结果是9,8,因此本题正确答案是D。
78.A选项A是非法的表达式,C语言中没有<>运算符。
79.D本题考查C语言中变量类型的转换。
C语言中若参与运算的变量的数据类型不同,则先转换成同一类型,然后进行运算。转换数据始终往长度增加的方向进行,以确保精确度,如int和long运算,则将int转换为long再运算,所有的浮点运算都是以双精度(double)进行的。
题目中x、y都为double型数据,而表达式3/2为两个整型变量之间的计算,计算结果只保留整数部分,小数部分省略掉。3/2的结果为1。后面变为计算y=x+1,这时都需要变为double型数据,结果为3.000000。
80.D
81.
82.
【解析】要把字符串str中ASCⅡ码值为偶数的字符删除,需要判断字符串str中每一个字符的ASCⅡ值,将ASCⅡ码值为奇数的字符放入字符串t中,ASCⅡ码值为偶数的字符不予处理。最后为新的字符串t加上结束符。
2022年江苏省南通市全国计算机等级考试C语言程序设计模拟考试(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.设x=011050,则x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
2.下面关于数据库系统中叙述正确的是()。
A.数据库系统减少了数据冗余
B.数据库系统避免了一切冗余
C.数据库系统中数据的一致性是指数据类型的一致
D.数据库系统比文件系统能管理更多的数据
3.已知一算术表达式的中缀形式为A+B*C–D/E,后缀形式为ABC*+DE/–,其前缀形式为()。
A.–A+B*C/DEB.–A+B*CD/EC.–+*ABC/DED.–+A*BC/DE
4.若有定义“inta=5,b=7;”,则表达式a%-(b%2)运算后,a的值为()。
A.0B.1C.11D.3
5.算法分析的目的是()。
A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性
6.以下不正确的叙述是()。
A.在C程序中,逗号运算符的优先级最低
B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变
D.当从键盘输入数据时,对整型变量只能输入整型数值,对实型变量只能输入实型数值
7.单链表的存储密度()顺序表的存储密度。
A.大于B.等于C.小于D.不能确定
8.定义根节点深度为1,有n个元素的完全二叉树的深度是()
A.D(n)=log2(n)
B.D(n)=1+log2(n)
C.D(n)=n+log2(n)
D.D(n)=1+n*log2(n)
9.若有定义“doublea;”,则正确的输入语句是()。A.A.seaM("%1f",&a);B.scanf("%f",&a);
C.scanf("%1f",&a)
D.scanf("%1e",&a);
10.有以下程序:#include<stdio.h>structord{intX,y;)dt[2]={1,2,3,4};main(){structord*p=dt;printf("%d,",++(p->x));printf("%d\n",++(p->y));}程序运行后的输出结果是()。A.1,2B.4,1C.3,4D.2,3
11.
12.
13.若i和k都是int类型变量,有以下for语句:for(i=0,k=-1;k=1;k++)printf("*****\n");下面关于语句执行情况的叙述中正确的是()。
A.循环体执行两次B.循环体执行一次C.循环体一次也不执行D.构成无限循环
14.以下叙述中错误的是()。
A.在一个函数内的复合语句中定义的变量在本函数范围内有效
B.在一个函数内定义的变量只在本函数范围内有效
C.在不同的函数中可以定义相同名字的变量
D.函数的形参是局部变量
15.下列程序段输出的字符串长度为()。printf("\\aaa\'ccc\bddd\'");
A.11B.12C.13D.17
16.字符(char)型数据在微内存中的存储形式是______。
A.反码B.补码C.EBCDIC码D.ASCII码
17.以下能够正确描述“k是大于0的偶数”的表达式是()。
A.(k>0)&&(k%2!=1)
B.(k>0)&&(k%2=0)
C.(k>0)||!(k%2)
D.(k>0)||(k%2==0)
18.
19.标准库函数fgets(str,n,fp)的功能是()。A.从fp所指的文件中读取长度不超过n-1的字符串存入指针str所指的内存
B.从fp所指的文件中读取长度为n的字符串存入指针str所指的内存
C.从fp所指的文件中读取n个字符串存入指针str所指的内存
D.从fp所指的文件中读取长度为n-1的字符串存入指针str所指的内存
20.在下列几种排序方法中,要求内存量最大的是______。
A.插入排序B.选择排序C.快速排序D.归并排序
二、2.填空题(20题)21.若按功能划分,软件测试的方法通常分为白盒测试方法和【】测试方法。
22.表达式1/2*(int)3.7/(int)(2.4*(1.5+2.5))值的数据类型为______。
23.若有如下程序:
main()
{intx=20;
if(x>10)printf("%d",x-=5);
if(x>15)printf("%d",x);
}
则程序运行后的输出结果是【】。
24.有以下程序
#include<stdio.h>
main()
{charch1,ch2;intn1,n2;
ch1=getchar();ch2=getchar();
n1=ch1-'()';n2=n1*10+(ch2-'()');
printf("%d\n",n2);
}
程序运行时输入:12<回车>,执行后输出结果是【】。
25.实现算法所需的存储单元多少和算法的工作量大小分别称为为算法的【】。
26.以下程序的运行结果是______。
#include<string.h>
typedefstructstudent{
charname[10];
longsno;
floatscore;
}STU;
main()
{STUa={"zhangsan",2001,95},b={"Shangxian",2002,90},
c={"Anhua",2003,95},d,*p-&d;
d=a;
if{strcmp(a.nalne,)>0)d=b;
if(strcmp(,)>0)d=c;
printf("%ld%s\n",d.sno,p>name};
}
27.常用的黑箱测试有等价类划分法、【】和错误推测法3种。
28.下列程序的输出结果是______。
main()
{inta[]={31,27,20,12,6,1),*p=a;
p++;
printf("%d\n",*(p+2));
}
29.以下程序的定义语句中,x[1]的初值是[9],程序运行后输出的内容是[10]。
#include<stdio.h>
main()
{intx[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i;
for(i=0;i<4;i++)
{p[i]=&x[2*i+1];
printf("%d",p[i][0]);
}
printf("\n");
}
30.以下程序的输出结果是______。
#include<stdio.h>
main()
{inta[5]={2,4,6,8,10},*p;
p=a;p++;
printf("%d",*p);
}
31.有以下程序
intsub(intn){retnrn(n/10+n%10);}
main()
{intx,y;
scanf("%d",&x);
y=sub(sub(sub(x)));
printf("%d\n",y);
}
若运行时输入:1234<回车>,程序的输出结果是______。
32.对于一棵具有n个结点的树,该树中所有结点的度为【】。
33.C语言用于结构化程序设计的3种基本结构是______、选择结构和循环结构。
34.数据库系统其内部分为三级模式,即概念模式、内模式和外模式。其中,______是用户的数据视图,也就是用户所见到的数据模式。
35.以下程序由终端键盘输入一个文件名,然后把从终端键盘输入的字符依次放到该文
件中,用井作为结束输入的标志。请填空。
#include<stdio.h>
main()
{FILE*fp;
charch,fname[10];
printf("Inputthenameoffile\n");
gets(fname);
if((fp=【】)==NULL)
{printf("Cannotope\n");exit(O);}
printf("Enterdata\n");
while((ch=getchar())!='#')
fputc(【】,fp);
fclose(fp);
}
36.若由以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是【】。
intw[10]={23,54,10,33,47,98,72,80,61},*p=w;
37.测试的目的是暴露错误,评价程序的可靠性;而______的目的是发现错误的位置并改正错误。
38.在内存中,存储字符'x'要占用1个字节,存储字符串"x"要占用【】个字节。
39.一般来说,算法可以用顺序、选择和______三种基本控制结构组合而成。
40.仅依据规格说明书描述的程序功能来设计测试实例的方法称为【】。
三、1.选择题(20题)41.以下程序的输出结果是charcchar(charch){if(ch>='A'&&ch<='Z')ch=ch-'A'+'a';returnch;}main(){chars[]="ABC+abc=defDEF",*p=s;while(*p){*p=cchar(*p);p++;}printf{"%$\n",s);}
A.abc+ABC=DEFdef
B.abc+abc=defdef
C.abcABCDEFdef
D.abcabcdefdef
42.下列叙述中错误的是()。
A.线性表是由n个元素组成的一个有限序列
B.线性表是一种线性结构
C.线性表的所有结点有且仅有一个前件和后件
D.线性表可以是空表
43.在执行以下程序时,如果从键盘上输入ABCdef<回车>,则输出为______。#include<stdio.h>main(){charch;while((ch=getchar())!="\n"){if(ch>='A'&&ch<='B')ch=ch+32;elseif(ch>='a'&&ch<='z')ch=ch-32;printf("%c",ch);}printf("\n");}
A.ABCdefB.abcDEFC.abcD.DEF
44.下列程序的输出结果是()。#include<stdio.h>intf(inta,intb);main(){inti=2,p,j,k;j=i;k=++i;p=f(j,k);printf("%d",p);}intf(inta,intb){intc;if(a>b)c=1;elseif(a==b)c=0;elsec=-1;return(c);}
A.-1B.1C.2D.编译出错,无法运行
45.下面能正确进行字符串赋值操作的语句是()
A.chars[5]={"ABCDE"}
B.chars[5]={'A','B','C','D','E'};
C.char*s;s="APCDEF"
D.char*s;scanf("%s",s);
46.下列有关数据库的描述,正确的是______。
A.数据库是一个DBF文件B.数据库是一个关系C.数据库是一个结构化的数据集合D.数据库是一组文件
47.以下程序的输出结果是______。charcchar(charch){if(ch>='A'&&ch<='z')ch=ch-'A'+'a';returnch;}main(){chars[]="ABC+abc=defDEF",*p=s;while(*p){*p=cchar(*p);p++;}printf("%s\n",s);}
A.abe+ABC=DEFdef
B.abc+abe=defdef
C.abcaABCDEFdef
D.abcabcdefdef
48.有以下程序段charch;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是
A.因变量类型与格式描述符的类型不匹配输出无定值
B.输出项与格式描述符个数不符,输出为零值或不定值
C.a,97,12k=12
D.a,97,k=12
49.下列选项中,不是一个算法的基本特征的是()。
A.完整性B.可行性C.有穷性D.拥有足够的情报
50.有如下程序intfunc(inta,intb){return(a+b);}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);printf("%d\n",r);}该程序的输出结果是______。
A.12B.13C.14D.15
51.若有说明:inta[][3]={0,0};则不正确的叙述是()。
A.数组a的每个元素的初值都是0
B.数组a的第一维大小为1
C.数组a的行数为1
D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
52.有定义语句:“intx,y;”,若要通过“scanf("%d,%d,&x,&y);”语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是
A.1112<回车>B.11,12<回车>C.11,12<回车>D.11,<回车>12<回车>
53.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A.函数调用可以作为独立的语句存在
B.函数调用可以作为一个函数的实参
C.函数调用可以出现在表达式中
D.函数调用可以作为一个函数的形参
54.以下程序中函数f的功能是将n个字符串按由大到小的顺序进行排序。#include<string.h>voidf(charp[][10],intn){chart[20];inti,j;for(i=0;i<n-1;i++)for(j=i+l;j<n;j++)if(strcmp(p[i],p[j])<0){strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);}}main(){charp[][lO]-{"abc","aabdfg","abbd","dcdbe","cd"};inti;f(p,5);printf("%dkn",strlen(p[0]));}程序运{亍后的输出结果是
A.6B.4C.5D.3
55.执行下面的程序段后,变量k中的值为()。intk=3,s[2];s[0]=k;k=s[1]*10;
A.不定值B.33C.30D.10
56.单个用户使用的数据视图的描述称为______。
A.外模式B.概念模式C.内模式D.存储模式
57.当执行下列宏定义命令后,S的值为()#defineR3.0#definePI3.1415926#defineL2*PI*R#defineSPI*R*R
A.3.1415926B.18.849556C.3D.28.2743334
58.设有以下定义和语句:charstr[20]="Program",*P;p=str;则以下叙述中正确的是()。
A.*p与str[0]中的值相等
B.str与p的类型完全相同
C.str数组的长度和p所指向的字符串长度相等
D.数组str中存放的内容和指针变量p中存放的内容相同
59.下列描述中正确的是()。
A.在C语言程序中预处理是指完成宏替换和文件包含指定的文件的调用
B.预处理指令只能位于C源程序文件的首部
C.预处理命令可以放在程序中的任何位置
D.预处理命令结尾需要加分号
60.目前因特网(Internet)尚未提供的服务是()
A.电子邮件B.文件传送C.远程使用计算机D.电视广播
四、选择题(20题)61.有以下程序程序运行后的输出结果是()。
A.1B.16C.32D.0
62.若有定义语句:doublea,*P=&a;以下叙述中错误的是()。
A.定义语句中的*号是-个间址运算符
B.定义语句中的木号是-个说明符
C.定义语句中的P只能存放double类型变量的地址
D.定义语句中,P=&a把变量a的地址作为初值赋给指针变量P
63.有以下定义和语句:
structworkers
{intnum;charname[20];charC;
struct
{intday;intmonth;intyear;)S;
};
structworkersw,*pw;
pw=&w;
能给w中year成员赋1980的语句是()。
A.*pw.year=1980;
B.w.year=1980;
C.pw->year=1980
D.w.S.year=1980;
64.
以下程序的输出结果是()。
main
{charch[3][4]={"123","456","78"),*p[3];inti;
for(i=0;i<3;i++)p[i]=ch[i];
for(i=0;i<3;i++)printf("%s",p[i]);}
A.123456780B.123456780C.12345678D.147
65.
有以下程序段
intj;floaty;charname[50]:
scanf("%2d%f%s",&i,&.y,name):
当执行上述程序段,从键盘上输入555667777abc后,y的值为()。
A.55566.0B.566.0C.7777.0D.566777.0
66.一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为()。
A.16B.10C.6D.4
67.
以下程序的输出结果是()。
main
{charw[][10]={"ABCD","EFGH","IJKL","
MNOP"),K;
for(k=1;k<3;k++)printf("%s\n",w[k]);
A.ABCDFGHKLB.ABCDEFGUC.EFGJKOD.EFGHUKL
68.
69.
程序运行后的输出结果是()。A.1002,ZhangDa,1202.0
B.1002,ChangRon9。1202.0
C.1001,ChangRon9,1098.0
D.1001,ZhangDa,1098.0
70.
71.
72.以下说法中正确的是()。
A.C语言程序总是从第一个的函数开始执行
B.在C语言程序中,要调用的函数必须在main函数中定义
C.C语言程序总是从main函数开始执行
D.C语言程序中的main函数必须放在程序的开始部分
73.下列叙述中正确的是()。
A.数据库系统是一个独立的系统,不需要操作系统的支持
B.数据库技术的根本目标是要解决数据的共享问题
C.数据库管理系统就是数据库系统
D.以上三种说法都不对
74.
75.
76.以下程序的输出结果是
#include<stdio.h>
main()
{
inta,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
A.6,1B.6,0
C.2,1D.2,0
77.有以下程序
main()
{chara[]={’a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’\0’};
inti,j;
i=sizeof(a);
j=strlen(a);
printf("%d,%d\b",i,j);
}
程序运行后的输出结果是
A.9,9B.8,9C.1,8D.9,8
78.若变量已正确定义,在if(W)埘ntf(”%d\n”,k);中,以下不可替代w的是()。
A.a<>b+CB.ch=getcharC.a==b+CD.a++
79.假定X和Y为double型,则表达式x=2,y=x+3/2的值是()。
A.3.500000B.3C.2.000000D.3.000000
80.
五、程序改错题(1题)81.写出下列程序的运行结果。
main
{intn;
For(n=3;n<=10;n++)
{if(n%6==0)break;Printf(“%d”,n);}}
六、程序设计题(1题)82.请编写函数proc(),该函数的功能是:将str所指字符串中ASCⅡ值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。例如,若str所指字符串中的内容为aBcdef9789,其中字符8的ASCⅡ码值为偶数……字符8的ASCⅡ码值为偶数……都应当删除,其他依此类推。最后t所指的数组中的内容应是ace979。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:
参考答案
1.A本题考查按位与运算,按位与就是相同为1,不同为0,把x=011050化成二进制为0001001000101000,把01252化成二进制为0000001010101010,两者相与得0000001000101000。
2.A\n数据的共享自身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。所谓数据的一致性是指在系统中同一数据在不同位置出现时应保持相同的值。
\n
3.D
4.A本题考查“%”运算符的使用。运算符“%”是整数除法的余数。本题中表达式a%=(b%2)等价于a=a%(b%2)=5%(7%2)=5%1=0。
5.C
6.D
7.C
8.B
9.D本题考查seanf函数的调用形式:scanf(格式字符串,输入项地址表)。题中定义变量a为双精度型变量,双精度变量的格式符为“le”;变量的地址用取地址符“&”加变量名表示,所以选项
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度建筑材料销售返利执行细则7篇
- 2025版物流企业战略发展规划合同范本3篇
- 二零二五年船舶通风系统安装与维护服务合同3篇
- 植草沟种植施工方案
- 邢台阳台石栏杆施工方案
- 路灯线入地施工方案
- 二零二五版消防安全培训与演练设备租赁与销售合同3篇
- 二零二五版校服设计与校园文化活动合作协议3篇
- 二零二五版旅游娱乐信托借款合同示范文本2篇
- 2025版相邻工地塔吊施工安全保证合同3篇
- 初中公寓主任述职报告
- 中国绿色食品市场调查与分析报告
- 九年级下册沪教版上海化学5.2酸和碱的性质研究 课件
- ISO17025经典培训教材
- 手卫生依从性调查表
- 湖北教育出版社四年级下册信息技术教案
- 背景调查报告
- 五年级语文下册全册教材分析
- 业主委员会成员推荐表
- 九年级下册-2023年中考历史总复习知识点速查速记(部编版)
- GB/T 18103-2022实木复合地板
评论
0/150
提交评论