2021年安徽省合肥市全国计算机等级考试C语言程序设计模拟考试(含答案)_第1页
2021年安徽省合肥市全国计算机等级考试C语言程序设计模拟考试(含答案)_第2页
2021年安徽省合肥市全国计算机等级考试C语言程序设计模拟考试(含答案)_第3页
2021年安徽省合肥市全国计算机等级考试C语言程序设计模拟考试(含答案)_第4页
2021年安徽省合肥市全国计算机等级考试C语言程序设计模拟考试(含答案)_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

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

文档简介

2021年安徽省合肥市全国计算机等级考试C语言程序设计模拟考试(含答案)学校:________班级:________姓名:________考号:________

一、单选题(20题)1.栈的特点是B,队列的特点是()。

A.先进先出B.先进后出

2.程序运行后的输出结果是()。A.0304.B.2050C.3344D.3040

3.若用一个大小为6的数值来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为()。

A.1和5B.2和4C.4和2D.5和1

4.设"char**s;",以下正确的表达式是()。

A.s="computer";B.*s="computer";C.**s="computer";D.*s='c';

5.一个有8个顶点的有向图,所有顶点的入度出度之和与所有顶点的出度之和的差是()

A.16B.4C.0D.2

6.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()

A.a<>0B.!aC.a=0D.a

7.下列表达式中,可以正确表示的关系是()。

A.(x>=1)10(x<=0)B.x>1‖x=0C.x>=1ORx<=0D.X>=1&&x<=0

8.如果定义“班级”关系如下:班级(班级号,总入数,所属学院,班级学生)则使它不满足第一范式的属性是()。

A.班级号B.班级学生C.总入数D.所属学院

9.下列程序的运行结果是()。#include<stdio.h>#defineADD(x)x+xmain(){intm=1,n=2,k=3;ints=ADD(m+n)*k;printf("s=%d",s);}

A.sum=18B.sum=10C.sum=9D.sum=25

10.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置()(脚注(10)表示用10进制表示)。

A.688B.678C.692D.696

11.

12.

13.在关系中凡能惟一标识元组的最小属性集称为该表的键或码。二维表中可能有若干个键,它们称为该表的()

A.连接码B.关系码C.外码D.候选码

14.在下列语句中,其含义为“q是一个函数指针,该指针指向整型数据”的定义语句是()。

A.int**q;B.int(*q);C.int*q;D.int*q;

15.以下选项中不能用做C程序合法常量的是()。

A.1,234B.‘\123’C.123D.“\x7G”

16.

17.由3个结点可以构造出______种不同形态的二叉树。

A.3B.4C.5D.6

18.在软件生存周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是()。

A.概要设计B.详细设计C.可行性分析D.需求分析

19.若有定义“inta=3;doubleb=0.1263;charch=‘a’;”,则以下选项中叙述有错的是()。

A.逗号表达式的计算结果是最后一个表达式的运算结果

B.运算符“%”只能对整数类型的变量进行运算

C.语句“ch=(unsignedint)a+b;”是对a与b之和进行强制类型转换,结果赋值给变量ch

D.复合运算“a*=b+ch”是将变量b、ch之和与a相乘,结果再赋值给a

20.算法分析的目的是()。

A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进

二、2.填空题(20题)21.若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为【】。

22.算法的复杂度主要包括【】复杂度和空间复杂度。

23.需求分析的最终结果是产生【】。

24.设有以下定义和语句:

inta[3][2]={1,2,3,4,5},*p[3];

p[0]=a[1];

则*(p[0]+1)所代表的数组元素是【】。

25.面向对象的模型中,最基本概念是对象和【】。

26.请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。

【】(double,double);

main()

{doublex,y;

scanf("%1f%1f",&x,&y);

printf("%1f\n",max(x,y));

}

doublemax(doublea,doubleB)

{return(a>b?a:b);}

27.以下函数的功能是求x的y次方,请填空。

doublefun(doublex,inty)

{inti;

doublez;

for(i=1,z=x;i<y;i++)z=z*【】;

returnz;

}

28.程序如下:

main()

{inti=4;

printf("%d",-++i);

}

该程序执行后的输出结果以及i的值分别是______、_______。

29.以下程序运行后的输出结果是【】。

main()

{intX==1,y=0,a=0,b=0;

switch(x)

{case1:switch(y)

{case0:a++;break;

case1:b++;break;

}

case2:a++;b++;break;

}

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

}

30.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【】。

31.“printf("%d\n",strlen("\t\"\023\xABC\n"));”语句的输出结果是______。

32.数据的安全性是指保护数据以防止【】用户的使用造成的数据泄密和破坏。

33.已有定义;charc='';inta=1,b;(此处c的初值为空格字符),执行b=!c&&a;后b的值为【】。

34.某二叉树中度为2的结点有18个,则该二叉树中有【】个叶子结点。

35.阅读下列程序,则程序的输出结果为【】。

#include"stdio.h"

structty

{intdata;

charc;};

main()

{structtya={30,′x′};

fun(a);

printf("%d%c",a.data,a.c);}

fun(structtyb)

{b.data=20;

b.c=′y′;}

36.以下程序从输入的10个字符串中找出最长的那个串,请填空。

#include<stdio.h>

#include<string.h>

#defineN10

main()

{charstr[N][81],*sp;

inti;

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

sp=str[0];

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

if(strlen(sp)<strlen(str[i]))

【】;

printf("输出最长的那个串:\n%s\n",sp);

printf("输出最长的那个串的长度:%d\n",strlen(sp));}

37.下列程序的输出结果是______。

main()

{inta=2,b=4,e=6;

int*p1=&a,*p2=&b,*p;

*(p=&c)=*p1*(*p2);

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

}

38.以下程序运行后的输出结果是()。

#include

char*ss(char*s)

{char*p,t;

P=s+1;t=*s;

while(*p){*(P-1)=*P;P++;}

*(P-1)=t;

returns;

}

main()

{char*p,str[10]="abcdefgh";

p=ss(str);

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

}

39.以下程序运行后,若输入:3,abcde<回车>,则输出结果是【】。

