当前位置:文档之家› C++试题总结

C++试题总结

C++试题总结
C++试题总结

C++PPT试题

1、以下叙述正确的是(D)

A)可以把define和if定义为用户标识符

B)可以把define定义为用户标识符,但不能把if定义为用户标识符

C)可以把if定义为用户标识符,但不能把define定义为用户标识符

D)define和if都不能定义为用户标识符

2、下列计算机语言中,CPU能直接识别的是(D)

A)A) 自然语言B) 高级语言C) 汇编语言D)机器语言3、以下叙述中正确的是(A)

A)C程序中注释部分可以出现在程序中任意合适的地方

B)花括号"{"和"}"只能作为函数体的定界符

C)构成C程序的基本单位是函数,所有函数名都可以由用户命名

D)分号是C语句之间的分隔符,不是语句的一部分

4、以下不能定义为用户标识符的是(D)

A)scanf B)V oid C)_3com_ D)int

5、C++语言相对于C语言所做的最大变化是。(C)

A,效率更高B, 所带的库函数C, 增加了面向对象的特征D, 语言表达更直观

6、在计算机系统中,一个字节的二进制位数为(B)

A) 16 B) 8 C) 4 D) 由CPU的型号决定

7、在C语言中,合法的长整型常数是(A)

A) OL B) 4962710 C) 324562& D) 216D

8、以下选项中合法的字符常量是(B)

A) "B" B) '\x10' C) 68 D) D

9、以下选项中,非法的字符常量是(C)

A)'\t' B) '\17' C)"n" D) '\xaa…

10、以下选项中不属于C语言的类型的是(D)

A) signed short int B) unsigned long int

C) unsigned int D) long short

11、一个long 类型的变量,在内存中占用几个字节。(C)

A) 1字节B) 2字节C) 4字节D) 8字节

12、假定x和y为double型,则表达式x=2,y=x+3/2的值是(D)

A) 3.500000 B) 3 C) 2.000000 D) 3.000000

13、2、以下合法的赋值语句是(AD)

A) x=y=100 B) d--; C) x+y; D) c=int(a+b);

14、设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、

m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为(C)

A)0 B) 1 C)2 D) 3

15、整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是(D)

A) x || y B) x | y C) x & y D) x ^ y

16、十进制数127转换成二进制数是(B)

A) 11111111 B) 01111111 C) 10000000 D) 11111110

17、若有定义:int a=8,b=5,C;,执行语句C=a/b+0.4;后,C的值为(B)

A) 1.4 B) 1 C) 2.0 D) 2

18、若变量a是int类型,并执行了语句:a='A'+1.6;,则正确的叙述是(D)

A) a的值是字符C B) a的值是浮点型

C) 不允许字符型和浮点型相加D) a的值是字符'A'的ASCII值加上1。

19、结构化程序设计所规定的三种基本控制结构是(C)

A) 输入、处理、输出B) 树形、网形、环形

C) 顺序、选择、循环D) 主程序、子程序、函数

20、有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,

x的值不为3的是(C)

A)if (c

21、t为int类型,进人下面的循环之前,t的值为0。while( t=1 ){ ……}则以下叙述中正确的是(B)

A) 循环控制表达式的值为0 B) 循环控制表达式的值为1

C) 循环控制表达式不合法D) 以上说法都不对

22、以下程序中,while循环的循环次数是(D)

main() {

int i=0;

while(i<10)

{ if(i<1) continue;

if(i==5) break;

i++;

}

}

A) 1 B) 10 C) 6 D) 死循环,不能确定次数

23、打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。#include

using namespace std;

int main ()

{int i,j,k,n;

cout<<"narcissus numbers are:"<

for (n=100;n<1000;n++)

{i=n/100;

j=n/10-i*10;

k=n%10;

if (n == i*i*i + j*j*j + k*k*k)

cout<

}

cout<

return 0;

}

24、有一函数:y= x (x>1)

2x-1 (1≤x<10)

3x-11 (x≧10)

#include

using namespace std;

int main ( )

{int x,y;

cout<<"enter x:";

cin>>x;

if (x<1)

{y=x;

cout<<"x="<

}

else if (x<10) // 1≤x<10

{y=2*x-1;

cout<<"x="<

}

else // x≥10

{y=3*x-11;

cout<<"x="<

25、将“China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。

例如,字母“A”后面第4个字母是“E”,用“E”代替“A”。因此,“China”应译为“Glmre”。

请编写一程序,用赋初值的方法使c1,c2,c3,c4,c5 5个变量的值分别为‘C’,‘h’,‘i’,‘n’,‘a’,经过运算,使c1,c2,c3,c4,c5分别为‘G’,‘l’,‘m’,‘r’,‘e’,并输出。

#include

using namespace std;

int main()

{char c1='C', c2='h', c3='i', c4='n', c5='a';

c1+=4;

c2+=4;

c3+=4;

c4+=4;

c5+=4;

cout<<"password is:"<

return 0;

}

26、打印直角三角形、等腰三角形

#include

using namespace std;

void main()

{//正直角三角形

cout<<"正直角三角形"<

for(int i=1;i<=10;i++)

{

for(int j=1;j<=i;j++)

{

cout<<"*";

}

cout<

}

cout<<"\n"<

//倒直角三角形

cout<<"倒直角三角形"<

for(int i=10;0

{

for(int j=1;j<=i;j++)

{

cout<<"*";

}

cout<

}

cout<<"\n"<

27、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(B)

A) 地址传递B) 单向值传递

C) 由实参传给形参,再由形参传回实参D) 传递方式由用户指定

28、以下函数值的类型是(A)

fun ( float x )

{ float y;

y= 3*x-4;

return y;}

A) int B) 不确定C) void D) float

29、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(D)

A)函数调用可以作为独立的语句存在

B)函数调用可以作为一个函数的实参

C)函数调用可以出现在表达式中

D)函数调用可以作为一个函数的形参

30、下面的特点中不属于引用机制的是(A)

A)效率更高B)节省内存占用C)可以改变参数的值D)代码书写更简洁

31、下面对递归机制描述正确的是(D)

A)在某个分支中一定有对自身的调用B)可以有,也可以没有反回值

C)可以有参数,也可以没有参数D)在函数内部一定有分支结构

32、若定义:int a=511,*b=&a;, 则printf(“%d\n”,*b);的输出结果为(D)

A) 无确定值B) a的地址C) 512 D) 511

33、若有定义:int aa[ 8];。则以下表达式中不能代表数组元aa[1]的地址的是(C)

A) &aa[0]+1 B) &aa[1] C) &aa[0]++ D) aa+1

34、若有定义:int aa[ 8];。则以下表达式中不能代表数组元aa[1]的地址的是(C)

A) &aa[0]+1 B) &aa[1] C) &aa[0]++ D) aa+1

35、若有以下定义和语句(C) int s[4][5],(*ps)[5];ps=s;则对s数组元素的正确引用形式是

A)ps+1 B) *(ps+3) C) ps[0][2] D) *(ps+1)+3

36、在说明语句:int *f();中,标识符f代表的是(C)

A) 一个用于指向整型数据的指针变量B) 一个用于指向一维数组的行指针

C) 一个用于指向函数的指针变量D) 一个返回值为指针型的函数名

37、以下选项中,能定义s为合法的结构体变量的是( B)

38、A) typedef struct abc B) struct

{ double a;{ double a;

char b[10];char b[10];

} s;} s;

C) struct ABC D) typedef ABC

{ double a;{ double a;

char b[10];char b[10];

} }

ABC s;ABC s;

39、struct st

{ int x; int *y;} *p;

int dt[4]={ 10,20,30,40 };

struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};

#include using namespace std; class Box {public : void get_value(); void volume(); void display(); public : float lengh; float width; float height; float vol; }; void Box::get_value() { cout<<"please input lengh, width,height:"; cin>>lengh; cin>>width; cin>>height;} void Box::volume() { vol=lengh*width*height;} void Box::display() { cout<x)); }以上程序的输出是(C ) A) 10 B) 11 C) 51 D) 60 40、 编写一个函数print ,打印一个学生的成绩数组, 该数组中有五个学生的数据,每个学生的数据包括 num (学号),name (姓名),score[3](3门课的成 绩)。用主函数输入这些数据, 用print 函数输出这些数据。

