笔试试题及答案

   
说明:
答题在答题纸上,不要写在试题上,且一并上交。注意都写上姓名和联系方式。
试题一 选择题(30分)
1 、计算机屏幕上画出的任意一条斜线都是呈阶梯状,有以下原因,但不包括
(A)屏幕显示图形使用网格格式; (B)每一网格是不可分割的最小单位;
(C)屏幕显示精度不够高;(D)直线上的点按四舍五入在对应网格上赋予颜色;
2 、二维表格的结构有以下特点,但不包括------------------。
(A)所有横行记录都有相同的数据内容; (B)横向或纵向设置相应数据统计;
(C)横向或纵向一律不设置数据统计;(D)横向或纵向不设置多层次数据域类
3 、十进制数127转换成二进制数是
(A) 11111111   (B) 1111111    (C) 1000000 (D) 111111
4  Windows 环境下,PrintScreen键的作用是
(A)复制当前窗口到剪贴板       (B) 打印当前窗口的内容
(C)复制屏幕到剪贴板           (D) 打印屏幕内容
5 下程序中,while循环的循环次数是
main()
{ int i=0;
while(i<10)
{   if(i<1)   continue;
if(I==5) break;
       i++;
}
......
}
(A) 1                          (B) 10
(C) 6                           (D) 死循环,不能确定次数
6 、300DPI打印机绘制图件的每个像素的尺寸为-----------------毫米
(A)0.08;      (B)0.04;       (C)0.03;        (D)0.3
7 、温总理在两会上说,全国耕地面积底线为18亿亩,占国土总面积的
(A)0.5%;   (B)1% ;   (C)5%;    (D)10%
8 .以下程序的输出结果是
long fun( int n)
{ long s;
if(n= =1 || n= =2) s=2;
else s=n-fun(n-1);
return s;
}
main()
{ printf("%ld/n", fun(4)); }
(A)1 (B) 2 (C) 3 (D) 4
9 以下函数返回a所指数组中最小的值所在的下标值
fun(int *a, int n)
{ int i,j=0,p;
p=j;
for(i=j;i<n;i++)
if(a[i]<a[p])__________;
return(p);
}
在下划线处应填入的是
(A)    i=p (B) a[p]=a[i] (C) p=j (D) p=I
10. 下列Sql语句错误的是
(A)    create table 表名 … (B) drop table 表名 …
(C) alter table  表名 … (D)update table 表名 …
试题二 编程题(30分)
使用你熟悉的语言(可以是VB,VC,Delphi,Java,PB等)
注明:你熟悉的语言;同时注意格式,函数定义。
1.            计算1到n的数据之和
2.      已知一个整数数组,删除值相同的记录。
 
试题三 数据库(20分)
  有下面三个表:
1. 学生表:字段有,学号,姓名
2. 科目表:字段有,科目代号,科目名称
3. 关联表 :字段有, 学号,科目代号,成绩,
使用SQL语句完成如下功能:
1)      创建3个表的SQL表名语句。
2)      查询:学号为20030405的学生的语文、数学成绩,一行显示。
3)      查询: 学号为20030405的学生,最高分的科目。
4)      查询:语文最高分学生姓名。
5)      查询:每个学生的平均分。
试题四 问答题(20分)
     说明自己有优缺点,和对公司及自己未来的设想
 
    
说明:
答题在答题纸上,不要写在试题上,且一并上交。注意都写上姓名和联系方式。
试题一 选择题(30分)
1 、计算机屏幕上画出的任意一条斜线都是呈阶梯状,有以下原因,但不包括
(A)屏幕显示图形使用网格格式; (B)每一网格是不可分割的最小单位;
(C)屏幕显示精度不够高;(D)直线上的点按四舍五入在对应网格上赋予颜色;
答案:(C),从理论上,是折线与精度无关
2 、二维表格的结构有以下特点,但不包括------------------。
(A)所有横行记录都有相同的数据内容; (B)横向或纵向设置相应数据统计;
(C)横向或纵向一律不设置数据统计;(D)横向或纵向不设置多层次数据域类
答案:(A)
3 、十进制数127转换成二进制数是
(A) 11111111   (B) 1111111    (C) 1000000 (D) 111111
答案:(B),2的7次方为128,
4  Windows 环境下,PrintScreen键的作用是
(A)复制当前窗口到剪贴板       (B) 打印当前窗口的内容
(C)复制屏幕到剪贴板           (D) 打印屏幕内容
答案:(C)
 