#include<stdio.h>

#include<string.h>

move(char*str,intn)

{chartemp;inti;

temp=str[n-1];

for(i=n-1;i>0;i--)str[i]=str[i-1];

str[0]=temp;

}

main()

{chars[50];intn,i,z;

scanf("%d,%s",&n,s);

z=strlen(s);

for(i=1;i<=n;i++)move(s,z);

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

}

40.下面程序的运行结果是【】。

#include<stdio.h>

#defineSIZE12

main()

{chars[SIZE];intI;for(I=0;I<SIZE;I++)s[I]=′A′+I+321;

sub(s,7,SIZE-1);

for(I=0;I<SIZE;I++)printf("%c",s[I]);

printf("\n");}

sub(char*a,intt1,intt2)

{charch;

while(t1<t2)

{ch=*(a+t1);

*(a+t1)=*(a+t2);

*(a+t2)=ch;

t1++;t2--;}}

三、1.选择题(20题)41.已有定义语句:intx=3,y=0,z=0;,则值为0的表达式是()

A.x&&y

B.x||z

C.x||z+2&&y-z

D.!((x<y)&&!z||y)

42.有以下程序:#include<stdio.h>main()char*p[]={"3697","2548"};inti,j;longnum=0;for(i=0;i<2;i++){j=0;while(p[i][j]!='\0'){if((p[i][j]-'0')%2)num=10*num+p[i][j]-'0';j+=2;}printf("%d\n",num);}程序执行后的输出结果是()。

A.35B.37C.39D.3975

43.设有以下语句,其中不是对a数组元素的正确引用的是:______(其中0≤i<10)inta[10]={0,1,2,3,4,5,6,7,8,9,},*p=a;

A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))

44.以下叙述中错误的是()。

A.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出

B.数组名代表的是数组所占存储区的首地址,其值不可改变

C.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息

D.可以通过赋初值的方式确定数组元素的个数

45.下列程序段选择项,使i的运行结果为3的程序段是()。

A.inti=0,j=O;(i=2,(j++)+i);

B.inti=1,j=0;j=i=((i=3)*2);

C.inti=0,j=1;(j=1)?(i=1):(i=3);

D.inti=1,j=1;i+=j+=1;

46.需求分析阶段的任务是()

A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能

47.SQL语言又称为______。

A.结构化定义语言B.结构化控制语言C.结构化查询语言D.结构化操纵语言

48.在软件开发过程中,软件结构设计是描述______。

A.数据存储结构B.软件体系结构C.软件结构测试D.软件控制过程

49.以下叙述正确的是______。

A.可以把define和if定义为用户标识符

B.可以把define定义为用户标识符,但不能把if定义为用户标识符

C.可以把if定义为用户标识符,但不能把define定义为用户标识符

D.define和if都不能定义为用户标识符

50.有以下程序:main(){chark;inti;for(i=1;i<3;i++){scanf("%c",&k);switch(k){case'0':printf("another\n");case'1':printf("number\n");}}}程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是

A.anothernumber

B.anothernumberanother

C.anothernumbernumber

D.numbernumber

51.下面程序运行后的输出结果是______。fut(int**s,intp[2][3]){**s=p[1][1];}main(){inta[2][3]={1,3,5,7,9,11},*p;p=(int*)malloc(sizeof(int));fut(&p,a);printf("%d\n",*p);}

A.1B.7C.9D.11

52.下列选项中不属于结构化程序设计方法的是()。

A.自顶向下B.逐步求精C.模块化D.可复用

53.下面程序的运行结果是

#include<stdio.h>

main()

{staticchara[]="Languagef",b[]="programe";

char*p1,*p2;intk;

p1=a;p2=b;

for(k=0;k<=7;k++)

if(*(p1+k)==*(p2+k))printf("%c",*(p1+k));}

A.gaeB.gaC.LanguageD.有语法错

54.若变量a、i已正确定义,且i已正确赋值,合法的语句是()。A.A.a==1B.++iC.a=a++=5D.a=int(i)

55.有下列程序:#include"stdio.h"main(){intx=0;inty=0;while(x<7&&++y){y--;x++;}printf("%d,%d",y,x);}程序的输出结果是()。

A.0,7B.7,7C.0,6D.1,6

56.若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是

A.(exp==0)B.(exp!=0)C.(exp==1)D.(exp!=1)

57.设x为整型变量,n=14,n的地址为4000;m=6,m的地址为2000;执行语句x=&n后的结果为()。

A.14B.6C.2000D.4000

58.有以下程序:main(){inty=10;while(y--);printf("y=%d\n",y);}程序执行后的输出结果是()。

A.y=0B.y=-1C.y=1D.while构成无限循环

59.12.以下说法中正确的是()

A.#define和printf都是C语句

B.#define是C语句,而printf不是

C.printf是C语句,但#define不是

D.#define和printf都不是C语句

60.有以下说明和定义语句structstudent{intage;charnum[8];structstudentstu[3]={{20,"200401"},{21,"200402"},{19,"200403"}};structstudent*p=stu;};以下选项中引用结构体变量成员的表达式错误的是

A.(p++)->numB.p->numC.(*p).numD.stu[3].age

四、选择题(20题)61.有以下程序:

程序运行后的输出结果是()。

A.9B.7C.5D.3

62.有以下程序段

#include<stdio.h>

voidfun(char*fname,char*st)

{FILE*myf;

inti;

myf=fopen(fname,"w");

for(i=0;i<strlen(st);i++)fputc(st[i],myf);

fclose(myf);

}

main()

{fun("test.t","newworld");

fun("test.t","hello,");}

程序执行后,文件test.t中的内容是A.A.hello,

B.newworldhello,

C.newworld

D.hello,rld

63.

64.

以下程序的输出结果是()。

intf(intA)

{returna%2;}

main

{ints[8]={1,3,5,2,4,6},i,d=0;

for(i=0;f(s[8]);i++)d+=s[i];

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

}

A.9B.11C.19D.21

65.有以下程序:

程序运行后的输出结果是()。

A.b,B"b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B

66.在下述程序中,判断条件“i>j”共执行的次数是