#include #include using namespace std; const int n=5; struct student { char num[6]; char name[8]; int score[4];

}stu[n]; int main() {void print(student stu[6]); int i,j; for (i=0;i>stu[i].num; cout<<"name: "; cin>>stu[i].name; for (j=0;j<3;j++) {cout<<"score "<>stu[i].score[j]; } cout<

} print(stu); return 0; } void print(student stu[6]) {int i,j; cout<<" NO. name score1 score2 score3"<

cout<

#include "iostream"

using namespace std; class SaleProduct {public : int number; int count; float price; float MoreDis; SaleProduct(int n,int c,float p) { number=n; count=c; price=p;

MoreDis=1;

if (c>=10) {

MoreDis=9.8; } } }; void getSum(SaleProduct *p) { float discount=0.8; float sum=0; int count=0; for (int i=0;i<3;i++) { sum=sum+p->price*p->count*p->MoreDis*discount; count=count+p->count; p++; } cout<<"总价:"<

41、 变量a 所占内存字节数是( A)

A) 4 B) 5 C) 6 D) 8 union U

{ char st[4]; int i; char l; }a;

42、 以下对枚举类型名的定义中正确的是(B )

A)enum a={one,two,three};B)enum a {one=9,two=11,three}; C)enum a={“one ”,“two ”,“three ”};D)enum a {“one ”,“two ”,“three ”};

43、 类的示例

#include

"iostream" using

namespace std; class Student

{

public

: int

number; int

score;

Student(int n,int s)

{

number=n;

score=s;

}

}; void main()

{ Student

stu[5]={Student(001,20),Student(0002,30),Stu

dent(0003,50),Student(0004,70),Student(0005,

90)};

Student *p=stu;

cout<<"第一个:"<

cout<<"学号:"<number<<",成绩:

"<score<

p++;

cout<<"第二个:"<

cout<<"学号:"<number<<",成绩:

"<score<

}

C++试题

一、选择填空题(共20小题,每小题2分,共40分)。

1. 关于C++与C语言关系的描述中,(D )是错误的。

a.C语言是C++语言的一个子集

b.C语言与C++语言是兼容的

c.C++语言对C语言进行了一些改进

d.C++语言和C语言都是面向对象的

2.按照标识符的要求,(A )符号不能组成标识符。

a.连接符

b.下划线

c.大小写字母

d.数字字符

3. 为了避免嵌套的if-else语句的二义性,C语言规定else总是与(C )组成配对关系。

a.缩排位置相同的if

b.在其之前未配对的if

c.在其之前未配对的最近的if

d.同一行上的if

4. 在"int a[ ][3]={{1},{3,2},{4,5,6},{0}};"中,a[2][2]的值是(C )。

a.1

b.0

c.6

d.2

5. 设"char **s;",以下正确的表达式是(B)。

a.s="computer";

b.*s="computer";

c.**s="computer";

d.*s='c';

6. 对于"int *pa[5];"的描述中,(D )是正确的。

a.pa是一个指向数组的指针,所指向的数组是5个int型元素

b.pa是一个指向某数组中第5个元素的指针,该元素是int型变量

c.pa [5]表示某个元素的第5个元素的值

d.pa是一个具有5个元素的指针数组,每个元素是一个int型指针

7. 已知:int m=10;在下列表示引用的方法中,(A )是正确的。

a.int &x=m;

b.int &y=10;

c.int &z;

d.float &t=&m;

8. 下列for循环的次数为(B)。

for(i=0, x=0; !x&&i<=5; i++)

a.5

b.6

c.1

d.无限

9. 对于C/C++语言的函数,下列叙述中正确的是(A)。f(*pChar=='\0'){

count++;break;

}

a.函数的定义不能嵌套,但函数调用可以嵌套

b.函数的定义可以嵌套,但函数调用不能嵌套

c.函数的定义和调用都不能嵌套

d.函数的定义和调用都可以嵌套

10. 在一个被调用函数中,关于return语句使用的描述,(D )是错误的。

a.被调用函数中可以不用return语句

b.被调用函数中可以使用多个return语句

c.被调用函数中,如果有返回值,就一定要有return语句

d.被调用函数中,一个return语句可以返回多个值给调用函数

11. 在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用(A )。

a.内联函数

b.重载函数

c.递归调用

d.嵌套调用

12. 使用fseek函数可以实现的操作是(A)。

a.改变文件指针的当前位置

b.文件的顺序读写

c.文件的随机读写

d.以上都不对

13. 下列存储标识符中,(C )的可见性与存在性不一致。

a.外部类

b.自动类

c.内部静态类

d.寄存器类

14. 在如下结构定义中,不正确的是(B )。

a.struct student

{int no;

char name[10];

float score;

};

b.struct stud[20]

{ int no;

char name[10];

float score;

};

c.struct student

{ int no;

char name[10];

float score;

} stud[20];

d.struct

{ int no;

char name[10];

float score;

}stud[100] ;

15. 将两个字符串连接起来组成一个字符串时,选用(C )函数。

a.strlen( )

b.strcpy( )

c.strcat( )

d.strcmp( )

16. (D )不是构造函数的特征

a.构造函数的函数名与类名相同

b.构造函数可以重载

c.构造函数可以设置缺省参数

d.构造函数必须指定类型说明

17. 已知:类A中一个成员函数说明如下:void Set(A&a); 其中,A&的含义是( C)。

a.指向类A的指针为a

b.将a的地址值赋给变量Set

c.a是类A对象的引用,用来作函数Set()的参数

d.变量A与a按位与作为函数Set( )的参数

18. 已知:print( )函数是一个类的常成员函数,它无返回值,下列表示中,(A)是正确的。

a.void print( ) const;

b.const void print( );

c.void const print( );

d.void print(const);

19. 关于虚函数的描述中,(C )是正确的。

a.虚函数是一个static类型的成员函数

b.虚函数是一个非成员函数

c.基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数

d.派生类的虚函数与基类的虚函数具有不同的参数个数和类型

20. 关于new运算符的下列描述中,(D)是错的。

a.它可以用来动态创建对象和对象数组

b.使用它创建的对象和对象数组可以使用运算符delete删除

c.使用它创建对象时要调用构造函数

d.使用它创建对象数组时必须指定初始值

二、问答题(15分)

1、(3分)虚析构函数有什么作用?对象销毁时要调用析构函数,如果不是定义的虚析构函数,基类指针只能访问基类析构,不能访问派生类析构,若定义的虚析构则可以解决这问

解答要点:

对象销毁时,需要调用析构函数。在多态调用时,是用基类的指针访问派生类的对象。如果析构函数是非虚函数,则基类指针只能访问基类的析构函数,而不能访问派生类的析构函数,导致派生类对象销毁时,没有调用派生类的析构函数,只是调用了基类的析构函数。如果把析构函数定义成虚函数,则可克服这个问题。

2、(3分)拷贝构造函数在哪几种情况下调用?用一个对象初始化另一个对象时;当用对象作为函数参数传递时;当函数返回对象时

3、(4分)函数重载与函数覆盖有什么不同,它们与多态有什么关系?函数重载函数名相同,而函数参数个数,函数类型不同;覆盖是指函数名,函数个数,函数类型都相同。C++ 是通过虚函数的覆盖,实现多态的功能。

解答要点:

函数重载是指函数名相同,而函数的参数个数或类型不同;覆盖是指在派生类中成员函数与基类成员函数的函数名、参数个数、类型与返回值均相同;C++中正是通过虚函数的覆盖,实现多态的功能。

4、(3分)C++继承是如何工作的?

解答要点:

继承使得派生类能够使用基类的公有和保护成员,从而实现代码的复用,派生类可以增加成员,也可以隐藏和覆盖基类的成员。对于公有继承,基类成员的访问权限在派生类保持不变。

5、(2分)类与对象有什么区别?

解答要点:

类是类型,是对象的抽象,对象是类的具体实例。一个类可以有多个对象,每个对象都有自己的存储单元,而类不占存储单元。

三、(6分)分析下面程序的运行结果

#include

class B

{

public:

B(){}

B(int i){b=i;}

virtual void virfun()

{

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

}

private:

int b;

};

class D:public B

{

public:

D(){}

D(int i,int j):B(i){d=j;}

private:

void virfun()

{

cout<<"D::virfun() called.\n";

}

};

void fun(B *obj)

{

obj->virfun();

}

void main()

{

D *pd=new D;

fun(pd);

}

D::virfun() called.

四、(9分)下面的程序可以统计命令行第一个参数中出现的字母个数,请填充下面空白,完成程序。

#include

#include c 轼~?锞s堽2-?? p2? void main(int argc, argv[];)

{

char *str;

int count=0;

if(argc<2)exit(1);

str= argv[1] ;

while(*str)

if(isalpha(*str++ )) count++;

printf("\n字母个数:%d\n",count);

}

提示:int isalpha(int ch)函数功能是检查ch是否是字母

五、(8分)定义一个字符栈类Stack(包括类的实现)。数据成员包括一个存放字符的数组stck[ ]和一个栈指针tos。栈数组的尺寸由常量SIZE确定。栈的基本操作为Push()和Pop()。const int SIZE=27;

