当前位置:首页 > C语言基础试题
C_C++笔试题
一.选择题(3分/题)
1. 下列运算符运算级别最高的是:________ A) && B) += C) >= D) !
2.________是合法的用户自定义标识符。 A)2b B)float C)foo-99 D)_32
3. 在说明语句:int *f();中,标识符f代表的是 A) 一个用于指向整型数据的指针变量 D B) 一个用于指向一维数组的行指针 C) 一个用于指向函数的指针变量 D) 一个返回值为指针型的函数名
4. 设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是 A)x&&y B)x<=y
C)x||++y&&y-z D)!(x)
5. 设有程序段 int k=10;
while(k=0)k=k-1; 则下面描述中正确的是 A)while循环执行10次 B)循环是无限循环
C)循环体语句一次也不执行 D)循环体语句执行一次
6.以下程序的输出结果是 。 int f()
{ static int i=0;
static int s=1; s+=i; i++; return s; }
main()
{ int i,a=0;
for(i=0;i<5;i++) a+=f();
printf(\
}
A) 10 B) 15 C) 20 D) 25
7.设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是 A)n=(n*100+0.5)/100.0
B)m=n*100+0.5,n=m/100.0 C)n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.0
8. 若以下定义: struct link { int data;
struck link *next; }a,b,c,*p,*q;
且变量a和b之间已有如下图所示的链表结构: a b
data next data next ┌──┬──┐ ┌──┬──┐ │ 5 │ ┼──→ │ 9 │ \\0 │ └──┴──┘ └──┴──┘ ↑p c
data next
┌──┬──┐ │ 7 │ │ └──┴──┘ ↑q
指针p指向变量a,q指向变量c。则能够把c插入到a和b 之间并形成新的链表的语句组是: A) a.next=c; c.next=b; B) p.next=q; q.next=p.next;
C) q->next=p->next; p->next=&c; D) (*p).next=q; (*q).next=&b;
9.已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为________ A)GEDHFBCA B)DGEBHFCA C)ABCDEFGH D)ACBFEDHG
10.某学校学生的考试成绩保存在表t_Scores中,该表有三个字段是StdID,ClsID,Score, 分别表示学号,课程号以及考试成绩,表中的每条记录表示某个学生在某一科目的考试成绩,各科目平均分数大于90的学生可以评为优等生,现在需要查询出所有优等生的学号以及平均分数______
A) select StdID,Score from t_Scores where Score > 90
B) select StdID,avg(Score) from t_Scores where Score > 90
C) select StdID,Score from t_Scores group by StdID having avg(Score) > 90
D) select StdID,avg(Score) from t_Scores group by StdID having avg(Score) > 90
二.说明题(5分/题) 11.
已知两个表,a 项目表 b 成员表 a表字段( id –项目编号
ProjectName-项目名称 )
b表字段( id—项目编号
employee- 成员名称 )
查询每个项目有多少人?
12.列举Oracle9i分区的类别并描述分区的优点。 13. MFC 中,大部分类是从哪个类继承而来? 14. C++中的struct与C中的struct之间的区别?
15. 什么是构造函数?什么是析构函数?构造、析构函数有哪些? 16. C++中的常函数与普通函数有何区别? 17.引用和指针的区别?
18.32位系统下, C++程序,请计算sizeof 的值:
char str[] = “http://www.ibegroup.com/” char *p = str ; int n = 10; 请计算
sizeof (str ) = ? sizeof ( p ) = ? sizeof ( n ) = ?
void Foo ( char str[100])3 {
sizeof( str ) = ? }
void *p = malloc( 100 ); sizeof ( p ) = ?
19.以下程序的运行结果:
#include
Class MyBase {
Public: Virtual void Draw1()
{ printf(“MyBase::Draw1()\\n”);} Void Draw2()
{printf(“MyBase::Draw2()\\n”);} };
Class MyClass:public MyBase {
Public: Void Draw1()
{ printf(“MyClass::Draw1()\\n”);}
Void Draw2()
{printf(“MyClass::Draw2()\\n”);} };
Int main() {
MyBase *pBase=new MyClass(); pBase->Draw1(); pBase->Draw2();
delete pBase; Return 0; }
20. 以下程序的运行结果:
Void Test1(char array[10]) { Cout << sizeof(array) << endl; }
Void Test2(char array[]) { Cout< Void main() { Char array[10]; Test1(array); Test2(array); } 21.说明如下linux命令的含义: (1) chmod (2) ps (3) top (4) tar (5) cp (6) mv (7) grep (8) find 22.将unix系统某个文件夹下所有的文件移到上一级目录。 三.编码题(25分) 23. 二分查找算法:(10分) 24. 双链表的操作:查询、删除、显示、插入(可任选一种操作,15分)
共分享92篇相关文档