main()

{inti=0,j=10,k=2,s=0;

for(;;)

{i+=k;

if(i>j)

{printf("%d",s);

break;

}s+=i;

}

}

A.4B.7

C.5D.6

67.

则下面对m数组元素的引用中错误的是()。

A.

B.

C.

D.

68.下列程序的输出结果是()。voidfun(int*X,inty){printf("%d%d",*x,*y);*x=3;*y=1;}main{intx=1,y=2;fun(&y,&x);printf("%d%d",x,y);}A.2143B.1212C.1234D.2112

69.HTTP协议的GET请求方法可以获取()类型的数据。

A.HTML文档B.图片C.视频D.以上都可以

70.在一个C源程序文件中所定义的全局变量,其作用域为()。

A.由具体定义位置和extem说明来决定范围B.所在程序的全部范围C.所在函数的全部范围D.所在文件的全部范围

71.

72.设有定义:charp[]={1,2,3),*q=p;,以下不能计算出一个char型数据所占字节数的表达式是()。

A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p[0])

73.

74.以下程序运行后,输出结果是()。

#include<stdio.h>

#definePT5.5

#defineS(x)PT*x*X

main

{inta=1,b=2:

printf("%4.1f\n",s(a+b));

}

A.49.5B.9.5C.22.0D.45.0

75.有下列程序:fun(intx,inty){staticintm=0,i=2;i+=m+1;m=i+x+y;returnm;}main(){intj=1,m=1,k;k=fun(j,m);printS(”%d,”,k);k=fun(j,m);printf(”%d\n”,k);)执行后的输出结果是()。A.5,5B.5,11C.11,11D.11,5

76.

77.应用数据库的主要目的是A.A.解决数据保密问题

B.解决数据完整性问题

C.解决数据共享问题

D.解决数据量大的问题

78.一个关系中属性个数为1时,称此关系为()。

A.对应关系B.单一关系C.一元关系D.二元关系

79.有以下程序,其输出结果是()。

voidmain()

{

floarx=1;

inty;

x++;

y=x+1;

printf("x=%d,y=%f",x,y);

}

A.x=2,y=3

B.x=2,y=3.0

C.x=2.0,y=3

D.x=0,y=0.000000

80.设“intx=2,y=1;”,则表达式(!x||Y--)的值是()。

A.0B.1C.2D.-1

五、程序改错题(1题)81.下列给定程序中,函数proc()的功能是:计算并输出下列级数的前N项之和SN,直到SN+1大于q为止。q的值通过形参传人。SN=2/1+3/2+4/3+(N+1)/N例如,若q的值为57,则函数值为59.593612。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:

六、程序设计题(1题)82.编写函数fun,其功能是:将所有大于1小于整数m的非素数存人XX所指数组中,非素数的个数通过k返回。

例如,若输入17,则应输出:46891012141516。注意:部分源程序在文件PROGl.C中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

参考答案

1.A

2.D[解析]第一次循环沩0.i%2为0.执行switch(a[0]%62)中的case0语句后内容即a[0]++,a[0]的值变成3;第二次循环的值为1.i%62为1.执行case1:a[]=0;所以a[1]的值变成0;第三次循环的值为2.i%62为0.执行switch([2]%62)中的case1语句后的内容a[2]--,a[2]的值变成4;第四次循环的值为3.i%2为1.执行case1:ai]=0;所以a[3]的值变成0.

3.B

4.B

5.C

6.D

7.A解析:题中要求x的取值是小于等于0或者大于等于1,这说明表达式是或的关系,所以在写成C语言表达式应是逻辑或的关系,逻辑或运算符是'‖'。

8.B对于关系模式,若其中的每个属性都已不能再分为简单项,则它属于第一范式模式。题目中“班级”关系的“班级学生”属性,还可以进行再分,如学号、姓名、性别、出生日期等,因此不满足第一范式。本题答案为B选项。

9.B解析:本题考查带参数的宏的定义及相关运算:S=m+n+m+n*k=1+2+1+2*3=10。

10.C

11.D

12.D

13.DD)【解析】在关系中凡能惟一标识元组的最小属性集称为该表的键或码。二维表中可能有若干个键,它们称为该表的候选码或候选键。从二维表的所有候选键中选取一个作为用户使用的键称为主键或主码。

14.B本题考查指针函数。其定义的基本格式为:类型说明符(*函数名)。“类型说明符”表示返回的指针值指向的数据类型。

15.AA选项中逗号是一个操作符。

16.B

17.C难易程度:易

18.D解析:在需求分析阶段中,根据可行性研究阶段所提交的文档,特别是从数据流图出发,对目标系统提出清晰、准确和具体的要求,即要明确系统必须做什么的问题。本题的正确答案为D。

19.C逗号表达式的计算结果是最后一个表达式的运算结果,选项A正确;运算符“%”是求余运算符,只能对整数类型的变量进行运算,选项B正确;在语句“ch=(unsignedint)a+b”中,圆括号优先级最高,所以首先将a强制转换成无符号整型,再与b相加,结果赋值给ch,选项C错误;复合运算“a*=b+ch”,先计算“b+ch”的值,再将a与b、ch之和相乘,结果再赋值给a,选项D正确。故本题答案为C选项。

20.D解析:算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数量级,常用时间复杂度和空间复杂度表示。分析算法的目的就是要降低算法的时间复杂度和空间复杂度;提高算法的执行效。率。

21.88解析:fabs函数功能是求x的绝对值,计算结果为double型。pow功能是计算x的y次方的值,计算结果同样为double型。所以本题表达式相当于2.0的3.0次方,结果为8.000000。

22.时间时间解析:算法的复杂度主要指时间复杂度和空间复杂度。所谓算法的时间复杂度,是指执行算法所需要的计算工作量;算法的空间复杂度,一般是指执行这个算法所需要的内存空间。

23.需求规格说明书需求规格说明书解析:软件需求规格说明书是需求分析阶段的最后成果,是软件开发中的重要文档之一。需求规格说明书包括正确性、无歧义性、完整性、可验证性、一致性、可理解性、可修改性和可追踪性等。

