版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021-2022年江西省新余市全国计算机等级考试C语言程序设计测试卷一(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.以下程序的输出结果是main(){intc=35;printf("%d\n",c&c);}
A.0B.70C.35D.1
2.下列程序段的时间复杂度为()。A.O(i+j)B.O(n)C.O(n2)D.O(i*j)
3.下面哪些使用的不是贪心算法()
A.单源最短路径中的Dijkstra算法
B.最小生成树的Prim算法
C.最小生成树的Kruskal算法
D.计算每对顶点最短路径的Floyd-Warshall算法
4.下列函数的类型是()。fun(doublex){floaty;y=3*x-4;returny;}
A.intB.不确定C.voidD.float
5.有下列程序:程序执行后的输出结果是()。A.Sun,f,90,Sun,f,90
B.Zhao,m,85,Sun,f,90
C.Zhao,m,85,Qian,f,95
D.Sun,f,90,Qian,f,95
6.以下说法错误的是()。
A.C语言标识符中可以有多个字母、数字和下划线字符
B.C语言标识符中下划线字符可以出现在任意位置
C.C语言标识符不能全部由数字组成
D.C语言标识符必须以字母开头
7.对线性表进行折半查找时,必须要求线性表()。
A.顺序方式存储B.链式方式存储C.以顺序方式存储,且结点按关键字有序排列D.以链式方式存储,且结点按关键字有序排列
8.sizeof(float)是()。A.一个双精度型表达式B.一个整型表达式C.一种函数调用D.一个不合法的表达式
9.一个模块直接调用的下层模块的数目称为模块的()。
A.扇入数B.扇出数C.宽度D.作用域
10.
11.在以下一组运算中,优先级最高的运算符是()
A.<=B.=C.%D.&&
12.有以下程序:intf(intn){if(n==1)return1;elsereturnf(n-1)+1;}main(){inti,j=0;for(i=i;i<3;i++)j+=f(i);printf("%d\n",j);}程序运行后的输出结果是()。
A.4B.3C.2D.1
13.C程序是由()构成的。
A.主程序与子程序B.主函数与子函数C.一个主函数与若干个其他函数D.主函数与子程序
14.在软件开发过程中,软件结构设计是描述______。
A.数据存储结构B.软件体系结构C.软件结构测试D.软件控制过程
15.有以下程序(说明:字母A的ASCIl码值是65):#include<stdio.h>voidfun(char*s){while(*s){if(*s%2)printf("%C",*s);s++;}}main(){chara[]="BYTE";Fun(a);printf("\n");}程序运行后的输出结果是()。A.BYB.BTC.YTD.YE
16.以下有关宏替换的叙述不正确的是()。A.A.使用宏定义可以嵌套
B.宏定义语句不进行语法检查
C.双引号中出现的宏名不替换
D.宏名必须用大写字母表示
17.
18.下列程序的输出结果是()#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
19.以下关于C语言的叙述中正确的是()。
A.C语言中的注释不可以夹在变量名或关键字的中间
B.C语言中的变量可以在使用之前的任何位置进行定义
C.在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致
D.C语言的数值常量中夹带空格不影响常量值的正确表示
20.下面排序算法中,初始数据集的排列顺序对算法的性能无影响的是()
A.堆排序B.插入排序C.冒泡排序D.快速排序
二、2.填空题(20题)21.以下程序用于判断a、b、c能否构成三角形,若能,输出YES,否则输出NO。当给a、b、c输入三角形三条边长时,确定a、b、c能构成三角形的条件是需同时满足三个条件:a+b>c,a+c>b,b+c>a。
请填空。
main()
{floata,b,c;
scanf("%f%f%f",&a,&b,&c);
if(【】)printf("YES\n");/*a、b、c能构成三角形*/
elseprintf("NO\n");/*a、b、c不能构成三角形*/
}
22.类是一个支持集成的抽象数据类型,而对象是类的【】。
23.下面程序的运行结果是()。
#defineEXCH(a,B){intt;t=a;a=b;b=t;}
main()
{intx=1,y=2;
EXCH(x,y);
printf("x=%d,y=%d\n",x,y);
}
24.注释一般分为序言性注释和______注释。
25.模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中______的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。
26.设有以下定义和语句,sizeof(a)的值是【】,sizeof(b)的值是【】。
struct{intday;Charmonth;intyear;}a,*b;
b=&a;
27.设有下列宏定义:
#defineA2
#defineB(A+3)
则执行赋值语句"k=B*20;"(k为int型变量)后,k的值是______。
28.以下程序运行后输出的结果是【】。
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);
}
29.下列程序的输出结果是______。
main()
{chara[]="ABCDEFG";
char*cp=&a[7];
while(--cp>&a[0])putchar(*cp);
}
30.在面向对象方法中,允许作用于某个对象上的操作称为【】。
31.下面程序的输出是()。
main()
{intarr[8],i,k=0;
for(i=0;i<8;i++)
arr[i]=i;
for(i=1;i<5;i++)
k+=arr[i]+i;
printf("%d\n",k);
}
32.成本估算模型中,Putnam估算模型是一种【】模型。
33.以下程序中,for循环体执行的次数是【】。
#defineN2
#defineMN+1
#defineKM+1*M/2
main()
{
inti;
for(i=1;i<K;i++)
{…}
…
}
34.函数fun的功能是使一个字符串按逆序存放。请填空。
voidfun(charstr[])
{charm;inti,j;
for(i=0,j=strlen(str);i<【】;i++,j--)
{m=str[i];
str[i]=【】;
str[j-1]=m;
}
printf("%s\n",str);
}
35.判定表和判定树是以图文形式描述数据流图的【】
36.一名学生只能住一间宿舍,一间宿舍可住多名学生,则实体“宿舍”与实体“学生”的联系属于()的联系。
37.下述函数统计—个字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。
intword(char*s)
{intnum=0,flag=0;
while(*s)
{if(【】='')flag=0;
elseif(【】){flag=1;num++}
}
return【】;}
38.以下主程序运行后的输出结果是【】。
main()
{inti,m=0,n=0,k=0;
for(i=9;i<=ii;i++)
switch(i/10)
{case0:m++;n++;break;
case10:n++;break;
default:k++;n++;
}
printf("%d%d%d\n",m,n,k);
}
39.计算机中网络通信协议IP是【】。
40.在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为【】。
三、1.选择题(20题)41.以下叙述中错误的是()。
A.C语言程序中的#include和#define行均不是C语句
B.除逗号运算符外,赋值运算符的优先级最低
C.C语言程序中,j++;是赋值语句
D.C语言程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算
42.单个用户使用的数据视图的描述称为______。
A.外模式B.概念模式C.内模式D.存储模式
43.在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为A.63B.64C.6D.7
44.在执行下述程序时,若从键盘输入6和8,则结果为
main()
{inta,b,s;
scanf("%d%d",&a,&b);
s=a
if(a<b)
s=b;
s*=s;
printf("%d",s);}
A.36B.64C.48D.以上都不对
45.函数fun的返回值是fun(char*a,char*b){intnum=0,n=0;while(*(a+num)!='\0')num++;while(b[n]){*(a+num)=b[n];num++;n++;}returnnum;}
A.字符串a的长度B.字符串b的长度C.字符串a和b的长度之差D.字符串a和b的长度之和
46.以下定义语句中正确的是
A.chara='A'b='B';
B.floata=b=10.0;
C.inta=10,*b=&a;
D.float*a,b=&a;
47.有以下程序:#include<stdio.h>#defineF(X,Y)(X)*(Y)main(){inta=3,b=4;printf("%d\n",F(a++,b++));}程序运行后的输出结果是()。
A.12B.15C.16D.20
48.已有定义inta=3;和输出语句printf("%8x",A);以下正确的叙述是()。
A.整型变量的输出格式符只有%d一种
B.%x是格式符的一种,它可以适用于任何一种类犁的数据
C.%x是格式符的一种,其变量的值按十六进制数输出,但%08x是错误的
D.%8x是正确的格式符,其中数字8规定了输出字段的宽度
49.有程序段:intal,a2;Charcl,c2;scanf("%d%c%d%c",&a1,&cl,&a2,&c2);若要求a1、a2、c1、c2的值分别为10、20、A、B,正确的数据输入()
A.10A20B<CR>B.10A20B<CR>C.10A20B<CR>D.10A20B<CR>
50.下列叙述中正确的是()。A.用E-R图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系
B.用E-R图只能表示实体集之间一对一的联系
C.用E-R图只能表示实体集之间一对多的联系
D.用E-R图表示的概念数据模型只能转换为关系数据模型
51.有以下定义语句
doublea,b;intw;longc;
若各变量已正确赋值,则下列选项中正确的表达式是A.a=a+b=b++B.w%(int)a+b)C.(c+w)%(int)aD.w=a==b;
52.以下能正确定义字符串的语句是()。
A.charstr[]={'\064'};
B.charstr="kx43";
C.charstr=";
D.charstr[]="\0";
53.以下数组定义中不正确的是_______。
A.inta[2][3];
B.intb[][3]={0,1,2};
C.intc[100][100={0};
D.intd[3][]={{1,2},{1,2,3},{1,2,3,4}};
54.阅读下面程序段,则执行后的结果为#include"stdio.h"main(){intm=4,n=2,k;k=fun(m,n);printf("%d\n",k);}fun(intm,intn){return(m*m*m-n*n*n);}
A.64B.8C.56D.0
55.下列语句中,不正确的是______。
A.staticchara[]={"Jack"};
B.staticchara[]="Jack";
C.printf("%s",a[0]);
D.scanf("%s",a);
56.若有以下定义,则对a数组元素的正确引用是()。inta[5],*p=a;
A.*&a[5]B.*a+1C.*(p+5)D.*(a+2)
57.有以下程序:main(){charp[]={'a','b','c},q[]="abc";printf("%d%d\n",sizeof(p),sizeof(q));}程序运行后的输出结果是()。
A.44B.33C.34D.43
58.以下程序的输出结果是______。longfun(intn){longs;if(n==1||n==2)s=2;elses=n-fun(n-1);returns;}main(){printf("%ld\n",fun(3));}
A.1B.2C.3D.4
59.以下数组定义中错误的是()。
A.intx[][3]={0};
B.intx[2][3]={{1,2},{3,4},{5,6}};
C.intx[][3]={{1,2,3},{4,5,6}};
D.intx[2][3]=(1,2,3,4,5,6};
60.下列选项中不符合良好程序设计风格的是A.源程序要文档化B.数据说明的次序要规范化C.避免滥用goto语句D.模块设计要保证高耦合、高内聚
四、选择题(20题)61.假定X和Y为double型,则表达式x=2,y=x+3/2的值是()。
A.3.500000B.3C.2.000000D.3.000000
62.有以下程序
63.有以下程序则以下函数调用语句错误的是()。
A.k=*f(a,b);B.k=add(a,b);C.k=(*f)(a,b);D.k=f(a,b);
64.若有定义“intb[8],*p=b;”,则p+6表示()。
A.数组元素b[6]的值B.数组元素b[6]的地址C.数组元素b[7]的地址D.数组元素b[0]的值加上6
65.有三个关系R、s和T如下:
由关系R和s通过运算得到关系T,则所使用的运算为()。
A.并B.自然连接C.笛卡尔积D.交
66.
67.阅读下列程序,则运行结果为()。
A.3B.4C.5D.6
68.若有定义语句:“intx=10;”,则表达式x-=x+x的值为()。
A.-20B.-l0C.0D.10
69.对于算法的每一步,指令必须是可执行的。算法的()要求算法在有限步骤之后能够达到预期的目的。
A.可行性B.有穷性C.正确性D.确定性
70.有以下程序#includemain{inty=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的运行结果是()。A.741B.963C.852D.875421
71.
72.
73.
74.数据库系统的核心是()。
A.数据库B.数据库管理系统C.数据库管理员D.数据库应用系统
75.
以下叙述中正确的是()。
A.预处理命令行必须位于C源程序的起始位置
B.在C语言中,预处理命令行都以“#”开头
C.每个C程序必须在开头包含预处理命令行:#include<stdio.h>
D.C语言的预处理不能实现宏定义和条件编译的功能
76.
下列程序的输出结果是()。
#include<stdio.h>
voidp(int*x)
{printf("%d¨,++*x);
}
voidmain()
{inty=3;
p(&y);
}
A.3B.4C.2D.5
77.
有以下程序
#include<stdio.h>
intfun(chars[])
{intn=0;
while(*s<=9&&*s>=0){n=10*n+*s-o;s++;)
return(n);
}
main
{chars[10]={6,1,*,4,*,9,*,0,*);
printf("%d",fun(s));
}
程序运行的结果是()。
A.9B.61490C.61D.5
78.当c的值不为0时,在下列选项中不能正确将c的值赋给变量a、b的是()。A.A.a=b=c;B.(a=c)C.(a=c)&&(b=c);D.(b=c);
79.有三个关系R、S和T如下:
则由关系R和s得到关系T的操作是()。
A.自然连接B.并C.交D.差
80.以下程序执行后sum的值是()。main{inti,sum;for(i=1;i<6;i++)sum+=i:printf("1%d\n",sum):}A.15B.14C.不确定D.0
五、程序改错题(1题)81.下列给定程序中,函数fun的功能是:从低位开始依次取出长整型变量s中奇数位上的数,构成一个新数存放在t中。高位仍在高位,低位仍在低位。
例如,当s中的数为7654321时,t中的数为7531。请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODll.C中,不得增行或删行,也不得更改程序的结构!
#include<;stdi0.h>;
六、程序设计题(1题)82.编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。
例如,若输入字符串123412132,输入字符为l,则输出3。
注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
参考答案
1.C解析:本题考查按位与“&”。因为1&1=1,0&0=0,所以任何数与自身按位与,结果仍为此数,不发生变化。
2.C
3.D
4.A本题考查函数值的类型。在函数调用时,尽管Y的类型是float.x的类型是double,但是因为函数定义时没有指定类型说明,系统默认函数值的类型为int型,所以计算后Y的类型是int型。
5.A程序定义结构体类型STU,定义类型STU的全局变量a。main函数定义局部类型为STU变量b,并对它初始化,调用函数f。将局部变量c的各个成员值赋给a,覆盖a的旧值,将a的新值返回并赋给b,此时a、b的各个成员值都是Sun,f,90,程序输出:Sun,f,90,Sun,f,90。本题答案为A选项。
6.DC语言的合法的标识符的命名规则是:标识符可以由字母、数字和下划线组成,并且第1个字符必须是字母或下划线。选项D错误。本题答案为D选项。
7.C
8.B该函数用于数据类型和变量。注意:sizeof操作符不能用于函数、不完全类型或位字段。不完全类型指具有未知存储大小的数据类型,如未知存储大小的数组类型、void类型等。
9.B扇入数是指调用一个给定模块的模块个数。扇出数是指由一个模块直接调用的其他模块数,即一个模块直接调用的下层模块的数目。本题答案为B选项。
10.A
11.C
12.B解析:通过分析不难写出,f()函数的数学表达式为:
f(n)=1n=l;
f(n)=f(-1)+1n≠1;
在主函数中for循环执行了两次函数调用f(i)。第一次:i为1,调用f(1)得到返回值1,并把它加到j中,j的值为1。第二次i为2,调用f(n),根据递归公式可知f(2)=f(1)+1,得到返回值2并把它加到j中,j的值为3。所以最后输出,i的值为3。
13.B
14.B解析:从工程管理解度来看,软件设计分两步完成:概要设计和详细设计。概要设计(又称结构设计)将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式。
15.Dfun函数的意思是当*s%2==0的时候就输出并且s自加l次,然后判断。所以可知只有第2和第4个位置上的才符合要求,所以答案为D。
16.D解析:本题考查宏替换的规则。宏替换有两类:简单的字符替换和带参数的宏替换。使用宏应注意:①宏定义仅仅是符号替换,不是赋值语句,因此不做语法检查:②为了区别程序中其他的标示符,宏名的定义通常用大写字母,但不是必须用大写;③双引号中出现的宏名不替换;④使用宏定义可以嵌套,即后定义的宏中可以使用先定义的宏。
17.D
18.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,结束循环。
19.B解析:C语言中注释可以放在任何位置,选项A错误;C语言中的变量只要在使用之前定义即可,位置可以是使用前的任何位置,故选项B正确;C语言中两侧数据类型可以不一致,系统可进行强制类型转换,选项C错误;C语言数值常量中不允许存在空格,选项D错误。
20.A
21.a+b>c&&a+c>b&&b+c>aa+b>c&&a+c>b&&b+c>a解析:在逻辑表达式中,如果要同时满足几个条件可以使用逻辑与运算符“&&”,故本题的答案应该为:a+b>c&&a+c>b&&b+c>a或其他等价形式。
22.实例将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。所以,类是对象的抽象,对象则是其对应类的一个实例。
23.x=2y=1
24.功能性功能性解析:注释一般分为序言性注释和功能性注释。序言性注释通常位于每个程序的开头部分,给出程序的整体说明;功能性注释一般嵌在源程序体之中,主要描述其后的语句或程序做什么,
25.在进行单元测试时,要用一些辅助模块去模拟与被测模块相联系的其他模块,即为被测模块设计和搭建驱动模块和桩模块。其中,驱动模块相当于被测模块的主程序,它接收测试数据,并传给被测模块,输出实际测试结果;而桩模块是模拟其他被调用模块,不必将子模块的所有功能带入。\r\n\r\n
26.52
27.100100解析:本题考查带参数的宏定义及相关运算。运算过程为:k=B*20=(A+3)*20=(2+3)*20=100。
28.2121解析:外层switch语句后面括号里的x的值为1,所以执行从casel:后面的语句开始执行,而cascl:后面语句也为switch语句,这个switch语句后面括号里的y的值为0,所以从该switch语句里的case0:开始执行即执行a++,这时a的值变为1,执行完毕,遇到break语句,退出内层switch语句,又回到外层switch语句,继续执行casel:下面的语句即case2:执行完毕后,a自加1变为2,b自加1变为1。所以最后输出的a和b的值为21。
29.GFEDCB。GFEDCB。解析:开始指针cp指向字符串结束标志,在循环中,cp依次向前移动,当打印出第二个字符后,cp指向第一个字符,循环判断条件不满足,退出循环,因此,只打印出第一个字符以后的字符的逆序列。
30.方法方法解析:在面向对象方法中,方法是指允许作用于某个对象上的各种操作。
31.20
32.动态多变量动态多变量
33.44解析:将程序中所有的宏替换掉可得:M=2+1,K=2+1*2+1/2=4,所以for循环共循环了K-1+1次,即4-1+1共4次。
34.strlen(str)/2str[j-1]
35.判定树、判定表判定树、判定表
36.一对多一对多解析:在现实世界中事物间的关联称为联系。在概念世界中联系反映了实体集间的一定关系。两个实体集间的联系实际上是实体集间的函数关系,这种函数关系可以有3种,分别是一对一,一对多和多对多,依据题意,一名学生只能住一间宿舍,一间宿舍可住多名学生,所以实体“宿舍”与实体“学生”的联系属于一对多的联系。
37.*s++flag=0或*(s-1)=''num*s++\r\nflag=0或*(s-1)=''\r\nnum解析:在统计字符串单词个数的算法中,本题的flag是为了记录—个单词是否结束。第18空应填*s++;如果某个字符不是空格,则必须判断它是否是单词,如是,则使得flag的标志为1,num的值加1。本题判断方法是:先判断s所指向的字符是否为空格,如果是则使得flag=0,否则判断前—个字符是否是空格,如果是则说明这个字符是—个单词的开始,将flag标志为1,num的值加1,如果不是,则不必记录。故第19空应填flag=0或*(s-1)='';最后—个空格需填写的是返回的单词的个数,即num。
38.132132解析:本题for循环语句的执行过程为:
第一次循环:i=9,9/10=0,执行m++、n++得m=1、n=1、k=0;
第二次循环:i=10,10/10=1,执行k++、n++得m=1、n=2、k=1;
第三次循环:i=11,11/10=1,执行k++、n++得m=1、n=3、k=2;
即执行完for循环后m=1、n=3、k=2。
39.网际协议网际协议
40.数据字典数据字典解析:在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为数据字典。
41.D解析:在C程序中,以#开头的行都称为“编译预处理”行,它不是C语言本身的组成成分,不能对它们进行直接编译;在运算符优先级表中,逗号运算符的优先级最低,赋值运算符其次;自加运算表达式j++等价于赋值语句j=j+1;求余运算符%仅用于整型变量。故选项D错误。
42.A解析:选项A)正确,外模式是用户的数据视图,也就是用户所见到的数据模式;选项B)不正确,全局数据视图的描述称为概念模式,即数据库中全部数据的整体逻辑结构的描述;选项C)不正确,物理存储数据视图的描述称为内模式,即数据库在物理存储方面的描述;选项D)不正确,存储模式即为内模式。
43.B解析:在长度为64的有序线性表中,其中的64个数据元素是按照从大到小或从小到大的顺序排列有序的。在这样的线性表中进行顺序查找,最坏的情况就是查找的数据元素不性表中或位于线性表的最后。按照线性表的顺序查找算法,首先用被查找的数据和线性表的第一个数据元素进行比较,若相等,则查找成功,否则,继续进行比较,即和线性表的第二个数据元素进行比较。同样,若相等,则查找成功,否则,继续进行比较。依次类推,直到性表中查找到该数据或查找到线性表的最后一个元素,算法才结束。因此,在长度为64的有序线性表十进行顺序查找,最坏的情况下需要比较64次。因此,本题的正确答案为选项B。
44.B解析:本题中a的值为6,b的值为8,最后s的值为8,s*=s等价于s=s*s。
45.D解析:第一个while循环是字符串a的长度,第二个while是将字符串b接在a的后面,num在a串长度上继续累计,为两个字符串长度之和。
46.C解析:选项A中定义两个变量a和b,并赋初值,C语言中可以同时定义多个变量,但变量之间必须用“,”隔开,显然,选项A中少了一个逗号“,”,故选项A不正确;选项B中定义变量时用了连续的赋值语句,这在定义变量是不正确的,故选项B不正确,选项D定义一个指针,然后定义了一个变量并让这个变量的初值为该指针变量,显然这这时的指针变量还没初始化就被赋值给变量,是不对的,故选项D不正确,所以,4个选项中选项C符合题意。
47.A解析:本题考查带参数的宏定义,参数只是简单的替换而不是求出其值后再替换形式参数。本题中用a++替换X,用b++替换Y,再求(a++)*(b++)的值,即3*4的值,其结果为12。
48.D解析:本题考查printf函数的格式。“%8x”表示以十六进制无符号形式输出整掣数据。“8”表示指定输出数据的宽度为8位。
49.A
50.A解析:用E-R图可以简单明了地描述实体及其相互之间的联系,用E-R图还可以方便地描述多个实体集之间的联系和一个实体集内部实体之间的联系。因此,选项A中的说法是正确的,而选项B与C中的说法都是错误的。
为了建立用户所要求的数据库.必须把概念结构(用E-R图表示的概念数据模型)转换为某个具体的数据库管理系统所支持的数据模型,这就是逻辑结构设计所要完成的任务。
在已给定数据库管理系统的情况下,数据库的逻辑设计可以分两步来进行:
①将概念模型转换成一般的数据模型;
②将一般的数据模型转换为特定的数据库管理系统所支持的数据模型。
由此可知,用E-R图表示的概念数据模型不仅能转换为关系数据模型,还可以转换为其他数据模型,如网状模型和层次模型等。因此,选项D中的说法也是错误的。
51.C解析:选项A不是合法的赋值语句,将最右边的第一个赋值表达式加括号即为a=a+(b=b++)才正确,故选项A不正确。选项B中运算符%的对象必须是整型,而在选项B中(int)a+b为double型,故选项B不正确。a,b都为double型,应当避免使用a==b这样的关系表达式,因为通常存放在内存中的实型数据是有误差的,因此不可能精确相等,这将导致关系表达式a==b总为0。所以,4个选项中选项C符合题意。
52.D解析:字符串必须以‘\\0’为结束符。
53.D解析:一维数组的定义方式为:
类型说明符数组名[常量表达式];
选项A符合此定义形式,正确;C语言中多维数组赋初值时可以部分赋值,也可以不指定除第一维以外的其他维的大小,故选项C正确;另外,如果对全部数组元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省,所以选项B正确,而选项D是错误的。
54.C解析:如果没有指明函数值类型,则默认函数返回值的类型为int型。注意:顺序程序结构的执行过程。
55.C解析:当用%s格式符输出字符串时,printf中的输出项是字符数组名,不是数组元素名。
56.D本题考查通过指针引用数组元素。选项A)、B),没有这种引用形式;选项c),*(p5)是引用数组的第6个元素,而数组一共有5个元素,出现越界;选项D),*(a2)引用数组的第3个元素。
57.C解析:字符数组即可以用{初始化列表}来初始化,也可以用一个字符串常量来初始化。但字符串常量系统会自动为其添加结束标记'\\0',故比实际长度要多一位,所以本题输出为34,应该选择C。
58.A解析:该题考查的是递归函数的调用,题中读fun函数进行了递归调用,第1次调用:fun(3)n=3s=3-fun(2);第二次调用时:fun(2)n=2s=2返回第一次调用后,s=3-2=1。
59.B解析:选项B的第1维长度为2,而初始化列表外花括号中包含了3个内花括号,所以该选项的定义错误,故应该选择B。
60.D解析:编程风格是在不影响性能的前提下,有效地编排和组织程序,以提高可读性和可维护性。更直接地说,风格就是意味着要按照规则进行编程。这些规则包括:(1)程序文档化。就是程序文档包含恰当的标识符、适当的注解和程序的视觉组织等。(2)数据说明。出于阅读理解和维护的需要,最好使模块前的说明语句次序规范化。此外,为方便查找,在每个说明语句的说明符后,数据名应按照字典顺序排列。(3)功能模块化。即把源程序代码按照功能划分为低耦合、高内聚的模块。(4)注意goto语句的使用。合理使用goto语句可以提高代码的运行效率,但goto语句的使用会破坏程序的结构特性。因此,除非确实需要,否则最好不使用goto语句。因此,本题的正确答案是D。
61.D本题考查C语言中变量类型的转换。
C语言中若参与运算的变量的数据类型不同,则先转换成同一类型,然后进行运算。转换数据始终往长度增加的方向进行,以确保精确度,如int和long运算,则将int转换为long再运算,所有的浮点运算都是以双精度(double)进行的。
题目中x、y都为double型数据,而表达式3/2为两个整型变量之间的计算,计算结果只保留整数部分,小数部分省略掉。3/2的结果为1。后面变为计算y=x+1,这时都需要变为doubl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字程控交换机技术全解析:原理、架构、应用与演进
- 人员代管未签协议书
- 2026年及未来5年市场数据中国PVC多用手套行业发展趋势及投资前景预测报告
- 2026年及未来5年中国冷拔拉机行业发展趋势预测及投资战略咨询报告
- 2026年及未来5年市场数据中国乙二醇市场前景预测及未来发展趋势报告
- 2026年及未来5年中国汽车应急启动电源市场供需格局及未来发展趋势报告
- 2026年及未来5年市场数据中国新型电池行业市场调查研究及投资战略咨询报告
- 建行战略协议书
- 百色市2024广西百色平果市工业和信息化局招聘1人笔试历年参考题库典型考点附带答案详解(3卷合一)试卷2套
- 广西壮族自治区2024广西合山市文化广电和旅游局招聘1人笔试历年参考题库典型考点附带答案详解(3卷合一)试卷2套
- 自然资源部所属单位2026年度公开招聘工作人员备考题库(第一批634人)含答案详解
- 2026课件-人工智能通识 教案 模块四-教学设计-人工智能通识-新版
- 加油站合伙合同协议书范本
- 细胞治疗课件
- 人教版八年级下册数学期末试卷测试卷(含答案解析)
- 2025年电商财务统一管理方案报告-帆软
- 门店关闭清算协议书
- 2025年消防设施操作员中级理论考试1000题(附答案)
- 具有较大危险因素的生产经营场所、设备和设施的安全管理制度
- 消防设计专篇
- 「梦回唐宋」-边塞诗(可编辑版)
评论
0/150
提交评论