C++经典例题
东风冷雪提供
/* 1.0用函数模板实现任何两个简单类型数据交换,并给出实例加以验证!(请先预习教材函数模板相关知识) */
#include
using namespace std;
template
void change(T*x,T*y)
{
T temp;
temp=*x;
*x=*y;
*y=temp;
}
int main()
{
int a,b;
float c,d;
cout<<"输入二个整数a,b :";
cin>>a>>b;
change(&a,&b);
cout<<"二个整数交换结果为:"< cout<<"输入二个小数c,d :"; cin>>c>>d; change(&c,&d); cout<<"二个小数交换结果:"< return 0; } /* 2.定义内联函数,判断一个字符是否为数字字符。*/ #include using namespace std; inline void p(char a) { if('0' { cout<<"是数字字符"< } else cout<<"不是数字字符"< } int main() { char s; cout<<"输入一个字符 "; cin>>s; p(s); return 0; } /*3.0 编写三个名为add的重载函数,分别实现两个整数、 两个实数和两个复数相加。*/ #include using namespace std; struct complex { int r_real; int r_imagine; }; typedef struct complex comp; comp e,f; int add(int x,int y) { return x+y; } double add(double x,double y) { return x+y; } void add(comp e,comp f) { int z1,z2; z1=e.r_real+f.r_real; z2=e.r_imagine+f.r_imagine; cout<<"二个复数相加的结果为"< int main() { int a,b; double c,d; cout<<"输入二个整数a,b"<<" "; cin>>a>>b; cout<<"a+b="< cout<<"输入二个实数C和d"<<" "; cin>>c>>d; cout<<"a+b="< cout<<"输入第一个复数的实部与虚部 "; cin>>e.r_real>>e.r_imagine; cout<<"输入第二个复数的实部与虚部 "; cin>>f.r_real>>f.r_imagine; add(e,f); } /*4.0 实现《数据结构》中任意结构中的动态申请空间操作。*/ #include #include using namespace std; struct student { string name; char num [20]; char sex[5]; }; typedef struct student str; int main() { void print(); //动态数组申请 print(); cout< void prstr(); ////动态结构体申请 prstr(); return 0; } void print() { int m,i,j; int *p; cout<<"输入动态数组的长度:"; cout<<"m="; cin>>m; p=new int[m]; cout<<"输入数组的元素:"; for(i=0;i cin>>p[i]; for(j=0;j cout< delete[] p; } void prstr() { int n; int i,j; str st; cout<<"输入结构体数组的个数:"; cout<<"n="; cin>>n; str *p=new str[n]; cout<<"输入student的姓名,学号,性别"< for(i=0;i cin>>p[i].name>>p[i].num>>p[i].sex; for(j=0;j cout< delete []p; } /* 5.输入两个实数,输出其中较大的数。其中求两个实数中的较大数用函数完成,参数传递用引用传参(形参设为引用)。 */ #include using namespace std; int main() { double a,b; double max(double &x,double &y); cout<<"输入二个实数 "; cin>>a>>b; cout<<"max="< return 0; } double max(double &x,double &y) { double m=x>yx:y; return m; } /* 6.0输入3个串,要求按字母由小到大顺序输出,比较串的功能用函数实现。 例如:string s; s="sjdja"; cin>>s; cout< */ #include #include using namespace std; int main() { string s1,s2,s3; cout<<"输入串一:"; cin>>s1; cout<<"输入串二:"; cin>>s2; cout<<"输入串三:"; cin>>s3; void change(string &x,string &y,string &z); change(s1,s2,s3); cout< return 0; } void change(string &x,string &y,string &z) { if(x>y) { string temp1; temp1=y; y=z; z=temp1; } if(x>z) { string temp2; temp2=z; z=x; x=temp2; } if(y>z) { string temp3; temp3=z; z=y; y=temp3; } } 1.在类作用域中能够通过直接使用该类的()成员名进行访问。 A. 私有 B. 公用 C. 保护 D. 任何 答案:D 2.小数类型和浮点类型都可以表示小数,正确说法:( ) A. 两者没有任何区别 B. 小数类型比浮点类型取值范围大 C.小数类型比浮点类型精度高 D. 小数类型比浮点类型精度低 答案:C 3.能作为C#程序的基本单位是( )。 A. 字符 B. 语句 C. 函数 D. 源程序文件 答案:B 4. 可用作C#程序用户标识符的一组标识符是( )。 A. void define +WORD B. a3_b3 _123 YN C. for -abc Case D. 2a DO sizeof 答案:B 5.引用类型主要有4种:类类型、数组类型、接口类型和()。 A.对象类型 B.字符串类型 C.委托类型 D.整数类型 答案:C 6.使用Dirctory类的下列方法,可以获取指定文件夹中的文件的是(). A.Exists() B.GetFiles() C.GetDirectories() D.CreateDirectory() 答案:B 7.加载窗体时触发的事件是( )。 A. Click B.Load C.GotFoucs D.DoubleClick 答案:B 8.改变窗体的标题,需修改的窗体属性是( )。 A. Text B. Name C.Title D. Index 答案:A 9.在接口的成员中,不能包含( ). A.属性 B.方法 C.事件 D.常量 答案:D 10.在C#中定义接口时,使用的关键字是( )。 A.interface B.: C.class D.overrides 答案:A 1.当在程序中执行到语句时,将结束所在循环语句中循环体的一次执行。 答案:continue 2.元素类型为double的2行5列的二维数组共占用字节的存储空间。 答案:80 3.C#数组类型是一种引用类型,所有的数组都是从System命名空间的类继承而来的引用对象。 答案:object 4.枚举是从System. 类继承而来的类型。 答案:Enum 5.一般将类的构造方法声明为访问权限。如果声明为private,就不能创建该类的对象。 答案:public或公有 6.类中声明的属性往往具有get()和两个函数。 答案:set() 7.对于方法,参数传递分为值传递和两种。 一、求一个任意边长的矩形面积。 #include #include C++/C经典笔试题及答案 C++/C试题 本试题仅用于考查C++/C程序员的基本编程技能。内容限于C++/C常用语法,不涉及数据结构、算法以及深奥的语法。考试成绩能反映出考生的编程质量以及对C++/C的理解程度,但不能反映考生的智力和软件开发能力。 笔试时间90分钟。请考生认真答题,切勿轻视。 一、请填写BOOL , float, 指针变量与“零值”比较的 if 语句。(10分)提示:这里“零值”可以是0, 0.0 , FALSE或者“空指针”。例如 int 变量 n 与“零值”比较的 if 语句为: if ( n == 0 ) if ( n != 0 ) 请写出BOOL flag 与“零值”比较的if 语句: 请写出float x 与“零值”比较的if 语句: 请写出char *p 与“零值”比较的if 语句: char str[] = “Hello” ; char *p = str ; int n = 10; 请计算 sizeof (str ) = sizeof ( p ) = sizeof ( n ) =void Func ( char str[100]) { 请计算 sizeof( str ) = } void *p = malloc( 100 );请计算 sizeof ( p ) = 1、头文件中的 ifndef/define/endif 干什么用? 2、#include 1单选题 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、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键 C 语言习题100 例(最新整理版) 习题目录:(按住Ctrl 点击可以快速跳转到对应页面) 【程序1】 (5) 题目:有1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? (5) 【程序2】 (6) 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元 时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%; 40万到60万之间时高于40万元的部分,可提成3%; 60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? (6) 【程序3】 (7) 题目:一个整数,它加上100 后是一个完全平方数,再加上168 又是一个完全平方数,请问该数是多少? (7) 【程序4】 (7) 题目:输入某年某月某日,判断这一天是这一年的第几天? (7) 【程序5】 (8) 题目输入三个整数x,y,z请把这三个数由小到大输出。 (8) 【程序6】 (9) 题目用*号输出字母C的图案。 (9) 【程序7】 (9) 题目:输出特殊图案,请在C环境中运行,看一看,VeryBeautifuI! (9) 【程序8】 (9) 题目:输出9*9 口诀。 (9) 【程序9】 (10) 题目:要求输出国际象棋棋盘。 (10) 【程序10】 (10) 题目:打印楼梯,同时在楼梯上方打印两个笑脸。 (10) 【程序11】 (11) 题目:古典问题:有一对兔子,从出生后第3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? (11) 【程序12】 (11) 题目:判断101-200 之间有多少个素数,并输出所有素数。 (11) 【程序13】 (12) 题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1 的三次方+5的三次方+3的三次方。 (12) 【程序14】 (12) 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5 。 (12) 【程序15】 (13) 题目利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用 C 表示。 (13) 【程序16】 (13) 题目:输入两个正整数m和n ,求其最大公约数和最小公倍数。 (13) 【程序17】 (14) 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。14【程序18】 (14) 《数据结构与算法》复习题 选择题 1.在数据结构中,从逻辑上可以把数据结构分为 C 。 A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指 A 。 A.数据的存储结构 B.数据结构 C 3 A 。 7.算法分析的目的是 C ,算法分析的两个主要方面是 A 。 (1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系 C.分析算法的效率以求改进 C.分析算法的易读性和文档性 (2)A.空间复杂度和时间复杂度 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是 O(n2) 。 s =0; for( I =0; i 15.带头结点的单链表head为空的判定条件是 B 。 A.head == NULL B head->next ==NULL C.head->next ==head D head!=NULL 16.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用 D 存储方式最节省运算时间。 A.单链表 B.给出表头指针的单循环链表 C.双链表 D.带头结点的双循环链表17.需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。 20 21 B 。 22 A.删除单链表中的第一个元素 B.删除单链表中的最后一个元素 C.在单链表第一个元素前插入一个新元素 D.在单链表最后一个元素后插入一个新元素 23.与单链表相比,双链表的优点之一是 D 。 A.插入、删除操作更简单 1、猴子吃桃子:猴子摘下若干个桃子,第一天吃了桃子的一半多一个,以后每天吃了前一天剩下的一半多一个,到第十天吃以前发现只剩下一个桃子,问猴子第一天共摘了几个桃子 #include 东风冷雪提供 /* 1.0用函数模板实现任何两个简单类型数据交换,并给出实例加以验证!(请先预习教材函数模板相关知识) */ #include p(s); return 0; } /*3.0 编写三个名为add的重载函数,分别实现两个整数、 两个实数和两个复数相加。*/ #include C语言习题100例(最新整理版) 习题目录:(按住Ctrl点击可以快速跳转到对应页面) 【程序1】 (5) 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? (5) 【程序2】 (6) 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成 1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? (6) 【程序3】 (7) 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? (7) 【程序4】 (7) 题目:输入某年某月某日,判断这一天是这一年的第几天? (7) 【程序5】 (8) 题目:输入三个整数x,y,z,请把这三个数由小到大输出。 (8) 【程序6】 (9) 题目:用*号输出字母C的图案。 (9) 【程序7】 (9) 题目:输出特殊图案,请在c环境中运行,看一看,VeryBeautiful! (9) 【程序8】 (9) 题目:输出9*9口诀。 (9) 【程序9】 (10) 题目:要求输出国际象棋棋盘。 (10) 【程序10】 (10) 题目:打印楼梯,同时在楼梯上方打印两个笑脸。 (10) 【程序11】 (11) 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? (11) 【程序12】 (11) 题目:判断101-200之间有多少个素数,并输出所有素数。 (11) 【程序13】 (12) 题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 (12) 【程序14】 (12) 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 (12) 【程序15】 (13) 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 (13) 【程序16】 (13) 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 (13) 【程序17】 (14) 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 (14) 【程序18】 (14)C经典习题答案
C语言经典例题和答案
c和c++经典笔试题及答案
C语言练习题(带答案)-绝对经典题目不看后悔
最新版c语言经典习题100例(最全面)
数据结构(C语言)【经典题库】含参考答案
C语言经典例题目解析
C经典例题
最新版c语言经典习题100例(最全面)
C经典编程练习题