24.a[1][1]a[1][1]解析:p是一个指针数组,p[0]指向数组a[1][0]。*(p[0]+1)代表数组a[1][1]。

25.类类解析:面向对象模型中,最基本的概念是对象和类。对象是现实世界中实体的模型化:将属性集和方法集相同的所有对象组合在一起,可以构成一个类。

26.doublemax或externdoublemaxdoublemax或externdoublemax解析:本题中main()函数需要调用max()函数,在main()之前就需要声明函数max(),并且可以用extern说明符使变量的作用域扩充到需要用到它的函数,所以,填写doublemax(或externdoublemax)。

27.xx解析:函数的定义形式为;

函数类型函数名(形参表)

{

类型说明语句;

执行语句;

}

本题中函数的功能是:累积变量以求得变量的Y次方。

28.-55。

29.2121解析:外层switch语句后面括号里的x的值为1,所以执行从case1:后面的语句开始执行,而case1:后面语句也为switch语句,这个switch语句后面括号里的y的值为0,所以从该switch语句里的case0:开始执行即执行a++,这时a的值变为1,执行完毕,遇到break语句,退出内层switch语句,又回到外层switch语句,继续执行case1:下面的语句即case2:执行完毕后,a自加1变为2,b自加1变1。所以最后输出的a和b的值为21。

30.可重用性继承的优点:相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗余,提高软件的可重用性。

31.66解析:strlen()函数的作用是计算字符串的长度并作为函数的返回值,这里的长度不包括串尾的结束标志\'\\0\'。

\'\\t\'是转义字符,代表横向跳若干格:\'\\\''是转义字符,代表双引号:\'\\023\'只代表一个字符,而不管转义字符后面有几个字符;\'\\xAB\'是以两位+六进制数AB表示的ASCII码字符,只代表一个字符;\'\\n\'是转义字符,代表回车换行。

5个字符常量各代表一个字符,再加上字母C,所以返回的长度是6。

32.(非法)不合法(非法)不合法

33.00解析:本题考查数据类型及其运算的逻辑运算,c为空格字符但其ASCII码不为0,所以!c=0,在逻辑与运算中,只要有一项为假,其值为0,所以b的值为0。

34.1919解析:根据二叉树的性质:在任意一棵二叉树中,度为。的结点(即叶子结点)总是比度为2的结点多一个。本题中度为2的结点数为18,故叶子结点数为18+1=19个。

35.30x30x解析:本题的参数传递属于值传递,所以被调用函数内不能改变调用函数中的数据。

36.sp=str[i]sp=str[i]解析:二维字符数组即数组的每个元素又是一个字符串,即字符串数组。题中二维数组的第一行的首地址赋给字符指针sp,使sp指向了二维字符数组的一个字符串。求字符串长度函数strlen比较当前字符串与数组的下一个元素的字符串的长度,如果当前字符串的长度小于下一个元素的,则指针sp又指向了下一个元素,直到比较到数组的最后一个元素,得到的sp指针所指向的字符串即为长度最长的字符串。

37.88解析:本程序定义了3个指针变量p1、p2、p,并且将a、b的地址分别赋给p1、p2,则*p1=a=2,*p2=b=4,所以表达式*p1*(*p2)的值是8。在赋值语句的左边是*(p=&c),即使指针p指向了变量c,因而*(P)代表了c的存储单元,赋值语句“*(p=&c)=*p1*(*p2);”是把整数8赋给了变量c。

38.bcdefgha

39.cdeabcdeab解析:程序中的move函数的作用是保存输入数组中的最后一个元素,然后从最后一个数组元素开始,依次向后移动一个位置,再把保存的最后一个元素置于首位,循环次数由n控制。输入3,abcde<回车>后主函数开始执行,其中n=3,s[50]={'abcde'},z=5。第一次循环,i=1时,调用move(s,5)函数,temp=str[4]语句把数组中最后一个元素\'e\'保存在temp中,然后i从4开始循环,将str[3](字符\'d\')赋给str[4],str[2](字符\'c\')赋给str[3],……,循环结束时str所指字符串为'aabcd',再将保存在temp中的\'e\'置于首位,字符串变为'eabcd';i=2时,调用move函数,字符串为'deabc';i=3时,调用move函数,字符串为'cdeab'。最后输出结果为'cdeab'。

40.abcdefglkjIhabcdefglkjIh解析:本题主要考查了字符变量可参与的运算。因为字符在计算机中是以ASCII码的形式存放的,所以字符变量可看作整型变量来处理,如参与算术运算等,某字符的大写字母的ASCII码值比它对应的小写字母ASCII码值小32。

41.A

42.C解析:执行main函数中的for语句,当i=0,j=0时,p[i][j]=p[0)[0]='3',满足while循环条件,执行循环体中的if语句得num=3,j=2,此时p[i][j]=p[0][2]='9',满足循环条件,执行while循环体得num=39,j=4,判断while条件,不满足并退出while循环;再次执行for语句,当i=1,j=0,p[i][j]=p[1][0]=2,满足while条件,执行循环体中的if语句,但不符合if条件,所以num不进行运算,j进行加2运算j=2,此时p[i][j]=p[1][2]=4,if条件为假,num不进行运算,j进行加2运算j=4,再执行while语句,条件不符合退出循环。所以结果为39。

43.D解析:观察程序可知,a实际上就是数组a的首地址,所以“*(a+i)”表示的就是数组a中的第i个元素的值,进而,我们可以知道*(*(a+i))必然不是对a数组元素的正确引用。

44.C解析:在C语言中,除字符数组外,一个数组不能通过数组名对数姐进行整体引用,因此选项A是对的。数组名中存放的是一个地址常量,它代表整个数组的首地址,因此选项B是对的。C语言程序在运行过程中,系统不自动检验数组元素的下标是否越界,因此选项C是错误的。C语官规定可以通过赋初值来定义数组的大小,这时数组说明符的一对方括号中可以不指定数组的大小,因此选项D也是正确的。所以,4个选项中选项C符合题意。

45.D

