辽宁省国家计算机二级C语言上机题库100题答案.doc
文本预览下载声明
二、填空题。
(1)算法的复杂度主要包括空间复杂度和复杂度。算法的复杂度主要指时间复杂度和空间复杂度。
(2)在线性结构中,队列的操作顺序是先进先出,而栈的操作顺序是 。队列和栈都是线性结构,但是不同之处在于队列的操作顺序是先进先出,而栈的操作顺序是先进后出。
(3)数据流图的类型有和事务型。典型的数据流图有两种,即变换型和事务型。
(4)在 HYPERLINK / \t _blank 数据库理论中,数据物理结构的改变,如存储设备的更换、物理存储的更换、存取方式等都不影响 HYPERLINK / \t _blank 数据库的逻辑结构,从而不引起应用程序的变化,称为 。数据的物理结构改变,不影响 HYPERLINK / \t _blank 数据库的逻辑结构,从而不引起应用程序的变化,这种性质叫做物理独立性。
(5) HYPERLINK / \t _blank 数据库管理系统是位于用户与之间的软件系统。 HYPERLINK / \t _blank 数据库管理系统是帮助用户创建和管理 HYPERLINK / \t _blank 数据库的应用程序的集合。因此, HYPERLINK / \t _blank 数据库管理系统需要操作系统的支持,为用户提供服务。
(6)若从键盘输入58,则以下程序的输出结果是 。main(){ int a;scanf(%d,&a);if(a>50) printf(%d,a);if(a>40) printf(%d,a);if(a>30) printf(%d,a);}在程序中,执行scanf()语句后,a被赋值为58。接着执行第一个if语句,因为,a=58>50,执行第一个if语句后面的输出语句,输出58;接着执行第二个if语句,因为,a=58>40,执行第二个if语句后面的输出语句,输出58;接着执行第三个if语句,因为,a=58>30,执行第三个if语句后面的输出语句,输出58,所以最后的输出为585858。
(7)以下程序的输出结果是 。main(){ int a=177;printf(%o“n,a);}在控制格式符中“o”代表的是将数据按八进制数输出,十进制数的177代表的八进制数是261。
(8)以下程序的输出结果是 。main(){ int a=0;a+=(a=8);printf(%d“n,a);}在程序中首先将8赋值给变量a,然后再进行复合赋值运算。即a=a+a=8+8=16,所以该空格处应该填16。
(9)以下程序的输出结果是 。main(){ int a=5,b=4,c=3,d;d=(a>b>c);printf(%d“n,d);}关系运算符“>”的结合方式是从左向右的,所以在本题中的表达式a>b>c;从左向右开始计算,a>b的结果为“1”,接着1和c比较假,该空格处应该填0。
(10)以下定义的结构体类型包含两个成员,其中成员变量info用来存放整型数据;成员变量link是指向自身结构体的指针。请将定义补充完整。struct node{ int info;link;};link是指向结构体自身的指针,因此link是指针,指向struct node类型的数据,可定义成“struct node link”。
(11)以下程序的输出结果是 。main(){ int s,i;for(s=0,i=1;i<3;i++,s+=i);printf(%d“n,s);}此程序中,for循环语句后面直接跟了一个“;”,表明循环体为空。输出语句不在for循环体内,所以在循环执行完毕后才输出s的值。s、i的初值分别为0和1,判断循环条件,表达式“1<3”成立,执行“i++,s+=i”后,i和s的值分别为2和1,继续判断循环条件,表达式“2<3”成立,执行“i++,s+=i”后,i和s的值分别为3,再次判断循环条件,表达式“3<3”不成立,循环结束。
(12)以下程序的输出结果是 。main(){ char p=abcdefgh,r;long q;q=(long )p;q++;r=(char )q;printf(%s“n,r);}本题定义了一个字符型指针变量p并通过赋初值让它指向了一个字符串,定义了另一个字符型指针变量r和一个长整型指针变量q。首先通过语句“q=(long)p;”把p的地址值强制转换为长整型地址值并赋值给q,然后执行“q++;”,地址值增加了4,执行语句“r=(char)q;”,把长整型指针变量q的值再强制转换成字符型地址值并赋给r,r的值应为字符串中字符“e”的地址,最后输出r指向的字符串,是“efgh”。
(13)以下程序的输出结果是 。main(){ char s[]=abcdef;s
显示全部