class Stack

{

public:

Stack():tos(0){};

void Push(char ch);

char Pop();

private:

char stck[SIZE];

int tos;

};

void Stack::Push(char ch)

{

if(tos==SIZE)

cout<<"\nStack is full\n";

else{

stck[tos]=ch;tos++;

}

}

char Stack::Pop()

{

if(tos==0){

cout<<"\nStack is empty\n";

return 0;

}

tos--;

return stck[tos];

}

六、(10分)完成下面的函数,对有n个元素的数组a,使数组元素按逆序排列。

void inverse(int *a, int n)

{

int i,*p;

p=new int[n];

for(i=0;i<=n-1;i++)

p[i]=a[i];

for(i=0;i<=n-1;i++)

a[i]=p[n-i-1];

delete []p;

}

七、(12分)下面的函数统计子字符串substr在字符串str中出现的次数,如果substr在str 中不出现,则返回值0。请完成该函数。

int str_count(char *substr, char *str)

{

int count=0;

char *pChar;

if(substr==NULL||str==NULL) return count;

while(*str!='\0'){

pChar=substr;

while(*pChar==*str){

pChar++;

if(*pChar=='\0'){

count++;break;

}

else str++;

}//Match while(*pCh...) statement

str++;

}//Match while(*str...) statement

return count;

}

《试题二》

一、(共20分,每题2分)单项选择

1. 已定义了一个类A并有语句A* pa=new A(5); 那么以下说法正确的是:(A)

A. 该语句会创建A类的一个对象,并将此对象的地址赋给指针pa;

B. 该语句会创建A类的5个对象,且它们的地址是连续的;

C. 当指针变量pa超出其作用域时,pa和为对象分配的空间都将被自动释放;

D. 类A中一定有一个显式定义的构造函数和一个显式定义的虚析构函数;

2. 定义类A的非静态成员函数A& f(A& one)时,需有语句return exp;则exp不能是:(B)

A.类A中类型为A的静态数据成员

B. f中用语句A a = one; 定义的量a

C. one

D. *this

3. 在一个类中,下列哪些成员可以是多个?(D)

A. 无参构造函数

B. 析构函数

C. 原型相同的非静态成员函数

D. 静态成员函数

4. 对类T中的下列成员,若不考虑代码优化,一般来说它们中的哪个执行起来最慢?(C)

A. 缺省的无参构造函数

B. 缺省的拷贝构造函数

C. T f( ) { T t; return t; }

D. 不能判定A、B、C哪个最慢

5. 对函数原型为int& min(int& a, int& b);的全局函数,下列语句块哪个是错误的:(C)

A. int x=10,y=5; min(x,y)=100;

B. int x=10,y=5, z; z=min(x,y+=x);

C. int x=10,y=5; min(x,10)=y;

D. int x=10,y=5; x=min(x,y);

6. 关于拷贝构造函数错误的说法有:(B)

A. 拷贝构造函数是一种特殊的构造函数,且不能在类中进行函数重载。

B. 若自定义派生类的拷贝构造函数,那么也必须自定义基类的拷贝构造函数。

C. 拷贝构造函数只能有一个参数,且为常量引用或非常量引用。

D. 拷贝构造函数不允许在函数体中使用return语句。

7. 下列对虚基类声明正确的是: (B)

A. class virtual B: public A

B. class B: virtual public A

C. class B: public A virtual

D. virtual class B: public A

8. 若有语句A*const p=new B;,其中类B是从类A直接派生得到的,那么下列说法错误的是:(D)

A. 若要执行语句p->f( );,那么类A中一定有一个与f( )函数匹配的函数声明。

B. 类B一定是通过public继承方式从类A派生的。

C. 类B的构造函数中,至少有一个无参的或提供全部缺省参数的构造函数。

D. 通过指针p,只能访问类中的常量成员函数或静态成员函数。

9. 下面说明的哪个数据不能作为类T的数据成员定义。(D)

A. T* pT

B. class Q{ } q1,q2;

C. static T t;

D. const T t;

10. 下列哪种运算符可以被重载:(D)

A. sizeof

B. ::

C. ? :

D. [ ]

二、(共15分,每题3分)回答下列各题,可以举例说明。

1. 说明基类中的public、protected和private成员分别在public、protected和private

继承方式下在派生类中的可访问性。

重点是基类中的任何Private在派生类中都是不可访问的.

2. 若类A有私有数据成员int n,哪些情况下,在一个函数的函数体中能够直接访问

A类的数据成员n。(至少三种)

如: a)void A::f( ) { int k=n;} b)void A::g(A& one) { n+=one.n; } c) A的友员函数 int h(A& one) {return one.n;}

3. 哪些情况下,定义构造函数时必须使用初始化列表。(至少三种)

a)有常量数据成员 b)有引用数据成员 c)使用基类的带参数的构造函数初始化

4. 将一个基类的析构函数定义为虚函数的作用和目的是什么?

如:基类A,子类B, A* p=new B; 当delete p;时,若无虚析构函数,只析构基类部分。

5. 为什么在类中不能用成员函数void f(int&) 重载(overload)本类的成员函数int f(int)?

如: int a=100; f(a); 这时两个都可以了,有二义性。

三、(共10分,每题1分)判断正误,只需回答“正确”或“错误”。

1. this指针既可以是指向常量对象的非常量指针,也可以是指向非常量对象的常量指针。(×)

2. 即使不创建类的实例对象,也可以在main函数中访问该类的公有静态成员函数。(√)

3. 在一个函数体内不允许定义其它函数,同样在一个类中也不允许定义其它类。(×)

4. 若想在一个cpp文件中使用一个模板类,那么在预编译后,此文件必须含有该模板类的全部声明和定义。(√)

5. 在捕获异常时,异常会进行自动类型转换并按照异常类型的同一性进行匹配。(×)

6. 一个抽象类的后裔类,既可以是抽象类,也可以是具体类。(√)

7. 类A中的转换函数可定义为: int operator A( ) const {return 0;}. (×)

8. 类的多个实例对象可共享本类的虚拟表。(√)

9. 用const修饰的成员函数只能通过常量对象调用。(×)

10. 类B是类A的派生类,类C是类A的友员类,那么类C也是类B的友员类。(×)

C++期末试题

一、判断题(每小题1分,共10分)

(√)1、说明函数原型时不需要指明每个函数参数的名字,只需要说明每个参

数的类型和返回值类型就可以了。

(×)2、所有的表达式都有值。

(√)3、程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少

每次对程序修改所带来的编译工作量。

(×)4、类的静态数据成员需要在定义每个类的对象时进行初始化。

(×)5、基类中被说明为protected和private的成员只能被其派生类的成员

函数访问,不能被其它的函数访问。

(√)6、当将一个类S定义为另一个类A的友元类时,类S的所有成员函数都

可以直接访问类A的所有成员。

(×)7、当函数的返回值是数组类型的,传递的是数组第一个元素的地址。

(√)8、如果派生类的成员函数的原型与基类中被定义为虚函数的成员函数原

型相同,那么,这个函数自动继承基类中虚函数的特性。

(×)9、字符串’hello,world”在内存中存放时,占用11个字节的空间。

(√)10、用new动态申请的内存空间,必须用delete来释放。

二、单项选择题:(每小题2分,共30分)

1.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为____A__。

A.main B.MAIN C.name D.function

2.设x和y均为bool量,则x && y为真的条件是__A____。

A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假3.下面的哪一个保留字不能作为函数的返回类型?___C____。

A.void B.int C.new D.1ong

4.假定a为一个整型数组名,则元素a[4]的字节地址为___B____。

A.a十4 B.a十8 C.a十16 D.a十32

5.C++源程序文件的缺省扩展名为___A___。

A. cpp

B. exe

C. obj

D. lik

6.在下面的二维数组定义中,正确的是( C )。

A. int a[5][];

B. int a[][5];

C. int a[][3]={{1,3,5},{2}};

D. int a[](10);

7. 以下正确的说法是___B____。

A. 用户调用标准库函数前,必须重新定义

B. 用户可以重新定义标准库函数,若如此,该函数将失去原有含义

C. 系统不允许用户重新定义标准库函数

D. 用户调用标准库函数前,不必使用预编译命令将该函数所在文件包括到用户源文件中

8. 文件包含命令中被包含的文件的扩展名____C___。

A. 必须是.h

B. 不能是.h

C. 可以是.h或.cpp

D. 必须是.cpp

9. 要使语句“p=new int[10][20];”能够正常执行,p应定义为___D____。

A. int *p;

B. int **p;

C. int *p[20];

D. int(*p)[20];

10. 有关构造函数的说法不正确的是___C____ 。