46.DD)【解析】需求分析是软件定义时期的最后一个阶

\n段,它的基本任务就是详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在这些基础上确定新系统的功能。

47.CC。【解析】SQL语言的全称为StructuredQueryLanguage,它是一种介于关系代数与关系演算之间的结构化查询语言,是一种面向数据库的通用数据处理语言规范。它包含数据查询语言、数据操纵语言、数据定义语言和数据控制语言4个部分。

48.B解析:从工程管理解度来看,软件设计分两步完成:概要设计和详细设计。概要设计(又称结构设计)将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式。

49.B解析:if是C语言中的保留字,所以不能作为用户标识符;define是C语言中的预编译命令,由于C语言中的预编译命令都是以#开头,所以define可以作为用户标识符。

50.C解析:switch语句的执行过程是:在switch后面的表达式的值和case后面常量表达式的值吻合时,就执行后面的语句.如果在该语句的后面没有break语句,则继续执行下一个case,直到遇到break语句或switch多分支的结束,在switch语句中,break语句的作用是使流程跳出switch结构,终止Switch语句的执行.本题中在for循环中嵌套了swish语句,每循环一次通过scanf()函数从键盘上输入一个k值,然后执行switch语句。for循环共循环了2次,当i=1时,从键盘上输入0,使得k的值为0,执行switch语句中case:0后面的语句,输出another,接着执行case:0下面的语句输出number,退出switch语句,当i=2时,从键盘上输入1,使得k的值为1,执行switch语句中case1后面的语句,输出number,退出switch语句.当i=3时退出循环.故最后的输出为another、number和number,所以,4个选项中选项C符合题意。

51.C解析:本题a[2][3]定义为一个具有两行三列的元素的数组,malloc()函数的作用是开辟了一个长度为sizeof(int)的内存区,p为指向整型数据的指针变量,程序调用fut()函数,将第一行第一列对应的元素值赋给**s,由于数组中第一行第一列对应的元素为9,所以本题输出值9。

52.D解析:20世纪70年代以来,提出了许多软件设计方法,主要有①逐步求精:对复杂的问题,应设计一些子目标作过渡,逐步细化;②自顶向下:程序设计时应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化;⑧模块化:一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块,而可复用是面向对象程序设计的一个优点。

53.A解析:考查用指针来引用字符数组元素的方法。指针p1+k相当于指针p1向后移动了k个字符的位置,指针p2同理。

54.B本题主要考查C语言合法语句的定义。

在选项A中,a==1不是一个合法的语句,因为它没有语句结束标识符“;”,不能说是一条语句,如果作为一个表达式,它是正确的。

在选项B中,由于变量i已被正确定义并有初值,“++i;”是正确的语句。

在选项C中,由于正确的赋值语句中,赋值符号的左边不能为常量或表达式,而右边不能为变量或表达式,很明显,“a=a++=5;”违背了赋值语句的原则。

在选项D中,“a=int(i);”语句是不正确的,在C语言中没有这种表示形式,如果是想将变量i强制转换为整型的操作,应该为“a=(int)i;”。

55.A解析:本题考查while循环.y的值在while循环的控制表达式中加1,在循环体内减1,所以总的y值不变,且控制条件++y永远非零。当x加到7时不满足循环条件,结束循环。

56.B解析:条件运算符要求有3个操作对象,称三目(元)运算符,它是C语言中惟一的一个三目运算符。条件表达式的一般形式为:表达式17表达式2:表达式3其求解顺序是:先求解表达式1,若为非O(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值。若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。并且注意++、--的用法。

57.D解析:&是取地址运算符,表达式x=&a是表示将a的地址赋给变量x。

58.B解析:本题中有一个陷阱,很多考生会根据程序的书写格式来判断:while循环的循环体为printf('y=%d\\n',y);语句。其实while的循环体是一条空语句,即y--后面的那个分号就是while的循环体。所以本题只要弄清楚表达式y--何时为“假”,即等于0,就能得出结果了。因为--运算符是后缀形式,所以表达式y--的值是y自减之前的值,即y等于。时,表达式y--就等于0了。但此时的y还要被减1,所以循环结束后,y的值为-1。故应该选择B。

59.CC[解析]#define是宏命令,而不是C语句

60.D解析:结构体变量也有地址,因此可以把它的地址赋值给一个指针变量,然后通过该指针变量来引用结构体的成员,选项A和选项B就是通过指针变量来引用结构体的成员,也可以通过结构体数组元素的成员引用,而在选项D中stu[3].age不正确,因为结构体数组stu共有三个元素,其下标应该为0,1,2。

61.D第一次循环时,k=1,在switch语句中,先执行default后面的语句,即c=c+k=1,因为没有break语句,所以不会跳出switch结构,会接着执行case2后面的语句,即c=c+1=2,然后跳出switch;第二次循环时,k=2,直接执行ease2后面的语句,即c=c+1=3,然后跳出switch语句,结束循环,执行输出语句。

62.D本题主要考查文件的操作。在本题的程序中,首先定义了一个无返回值的函数fun,该函数带有两个指针类型的形参,其中第一个形参指向需要被操作文件的文件名,而第二个形参指向被操作的字符串。在函数体中,首先定义一个文件指针,然后以只写的方式打开第一个形参所指向的文件,接着执行for循环,循环结束的条件是循环变量小于被操作字符串的长度,循环体中的程序fputc(st[i],myf);的功能是将字符串中的当前字符输入到文件中。由这些分析我们可以知道,函数fun的作用是将字符串的内容写入到文件中。

在主函数中,两次调用函数fun,当第一次调用时,写入文件的内容为newworld,然后第二次调用函数,此时打开文件,文件的指针重新回到开始,然后往文件中写内容“hello,”,由于此时文件中已经有内容“newworld”,则需要覆盖前面一部分的内容,因此,程序的最终输出结果是hello,rld,本题的正确答案选D。

63.B

64.A

\n在程序中当i=0时,s[o]=1,f(s[0])为1,执行d+=s[0],d的值为1,i++也变为1。当i=1时,s[1]=3,f(s[1])为1,也为非0,继续执行后面的表达式,此时d的值为1+3=4,继续着i++变为2,接着执行for循环,可知for循环的目的是把S数组中的奇数相加,因此最后d的值为1+3+5为9,故选择A选项。

\n

65.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选项正确。

66.D本题主要要求我们求判断条件“i>j”执行的次数。在本题的程序中,首先定义了四个整型变量,并分别赋初值,然后执行for循环结构,该循环结构中都是缺省语句,那么如果循环体中没有break语句,程序将面临死循环,从后面的程序中我们可以看出,程序中存在一条break语句。

第一次循环时,变量k的值为2,变量i的值被改变为2,而此时变量j的值为10,执行if(i>j)语句,结果为假,不执行break语句,然后改变变量s的值,一次循环结束。

通过对这次循环的分析,我们发现变量k的值一直没被改变,而变量i值的改变与变量k有关,且每循环一次增加2,那么变量i的改变轨迹应该为0,2,4,6,8,10,12,当i等于12时,其值大于j,条件判断语句结果为真,执行break语句,结束循环。从这里我们可以推断出循环执行的次数为6,因此,判断条件“i>j”执行的次数也为6次,本题的正确答案选D。

67.C数组m下标从0到4计算,共5个元素,选项c)中m[0]=5,则m[m[0]]为m[5],超出了数组m的下标范围。因此正确答案为C)。

