当前位置:文档之家› 清华大学计算机系C++期末考试题及答案

清华大学计算机系C++期末考试题及答案

清华大学计算机系C++期末考试题及答案
清华大学计算机系C++期末考试题及答案

清华大学计算机系C++期末考试题及答案

一、填空题(25小题,共50分)

(以下每小题1分,共10分)

1.在C++中,函数的参数有两种传递方式,它们是值传递和地址或指针或引用传递。2.当一个成员函数被调用时,该成员函数的this指针指向调用它的对象。

3.在基类和派生类中,派生类可以定义其基类中不具备的数据和操作。对两个有相同名字的数据成员进行访问时,如果没有作用域分隔符限定时,对此数据成员的访问将出现歧义。

4.拷贝构造函数使用引用作为参数初始化创建中的对象。

5.在公有继承的情况下,基类数据成员在派生类中的访问权限保持不变。

6.描述命题"A小于B或小于C"的表达式为A

7.用new申请某一个类的动态对象数组时,在该类中必须能够匹配到没有形参的或缺省参数构造函数,否则应用程序会产生一个编译错误。

8.静态数据成员在类外进行初始化,且静态数据成员的一个拷贝被类的所有对象共享。9.为了避免可能出现的歧义,C++对if…else语句配对规则规定为:else总是与与最近的if配对。

10.设"int a=3,b=4,c=5;",表达式"(a+b)>c&&b==c"的值是0。

(以下每小题2分,共20分)

11.面向对象的程序设计有四大特征,它们是抽象、封装、继承、多态。

12.在Visual C++中,定义重载函数时,应至少使重载函数的参数个数或参数类型不同;在基类和派生类中,成员函数的覆盖是指派生类成员函数与在基类被覆盖的成员函数名、参数个数、参数类型和返回值类型均相同。

13.构造函数与析构函数除功能不同外,在定义形式上,它们的区别还包括构造函数名与类名相同,而析构函数名是在类名前加一个~、析构函数没有参数、析构函数可以定义为虚函数。

14.动态联编要满足两个条件,它们是被调用的成员函数是虚函数、用指针或引用调用虚函数。

15.在C++类中,有一种不能定义对象的类,这样的类只能被继承,称之为抽象类,定义该类至少具有一个纯虚函数。

16.在C++类中,const关键字可以修饰对象和成员函数,const对象不能被修改,const 成员函数不能修改类数据成员。

17.举出C++中两种用户自定义的数据类型:类、枚举。

18. C++中没有字符串类型,字符串是通过字符数组来表示的,每一个字符串都有一个结尾字符\0。

19. C++中没有输入输出语句,输入输出是通过输入输出库实现的,写出一条打印整型

变量n的输出语句:cout<

20.举出C++中两种代码复用的方式:继承、复用。

(以下每小题4分,共20分)

21.下面程序的运行结果是3。

#include

void main()

{

char a='a',b='j';

float x;

x=(b-a)/('F'-'A');

printf("%d\n",(int)(3.14*x));

}

22.下面程序的运行结果是2 5 8 11 14。

#include "iostream.h"

void main( )

{

int i=1;

while (i<=15){

i++;

if (i%3!=2) continue;

else cout <<"i="<

}

}

23.下面程序的运行结果是________。

#include "iostream.h"

class test

{

private:

int num;

float fl;

public:

test( );

int getint( ){return num;}

float getfloat( ){return fl;}

~test( );

};

test::test( )

{

cout << "Initalizing default" << endl;

num=0;fl=0.0;

}

test::~test( )

{

cout << "Desdtructor is active" << endl;

}

void main( )

