1、20201 18 8 年年 1 10 0 月高等教育自学考试福建省统一命题考试月高等教育自学考试福建省统一命题考试数据库原理与程序设计数据库原理与程序设计试卷试卷( (课程代码课程代码 4001)4001)一、单项选择题(本大题共 15 小题,每小题 2 分,共 30 分)在每小题列出的四个备选项中只有一个是最符合题目要求的, 请将其代码填写在题后的括号内。错选、多选或未选均无分。1以下叙述不正确的是【】AC 程序书写格式规定,一行内只能写一个语句B main()函数后面有一对花括号,花括号内的部分称为函数体C一个 C 程序必须有 main()函数DC 规定函数内的每个语句以分号结束2正确的自
2、定义标识符是【】A5dmBconstCx4yD.book-13C 语言中,错误的 int 类型的常数是【】A1E5B0C. 037D. Oxaf4假设所有变量均为 int 型,则表达式(a=2,b=5,b+1,a+b )的值是【】A2B. 6C. 7D. 85对以下的 scanf 语句,正确的输入方式是【】int kl,k2,k3,k4;scanf(“dddd”,kl,&k2,k3,k4):A1020 30,40B.10 20 30 40C.10,20 3040D.10 20 30,406判断 char 型变量 ch 是否为大写字母的正确表达式是【】AA = ch=A)&( ch =A)(ch
3、=Z)n(A=ch)7若有定义”float w;int a,b;”,则合法的 switch 语句是【】Aswitch(w)Bswitch(a)case l0:printf(“*n”);casel printf(“*n”);case 20:printf(“*n”);case 2 printf(“*n”);C. switch(b)Dswitch(a+b)case l:printf(“*n”);case l:printf(“*n”);default:printf(“n”);case 2:printf(“*n”);case a+2:printf(“*n”);default:printf(“n”);8语
4、句 while(!E);中的表达式!E 等价于【】AE=0B.E!=1C. E!=0DE=l9以下对一维整型数组 a 的正确说明是【】Aint a(10);Bint n=10,an3;Cint n;D.#define SIZEl0scanf(”d”,&n);int aSIZE ;int an;10对二维数组的正确定义是【】Aint a =1,2,3,4,5,6;Bint a2 =1,2,3,4,5,6;C. int a 3=1,2,3,4,5,6;Dint a2,3=1,2,3,4,5,6;11判断字符串 a 和 b 是否相等,应当使用【】A if(a=b)Bif(a=b)Cif(strcpy
5、(a,b)Dif(strcmp(ab)12若用数组名作为函数调用的实参,传递给形参的是【】A.数组的首地址B数组中第一个元素的值C数组中的全部元素的值D数组元素的个数13在“文件包含”预处理命令形式中,当#include 后名的文件名用(尖括号)括起时,寻找被包含文件的方式是【】A.直接按系统设定的标准方式搜索目录B.先在源程序所在目录中搜索,再按系统设定的标准方式搜索C仅仅搜索源程序所在目录D.仅仅搜索当前目录14下面是对 s 的初始化,其中不正确的是【】A.char s5=“abc”);Bchar s5=a,b,c;C. char s5=“ ”;D. char s5=”abcdef”;15
6、以下对结构类型变量的定义中不正确的是【】A. #define STUDENT struct studentB. struct studentSTUDENTint num;int num;float age;float age;std l;std l;C. structint num:D.struct、float age;int num:)std l;student;Struct student std l;二、填空题(本大题共 10 题,每小题 2 分,共 20 分)请在每小题的空格中填上正确答案。错填、不填均无分。16一个 C 语言程序的基本组成单位是_。17表示空类型的保留字是_。18写出
7、公式年yyx2对应的 C 语言表达式_。19对于 char ch;若知其为小写字母,将其转换为大写字母的正确表达式是_。20下列程序段执行后,k 的值为_。char c=a;int k=4;switch(c)case a:k=l;case b:k=2;case c:k=3;21执行语句”s=0;n=5;while(n)s+=n- -;”后,变量 s、n 值依次为_。22在一个函数内部调用另一个函数的调用方式称为_。23设 int a 3 4 ;如果数组 a 首地址为 2000,则 a+1 的地址是_。24欲为字符串 Sl 输入”Hello World!_其语句是_。25设 union int
8、b;char a9 ;float x;un;则变量 un 所占的字节数是_。三、程序分析题(本大题共 6 小题,每小题 5 分,共 30 分)阅读下列程序请将输出结果写到各题右侧的空白处。26#include”stdioh”main ()int x=8,y=-5;printf(”x=d,y=dn”,x,y);x=x+y;y=x-y;x=x-y;printf(”x=d,y=dn”,x,y);27main()-int a=2,b=3,c=4;if(ab)a=b;if(ac)ac:printf(”d,d,dn”,a,b,c);28main()int i,j,k,n3 ;for(i=0;i3;i+)n
9、i=0;k=2:for(i=0;ik;i+)for(j=O;jk;j+)nj=ni+1;printf(”dn”,ni);29#include”stdioh”main()int=2,*P,*PP;Pp=p;P=&a;a+;printf(”d,d,dn”,a,*P,*PP);30#include”stdioh”Sum (int n)if(n=l)return(1);else return n + sum(n 一 1);main()printf(”dn”,sum(10);31运行时输入:292suh(int n)int s=l;dos*=n10;n=10;while(n);return s;main
10、() int n;scanf(”d“,&n);n=sub(n);printf(”dn”,n);四、程序填充题(本大题共 4 小题,每空 2 分共 20 分)32将十个整数输入数组,求出其平均值并输出。main()int i,a10 ,sum=0,*p=_ _;for(i=0;i10;i+)scanf (”d”,p+i);sum+=_;printf(”8.2fn”,_);33下面程序调用 swap 函数交换 a 和 b 的值,并输出交换后的 a 和 b 的值。程序的输出结果是:#includevoid main()int x=9,y=5;swap(_);printf(”After Call Fu
11、nction Swap %d,%d”,x,y);swap(_ )int temp;temp=*x ;_ ;*y=temp;)34 一个三位整数(100999), 若各位数的立方和等于该数自身, 则称其为“水仙花数“(如:153=13+53+33),找出所有的这种数。main()int n,a,b,c;*n、a、b 和 c 分别为三位数自身及其个位、十位和百位*for(e=1;c=9;c+)for(b=0b一 9b+)for(_ _;a+)n=_;if(a*a*a+b*b*b+c*+c*c=_ _ )printf(”dn”,n);35下列程序的功能是将数组 a 的元素按行求和并且存储到数组 s 中。main()int s3=10;int a3 4=l,2,3,4,5,6,7,8,9,10,11,12;int i,j;for(i=0;i3;i+)for(j=0;j4;j+)_ ;printf(”dn”,si;