5 下程序中,while循环的循环次数是
main()
{ int i=0;
while(i<10)
{   if(i<1)   continue;
if(I==5) break;
       i++;
}
......
}
(A) 1                          (B) 10
(C) 6                           (D) 死循环,不能确定次数
答案:(D),i都为0,
6 、300DPI打印机绘制图件的每个像素的尺寸为-----------------毫米
(A)0.08;      (B)0.04;       (C)0.03;        (D)0.3
答案:(a),一英寸25.4mm,300DPI是一英寸300点,所以为25.4/300=0.08
7 、温总理在两会上说,全国耕地面积底线为18亿亩,占国土总面积的
(A)0.5%;   (B)1% ;   (C)5%;    (D)10%
答案(D),国土面积为960万平方公里,折合为960*1500万亩=144亿亩,12%左右
8 .以下程序的输出结果是
long fun( int n)
{ long s;
if(n= =1 || n= =2) s=2;
else s=n-fun(n-1);
return s;
}
main()
{ printf("%ld/n", fun(4)); }
(A)1 (B) 2 (C) 3 (D) 4
答案(C),fun(4)=4-fun(3)=4-(3-(fun(2))=4-(3-2)=3
9 以下函数返回a所指数组中最小的值所在的下标值
fun(int *a, int n)
{ int i,j=0,p;
p=j;
for(i=j;i<n;i++)
if(a[i]<a[p])__________;
return(p);
}
在下划线处应填入的是
(A)    i=p (B) a[p]=a[i] (C) p=j (D) p=I
答案(D),a[p]是每次的最小值
 
10. 下列Sql语句错误的是
(A)    create table 表名 … (B) drop table 表名 …
(B)    alter table  表名 … (D)update table 表名 …
答案(D),前三个都表的操作,所有有table,D为记录的操作,无table,所以delete,insert都是记录的操作,无table
 
试题二 编程题(30分)
使用你熟悉的语言(可以是VB,VC,Delphi,Java,PB等)
注明:你熟悉的语言;同时注意格式,函数定义。
1.            计算1到n的数据之和
//C# 实现,循环
private long sum(int n)
        {
            long s = 0;
            for (int i = 1; i <= n; i++)
            {
                s += i;
            }
 
            return s;
        }
//C# 实现2,递归
 
        private long sum2(int n)
        {
            if (n > 0)
                return n + sum2(n - 1);
            else
                return 0;
        }
2.      已知一个整数数组,删除值相同的记录。
方法一:
// 删除相同的元素,方法是依次判断最后一个是否与前面相同,如果相同就删除最后一个,
        // 返回新的元素个数
        private int delsame(int[] a, int n)
        {
 
            for (int i = n - 1; i >= 0; i--)
            {
                for (int j = 0; j < i; j++)
                {
                    if (a[i] == a[j])
                    {
                        // 删除当前项
                        for (int k = n - 2; k >= i; k--)
                        {
                            a[k] = a[k + 1];
                        }
 
                        n = n - 1;
                        break;
                    }
 
                }
            }
            return n;
        }
方法二:
 
        // 删除相同的元素,返回新的元素个数
       // 放入另一个数组
        private int delsame2(int[] a, int n)
        {
            int[] b = new int[n];
            int m = 1;
            b[0] = a[0];
            bool same;
 
            for (int i = 1; i < n; i++)
            {
 
                same = false;
                for (int j = 0; j < m; j++)
                {
                    if (b[j] == a[i])
                    {
                        same = true;
                        break;
                    }
                }
                if (!same)// 没有就插入
                {
 
                    b[m] = a[i];
                    m++;
                }
 
            }
            // 替换新的数组
            for (int i = 0; i < m; i++)
            {
 
                a[i] = b[i];
 
            }
            return m;
        }
 
试题三 数据库(20分)
  有下面三个表:
1. 学生表:字段有,学号,姓名
2. 科目表:字段有,科目代号,科目名称
3. 关联表 :字段有, 学号,科目代号,成绩,
使用SQL语句完成如下功能:
1)      创建3个表的SQL表名语句。
2)      查询:学号为20030405的学生的语文、数学成绩,一行显示
3)      查询: 学号为20030405的学生,最高分的科目。
4)      查询:语文最高分学生姓名。
5)      查询:每个学生的平均分。
答案:oracle
1)    create table 学生表
(
学号 varchar2(8),
姓名 varchar2(8),
primary key( 学号)
);
-- 科目表
create table 科目表
(
科目代号   integer,
科目名称   varchar2(8),
primary key( 科目代号)
);
 
create table 关联表
( 学号       varchar2(8),
科目代号   integer,
成绩       number(5,1)
);
为了测试,加入如下记录
Insert into 学生表 values(‘20030405’,’张三’);
Insert into 学生表 values(‘20030406’,’李四’);
Insert into 科目表 values(1,’语文’);
Insert into 科目表 values(2,’数学’);
Insert into 关联表 values (‘20030405’,1,89);
Insert into 关联表 values (‘20030405’,2,70);
Insert into 关联表 values (‘20030406’,1,100);
Insert into 关联表 values (‘20030406’,2,80);
Commit;
2)    select (select b. 成绩 from 科目表 a,关联表 b where a.科目名称='语文' and b.学号='20030405' and a.科目代号=b.科目代号) as 语文成绩,
(select b. 成绩 from 科目表 a,关联表 b where a.科目名称='数学' and b.学号='20030405' and a.科目代号=b.科目代号) as 数学成绩 from dual
3) select a. 科目名称 from 科目表 a,关联表 b where b.成绩=( select Max(b.成绩) from 关联表 b where b.学号='20030405')   and a.科目代号=b.科目代号
4) select a. 姓名 from 学生表 a,关联表 b where b.成绩=
( select Max(b. 成绩) from 关联表 b,科目表 a where a.科目名称='语文' and a.科目代号=b.科目代号)   and a.学号=b.学号
5) select a. 姓名,avg(b.成绩) from 学生表 a,关联表 b where a.学号=b.学号 group by a.姓名
试题四 问答题(20分)
     说明自己有优缺点,和对公司及自己未来的设想
 
 

你可能感兴趣的:(table,Integer,insert,Delphi,fun,网格)