68.C当执行fun函数时,因为参数传递时是地址传递,因此形参值的改变会影响实参中的数,在执行fun函数时先输出12,接着把*X赋3,*y赋4,此时带回主函数中,输出的值为34。

69.D

70.A全局变量的作用域是从声明处到文件的结束。所以选择A)。

71.B

72.A选项A计算的是p口字符数组首地址所占的内存字节数。选项8、C和D都能计算出一个字符型数据所占的字节数。

73.D

74.B本题考查函数调用,由于a+b没有被括起来,所以s(a+b)=PT*a+b*a+b=5.5*1+2*1+2=9.5,故选择B。

75.B子函数fun(intx,inty),将变量m和i声明为局部静态变量,因此第l次调用主函数后,局部静态变量m和i的值为5和3,第l次函数调用结束时,它们的值不释放保持不变,所以第2次调用时,局部静态变量m和i的初始值分别为5和3,即在执行“i+=m+1”时,i的值为9,因此最终m的值为11。

76.D

77.C数据库是对数据进行操作和管理的,可以看成是长期存储在计算机内的、大量的、有结构的和可共享的数据集合。数据库可以被直观地理解为存放数据的仓库,数据库可以对大量数据进行管理和应用。一个应用数据库的主要目的就是要实现数据的共享,能使应用数据库的数据被大量用户使用。

78.C解析:在关系模型数据库中,基本结构是二维表,这种二维表称为关系。关系的列称为属性,一个具有N个属性的关系称为N元关系。注意:各种关系查询语言与过程性语言和非过程性语言的关系,过程性语言的特点。

79.Dfloat是4个字节,int是两个字节。当用int取float的值时,只取前两个字节

80.B因X为2,所以!X时表达式值为0,因Y为1,y--表达式的值为1然后自减1,y为0,所以!x||y--时表达式的值为1。

81.(1)错误:doubleproc(doubleq)

正确:doubleproc(intq)

(2)错误:sum=sum+(n+1)/n;

正确:sum=sum+(double)(n+1)/n;

(3)错误:returnsum;

正确:returnt;

【解析】由主函数中函数调用的实参可知,函数proc()的形参为int型,因此,“doubleproc(doubleq)”应改为“doubleproc(intq)”;变量sum为double型变量,因此表达式(n+1)/n要进行强制类型转换,因此,“sum=sum+(n+1)/n;”应改为“sum=sum+(double)(n+1)/n;”,由函数proc()可知,变量sum中存放的是SN+1项,而变量t表示SN项,因此,“returnsum;”应改为“returnt;”。

82.

【考点分析】

本题考查:如何判断非素数;循环判断结构;数组的引用。

【解题思路】

题目要求将l—m之问的非素数存人数组中,应使用循环判断结构。循环语句用来遍历1一m之间的每个数,判断语句用来判断该数是否为素数,若不是素数,则将其存人数组中。这道题目是考查—个数是否为素数的简单延伸,只要掌握了判断素数的方法,问题便能顺利解决。

【解题宝典】

判定一个数是否为素数,即该数除了能被l和它本身外,不能被任何数整除。

代码实现为:

for(j=2;j<i;j++)if(i%j==0)/*如余数为0,证明i不是素数·/

此语句需要熟记,很多判断素数的题目也可通过此法解决。2021年安徽省合肥市全国计算机等级考试C语言程序设计模拟考试(含答案)学校:________班级:________姓名:________考号:________

一、单选题(20题)1.栈的特点是B,队列的特点是()。

A.先进先出B.先进后出

2.程序运行后的输出结果是()。A.0304.B.2050C.3344D.3040

3.若用一个大小为6的数值来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为()。

A.1和5B.2和4C.4和2D.5和1

4.设"char**s;",以下正确的表达式是()。

A.s="computer";B.*s="computer";C.**s="computer";D.*s='c';

5.一个有8个顶点的有向图,所有顶点的入度出度之和与所有顶点的出度之和的差是()

A.16B.4C.0D.2

6.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()

A.a<>0B.!aC.a=0D.a

7.下列表达式中,可以正确表示的关系是()。

A.(x>=1)10(x<=0)B.x>1‖x=0C.x>=1ORx<=0D.X>=1&&x<=0

8.如果定义“班级”关系如下:班级(班级号,总入数,所属学院,班级学生)则使它不满足第一范式的属性是()。

A.班级号B.班级学生C.总入数D.所属学院

9.下列程序的运行结果是()。#include<stdio.h>#defineADD(x)x+xmain(){intm=1,n=2,k=3;ints=ADD(m+n)*k;printf("s=%d",s);}

A.sum=18B.sum=10C.sum=9D.sum=25

10.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置()(脚注(10)表示用10进制表示)。

A.688B.678C.692D.696

11.

12.

13.在关系中凡能惟一标识元组的最小属性集称为该表的键或码。二维表中可能有若干个键,它们称为该表的()

A.连接码B.关系码C.外码D.候选码

14.在下列语句中,其含义为“q是一个函数指针,该指针指向整型数据”的定义语句是()。

A.int**q;B.int(*q);C.int*q;D.int*q;

15.以下选项中不能用做C程序合法常量的是()。

A.1,234B.‘\123’C.123D.“\x7G”

16.

17.由3个结点可以构造出______种不同形态的二叉树。

A.3B.4C.5D.6

18.在软件生存周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是()。

A.概要设计B.详细设计C.可行性分析D.需求分析

19.若有定义“inta=3;doubleb=0.1263;charch=‘a’;”,则以下选项中叙述有错的是()。

A.逗号表达式的计算结果是最后一个表达式的运算结果

B.运算符“%”只能对整数类型的变量进行运算

C.语句“ch=(unsignedint)a+b;”是对a与b之和进行强制类型转换,结果赋值给变量ch

D.复合运算“a*=b+ch”是将变量b、ch之和与a相乘,结果再赋值给a

20.算法分析的目的是()。

A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进

二、2.填空题(20题)21.若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为【】。

22.算法的复杂度主要包括【】复杂度和空间复杂度。

23.需求分析的最终结果是产生【】。

24.设有以下定义和语句:

inta[3][2]={1,2,3,4,5},*p[3];

p[0]=a[1];

则*(p[0]+1)所代表的数组元素是【】。

25.面向对象的模型中,最基本概念是对象和【】。

26.请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。

【】(double,double);

main()

{doublex,y;

scanf("%1f%1f",&x,&y);

printf("%1f\n",max(x,y));

}

doublemax(doublea,doubleB)

{return(a>b?a:b);}

27.以下函数的功能是求x的y次方,请填空。

doublefun(doublex,inty)

{inti;

doublez;

for(i=1,z=x;i<y;i++)z=z*【】;

returnz;

}

28.程序如下:

main()

{inti=4;

printf("%d",-++i);

}

该程序执行后的输出结果以及i的值分别是______、_______。

29.以下程序运行后的输出结果是【】。

main()

{intX==1,y=0,a=0,b=0;

switch(x)

{case1:switch(y)

{case0:a++;break;

case1:b++;break;

}

case2:a++;b++;break;

}

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

}

30.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【】。

31.“printf("%d\n",strlen("\t\"\023\xABC\n"));”语句的输出结果是______。

32.数据的安全性是指保护数据以防止【】用户的使用造成的数据泄密和破坏。

33.已有定义;charc='';inta=1,b;(此处c的初值为空格字符),执行b=!c&&a;后b的值为【】。

34.某二叉树中度为2的结点有18个,则该二叉树中有【】个叶子结点。

35.阅读下列程序,则程序的输出结果为【】。

#include"stdio.h"

structty

{intdata;

charc;};

main()

{structtya={30,′x′};

fun(a);

printf("%d%c",a.data,a.c);}

fun(structtyb)

{b.data=20;

b.c=′y′;}

36.以下程序从输入的10个字符串中找出最长的那个串,请填空。

#include<stdio.h>

#include<string.h>

#defineN10

main()

{charstr[N][81],*sp;

inti;

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

sp=str[0];

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

if(strlen(sp)<strlen(str[i]))

【】;

printf("输出最长的那个串:\n%s\n",sp);

printf("输出最长的那个串的长度:%d\n",strlen(sp));}

37.下列程序的输出结果是______。

main()

{inta=2,b=4,e=6;

int*p1=&a,*p2=&b,*p;

*(p=&c)=*p1*(*p2);

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

}

38.以下程序运行后的输出结果是()。

#include

char*ss(char*s)

{char*p,t;

P=s+1;t=*s;

while(*p){*(P-1)=*P;P++;}

*(P-1)=t;

returns;

}

main()

{char*p,str[10]="abcdefgh";

p=ss(str);

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

}

39.以下程序运行后,若输入:3,abcde<回车>,则输出结果是【】。

#include<stdio.h>

#include<string.h>

move(char*str,intn)

{chartemp;inti;

temp=str[n-1];

for(i=n-1;i>0;i--)str[i]=str[i-1];

str[0]=temp;

}

main()

{chars[50];intn,i,z;

scanf("%d,%s",&n,s);

z=strlen(s);

for(i=1;i<=n;i++)move(s,z);

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

}

40.下面程序的运行结果是【】。

#include<stdio.h>

#defineSIZE12

main()

{chars[SIZE];intI;for(I=0;I<SIZE;I++)s[I]=′A′+I+321;

sub(s,7,SIZE-1);

for(I=0;I<SIZE;I++)printf("%c",s[I]);

printf("\n");}

sub(char*a,intt1,intt2)

{charch;

while(t1<t2)

{ch=*(a+t1);

*(a+t1)=*(a+t2);

*(a+t2)=ch;

t1++;t2--;}}

三、1.选择题(20题)41.已有定义语句:intx=3,y=0,z=0;,则值为0的表达式是()

A.x&&y

B.x||z

C.x||z+2&&y-z

D.!((x<y)&&!z||y)

42.有以下程序:#include<stdio.h>main()char*p[]={"3697","2548"};inti,j;longnum=0;for(i=0;i<2;i++){j=0;while(p[i][j]!='\0'){if((p[i][j]-'0')%2)num=10*num+p[i][j]-'0';j+=2;}printf("%d\n",num);}程序执行后的输出结果是()。

A.35B.37C.39D.3975

43.设有以下语句,其中不是对a数组元素的正确引用的是:______(其中0≤i<10)inta[10]={0,1,2,3,4,5,6,7,8,9,},*p=a;

A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))

44.以下叙述中错误的是()。

A.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出

B.数组名代表的是数组所占存储区的首地址,其值不可改变

C.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息

D.可以通过赋初值的方式确定数组元素的个数

45.下列程序段选择项,使i的运行结果为3的程序段是()。

A.inti=0,j=O;(i=2,(j++)+i);

B.inti=1,j=0;j=i=((i=3)*2);

C.inti=0,j=1;(j=1)?(i=1):(i=3);

D.inti=1,j=1;i+=j+=1;

46.需求分析阶段的任务是()

A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能

47.SQL语言又称为______。

A.结构化定义语言B.结构化控制语言C.结构化查询语言D.结构化操纵语言

48.在软件开发过程中,软件结构设计是描述______。

A.数据存储结构B.软件体系结构C.软件结构测试D.软件控制过程

49.以下叙述正确的是______。

A.可以把define和if定义为用户标识符

B.可以把define定义为用户标识符,但不能把if定义为用户标识符

C.可以把if定义为用户标识符,但不能把define定义为用户标识符

D.define和if都不能定义为用户标识符

50.有以下程序:main(){chark;inti;for(i=1;i<3;i++){scanf("%c",&k);switch(k){case'0':printf("another\n");case'1':printf("number\n");}}}程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是

A.anothernumber

B.anothernumberanother

C.anothernumbernumber

D.numbernumber

51.下面程序运行后的输出结果是______。fut(int**s,intp[2][3]){**s=p[1][1];}main(){inta[2][3]={1,3,5,7,9,11},*p;p=(int*)malloc(sizeof(int));fut(&p,a);printf("%d\n",*p);}

A.1B.7C.9D.11

52.下列选项中不属于结构化程序设计方法的是()。

A.自顶向下B.逐步求精C.模块化D.可复用

53.下面程序的运行结果是

#include<stdio.h>

main()

{staticchara[]="Languagef",b[]="programe";

char*p1,*p2;intk;

p1=a;p2=b;

for(k=0;k<=7;k++)

if(*(p1+k)==*(p2+k))printf("%c",*(p1+k));}

A.gaeB.gaC.LanguageD.有语法错

54.若变量a、i已正确定义,且i已正确赋值,合法的语句是()。A.A.a==1B.++iC.a=a++=5D.a=int(i)

55.有下列程序:#include"stdio.h"main(){intx=0;inty=0;while(x<7&&++y){y--;x++;}printf("%d,%d",y,x);}程序的输出结果是()。

A.0,7B.7,7C.0,6D.1,6

56.若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是

A.(exp==0)B.(exp!=0)C.(exp==1)D.(exp!=1)

57.设x为整型变量,n=14,n的地址为4000;m=6,m的地址为2000;执行语句x=&n后的结果为()。

A.14B.6C.2000D.4000

58.有以下程序:main(){inty=10;while(y--);printf("y=%d\n",y);}程序执行后的输出结果是()。

A.y=0B.y=-1C.y=1D.while构成无限循环

59.12.以下说法中正确的是()

A.#define和printf都是C语句

B.#define是C语句,而printf不是

C.printf是C语句,但#define不是

D.#define和printf都不是C语句

60.有以下说明和定义语句structstudent{intage;charnum[8];structstudentstu[3]={{20,"200401"},{21,"200402"},{19,"200403"}};structstudent*p=stu;};以下选项中引用结构体变量成员的表达式错误的是

A.(p++)->numB.p->numC.(*p).numD.stu[3].age

四、选择题(20题)61.有以下程序:

程序运行后的输出结果是()。

A.9B.7C.5D.3

62.有以下程序段

#include<stdio.h>

voidfun(char*fname,char*st)

{FILE*myf;

inti;

myf=fopen(fname,"w");

for(i=0;i<strlen(st);i++)fputc(st[i],myf);

fclose(myf);

}

main()

{fun("test.t","newworld");

fun("test.t","hello,");}

程序执行后,文件test.t中的内容是A.A.hello,

B.newworldhello,

C.newworld

D.hello,rld

63.

64.

以下程序的输出结果是()。

intf(intA)

{returna%2;}

main

{ints[8]={1,3,5,2,4,6},i,d=0;

for(i=0;f(s[8]);i++)d+=s[i];

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

}

A.9B.11C.19D.21

65.有以下程序:

程序运行后的输出结果是()。

A.b,B"b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B

66.在下述程序中,判断条件“i>j”共执行的次数是

main()

{inti=0,j=10,k=2,s=0;

for(;;)

{i+=k;

if(i>j)

{printf("%d",s);

break;

}s+=i;

}

}

A.4B.7

C.5D.6

67.

则下面对m数组元素的引用中错误的是()。

A.

B.

C.

D.

68.下列程序的输出结果是()。voidfun(int*X,inty){printf("%d%d",*x,*y);*x=3;*y=1;}main{intx=1,y=2;fun(&y,&x);printf("%d%d",x,y);}A.2143B.1212C.1234D.2112

69.HTTP协议的GET请求方法可以获取()类型的数据。

A.HTML文档B.图片C.视频D.以上都可以

70.在一个C源程序文件中所定义的全局变量,其作用域为()。

A.由具体定义位置和extem说明来决定范围B.所在程序的全部范围C.所在函数的全部范围D.所在文件的全部范围

71.

72.设有定义:charp[]={1,2,3),*q=p;,以下不能计算出一个char型数据所占字节数的表达式是()。

A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p[0])

73.

74.以下程序运行后,输出结果是()。

#include<stdio.h>

#definePT5.5

#defineS(x)PT*x*X

main

{inta=1,b=2:

printf("%4.1f\n",s(a+b));

}

A.49.5B.9.5C.22.0D.45.0

75.有下列程序:fun(intx,inty){staticintm=0,i=2;i+=m+1;m=i+x+y;returnm;}main(){intj=1,m=1,k;k=fun(j,m);printS(”%d,”,k);k=fun(j,m);printf(”%d\n”,k);)执行后的输出结果是()。A.5,5B.5,11C.11,11D.11,5

76.

77.应用数据库的主要目的是A.A.解决数据保密问题

B.解决数据完整性问题

C.解决数据共享问题

D.解决数据量大的问题

78.一个关系中属性个数为1时,称此关系为()。

A.对应关系B.单一关系C.一元关系D.二元关系

79.有以下程序,其输出结果是()。

voidm

温馨提示

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

评论

0/150

提交评论