A、构造函数名字和类的名字一样。 B. 构造函数无任何函数类型。

C. 构造函数有且只有一个

D. 构造函数在说明类对象时自动执行。

11. 假定AA为一个类,a为该类私有的数据成员,若要在该类的一个成员函数中访问它,则书写格式最好为____A___。

A. a

B. AA::a

C. a()

D. AA::a()

12、下列关键字中,____B___不是类定义中使用的关键字。

A.class

B.switch

C.private

D.public

13. 当类中的一个整型指针成员指向一块具有n*sizeof(int)大小的存储空间时,它最多能够存储____A___个整数。

A. n

B. n+1

C. n-1

D. 1

14. 假定AB为一个类,则执行“AB a, b(3), *p;”语句时共调用该类构造函数的次数为___A____。

A. 2

B. 3

C. 4

D. 5

15. 在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是___B____。

A. 作为友元函数重载的1元运算符

B. 作为成员函数重载的1元运算符

C. 作为友元函数重载的2元运算符

D. 作为成员函数重载的2元运算符

三、填空题:(每空2分,共20分)

1、从一条函数原型语句“int fun1(void);”可知,该函数的返回类型为int ,该函数带有0个参数。

2、假定x是一个逻辑量,则x || false的值为_ x__。

3、作为语句标号使用的C++保留字case和defaule只能用于switch 语句的定义体中。

4、若多个基类及其派生类中都定义了同名函数成员,要访问相应函数时,就需要在函数名前加上类名和类区分符

5、C++支持两种多态性:编译时的多态性和运行时时的多态性。

6、假定用户为类AB定义了一个构造函数“AB(int aa, char *bb=NULL):a(aa),b(bb){}”,则该类中至少包含有2 个数据成员。

7、类是用户定义的类型,具有类类型的变量称作对象。

四、程序填充,对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容填写到程序下面相应标号的后面(每小题6分,共18分)

1. 打印出2至99之间的所有素数(即不能被任何数整除的数)。(每空2分)

#include

#include

void main()

{ int i,n;

for(n=2; n<=99 ; n++) {

int temp=int(sqrt(n)); //求出n的平方根并取整

for(i=2;i<=temp ; i++)

if(n%i==0) break ;

if(i>temp) cout<

}

cout<<'\n';

}

2. 下面是对按从小到大排列的有序数组a[n]中进行二分查找x的算法,若查找成功返回该元素下标,否则返回-1。(每空2分)

int BinarySearch(int a[],int n,int x)