{

test array[2];

cout << array[1].getint( )<< " " << array[1].getfloat( ) <

Initalizing default

Initalizing default

0 0

Desdtructor is active

Desdtructor is active

24.下面程序的运行结果是________。

#include

class A

{

public:

A(){cout<<"A::A() called.\n";}

virtual ~A(){cout<<"A::~A() called.\n";}

};

class B:public A

{

public:

B(int i){

cout<<"B::B() called.\n";

buf=new char[i];}

virtual ~B()

{

delete []buf;

cout<<"B::~B() called.\n";

}

private:

char *buf;

};

void fun(A *a)

{

delete a;

}

void main()

{

A *a=new B(15);

fun(a);

}

A::A() called.

B::B() called.

B::~B() called.

A::~A() called.

25.下面程序的运行结果是________。

#include

int a[ ]={1,3,5,7,9};

int *p[ ]={a,a+1,a+2,a+3,a+4};

void main( )

{

printf("%d\t%d\t%d\n",a[4],*(a+2),*p[1]);

printf("%d\t%d\t%d\n",**(p+1)+a[2],*(p+4)-*(p+0),*(a+3)%a[4]); }

9 5 3

8 4 7

二、问答题(每小题5分,共20分)

1.若程序员没有定义拷贝构造函数,则编译器自动生成一个缺省的拷贝构造函数,它可能会产生什么问题?

解答要点:当对象含有指针数据成员,并用它初始化同类型的另一个对象时,缺省的拷贝构造函数只能将该对象的数据成员复制给另一个对象,而不能将该对象中指针所指向的内存单元也复制过去。这样,就可能出现同一内存单元释放两次,导致程序运行出错。

2.简述成员函数、全局函数和友元函数的差别。

解答要点:以下几点必须说清楚:

成员函数是在类内部定义的,作用域在类的内部,成员函数可以访问类的数据成员(公有、保护和私有数据成员),可以调用该类的其它成员函数(公有、保护和私有成员函数),可以调用全局函数。如果友元函数是另一个类的公有成员函数,则该类的成员函数也只能通过那个类的对象调用,不能调用那个类的保护和私有成员函数。非本类成员函数(其它类成员函数或全局函数)可以通过该类的对象访问该类的公有数据成员和调用该类的的公有成员函数。

不是在类中定义的成员函数都是全局函数。

如果某一个函数(全局函数或类的成员函数)定义为另一个类的友元函数,需要在那个类中用friend关键字声明,友元函数并不是类的成员,它的定义自然是在那个类的外面。

3.简述结构化的程序设计、面向对象的程序设计的基本思想。

解答要点:结构化的程序设计将数据和对数据的操作分离,程序是由一个个的函数组成的,面向对象的程序设计将数据和操作封装在一起,程序是由一个个对象组成的,对象之间通过接口进行通信,它能够较好地支持程序代码的复用。

4.结构struct和类class有什么异同?

解答要点:struct和class都可以定义类,但是缺省访问权限说明时,struct的成员是公有的,而class的成员是私有的。在C++中,struct可被class代替。

三、找出下面程序(或程序段)中的语法错误,并予以纠正(每小题4分,共8分)

(1)程序功能是倒序输出各给定的字符串。

#include

void main()

{

char str[5][ ]={"First","Second","Third","Forth","Fifth"};

char *cp[ ]={str[4],str[3],str[2],str[1],str[0]};

int i;

while(i<=5)

{

printf("%c ",*(cp+i));

i++;

}

}

① "char str[5][ ]={"First","Second","Third","Forth","Fifth"};"应为

"char str[5][10 ]={"First","Second","Third","Forth","Fifth"};"

② "while(i<=5)"应为"while(i<5)"

③ "printf("%c ",*(cp+i));"应为"printf("%s",*(cp+i));"

④ "int i;"应为"int i=0;"

(2)程序功能是将各个平方根值放入数组中。

#include

void main()

{

int max,a,i;

scanf("%d%d",max,a);

double x[max];

for (i=0;i

x[i]=sqrt(a*i);

}

①增加"#include "

② "scanf("%d%d",max,a);"应为"scanf("%d%d",&max,&a);"

③ "double x[max];"改为:

"double *x=new double[max];"

"delete []x;"

四、(8分)下列shape类是一个表示形状的抽象类,area( )为求图形面积的函数,total( )则是一个通用的用以求不同形状的图形面积总和的函数。请从shape类派生三角形类(triangle)、矩形类(rectangle),并给出具体的求面积函数

class shape{

public:

virtual float area( )=0;

};

float total(shape *s[ ],int n)

{

float sum=0.0;

for(int i=0;i

sum+=s[i]->area( );

return sum;

}

class Triangle:public Shape

{

public:

Triangle(double h,double w){H=h;W=w;}

double Area() const{return H*W*0.5;}

private:

double H,W;

};

class Rectangle:public Shape

{

public:

Rectangle(double h,double w){H=h;W=w;}

double Area()const{return H*W;}

private:

double H,W;

};

五、(6分)完成顺序查找函数f_seq( )。其过程是:从表头开始,根据给定的模式,逐项与表中元素比较。如果找到所需元素,则查找成功,并打印出它在表中的顺序号。如果查找整个表仍未找到所需对象,则查找失败

#include

void f_seq(char *list[],char *object,int len)

//list 指针数组,指向字符串

//object 模式串

//len 表的长度

{

char **p;

int strcmp(char *s,char *t);

p=list;

while (_____①______) //p

if (strcmp(*p,object)==0)

break;

else ______②_______; //p++

if (p

printf( "Success! **% d\n",p-list);

else printf("Unsuccess!\n");

}

int strcmp(char *s,char *t)

{

for (;*s==*t; s++,t++)

if (*s=='\0')

return(0);

return(_____③______); //s-t或*s-*t或1

}

六、(8分)完成使链表逆置函数reverse,若有链表:

链表结点的结构如下:

struct node

{

int num;

struct node *next;

}

struct node* reverse(struct node *head)

//head 链表头结点

{

struct node *p,*temp1,*temp2;

if(head==NULL____①____) return head; //||head->next==NULL p=head->next;head->next=NULL;

while(____②____) //p!=NULL或p

{

temp1=head;

____③____; //head=p;

temp2=p;

p=p->next;

____④____; //temp2->next=temp1;或head->next=temp1;

}//Match while statenment

return head; //返回逆置后的链表的头结点

}

清华大学-计算机专业-培养计划

一、培养目标 信息科学技术学院(以下简称信息学院)本科培养方案面向电子信息科学与技术、计算机科学与技术、自动化、微电子学、示范性软件学院的计算机软件等五个专业,从2003级开始实行多学科交叉背景下、通识教育基础上的宽口径专业教育,构建具有各专业共性基础的学院平台课程体系以及具有一定特长的专业核心课程体系,强调对学生进行基本理论、基础知识、基本能力(技能)以及健全人格、综合素质和创新精神培养,为学生提供增强基础、选择专业的机制,培养基础厚、专业面宽、具有自主学习能力的复合型人才。 从2011级开始,信息学院对培养方案进行了全面修订,进一步将学科交叉范围扩大到专业核心课程体系,为学生提供更加灵活的选课机制和更加宽广的专业空间;并将继续深入研究和不断改进课程内容和教学方法,加强实践环节,更好地培养适应时代要求的信息科学技术专业人才。 信息学院致力于为学生全面参与教育教学、科学研究、文化艺术、社会服务等活动创造条件,提倡学生在参与中发现自己的能力和兴趣,最大限度地发展自己的智力和潜能,鼓励学生敢于面对挑战、不断探索、努力创造、追求卓越,并提供一种基础和环境,促使学生养成独立工作的能力和终身学习的习惯。 二、基本要求 信息学院各专业通过各种教育教学活动发展学生个性,培养学生具有健全人格;具有成为高素质、高层次、多样化、创造性人才所具备的人文精神以及人文、社科方面的背景知识;具有国际化视野;具有创新精神;具有提出、解决带有挑战性问题的能力。具有进行有效的交流与团队合作的能力;在信息科学技术领域掌握扎实的基础理论、相关领域基础理论和专门知识及基本技能,具有在相关领域跟踪、发展新理论、新知识、新技术的能力,能从事相关领域的科学研究、技术开发、教育和管理等工作。 电子信息科学与技术专业的本科生运用所掌握的理论知识和技能,从事信号获取、处理和应用,通信及系统和网络,模拟及数字集成电路设计和应用,微波及电磁技术理论、信号与信息处理的新型电子材料、器件和系统,包括信息光电子和光子器件、微纳电子器件、微光机电系统、大规模集成电路和电子信息系统芯片的理论和应用等方面的科研、开发与教育工作。 微电子学专业的本科生运用所掌握的理论知识和技能,从事大规模模拟及数字集成电路设计和应用,工艺开发,EDA工具开发,新型电子材料、微纳电子器件和系统,量子信息和电子信息系统的理论和应用等方面的科研、开发与教育工作。培养基础扎实,创新能力突出,有国际视野的微纳电子专业人才。 计算机科学与技术专业的本科生运用所掌握的理论知识和技能,从事计算机科学理论、计算机系统结构、计算机网络、计算机软件及计算机应用技术等方面的科研、开发与教育工作。 自动化专业的本科生运用所掌握的理论知识和技能,从事国民经济、国防和科研各部门的运动控制、过程控制、机器人智能控制、导航制导与控制,现代集成制造系统、模式识别与智能系统、生物信息学、人工智能与神经网络、系统工程理论与实践、新型传感器、电子与自动检测系统、复杂网络与计算机应用系统等领域的科学研究、技术开发、教育及管理等工作。 计算机软件专业的本科毕业生应该具备扎实的软件理论和软件工程专业基础知识,具有良好的工具使用与实验能力、软件分析与开发能力、过程控制与管理能力、团队协作与沟通能力。 三、学制与学位授予

江苏大学大一c语言期末复习题汇总

选择题1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D. 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=; B.double b=1+; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

清华大学计算机系C++期末考试题及答案

C++期末考试题 一、填空题(25小题,共50分) (以下每小题1分,共10分) 1.在C++中,函数的参数有两种传递方式,它们是值传递和____________。地址或指针或引用传递 2.当一个成员函数被调用时,该成员函数的___________指向调用它的对象。this指针3.在基类和派生类中,派生类可以定义其基类中不具备的数据和操作。对两个有相同名字的数据成员进行访问时,如果没有___________,对此数据成员的访问将出现歧义。作用域分隔符限定时 4.拷贝构造函数使用___________作为参数初始化创建中的对象。引用 5.在公有继承的情况下,基类数据成员在派生类中的访问权限___________。保持不变6.描述命题"A小于B或小于C"的表达式为___________。Ac&&b==c"的值是___________。0 (以下每小题2分,共20分) 11.面向对象的程序设计有四大特征,它们是抽象、封装、___________、___________。继承、多态 12.在C++中,定义重载函数时,应至少使重载函数的参数个数或参数类型___________;在基类和派生类中,成员函数的覆盖是指___________。不同派生类成员函数与在基类被覆盖的成员函数名、参数个数、参数类型和返回值类型均相同 13.构造函数与析构函数除功能不同外,在定义形式上,它们的区别还包括构造函数名与类名相同,而析构函数名是在类名前加一个~、___________、___________。析构函数没有参数、析构函数可以定义为虚函数 14.动态联编要满足两个条件,它们是___________、___________。被调用的成员函数是虚函数、用指针或引用调用虚函数 15.在C++类中,有一种不能定义对象的类,这样的类只能被继承,称之为___________,定义该类至少具有一个___________。抽象类纯虚函数 16.在C++类中,const关键字可以修饰对象和成员函数,const对象不能___________,const成员函数不能___________。被修改修改类数据成员 17.举出C++中两种用户自定义的数据类型:___________、___________。类、枚举18.C++中没有字符串类型,字符串是通过___________来表示的,每一个字符串都有一个结尾字符___________。字符数组\0 19.C++中没有输入输出语句,输入输出是通过___________实现的,写出一条打印整型变量n的输出语句:___________。输入输出库cout<

大一C语言期末考试题

大一C语言期末考试题 悬赏分:40 |解决时间:2010-6-29 14:28 |提问者:345387547 1. 数组int a[3][5]; 共定义了____15_________个元素。 2. 有float f= 3.1415927; 则printf(“%5.4f”, f );输出的结果是 _______________。 3. 下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。 main( ) { int i; for(i=1; ___i<100____________; i++) if (___i/3_=__=0__i_______) printf("%d", i); } 4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是_________7 ______ 5. 以下是使用指针,进行字符串复制的程序,请填空。 main() { char a[]= “Tsinghua University”, b[30], *p1,*p2; p1=a; p2=b; for(; *p1!= _______________; p1++, p2++) _______________=_______________; *p2= ______________; printf(“string a is:%s\n”,a); printf(“string b is:%s\n”,b); } 6. 下面程序用冒泡法对数组a进行降序排序,请填空。 main() { int a[5]={4,7,2,5,1}; int i,j,m; for(i=0;i<4;i++) for(j=0;j<_______________;j++) if( _______________< _______________ ) { m=a[ j]; a[ j]=a[ j+1]; a[ j+1]= m; } for(i=0;i<5;i++) printf("%d ",a[i]); } 7. 函数fun的功能是:使一个字符串按逆序存放,请填空。 void fun (char str[]) { char m; int i,j; for(i=0,j=strlen(str);i<_______________;i++,j--)

大学C语言期末考试习题集(带详解答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai

大一C语言期末考试试题

6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

清华大学计算机系培养方案一

清华大学计算机系培养方案一

信息科学技术学院 本科指导性教学计划 第一年 课程编号课程名称学分周学时考核方式说明及主要先修课 12090043 军事理论与技能训练3 3 考查 秋季学期 课程编号课程名称学分周学时考核方式说明及主要先修课 107 1 体育(1) 1 2 考查 10610183 思想道德修养与法律基础3 2 考查 10640532 英语(1) 2 2 考查 10420874 一元微积分 4 4 考试 10420904 几何与代数(1) 4 4 考试 0412 工程图学基础 2 2 考试 2选1 20240023 离散数学(2) 3 3 考试 程序设计课组 3 3 考试选1门,详见附录2 30210041 信息科学技术概论 1 1 考查 文化素质选修课≥1 1

合计≥21 注:计算机科学与技术专业必修“离散数学(2)”,其它专业必修“工程图学基础”。 春季学期 课程编号课程名称学分周学时考核方式说明及主要先修课 107 1 体育(2) 1 2 考查 10610193 中国近现代史纲要 3 2 考试 10640682 英语(2) 2 2 考查 10420884 多元微积分 4 4 考试先修一元微积分 10421002 几何与代数(2) 2 2 考试 大学物理课组1 4 4 考试先修一元微积分 20220214 电路原理 4 4 考试 20220221 电路原理实验 1 1 考查 合计≥21 夏季学期 课程编号课程名称学分周学时考核方式说明及 主要先修课 - 3 -

- 4 - 21510192 电子工艺实习(集中) 2 考查 2周 程序训练课组 2 考查 3周 合计: 4 第二年 秋季学期 课程编号 课程名称 学分 周学时 考核方式 说明及 主要先修课 107 1 体育(3) 1 2 考查 10610204 马克思主义基本原理 4 3 考试 10420892 高等微积分B 2 2 考试 10420252 复变函数引论 2 2 考试 304 3 复分析 3 3 考试 大学物理课组2 4 4 考试 见附录2 10430782 物理实验A(1) 2 2 考查 10430801 物理实验B(1) 1 1 考查 电子基础课组1 3 3 考试 电子基础课组2 3 3 考试 21550012 电子技术实验 2 2 考查 文化素质选修课 ≥1 2 10420262 数理方程引论 2 2 考查 20240013 离散数学(1) 3 3 考试 3选1 选1门,详见2选1,大学 2选1,一元微

江苏大学大一c语言期末复习题汇总

选择题 1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D.A.dat 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=1-.le-1; B.double b=1+5e2.5; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s) 14.已知x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。 A.0 B.语法错 C.1 D.“假”

大一c语言期末考试题

大一c语言期末考试题 C语言期末考试试题附答案 一选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c;

大一上学期C语言期末复习总结和模拟试题带答案

易错点 C语言中易犯的错误 对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误.看着有错的程序,不知该如何改起,一些C编程时常犯的错误,写给各位学员以供参考. ******************************** ******************************** ************************ 1.书写标识符时,忽略了大小写字母的区别. main() { int a=5; printf("%d",A); } 编译程序把a和A认为是两个不同的变量名,而显示出错信息. C认为大写字母和小写字母是两个不同的字符.习惯上,符号常量 名用大写,变量名用小写表示,以增加可读性. ******************************** ******************************** ************************ 2.忽略了变量的类型,进行了不合法的运算. main() { float a,b; printf("%d",a%b); } %是求余运算,得到a/b的整余数.整型变量a和b可以进行求余运算,而实型变量则不允许进行"求余"运算. ******************************** ******************************** ************************ 3.将字符常量与字符串常量混淆. char c; c="a"; 在这里就混淆了字符常量与字符串常量,字符常量是由一对单 引号括起来的单个字符,字符串常量是一对双引号括起来的字符序 列.C规定以"\"作字符串结束标志,它是由系统自动加上的,所 以字符串"a"实际上包含两个字符:'a'和'\',而把它赋给一 个字符变量是不行的. ******************************** ******************************** ************************ 4.忽略了"="与"=="的区别. 在许多高级语言中,用"="符号作为关系运算符"等于". 如在BASIC程序中可以写 if (a=3) then … 但C语言中,"="是赋值运算符,"=="是关系运算符.如: if (a==3) a=b; 前者是进行比较,a是否和3相等,后

上海海事大学(C语言期末)上机题库

试卷编号:9688 所属语言:C语言 试卷方案:期中考试 试卷总分:100分 共有题型:5种 一、填空共15题(共计15分) 第1题(1.0分)题号:528 设a、b、c为整型数, 且a=2、b=3、c=4, 则执行完以下语句: a*=16+(b++)-(++c); 后,a的值是【1】. 答案: =======(答案1)======= 28 第2题(1.0分)题号:78 已知 i=5;写出语句 i+=012; 执行后整型变量 i 的十进制值是【1】. 答案: =======(答案1)======= 15 第3题(1.0分)题号:510 若a是int型变量,则计算表达式 a=25/3%3 后a的值为【1】. 答案: =======(答案1)======= 2 第4题(1.0分)题号:437 以下程序的输出结果为【1】, #include "stdio.h" main(){int a=010,j=10;printf("%d,%d\n",++a,j--);}

答案: =======(答案1)======= 9,10 第5题(1.0分)题号:431 执行下面两个语句,输出的结果是【1】,char c1=97,c2=98;printf("%d %c",c1,c2); 答案: =======(答案1)======= 97 b *第6题(1.0分)题号:293 getchar()函数只能接收一个【1】. 答案: =======(答案1)======= 字符 第7题(1.0分)题号:440 设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为【1】. 答案: =======(答案1)======= 1 第8题(1.0分)题号:95 已知a=13,b=6, a&&b的十进制数值为【1】. 答案: =======(答案1)======= 1 第9题(1.0分)题号:306 当a=1,b=2,c=3时,执行以下程序段后b=【1】.

大学生C语言期末考试必做题库

C语言

第一题 在屏幕上显示一个短句“Programming in C is fun!” #include int main() { printf("Programming in C is fun!\n"); return 0; } 第二题 在屏幕上显示如下网格。 +---+---+ | | | | | | +---+---+ #include int main( ) { printf("+---+---+\n| | |\n| | |\n+---+---+\n"); return 0; } 第三题 在屏幕上显示一条语句“This is a C program.” #include int main() { printf("This is a C program.\n"); return 0; } 第四题 输出如下图形: ********** very good! ********** #include int main( ) { printf("**********\nvery good!\n**********\n"); return 0; }

第一题求平方根(基础) 程序填空,不要改变与输入输出有关的语句。 输入1个实数x,计算并输出其平方根(保留1位小数)。 例:输入17输出The square root of 17.0 is 4.1 #include #include int main( ) { double x, root; scanf("%lf", &x); root=sqrt(x); printf("The square root of %0.1f is %0.1f\n", x, root); return 0; } 第二题计算一个三位数的个十百位之和 编写程序。 输入一个三位数(大于0),计算这个三位数的个位、十位、百位数字之和. 例如:输入:152输出:sum=8 #include #include int main() { int n,a,b,c,sum; scanf("%d",&n); a=n/100; b=n%100/10; c=n%10; sum=a+b+c; printf("sum=%d\n",sum); return 0; } 第三题(公共)求圆的周长、面积及圆球体积 程序填空,不要改变与输入输出有关的语句。 求以r为半径的圆周长c和圆面积s,再求以r为半径的圆球体积v。(已知r=3.67在程序中直接赋值,pi的值为3.1415926) 按照下列形式输出: printf("c=%f\ns=%f\nv=%f\n",c,s,v); #include int main( ) { double r,c,s,v,pi=3.1415926; r=3.67; c=2*pi*r;

清华大学计算机专业课程表

清华大学计算机专业课程表 1.培养基础厚、专业面宽、具有自主学习能力的复合型人才。 2 学生全面参与教育教学、科学研究、文化艺术、社会服务等活动创造条件,发现自己的能力和兴趣,最大限度地发展自己的智力和潜能,敢于面对挑战、不断探索、努力创造、追求卓越,养成独立工作的能力和终身学习的习惯 3 计算机科学与技术专业的本科生运用所掌握的理论知识和技能,从事计算机科学理论、计算机系统结构、计算机网络、计算机软件及计算机应用等方面的科研、开发与教学工作。 4 计算机软件专业的本科生运用所掌握的理论知识和技能,从事计算机软件、信息系统与项目管理等方面的科研、开发与教学工作。 人文选修课: 在以下 10个课组的 6 个课组中选修不少于13学分 经济管理与法律艺术欣赏与实践历史与文化当代中国与世界文学 哲学与社会思潮环境保护与可持续发展科学与技术国防教育与学生工作写作 以下课程中必修 7 门课,不少于21学分 一元微积分 4学分(秋) 多元微积分 4 高等微积分 2学分(秋) 几何与代数(1)4学分(秋) 几何与代数(2)2学分(春)二选一

几何与代数(3)学分(春) 随机数学方法3学分(春)二选一 概率论与数理统计3学分(春) 复变函数引论 2学分(秋)二选一 复变函数3学分(秋) 以下课程为必修学分不少于5学分: 数理方程引论2学分(秋) 数值分析3学分(春) 数值分析与算法 3学分(春)四选一 数值分析与算法3学分 数学实验3学分(春离散数学(1)3学分(春) 离散数学(2)3学分(秋 随机过程 4学分(春)二选一 应用随机过程3学分(秋) 泛函分析(1) 3学分(秋) 实分析3学分(春) 应用泛函分析4学分 流形上的微积分4(秋) (数论与编码)代数编码理论3(春) 初等数论与多项式2(秋) 应用统计3学分 必修不少于12学分,允许在院系教务部门认可下选修理学院的同类型课程。以下课程中必修 4 门课,不少于 10 学分:

清华大学计算机科学与技术培养计划(本科)教程文件

计算机科学与技术专业(本科)人才培养计划 一、基本学制:四年 二、培养目标 本专业培养适应我国社会主义现代化建设需要,德、智、体全面发展,具有良好的科学素养和人文知识背景,较系统地掌握计算机科学与技术的基本理论知识,具有较强地实践应用能力与知识创新能力,能从事有关计算机科学与技术方面的研究、应用和开发工作的高级应用型工程技术人才。 三、业务培养要求 本专业学生主要学习计算机科学与技术方面的基础理论和基本知识,接受从事研究与应用计算机的基本训练,具有研究和开发计算机系统的能力。本专业是软硬兼顾,略偏重于软件的宽口径专业,毕业生应具有以下几方面的知识和能力: 1.系统掌握计算机科学与技术的基本理论与基本知识; 2.掌握计算机系统的分析和设计的基本方法; 3.具有研究开发计算机软硬件系统的基本能力; 4.掌握计算机网络与应用技术; 5.掌握一门外语,具有较强的专业外文阅读能力; 6.了解与计算机相关的法律、法规; 7.掌握文献检索、资料查询的基本方法,具有获取信息的能力;

8.具有工程意识、创新意识、经济意识和管理意识,掌握一定的经济学与管理学的知识,具有较强的工作适应能 力,工程实践能力和组织管理能力。 四、主干学科、学位课程及主要实践教学环节 1、主干学科:计算机科学与技术; 2、学位课程:马克思主义基本原理、大学英语、高等数学、C与C++语言程序设计、电路与模拟电子技术、数字逻辑、算法与数据结构、离散数学、汇编语言程序设计、微型计算机技术、数据库原理及应用、操作系统原理、计算机组成与系统结构、软件工程、数值分析、编译原理。 3、主要实践教学环节:程序设计语言编程实践、数据结构课程设计、操作系统课程设计、计算机网络课程设计、微型计算机技术课程设计、组成原理课程设计、管理信息系统课程设计、毕业设计。 五、毕业规定 学生在毕业时应达到德育培育目标和大学生体育合格标准要求,应获得最低总学分为205学分,其中课内理论必修课126学分,实践教学35学分,选修课(含公共选修课12学分)44学分;课外学分10学分。 六、授予学位 工学学士

(完整word版)清华大学计算机科学与技术专业课程表

信息学院本科指导性教学计划(公共课) 第一学年秋季学期 第二学年秋季学期

第三学年

第四学年

注:带*者为院平台课,可在信息学院范围内选修不低于所列学分的同类课程 计算机科学与技术专业核心课程6门,17学分 课号课程名学分先修要求 计算机系统结构3(春)操作系统 操作系统3(春)计算机组成原理,数据结构 编译原理4(春)数据结构 计算机网络3(秋)操作系统 形式语言与自动机2(秋)离散数学(1) 汇编语言程序设计3(秋) 计算机科学与技术专业限选课不少于11学分,其中: 计算机系统结构-----计算机科学与技术专业选修不少于2学分 课号课程名学分先修要求 微计算机技术3汇编语言程序设计 嵌入式系统3计算机组成原理操作系统 数字系统设计自动化2数字逻辑电路 VLSI设计导论2数字逻辑电路 计算机软件与理论---计算机科学与技术专业选修不少于2学分 课号课程名学分先修要求 初等数论及其应用2离散数学 高性能计算导论2(英语讲课)计算机系统结 构 数据库系统原理2数据结构

网络编程与计算技术2计算机组成原理 软件开发方法2C++ 数据结构软件工程 软件工程 3C++数据结构 计算机应用技术--- 计算机科学与技术专业选修不少于2学分 课号课程名学分先修要求 人工智能导论 2离散数学 模式识别 2几何与代数概率与统计能 导论 人工智 数字图象处理 2概率与统计程序设计基础多媒体技术基础及应用2信号处理原理 计算机图形学基础2数据结构 计算机实时图形和动画技术2 几何与代数 虚拟现实 2计算机组成原理现代控制技术2系统分析与控制信息检索2数据结构 电子商务平台及核心技术 2数据结构JAVA 程序设计 库系统原理 数 据 数据挖掘2数据库系统原理 计算机科学与技术专业专题训练不少于5学分,其中计算机网络专题训练为必选课号课程名学分先修要求 计算机网络专题训练 1(秋) 操作系统专题训练2 (秋) 编译原理专题训练2 (秋) 数据库专题训练2 (秋) 计算机科学与技术专业的任选课程 课号课程名学分先修要求 微计算机技术 3汇编语言程序设计 初等数论及其应用 2离散数学 网络编程与计算技术2计算机组成原理 软件工程3C++数据结构 人工智能导论2离散数学 模式识别 2几何与代数概率与统计人工智能导论数字图象处理2概率与统计程序设计基础

大学C语言期末考试试题及答案

大学C语言期末考试试题 一选择题(7分,每小题0.5分) 1。C语言源程序的基本单位是()。 A 过程B函数C子程序D标识符 2.下列程序的输出结果是()。 main( ) { inta=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A7 B8 C9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534;a=(int)125.521%4;a=5<<2; A125,31,1 B125,1,20 C 125,31,20D125.534,2,20 5。设有如下程序段,下面描述中正确的是( )。 int k=10;while(k=0)k=k—1; A循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6。以下程序的输出结果为( ). int i; void prt() { for(i=5;i<8;i++) printf(”%c”,'*’); printf("\t"); } main( ) { for(i=5;i<=8;i++)prt( ); } A *** B ************ C *** *** D * ** 7。在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8。以下函数调用语句中含有( )个实参. func((e1,e2),(e3,e4,e5)); A 2 B3 C5 D语法错误 9.以下程序的输出结果为(). #defineADD(x)x*x main( ) {int a=4,b=6,c=7,d=ADD(a+b)*c; printf(”d=%d",d);

清华大学计算机科学与技术专业课程表

信息学院本科指导性教学计划(公共课) 第一学年秋季学期 课号课程名学 分 周 学 时 考试或 考查 说明及主要先修课 1061002 2 思想道德修养 2 2 考查 1064043 3 英语选修 2 2 考查 1042087 4 一元微积分 4 4 考试 1042068 4 几何与代数(1) 4 4 考试 20240013 离散数学(1) 3 3 考试 20230093 计算机语言与程序 计 3 3 考试 30250023 计算机语言与程序 计 3 3 考试 30240233 程序设计基础 3 3 考试四选一 3410006 3 程序设计基础 3 3 考试 30210041 信息科学技术概论 1 1 考查 春季学期 00501622 毛泽东思想概论 3 2 考试 1064044 3 英语选修 2 2 考查 1042088 4 多元微积分 4 4 考试一元微积分 1042069 2 几何与代数(2) 2 2 考试几何与代数(1) 二选一 1042091 3 几何与代数(2) 3 3 考试几何与代数(1) 1043048 4 大学物理B(1) 4 4 考试一元微积分 1043034 4 大学物理(1)(英) 4 4 考试一元微积分三选一1043052 5 大学物理A(1) 5 5 考试一元微积分 2022021 4 电路原理 4 4 考试 2022022 1 电路原理实验 1 1 考查 第二学年秋季学期

课号课程名学 分 周 学 考试或 考查 说明及主要先修课 10420753 高等微积分 2 2 考试一元微积分 10420252 复变函数引论 2 2 考试一元微积分二选一复变函数 3 3 考试一元微积分 10430535 大学物理A(2) 5 5 考试大学物理A(2) 20250093 电子技术基础 3 3 考试电路原理二选 一 30230563 数字逻辑电路 3 3 考试电路原理 电子技术基础实验 2 2 考查跨学期课,本学期完成1学分10420262 数理方程引论 2 2 考查不修该课程 20130342 工程图学基础 2 2 考试 春季学期 10420243 随机数学方法 3 3 考试二选一 10420803 概率论与数理统 计 3 3 考试 数字逻辑电路 3 3 考试电路原理电子技术基础 电子技术系列实 验 2 2 考查跨学期课,本学期完成1学分30230104 信号与系统 4 4 考试微积分电路复二选一40250144 信号与系统分析 4 4 考试变几何与代数 40240013 系统分析与控制 3 3 考试微积分电路复二选一40250074 自动控制理论(1) 4 4 考试变几何与代数 3025 数据结构 3 3 考试四选一34100044 数据结构与算法 4 4 考试 微电子学导论 3 3 考试 半导体器件与集成 电路 3 3 考试三选一 集成电路原理与设 计 3 3 考试 物理、生物类课程≥ 2 2 20240023 离散数学(2)(选)3 3 考试 夏季学期 电子技术课程设计 3 3 考查电子技术基础 Java语言(选) 2 2 考查计算机语言与程序设计二选一 语言(选) 2 2 考查计算机语言与程序设计 第三学年

相关主题
文本预览
相关文档 最新文档