大一C++结课复习

一,一些概念

1.C++语言提供的基本控制结构可以分为3种类型:顺序结构、选择结构和循环结构

2.实参可以是常量、变量、表达式、函数等任意类型,形参只能是变量,在被定义的函数中,必须指定形参的类型

3.C语言中静态变量和外部变量的初始化是在___阶段完成的

4.形参只在调用的时候存在,实参的值单向传递给形参以后自己的值不变

5.函数的调用方式可以有:函数语句,函数表达式,函数作实参

6.float add(float ,float);这样写的函数声明是函数原型,在编译阶段对合法性做检查

7.对单目运算符重载为友元函数时,可以说明一个形参。而重载为成员函数时,不能显式说明形参。

8.抽象封装继承多态

9.抽象类是不能定义对象的,在实际中为了强调一个类是抽象类,可将该类的构造函数说明为保护的访问控制权限。 抽象类的主要作用是将有关的组织在一个继承层次结构中,由它来为它们提供一个公共的根,相关的子类是从这个根派生出来的。

10.析构函数不能重载。

11.引用&

二,简单语句的计算

1.a+=a*=10;                  a=100

2.如果a=1,b=2,c=3,d=4,则表达式a<b?a:c<d?c:d的值为 1

算术运算符>关系运算符>赋值运算符>逗号运算符,右结合 

3.while(!x),表示取反的意思,所以如果x是真,!x就是假

4.switch 后面一定要有break;不然就连读

5.

int x = 5, y = 7;
void swap ( )
{
      int z ;

      z = x ;  x = y ;  y = z ;
}
int main(void)
{
      int x = 3, y = 8;
      swap ( ) ;
      printf ("%d,%d \n", x , y ) ;

      return 0 ;
}
/*1.从变量的作用域的角度来说函数void swap ()里面的x,y,z三个变量的有效范围是voidswap ()这个函数里面,离开这个函数,这三个变量就不存在了,voidswap ()的x,y跟main函数里面的x,y并不是同一个变量。
2.从函数的参数传递角度来说,分为之传递,地址传递和直接引用
上面程序调用voidswap ( )后,相当于什么没做,单纯浪费了CPU而已。选A*/

6.

int  i;
int main()
{    void  prt();

    for(i=0; i<5; i++)
        prt();
}
void  prt()
{    for(i=0;i<5;i++)
        printf("%c",'*');
    printf("\n");
}//结果输出*****

7.int a[2]={1,3}, *p=&a[0]+1;

&a[0] 就是a数组的首地址 即相当于a 。 a+1就相当于指针下移一个单位。

8.

  

三,一些编程语句

1. 输入一行字符,以回车符 '\n'作为 结束符。

char c;while((c=getchar())!='\n'){}

2.闰年  (n%4==0)&&(n%100!=0)||(n%400==0)

四,令人叫妙的程序

1. 若输入:how are you? <回车>,输出结果是:How Are You?

#include <stdio.h>
void main(void )
{   
    int word;
    char ch;    
    word=0;
    while( (ch=getchar()) != '?' ){
        if(ch==' ') word=0;
        else if(word==0){
             word=1;
             if(ch<='z'&&ch>='a') ch=ch-'a'+'A';
        }
        putchar(ch);
    }
    return;
}

2.将一个正整数分解质因数

int main()
{   int First;
    int number,i;
    i=2 ;   First = 1;
    scanf("%d", &number);
    printf("%d=", number);
    while (number!=1)
    {    if (number % i == 0)
         {  if (First)  
            { First=0;
            printf("%d",i);}
            else{
            printf("*%d",i);
            number=number/i;}
        else i++;
    }  

五,误区警示

1.If是可以作为用户的标识符。因为If中的第一个字母大写了,所以不是关键字。

2.e前e后必有数,e后必为整数

3.'1’是字符占一个字节,”1”是字符串占两个字节(含有一个结束符号)。

4.表达式的数值逗号最右边的那个表达式的数值,(2, 3, 4)的表达式的数值就是4。

5.char str[10];str="string";错

6.

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值