{

int low=0, high=n-1; //定义并初始化区间下界和上界变量

int mid; //定义保存中点元素下标的变量

while(low<=high) {

mid=(low+high)/2 ;

if(x==a[mid]) return mid ;

else if(x

else low=mid+1 ;

}

return -1;

}

3.(每空2分)

class A {

int a,b;

public:

A(int aa=0, int bb=0) :a(aa),b(bb){} //分别用aa和bb对应初始化a和b

};

main() {

A x(5),y(x) ; //定义类A的对象x并用5初始化,同时定义y并用x初始化

A *p=&x ; //定义p指针,使之指向对象x

}

五、分析程序写出运行结果(每小题5分,共10分)

1、#include

class Add

{

private: int x,y;

public: Add(int a,int b)

{

x=a;y=b;

cout<<"调用构造函数1。"<

}

Add(Add &p)

{

x=p.x;y=p.y;

cout<<"调用构造函数2。"<

}

~Add()

{

cout<<"调用析构函数。"<

}

int add(){return x+y;}

};

void main()

{

Add p1(2,3);

Add p2(p1);

cout<

}

运行结果为:

调用构造函数1。//1分

调用构造函数2。//1分

5 //1分

调用析构函数。//1分

调用析构函数。//1分

2、#include

class A{

private:

//……其它成员

public:

virtual void func(int data){cout<<”class A:”<

};

class B: public A{

//……其它成员

public:

void func() {cout<<”function in B without parameter! \n”;} void func(int data) { cout<<”class B:”<

void func(char *str){ cout<<”class B:”<

};

int main(int argc,char *argv[])

{

A *pA;

B b;

pA=&b;

pA->func(1);

pA->func(“haha”);

return 0;

}

输出结果为:class B: 1 //2.5分

class A: haha //2.5分

六、编程题(共12分)

求满足不等式22+42+...+n2<1000的最大n值,假定分别用i和s作为取偶数值和累加值的变量,并限定使用do循环编程。

#include

void main()

{

int i=0; //用i作为依次取值偶数的变量

int s=0; //用s作为累加变量

do {

i+=2;

s+=i*i;

}while(s<1000);

cout<<"n="<

}

关于我的期末总结范文

关于我的期末总结范文 关于我的期末总结范文 一转眼,半个学期过去了。回顾这过去的半个学期,有喜有忧,现总结如下: 在日常生活上:以前我是一个衣来伸手饭来张口的“小公主”,而通过这半年老师和同学们的帮助,使我养成了独立性,不再娇生惯养,现在我已经能做一些力所能及的家务了。 在学习上:我深知学习的重要性。面对二十一世纪这个知识的时代,面对知识就是力量,科学技术是第一生产力的科学论断,我认为离开了知识将是一个一无是处的废人。以资本为最重要生产力的”资本家”的时代将要过去,以知识为特征的”知本家”的时代即将到来。而中学时代是学习现代科学知识的黄金时代,中国的本科教育又是世界一流的,我应该抓住这个有利的时机,用知识来武装自己的头脑,知识是无价的。首先,合理安排时间,调整好作息时间,分配好学习、工作、娱乐的时间。时间是搞好学习的前提与基础,效率和方法更为重要。其次,要保质保量的完成老师布置的作业,老师布置的作业一般是她多年教学经验的总结,具有很高的价值,应认真完成。认真对待考试,考前认真复习。另外,积极阅读有关书籍和资料,扩大自己的知识面;经常提出问题,与同学讨论,向老师请教;搞好师生关系,师生相处得融洽和睦;抓住点滴时间学习一些其它专业领域的知识,知识总是有用的。在这学期的期中考试中,尽管取得一些成

绩,但离心中的目标还很远,仍需继续努力,抓紧自己的学习。知识无止境,探索无止境,人的发展亦无止境,我还有很多的知识需要学习。 以上是我对高一上学期期末一些方面的个人总结,我将结合这个小结回顾过去,确定未来的发展目标,我对未来充满信心。自然,这需要老师们的精心培养和同学们的真诚帮助。 这个学期结束了。在这个学期里,老师为我们的学习付出了许多心血,我们也为自己的学习洒下了许多辛勤的汗水。这次期末考试,我的每门功课,都取得了比较好的成绩。 总结这个学期的学习,我想,主要有以下几个方面: 第一、学习态度比较端正。能够做到上课认真听讲,不与同学交头接耳,不做小动作,自觉遵守课堂纪律;对老师布置的课堂作业,能够当堂完成;对不懂的问题,主动和同学商量,或者向老师请教。 第二、改进了学习方法。为了改进学习方法,我给自己订了一个学习计划: (1)做好课前预习。也就是要挤出时间,把老师还没有讲过的内容先看一遍。尤其是语文课,要先把生字认会,把课文读熟;对课文要能分清层次,说出段意,正确理解课文内容。 (2)上课要积极发言。对于没有听懂的问题,要敢于举手提问。 (3)每天的家庭作业,做完后先让家长检查一遍,把做错了的和不会做的,让家长讲一讲,把以前做错了的题目,经常拿出来看一看,复习复习。

C语言实验二程序、总结 顺序结构与输入、输出方法

实验二顺序结构与输入/输出方法 一实验目的 1 学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自增减运算 符的使用。 2 掌握C语言中赋值语句的使用。 3 掌握C语言中各种数据的输入/输出方法,能正确使用基本格式符。 二实验内容 1 输入下面的程序: #include main() { int i,j,m,n; i=8;j=10; printf("%d,%d,%d,%d\n",i,j,m,n); /* 第5行 */ m=++i; n=j++; /* 第6行 */ printf("%d,%d,%d,%d\n",i,j,m,n); /* 第7行 */ } 运行程序,分析第5行和第7行输出的不同。 调试分析:因为第五行的m,n没有赋初值,所以对应的m,n输出是乱的数字,第七行的m,n在第六行已赋初值,且i和j也相应的自加,结果如下图 ⑴将第6行按如下修改以后再运行,分析第5行和第7行输出的不同。 m=i++; n=++j; /* 第6行 */ 调试分析:m=i++是(m=i,i=i+1)。 n=++j;是(j=j+1,n=j)结果如 下图 ⑵在程序最后增加两行,记录并分析该行的输出。 i=j=8; /* 第8行 */ printf("%d,%d,%d,%d\n",i,++i,j,j++); /* 第9行 */ 调试分析:结果如下图

2 运行以下程序,并分析输出结果 #include main() { int a=-2; long b; float c; b=20000+20000; c=1.23e-1; printf("a=%d,%3d,%-3d,b=%Ld\n",a,a,a,b); printf("a=%o,%x,%u\n",a,a,a); printf("d=%f,%8.2f,%.2f\n",c,c,c); printf("d=%e,%8.2e,%g\n",c,c,c); printf("%c,%s,",'\072',"China"); printf("|-%5.2s|%5.2s|\n","China","China"); } 调试分析: 这个实验主要考察整型,长整型和浮点型等之间的输出,对浮点型小数点左右个数的考察,输出结果如下图 3 按格式要求输入、输出数据。 #include main() { int a,b; float x,y; char c1,c2; scanf("a=%d,b=%d",&a,&b); scanf("%f,%e",&x,&y); scanf("%c%c%c",&c1,&c1,&c2); /* 第8行 */ printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2); } 运行该程序,按如下方式在键盘上输入数据,写出输出的结果。 a=3,b=7 85,71.82 Aa 调试分析:主要是考察对输入输出的理解,以及输入输出要注意的问题,结果

c语言实验报告总结

篇一:《C语言上机实验心得》 C语言上机实验心得 在科技高度发展的今天,计算机在人们之中的作用越来越突出。而C语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好C语言,这对我们以后的发展是十分重要的。 说到这,上机实验当然就是一个必不可少的环节了,C语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。 通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了C语言那就大错特错了。 我主要存在以下的这些缺点 1、学习耐心与细心不足,如scanf(“%d”,&n);中的“&”有时候会忘了。而在最后

输出时又错写成printf(“%d”,&n);从而错误得输出了地址而不是我原来想要的答案。 2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解 题了。 3、 4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够 深刻。 5、 6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在

一点问题。 为了能更好地学好C语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。 实验中我深刻意识到完成程序的编写,决不意味着万事大吉。认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更 多。由此可看出上机实践的重要性。 通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。编程的时候有因为顺利编出程序而开心过、有因为做得比人家慢而郁闷过、有因为不知从何入手而无奈过、有因为不知错出在哪而彷徨过但随着练习的增多,我对C语言比以前熟了很多,不再只是纸上谈兵,我都有能力独立做出一些程序,可能对于一些“高手来说这不算什么,或者他们早就会了,但我依然觉得很开心,因为我跟我自己比是进步了。

个人学期总结范文

个人学期总结范文 导读:本文是关于个人学期总结范文的文章,如果觉得很不错,欢迎点评和分享! 【范文一:中学个人学期总结】 我在xx中学xx的第XX个学期就这样结束了。迎来了盼望已久的寒假,细细回想着一年,我心里真是感慨万千。 光阴似箭,回首这半年的点点滴滴,朝朝暮暮,对我来说真是飞跃的半年。在这半年里,无论是学习方法、态度还是纪律都比以前更上了一层楼。下面,我就这几简单的总结一下。 (一)学习 学习态度比较端正。能够做到上课认真听讲,不与同学交头接耳,不做小动作,自觉遵守课堂纪律;对老师布置的作业,能够认真完成;对不懂的问题,主动和同学商量,或者向老师请教。在这学期的期中考试中,尽管取得一些成绩,但离心中的目标还很远,仍需继续努力,抓紧自己的学习。知识无止境,探索无止境,人的发展亦无止境,我还有很多的知识需要学习。 (二)学习方法及态度 中学的学习与小学有许多不同。小学时代我们被老师催着赶着向前走。而初中更注重自主学习,老师讲的不再满足我们的需要。我能认真对待考试,考前认真复习。另外,积极阅读有关书籍和资料,扩大自己的知识面,有较强的求知欲,学会了自我反省,检查,提前预

习的学习方法,获益匪浅。 (三)纪律 在纪律方面,我可以做到:尊重教师,同学之间可以真诚相待;能遵守学校各项纪律,遵守公共秩序,遵守社会公德;不迟到、不早退、不旷课;上学穿校服;举止文明;有良好的卫生习惯,不乱扔废弃物。纪律是学习的保证。没有纪律,何谈学习,下学期,我会再接再厉,争取在纪律方面做得更好。 但我身上还有各种各样的问题,在下个学期中要努力改正,不断以更加严格的标准来要求自己,在各个方面都更上一层楼,扬长避短,深刻地认识,检讨自己,力争做到让老师,家长和自己都感到十分满意。 这个学期结束了。在这个学期里,老师为我们的学习付出了许多心血,我们也为自己的学习洒下了许多辛勤的汗水。这次期末考试,我的每门功课,成绩都不如意。俗话说得好,一份耕耘一份收获,只能说我付出的不够。在新的学期里,我会更加加倍努力学习,不会辜负老师家长的期望! 以上就是我对初一上学期期末一些方面的个人总结,我将结合这个小结回顾过去,确定未来的发展目标,我对未来充满信心。自然,这需要老师们的精心培养和同学们的真诚帮助,在此我要诚挚的道一声:谢谢大家! 【范文二:大学学期个人总结】 进入大学,第一学期就这样悄无声息的过了,在学业上,好像我

C语言知识点总结完美版

语言最重要的知识点C :总体上必须清楚的。分支结构)、循环结构 1)程序结构是三种: 顺序结构、选择结构(碰到选择做选,, 然后从最上面顺序往下读(碰到循环做循环 2)读程序都要从main()入口一个main函数。择),有且只有. . 数据存放的位置就是他的地址 3)计算机的数据在电脑中保存是以二进制的形式. 一个字节 = 八个位是指或者1。 byte字节, 4)bit是位是指为0 概念常考到的:语言编译的程序称为不要加分号。C1、编译预处理不是C语言的一部分,不占运行时间,中。存放在文本文件源程序,它以ASCII数值一定不能出现分号。define PI 3.1415926、#;这个写法是错误的,2。是有且只有一个3、每个C语言程序中main函数再定义函数。、在函数中不可以4。一定要有输出5、算法:可以没有输入,但是语句。switch6、 break可用于循环结构和。倒数第二的级别最低,赋值的级别7、逗号运算符语言的基础知识 C第一章 C语言的基础认识第一节、对。源程序语言编写的程序称为,又称为编译单位1、C , 每行可以写多个语句,可以写多行。、C语言书写格式是自由的2 。main函数,是程序运行的起点语言程序有且只有一个3、一个C vc++ 第二节、熟悉语言程序。VC是软件,用来运行写的C1、).obj---?.exe,最后运行。(.c---?、每个2C语言程序写完后,都是先编译,后链接)。(常考!.obj文件时无法运行的,只有.exe 文件才可以运行这个过程中注意.c和第三节、标识符、标识符(必考内容): 1合法的要 求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了 2、标识符分为关键字、预定义标识符、用户标识符。 关键字:不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。 预定义标识符:背诵define scanf printf include。记住预定义标识符可以做为用户标识符。 用户标识符:基本上每年都考,详细请见书上习题。 第四节:进制的转换 十进制转换成二进制、八进制、十六进制。 二进制、八进制、十六进制转换成十进制。 第五节:整数与实数 运行时候,所有的进制都要转换成二。但是没有二进制进制,八、十、十六语言只有C)1. 进制来进行处理。(考过两次)的,逢八进制是没有80开头。018的数值是非法的,以 a、C语言中的八进制规定要1。8进开头。语言中的十六进制规定要以0x b、C可以不用写。: C语言小数点两边有一个是零的话,2)小数的合法写法1. C语言中可写成1.0在 .1。0.1在C 语言中可以写成 3)实型数据的合法形式:-1 10。2.333e-1 就是合法的,且数据是2.333×a、请结合书上的例子。后必为整数。前b、考试口诀:ee后必有数,e个字节:个字节,双精度

学期末总结怎么写16篇

学期末总结怎么写16篇 学期末总结篇1 从军训到正式大学生活,我从一名临时班长到正式班长,经历了我人生中最丰富的4个多月。军训时班长主要负责协助辅导员的工作,负责同学们的入学生活工作。陌生又好奇的同学们都表现出一名高中书生的气质。 这一学期已快要结束,总结这一学期的班长工作。第一:责任心到位,方法不到位;第二:班长协调欠完善,班干交流不够;第三:能力不高,班级凝聚力不够好;第四:班级活动少且质量不高,没有培养同学们团体精神。 首先从责任心方面来说,我认为作为一名班干不管能力怎样,首先应该具有一颗责任心,态度决定一切!作为班长来说,统领这班里的一切大小事务,不仅需要强烈的责任心,更需要有好的方法和技巧。当然,方法与技巧跟个人能力高低有关,这一学期的班干工作中也有一些不顺利的地方,也有做得比较好的。总之,责任心第一,再加上适当的方法与技巧会使工作事半功倍,反之,效率低下,事倍功半!还有一个心也是班长所不可缺的——耐心!面对同学们的疑问,面对同学们的要求,班长应该要有足够的耐心来倾听同学们的心声,回答同学们疑问,解决同学们的问题。面对几十位

