C艹期中考复习错题集

本文介绍了C++编程的基本概念,包括程序、算法、计算机结构,以及C++程序的开发流程。强调了main函数的作用,标准输入输出,数据类型如char和bool的特性,变量的初始化,常量的分类,运算符的使用,以及数组和动态内存管理。还提到了头文件的使用和字符处理函数。
摘要由CSDN通过智能技术生成

注意:填空题不能加分号,程序填空要看清题目有没有给分号。填空题要求填输出的内容是不要在末尾加\n。

 

C艹概述

1.程序是指为进行某项活动所规定的途径。

2.算法是指解决某个问题所需要的方法和步骤。

3.计算机是用电子电路进行计算的。CPU(中央处理器)是制造好的电子电路。

4.计算机最小的存储单位是bit。

5.源文件是用高级语言编写的、有待翻译的程序,以文件的形式保存于计算机外存(如硬盘)。C艹源程序文件拓展名.cpp。

6.C艹程序开发要经历编辑、编译、链接、运行调试的过程(用到编辑器、编译器、链接器(IDE集成开发环境))。程序的开发过程是反复的。

7.程序=算法+数据结构。算法特征:可行性、确定性、有穷性、输入输出。

8.标准的IPO程序包括:input、processing(处理)、output。

main函数

1.在执行程序时,操作系统首先自动调用主函数。

2.main函数返回0表示程序正常终止,返回其他非0值表示程序异常终止。

3.语句是程序运行时执行的命令,C艹中表示语句结束的符号是分号。(填空题可能反应不过来要填什么。)

大小写陷阱

C艹程序一般应该含有Main函数,它是程序执行的入口(B)。

A.对     B.错

解:B,C艹考试要求英文单词的写法跟写程序时的一样。

按照C艹标准的规定,main函数还可以是:

int main(int argc,const char* argv[]) {
    //……
    return 0;
}

头文件

1.C艹标准库(如iosteam)都封装在名字空间std中,以防止标准库中的名字与其他名字冲突。

2.使用标准库,不仅要#include <标准库头文件>,还得让名字空间std中的名字曝光,才能正确使用cout、endl。这就是using namespace std;的作用。(也可using std::cout,etc……)

3.iostream包括不带参数的操纵符(如endl);iomanip包含带参操纵符(如setw)。

3.cout默认与标准输出设备(显示器)相关联。输出运算符(又名流提取运算符)<<用于将数据输出到cout。

4.cin和cout是(B)。

        A.函数    B.对象

5.数学函数sinx和lnx包含在cmath中。

标识符

1.标识符以字母/下划线开头。

2.标识符无长度限制,但编译器可能有。

关键字

关键字又称保留字,在C艹中都是小写的。C艹中,关键字是预先定义并实现一定功能的一类单词。

数据类型

数据类型的作用

决定数据内部表示方式、取值范围、可用操作。

进制

八进制用0开头。十六进制用0x或0X开头,使用a-f中的字母时大小写都行。

后缀

L(注意它也可用于表示long double)、U、UL、LL、ULL、LU、LLU、F(float)

char

1.通常没人关心char是有符号还是无符号,需要时可直接指定。

2.有的编译器把char当有符号的,有的编译器把char当无符号的。

3.char在计算机中存储的是二进制编码值(取决于字符编码方案)。

4.转义字符:\a(alarm)、\b(backspace)、\f(换页)、\r(enter)、\t(table)、\v(vertical table)、\?、\ddd(1-3位八进制数代表的字符)、\xhh(1-2位十六进制数代表的字符)。

5.getchar和putchar(cin.get(ch)、cin.put(ch))。

bool

1.直接输出时输出的是1/0。可使用boolalpha输出true/false。

cout<<boolalpha<<B<<endl;

2.用任何非零值赋值,值都为1。

变量

1.C艹用“{}”统一了初始化方式。

2.auto必须通过初始化推断变量的类型。

3.用decltype声明变量:

int x;
decltype(x) y;    //因为x是int类型,推断y也是。

4.骆驼命名法:同java。(要求常量全部大写(如果多单词用_连接)。)

5.变量四要素:名字、类型、变量、值。

6.bool b=3;定义了bool类型的变量b并给它赋了初值true。(A)

        A.对    B.错

常量

1.常量分为字面常量(如88,1.76……)和命名常量(如const bool ggad=true或define;对使用较为频繁的字面常量进行命名,但必须初始化)。

2.常量87.363的数据类型是float(B)

        A.对    B.错

运算符&表达式

1.运算符表示对数据(变量、常量)的操作,运算符操作的数据被称为操作数。两者构成表达式。

2.运算符按操作数个数分为一元、二元、三元。条件运算符是唯一的三元运算符(可以嵌套)。

3.标准输入输出对象都是左结合的。

注释

1.注释可以出现在任何合适的地方。

2.注释不参与编译,也不会出现在目标程序中。

字符处理函数

1.头文件<cctype>

2.分为字符分类函数(真1假0)和字符大小写转换函数,都具有int类型参数并返回int类型值。

int isdigit(int ch);
int isxdigit(int ch);    //判断是否为十六进制数

int isalpha(int ch);
int isalnum(int ch);    //判断是否为字母或数字

int ispunct(int ch);    //判断是否为标点符号
int iscntrl(int ch);    //判断是否为控制字符(控制字符不可打印)

int isspace(int ch);    //判断是否空白
int isgraph(int ch);    //判断是否可打印(不包括空格)
int isprint(int ch);    //判断是否可打印(包括空格)


int islowwer(int ch);
int isupper(int ch);

int tolowwer(int ch);
int toupper(int ch);
//如果ch不是字母,保持原值不变。

数组

1.数组是复合数据类型,基本性质是有序同质。

2.数组是一组相关变量(数组元素)的集合。其中每个元素都具有相同的名字,只是下标不同(内存中顺序存放)。

3.两个同类型数组不能使用赋值运算符直接复制。必须遍历,且要求目标数组长度大于等于被复制的数组。

4.二维数组在内存中是按行存放的。先存放第一行元素,再存放第二行元素,……(以此类推)。每一行元素是按照列顺序存放的。

5.声明二维数组时,如果给定了数组初始化式,行长度可以省略(列不行)。

6.两个指针指向同一个数组中的元素时可使用关系运算符进行比较,结果取决于数组元素的相对位置。

7.自增自减运算符优先级高于解引用运算符。

声明指针数组

int MorisawaChiaki,HakazeKaoru,SenaIzumi;
int *p[3];
p[0]=&HakazeKaoru,p[1]=&SenaIzumi,p[2]=MorisawaChiaki;

动态内存分配

1.动态分配的内存空间通常称为堆(Heap)。

2.用一个指针指向动态分配的内存空间,通过对指针的操作,就可以使用这个内存空间了。(使用new和delete运算符)

bool *ggad=new bool;
*ggad=true;

int *SakumaRei=new int(20);
int *HakazeKaoru=new int{19};
delete SakumaRei;
SakumaRei=HakazeKaoru;
int *EccentricPartyNight=new int[55555];
delete EccentricPartyNight;

3.使用new动态分配内存不成功时抛出bad_alloc异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值