同学,就需要几十种不同的方法,但我还不具备这些。总结以上这些,我还需要提高个人能力,我还需要具备更多的耐心! 其次是班干部的交流与班干工作的协调分配还不够好,在班干部之间的交流方面还是欠缺,有的班干部连某一个职位是谁都还不知道,更别说认识其本人。一方面因为我们组织的班干会时间或地点安排不好,另一方面是因为班干部积极性不够高,懒散不愿参加班干会,导致班干部之间的交流偏少。这直接为班干工作的协调配合埋下了不好的隐患。在工作上,虽说担任不同的职务就有不同的事,班干之间普遍都是我事我独毕,他事无关我。我们是一个集体,我们应该要有团体意识,团体的力量大于一切!所以,我们班的集体力量还没有完全发挥出来。 最后就是班集体活动较少而且质量也不是很高,导致班级同学比较分散,各自为阵,无法很好的将同学们的心聚集到一起,让同学们有班级归属感,有家庭温。暖的感觉。纵观这一学期的班干工作和班级活动如下:1、与10级直系师兄师姐的联谊;2、男生节的联欢;3、古寨沟烧烤之行等。接下还有一个圣诞、冬至和元旦联合节日。 最后总结一下以后班长以及班干的主要任务,对于集体活动方面,尽量向着标准化举行。何为标准化呢?首先就是要有一份完整详细而且得高质量的策划书,使整个活动充实、

c语言实验心得体会

c语言实验心得体会 篇一:C语言上机实验心得 C语言上机实验心得 在科技高度发展的今天,计算机在人们之中的作用越来越突出。而C语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好C语言,这对我们以后的发展是十分重要的。 说到这,上机实验当然就是一个必不可少的环节了,C 语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。 通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了C语言那就大错特错了。 我主要存在以下的这些缺点: 1、学习耐心与细心不足,如scanf(“%d”,n);中的“”有时候会忘了。而在最后 输出时又错写成printf(“%d”,n);从而错误得输出了地址而不是我原来想要的答案。 2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解

题了。 3、 4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够 深刻。 5、 6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在 一点问题。 为了能更好地学好C语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。 实验中我深刻意识到完成程序的编写,决不意味着万事大吉。认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更

C语言基础知识整理

C 语言基础知识 1. 每个C 程序有且只有一个主函数main() ,且程序必须从main() 函数开始执行,并在main() 函数中结束。 2. 在C语言中,用e来表示科学计数法时,规定在e的前面必须有数字,后面必须为整数。 3. 用单引号括起来的一个字符常量只能存放一个字符;C 语言中没有字符串变量,只能用字符数组来存储字符串。 4. 外部变量在编译时由系统分配永久的内存空间,所以外部变量的类型不是自动存储类别。 5. 在一个函数内的复合语句中定义的变量,只能在这个复合语句范围内有效。 6. 用sizeof(int) 计算int 类型数据的字节数。 7. C语言运行时,首先系统检查语法的正误,再运行程序的语法;C语言中,可以在一个函数中嵌套一个函数,但是不能在一个函数中定义一个函数;只有在函数外部定义的函数才是外部函数;C语言的子程序有过程和函数两种。 8. 预处理命令行的位置没有规定,只是习惯放在前面;在源文件中的可以有多条预处理命令,但一行只能写一条;宏名的大写只是习惯性的表示;宏替换不仅不占用运行时间还不分配内存空 间。 9. feo f函数的作用是检查文件是否结束,当结束时返回的值为非零,否则为零。 10. 当定义了数组后,在给其赋值时,不能直接把字符串赋给数组名。 11. 在赋值表达式中,赋值运算符"=”右侧不能为表达式;在求余运算符中的两侧都必须为整型;在强制类型转换时,类型名应用括号括起来。 12. 静态局部变量,只有当程序结束后,其值才释放。 13. 当调用函数时,实参是一个数组名,则向函数传送的是数组每一个元素的地址。 14. 算法的特点为有零个或多个输入,有一个或多个输出,当相同的输入时,其结果相同;算法 正确的程序最终一定会结束。15. 在 C 语言中,预处理命令行都以“#”开头;当需要时才用 #include; 预处理的作用就是实现宏定义和条件编译。16. 当数组元素的下标超出了定义 的下标范围时,系统不给出“下标越界”的字样,而是得出错误的答案,因此在编程时务必检查下标是否越界。 17. 共用体变量不能作为函数的参数,也不能使函数带回共用体变量。 18. 指向函数的指针变量的定义形式为:数据类型(* 指针变量)();,因此其为指向函数的 指针变量。 19. 用C 语言编写的代码程序是源程序,只有通过编译、连接才能进行。 20. 在说明为static 时,其生存期得到延长,而其作用域并没有改变,在定义后系统会自动帮它赋值为0,static 为关键字不能被用作它用。 21. 频繁地使用空语句会降低程序的可读性和运算速度。22. 运算符%两边都应是整数,赋值语 句左边应该是变量,而非表达式,强制转换语句强制类型应加括号。 23. 在逻辑运算符中,其两侧的运算符对象为任意合法的表达式即可。 24. 函数fread (&larray,2,16,fp)的功能是,从fp所指的数据文件中读取16次2字节的数据 存储到数组larray中。25.整个流式文件也可以随机存取数据,C语言文件中有好多函数可以达 到写入数据时,未经输入数据,达到不覆盖的目的,在进行写操作时,系统会自动关闭文件。 26. 使用putchar、getchat、puts、gets、printf、seanf函数时,必须在程序的开头岀现包含头文件 #inelude "stdio.h ”的命令行,而使用字符串处理函数时,必须在程序的开头岀现包含头文件 #include”string.h ”命令行,而使用数学函数时,必须在程序的开头岀现包含头文件#include”math.h” 的命令行。 27. 一个斜杠与小于等于127 任意数字按一个字符计算,一个斜杠与任意一个字符按一个字符计 28. 一个C 程序可以有一个或多个程序文件,也可以有一个或多个函数,所以一个C 语言程序可以实现

2016年C语言实验报告

通知 各位老师: 本学期非计算机专业《计算机程序设计基础(C语言)》课实验报告要求: 1.统一用《武汉科技大学实验报告》本写。本学期交三次实验报告。 ①循环结构程序设计。 ②数组。 ③函数。 要求学生在完成以下实验报告,参考《C语言程序设计课程实验与题解》中的要求认真完成。 实验1 循环结构程序设计 一、实验目的 1.熟悉用while语句,do-while语句和for语句实现循环的方法。 2.掌握在程序设计中用循环的方法实现各种算法(如穷举、迭代、递推等)。 3.熟悉break语句和continue语句用法的不同之处。 二、实验内容 【例】以下程序,输出下三角形状的乘法九九表。 #include void main() { int i,j; for (i=1;i<=9;i++) /* 打印表头*/ printf(" %4d",i); printf("%c",'\n'); for (i=0;i<=50;i++) printf("%c",'_'); printf("%c",'\n'); for (i=1;i<=9;i++) /* 循环体执行一次,打印一行*/ { for (j=1;j<=i;j++) printf(" %4d",i*j); /* 循环体执行一次,打印一个数据*/ printf("%c",'\n'); /* 每行尾换行*/ } printf("%c",'\n'); } 输入并执行该程序,观察输出结果,试着修改程序打印上三角形状的乘法九九表。 三、编程序并上机调试运行。 1.打印出所有“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方和正好等于该数本身。例如:153是一个“水仙花数”,因为153=13+53+33。 解题思路:根据题目要求只要分别求出一个三位数的个位、十位、百位上的数字,然后判断是否满足(某一三位数a=a的百位的立方+a的十位的立方+a的个位的立方)这个公式,满足这个三位数就是“水仙花数”。 2.李先生岁数的平方与他的夫人的岁数之和是1053,而他的夫人的岁数的平方与他

C语言知识点总结(正式版)

C语言知识点总结 C语言知识点总结 (1) 一、常量 (2) 二、标识符 (2) 三、变量 (2) 四、表达式 (3) 五、输入输出函数 (4) 六、C语言的语句 (5) ` 七、C程序的基本结构 (5) 八、选择结构语句 (5) if(表达式) 语句1 else 语句2 (5) 条件运算符表达式1 表达式2 : 表达式3 (6) switch语句 (6) 九、循环结构 (6) for循环语句 (6) - while循环语句do while循环语句 (6) 十、数组 (7) 十一、字符串函数 (7) 十二、函数 (8) 十三、指针 (9) 十四、宏定义 (10) 十五、结构体,共用体,枚举类型 (10) : 十六、Turbo C的使用 (12)

一、常量 数字常量 i.普通数字:1,35, ii.指数形式:等价于*10-2注意e大小写皆可,e前面的数字不能省,就算是1也不能省,后面的数字一定要是整数 iii.长整型,单精度浮点型:3235L,分别表示3235是长整型数据,是单精度浮点型左,若不写上L,F则表示3235是整型,是双精度浮点型, L,F大小写皆可 字符常量 i.普通字符常量:用单引号把一个字符括起来,如’A’,’@’ ii.转义字符常量:一对单引号括起来并以“\”开头的字符序列,如’\n’(回车)、’\123’(8进制123对应的字符), ’\x23’(16进制23对应的字符)字符串常量 用一对双引号把一个字符序列括起来,如“ABCef”,系统存放字符串常 量,每个字符分配一个字节,各字符所占字节紧邻,并且字符串末尾会 给再开一个字节里面放一个’\0’做为结束标志。 符号常量 定义格式#define 符号常量名符号常量值,如#define N 20则定义了符 号常量N,其值为20,注意符号常量名和符号常量值之间是用空格隔开,而不是写上=号,#define和符号常量名之间也有空格的。 二、标识符 命名规则 以数字,字母,下划线这三类字符组成,但只能以字母或下划线开头, 而不能也数字开头,另外不能将关键字做为标识符。32个关键字表在 P365附录B 变量名,函数名,符号常量名全都是标识符 三、变量 变量的定义格式 类型名变量名; 如int a;定义了一个整型常量a。变量名是由人类随便定义的,符合命 名规则的前提下,爱写啥就写啥。所以什么flag,cc,y1或者函数名fun,find 等全部是自定的用来做为名字而已,没有更特别的意义。 类型名 int整型,long长整型:用于存放整数,只是数值范围不同 float单精度浮点型double双精度浮点型:用于存放实数,数值范围, 精度不同 char字符型:用于存放字符 变量赋值,初始化 int a=3;定义的同时初始化 a=6*9;定义后在程序中进行赋值 变量的值

游戏C语言实验报告

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录 一、实验目的和要求 .................................................................................................................................................... 二、实验环境、内容和方法 ........................................................................................................................................ 三、程序设计 ................................................................................................................................................................ 四、源代码 .................................................................................................................................................................... 五、调试与运行结果.................................................................................................................................................... 六、总结........................................................................................................................................................................

个人期末总结范文3篇

个人期末总结范文3篇 转眼到了期末,该为这一学期作一个总结,本文是小编为大家整理的个人期末总结范文,仅供参考。 个人期末总结范文篇一:大学生个人期末总结范文时间就如手中的细沙一样无论怎样努力都抓不住得从指缝中滑落,进校时的情景还历历在目,感觉像是做了一场美好的梦,然后醒来后发现自己已到了另一个世界,让人不由自主得感叹道时间也许是这个世界上最残酷的东西,没有任何一个人能抓住它的流向。随着时间的逐渐流逝我学会了许多,体会了许多,了解了许多,应该说自己经过了这一年的大学生活后已经比以前更加成熟了,重新认识了自己——一个与过去完全不同的自己。。。。。。。过去的我总是以一种玩乐的心态来面对学习,而现在的我则已经学会了用谨慎的态度对待它,因为小学,初中,高中的知识都是纸上谈兵,从实践方面来讲没什么实质性的作用,而大学里的知识不一样都是今后踏上工作岗位后要用到的,对于今后的工作有着巨大的影响,不学好的话就影响到自己将来的前途,所以不能再像以前一样混水摸鱼,得过且过,只求一个及格的分数就好,而是要打起十二倍的精神抓住每门功课中的知识点,始终牢记于心,并学会如何去熟练得运用这些知识才是关键。此外,还要掌握一些和自己专业有关的课外知识,以扩充自己的知识面,并时时了解自己所学专业的社会动态,为毕业后找工作做好充分准备工作,避免以后让人觉得自己其实是一个草包。因此大学里的学习不再是单纯得为了分数而战,而是为了自己的前途而战。 朋友因该是我们生活中必不可少的一部分,生活中如没有了朋友就好比我们周围缺少了空气一样,让人窒息难受,最后导致死亡。过去的我对于朋友的理解就是单一的玩伴,即一起逛街,看电影,吃饭,聊天的伙伴。现在的我对于朋友有了更深一层的理解:朋友是你风雨中的一把伞,帮你遮挡风雨的侵袭;朋友是黑暗中的烛光,帮助你照亮前方的路,虽然微弱但却温暖着你的心;朋友是与你一起在大海里划着一叶小舟的同伴,否则你一定会感到寂寞难耐;朋友是一个温暖的环抱,随时敞开着等着你去靠近;朋友是一面镜子,教会你如何更好得做自己。朋友之间会一起分

C语言实训总结

(表D.0.2)---绿化(子单位)工程质量竣工验收报告表29804 实训总结报告 为期两周的项目工作就这样轻轻的落下了帷幕,在为期两周的时间中,我们同组的同学共同的感受是:C语言实训和平时上课所接触的程序是有很大不同的,所经受的考验和克服的困难是平时所无法比拟的。好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了C语言实训的复杂程序。在这里,我作为其中的参与者,回想起这之间的点点滴滴,我感触良多。 在这次实训中,我对对C语言有了一个更深的了解认识,也对以前大一学的知识得到巩固。尝试运行编程中,每次运行程序成功,让我对下面的项目就充满信心。通过自己与同学合作编写程序,最终把最初的理论知识转化基本技能。这次的实训,使我对C语言的学习产生浓厚的兴趣。 这次实训,最令人激动的就是合作做项目,虽然那只是一个很小的项目。每天大家来得很早,大家在一起学习,取长补短,我们很好的在实训中长知识,提高我们的学习热情。实训中深切体会到了千哥认真负责的伟大精神和热情为同学指导的促学方式,虽然对有些时候老师没给我们指出解决问题的方法有些小抱怨,但是到了结束时才知道,这种教学方式让我们自己学会了自学,学会了去看懂别人的代码。更多是老师给的感动,每天在我们来之前就到了教室,在讲课中还给我们分享他在公司上班的一些心得和体会,还有那些我们应该注意的事项,这些是平时上课时无法学到的,是更深层次的巨大收获。 通过这次实训,也使我们发现了许多问题。我认识到自己还有很多的知识没学好,基础知识没理清,而且许多东西还要去翻书,去上网搜索。而且遇到一些小错误运行不出来,就会烦躁不安,觉得有些自暴自弃或者抱怨项目的态度,以后要克服,尽量保持一颗良好的心态,学好C语言,也学好用C语言编写一个按要求的系统。还有就是对于未来,我觉得我还有许多方面需要提高。首先我要继续学习好C语言的基础知识,然后能在电脑上熟练的运用。然后每天都能写一些程序,上网时候多看一些优秀的教程和优秀的代码。遇到问题时多和同学讨论,并且多弄出几套方案,多锻炼自己结局问题的能力和与同学合作的能力。 总之,这一切都成为我记忆里面的一个篇章,更是在学习C语言编程上的一个里程碑。世上没有一件工作不辛苦,没有一处人事不复杂。不要随意发脾气,谁都不欠你的 c1

C语言程序设计实验报告优秀范文

C语言程序设计实验报告优秀范文 实验名称计算出1000以内10个最大素数之和 实验目的 1、熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。 2、熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。 3、掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。 实验内容 计算并输出1000以内最大的10个素数以及它们的和。 要求: 在程序内部加必要的注释。 由于偶数不是素数,可以不考虑对偶数的处理。 虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。 输出形式为:素数1+素数2+素数3+…+素数10=总和值。 算法描述流程图 main函数: 判断素数: 源程序 #include #include int sushu(int n)/* 判断素数的函数*/ { int t,i; t=sqrt(n); for(i=2;i if(n%i==0)/* 如果不是素数,返回0 */ return 0; return n;/* 如果是素数,返回该数*/ } void main { int i,j=0,n,m=0,a[1000],x; /*clrscr;*/ printf("please input a number form 1 to 1000:"); scanf("%d",&x); if(x==2)/* x=2时的处理*/ printf("%dn",x); else if(x printf("error!n");

个人期末工作总结范文4篇

个人期末工作总结范文4篇 时间过得真快啊,转眼间,来学校已经整整两年了.在这两年里,有幸结识了一群最优秀的同事、最知心的家长朋友、最可爱的学生,在我们朝夕相处的日子里,我们彼此信任、理解和配合,在融洽的相处下,我们班级各方面的工作都走在了学校前列.看着孩子们日新月异的变化,感觉自己的每一天过得都非常充实而有意义.两年的历练,使我无论在班级管理、学科教学还是个人成长等方面都有了长足的发展.现将我的工作进行简要的总结. 一、紧抓学科教学不放松,不断提升自己的职业竞争力. 教育教学工作是学校一切工作的生命线,个人所任教学科的教育教学工作是自己的安身立命之本.我们的教师团队是最具凝聚力的,老师们之间教学上相互帮助、相互影响、共同提高,这样做非常有利于各项工作的顺利开展,使我们的学科教学收到事半功倍的效果.教学中我们重教研重反馈,勤总结重实践,每一位老师都能紧抓重点内容搞突破,为每一个孩子夯实基础.每天的作业、练习我都能做到100%当天批改,甚至当天讲解,而且一定会把当天已经批改、讲解的作业、练习反馈给孩子们,让家长及时掌握孩子们的知识掌握情况.为配合“减负”要求,我精减作业量,精心设计练习题,让孩子们通过有针对性的练习和作业,不断差缺补遗,巩固知识.针对出现错误较多的知识点,我及时汇总,找出共性的错误,经过再练习、再讲解,力争使每一个孩子都能透彻、理解灵活运用. 在数学教学中,我强化笔算训练,每节课都拿出5-10分钟的时间,通过竖式笔算等形式进行练习,孩子们计算水平不断提高,现在已经能够顺利进行万以内加减法的笔算及表内乘除法口算.根据开学初期制定的教学计划,我积极压缩课程,在保证孩子们掌握本册教材知

C语言实验报告

郑州轻工业学院 实践报告 实现内容: OJ1123最佳校友(数组)、OJ1158又是升序(指针)、OJ1180成绩统计(结构)、OJ1203做幻方(文件) 学号:541507020140 学生姓名:王红旭 专业班级:电子信息科学与技术15-01 所在院系:计算机与通信工程学院 指导教师:王秉政 成绩: 实践名称:上机实验课 来源课程:[0404230]C程序设计进阶 实践时间:2016.03-05 实践地点:科学校区实验楼301 报告撰写时间:2016.05.10 1123最佳校友(数组)

1实践目的 为了方便数组的管理和使用,提高程序设计的效率。 2 实践要求 熟练使用数组解决问题。 3 使用的技术、知识点、工具等 C语言程序设计书本教材,数组等。 4 需求分析和功能描述 要求;北京校友会每年举办两次,所有校友都有校友编号,每次到会的校友都在签到簿上写下自己的编号和姓名,在校友会成立5周年的聚会上将颁发“最佳校友奖”,该奖项颁发给到会次数最多的校友。现在请你编写程序,找出这个奖项的得主。若有多个校友并列第一,则均可获奖。 5 系统总体设计 #include int main() { int a[100]={0}; int i,n,max,k; while(scanf("%d",&n),n>=0) a[n]++; max=a[0]; for(i=1;i<100;i++) { if(a[i]>max) max=a[i]; } k=0; for(i=0;i<100;i++) { if(a[i]==max) { if(k==0) printf("%d",i); else printf(" %d",i); k++; } }

大学学期末总结范文

大学学期末总结范文 时间过得真快,转眼间又快到这个学期的最后阶段了。回顾一下过去,人们常说日月如梳!总结一下这个学期的各方面情况,大概可以归纳以下几个要点。 从一开始,我就告诉自己“在大学里,每个人都是我的老师,每个地方都是我的课堂,每个时间都是我的学期,大学不只是学习的地方,还是锻炼自己素质的地方。无论我的大学怎样,我都要把握好自己的方向盘,走出迷惘!” 一学期就这样结束了,感觉经历的还不够多,学到些什么,自己都不懂,莫名其妙的。懵懂的过了这样一学期。总的回想起来感觉没什么让自己记忆深刻的故事。可是细细的回想,又有说不完的小故事!一路走来,回头看看一路走过留下的脚印,真的和以前不一样了。 在学习部的关怀下,我学会了很多东西。所以,加入学习部是我最正确的选择。 在大学里,学习的条件比高中当然要轻松很多,起码一天中不是每节课必上,而且考试的时间也少得多,每门课只有结束时才考,不像高中,有什么单元考,模拟考,期中期末考,名目繁多,不一而足。这可能就是大学学习风气特别散漫的主要原因.但是,在学习部的努力下,学风在一步步高涨,同学们的学习热情也特别高。 当然,大学的学习环境远非高中可比,只要想学,大学里有博学多才的老师,在这样良好的学习环境中,同学们贪婪地吸取着更多的有用的知识。

在这一年里,我学到的东西根本不多,感觉浪费了很多时间啊。有时我就安慰自己,鱼与熊掌不可得兼,大学那么多课程,你不可能每门都学得很精,想要“门门通”,结果就是“门门松”,就像一句英语谚语说的:“Jackofalltradesandmasterofnone”。 可是你有些门可以松一点,可是电脑毕竟是一门重要课程,在生活中里有着重要的使用价值。必须要学好。学习部的职责就在于督促同学们端正学习态度,认真学好每门课程。 唐代著名的书法家颜真卿曾经说过“黑发不知勤学早,白首方悔读书迟”,我们现在还年轻,还是“黑发”的时候,如果现在不学习,将来就迟了。现在科技的发展日新月异,特别是物流专业,更是三年一小变,五年一大变,新的技术不断涌现,而旧有的课程也不断地在丰富着,这往往就要求我们不断地更新知识,不能满足于现有的知识,才能在以后的激烈的竞争中处于不败之地。 回首刚进来的时候,在忙忙碌碌中,走过了黑色六月;在极度兴奋中,走进了大学;又在不知不觉中,走完了大一一学期。回头望去,感受颇多。 在学习部的督促下,同学们忙碌着,为了自己的未来,学生不甘心,不甘心像以前一样,只是学习,还要活出自己的大学生活。 学习方面,同学们都很努力,也许是高中的学习的习惯。我们需要牢牢掌握书本上知识,并利用业余时间,学一些书本以外或是其他专业的东西,为将来就业作铺垫。

c语言实验报告心得总结

c语言实验报告心得总结 c语言实验报告心得总结一在初学C语言的一个学期后,我们进行了C语言实训阶段,尝试编写一个比较复杂的程序系统。在为期一周的时间中,我们同组的同学共同的感受是:C语言实训和平时上课所接触的程序是有很大不同的,所经受的考验和克服的困难是平时所无法比拟的。好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了C语言实训的复杂程序。在这里,我作为其中的参与者,感触良多。 在这次实训中,我对对C语言有了一个更深的了解认识,也对这个学期学的知识得到巩固,还尝试运行编程,每次运行程序成功,让我对下面的项目就充满信心。通过自己与同学合作编写程序,最终把最初的理论知识转化基本技能。这次的实训,使我对C语言的学习产生浓厚的兴趣。 还是这次实训,最令人激动的就是合作做项目,虽然那只是一个很小很小的项目。每天大家来得很早,大家在一起学习,取长补短,我们很好的在实训中长知识,提高我们的学习热情。实训中深切体会到了老师认真负责的伟大的精神和热情为同学指导的促学方式,虽然对有些时候老师没给我们指出解决问题的方法有些小抱怨,但是到了结束时才知道,这种教学让我们自己学会了自学,学会了去看懂别人的代码。更多是老师给的感动,每天在我们来之前就到了教室,在讲

课中海给我们分享他在公司上班的一些心得和体会,还有那些我们应该注意的事项,这些是平时上课时无法学到的,是更深层次的巨大收获。 通过这次实训,也使我们发现了许多问题。 在实训中,我们认识到自己还有很多的知识没学好,基础知识没理清,而且许多东西还要去翻书,去上网搜索。而且遇到一些小错误运行不出来,就会烦躁不安,觉得有些自暴自弃或者抱怨项目的变态,以后要克服,尽量保持一颗良好的心态,学好C语言,也学好用C语言编写一个按要求的系统。 还有就是对于未来,近程就是下学期,我觉得我还有许多方面需要提高。 首先我要继续学习好C语言的基础知识,然后能在电脑上熟练的运用。然后每天都能写一些程序,上网时候多看一些优秀的教程和优秀的代码。遇到问题时多和同学讨论,并且多弄出几套方案,多锻炼自己结局问题的能力和与同学合作的能力。 总之,这一切都成为我记忆里面的一个篇章,更是在C 语言编程上的一个里程碑。 c语言实验报告心得总结二在科技高度发展的今天,计算机在人们之中的作用越来越突出。而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,

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