对象C++例

合集下载

C语言程序设计50例(经典收藏)

C语言程序设计50例(经典收藏)

C语言程序设计50例(经典收藏)各位读友大家好,此文档由网络收集而来,欢迎您下载,谢谢C语言程序设计50例(经典收藏)【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:复制代码代码如下:#include ““#include ““main(){int i,j,k;printf(“\n”);for(i=1;i2) /*如果是闰年且月份大于2,总天数应该加一天*/sum++;printf(“It is the %dth day.”,sum);getch();}============================== ============================== ==【程序5】题目:输入三个整数x,y,z,请把这三个数由小到大输出。

1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z 则将x与z的值进行交换,这样能使x 最小。

2.程序源代码:复制代码代码如下:#include ““#include ““main(){int x,y,z,t;scanf(“%d%d%d”,&x,&y,&z);if (x>y){t=x;x=y;y=t;} /*交换x,y的值*/if(x>z){t=z;z=x;x=t;} /*交换x,z的值*/if(y>z){t=y;y=z;z=t;} /*交换z,y的值*/printf(“small to big: %d %d %d\n”,x,y,z);getch();}============================================================ ==【程序6】题目:用*号输出字母C的图案。

C#实例的Gettype(),和类的typeof(),反射获取类的对象,调用方法

C#实例的Gettype(),和类的typeof(),反射获取类的对象,调用方法

C#实例的Gettype(),和类的typeof(),反射获取类的对象,调⽤⽅法都是为了获取类的引⽤的数据类型System.Type。

1、GetType()⽅法继承⾃Object,所以C#中任何对象都具有GetType()⽅法,x.GetType(),其中x为变量名2、typeof(x)中的x,必须是具体的类名、类型名称等,不可以是变量名称3、System.Type.GetType(),有两个重载⽅法⽐如有这样⼀个变量i:Int16 i = new Int16();使⽤GetType(),i.GetType()返回值是Int16的类型,但是⽆法使⽤typeof(i),因为i是⼀个变量,使⽤typeof(),则只能:typeof(Int32),返回的同样是Int16的类型。

枚举类的转换,String——枚举类,以串⼝中Parity为例objParity= (Parity)Enum.Parse(typeof(Parity), "9600");获取类的Type属性,除了上⾯的使⽤实例获取,或者typeof,还有⼀种提供类的完整信息字符串,根据类名来获取Type//取得当前⽅法命名空间str += "命名空间名:" + System.Reflection.MethodBase.GetCurrentMethod()space + "\n";//取得当前⽅法类全名包括命名空间str += "类名:" + System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName + "\n";//取得当前⽅法名str += "⽅法名:" + System.Reflection.MethodBase.GetCurrentMethod().Name + "\n"; str += "\n";//取得当前⽅法类全名包括命名空间string classname = System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName; //得到的是命名空间.类Type type = Type.GetType(classname); // 通过类名获取同名类object obj = System.Activator.CreateInstance(type); // 创建实例连上- 通过⽅法名调⽤⽅法public class Person //类A,⽗类{public string My() //不带参数,有返回{return"我是⼈类";}public virtual string num() //不带参数,有返回,虚⽅法⼦类测试{return"我⼈类没有";}public void Myvoid() //不带参数,⽆返回{ Console.WriteLine("⽆参测试:"+""+Myclass()); }public void Myvoid(string name) //带参数,⽆返回{ Console.WriteLine("有参数测试:" +name) ; }public string Myvoid(string name,string name1) //带参数,有返回{ Console.WriteLine("有参数带返回测试:" + name + name1); return name + name1; }public virtual string Myclass() //虚⽅法返回类名,⼦类测试{ return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName; }//得到的是命名空间.类名,返回该类的名字}public class Student:Person{public override string Myclass(){ return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName; }//得到的是命名空间.类名,返回该类的名字public override string num(){return"我学⽣没有";}}private void Main(){//⽗类测试Person objperson = new Person();//实例person类string classname = objperson.Myclass();Type type = Type.GetType(classname); // 通过类名获取类的type类型//Type type = objperson.GetType(); // 通过实例对象获取类的type类型object obj = System.Activator.CreateInstance(type); // 创建实例string strMethod = "My"; //⽅法名字System.Reflection.MethodInfo method = type.GetMethod(strMethod, new Type[] { }); // 获取⽅法信息object[] parameters = null; //⽆参数string result = (string)method.Invoke(obj, parameters); // 调⽤⽅法,⽆参数,有返回值Console.WriteLine("⽆参返回测试:" + "" + result);strMethod = "num"; //⽅法名字method = type.GetMethod(strMethod, new Type[] { }); // 获取⽅法信息parameters = null; //⽆参数result = (string)method.Invoke(obj, parameters); // 调⽤⽅法,⽆参数,⽆返回值Console.WriteLine("⽆参返回测试,虚⽅法:" + "" + result);strMethod = "Myvoid"; //⽅法名字method = type.GetMethod(strMethod, new Type[] { }); // 获取⽅法信息parameters = null; //⽆参数method.Invoke(obj, parameters); // 调⽤⽅法,⽆参数,⽆返回值strMethod = "Myvoid"; //⽅法名字method = type.GetMethod(strMethod, new Type[] { typeof(string) }); // 获取⽅法信息带⼀个参数parameters = new object[] { "hello" }; //⼀个参数method.Invoke(obj, parameters); // 调⽤⽅法,有参数,⽆返回值strMethod = "Myvoid"; //⽅法名字method = type.GetMethod(strMethod, new Type[] { typeof(string), typeof(string) }); // 获取⽅法信息带两个参数 parameters = new object[] { "hello", "你好" }; //两个参数method.Invoke(obj, parameters); // 调⽤⽅法,有参数,有返回值//⼦类测试Person objstudent = new Student();//实例person类string classname = objstudent.Myclass();Type type = Type.GetType(classname); // 通过类名获取类的type类型//Type type = objstudent.GetType(); // 通过实例对象获取类的type类型object obj = System.Activator.CreateInstance(type); // 创建实例string strMethod = "My"; //⽅法名字System.Reflection.MethodInfo method = type.GetMethod(strMethod, new Type[] { }); // 获取⽅法信息object[] parameters = null; //⽆参数string result = (string)method.Invoke(obj, parameters); // 调⽤⽅法,⽆参数,有返回值Console.WriteLine("⽆参返回测试:" + "" + result);strMethod = "num"; //⽅法名字method = type.GetMethod(strMethod, new Type[] { }); // 获取⽅法信息parameters = null; //⽆参数result = (string)method.Invoke(obj, parameters); // 调⽤⽅法,⽆参数,⽆返回值Console.WriteLine("⽆参返回测试,虚⽅法:" + "" + result);strMethod = "Myvoid"; //⽅法名字method = type.GetMethod(strMethod, new Type[] { }); // 获取⽅法信息parameters = null; //⽆参数method.Invoke(obj, parameters); // 调⽤⽅法,⽆参数,⽆返回值strMethod = "Myvoid"; //⽅法名字method = type.GetMethod(strMethod, new Type[] { typeof(string) }); // 获取⽅法信息带⼀个参数parameters = new object[] { "hello" }; //⼀个参数method.Invoke(obj, parameters); // 调⽤⽅法,有参数,⽆返回值strMethod = "Myvoid"; //⽅法名字method = type.GetMethod(strMethod, new Type[] { typeof(string), typeof(string) }); // 获取⽅法信息带两个参数 parameters = new object[] { "hello", "你好" }; //两个参数method.Invoke(obj, parameters); // 调⽤⽅法,有参数,有返回值}结果显⽰:Object对象转为实体类对象private T ConvertObject<T>(object asObject) where T : new(){//创建实体对象实例var t = Activator.CreateInstance<T>();if (asObject != null){Type type = asObject.GetType();//遍历实体对象属性foreach (var info in typeof(T).GetProperties()){object obj = null;//取得object对象中此属性的值var val = type.GetProperty()?.GetValue(asObject);if (val != null){//⾮泛型if (!info.PropertyType.IsGenericType)obj = Convert.ChangeType(val, info.PropertyType);else//泛型Nullable<>{Type genericTypeDefinition = info.PropertyType.GetGenericTypeDefinition();if (genericTypeDefinition == typeof(Nullable<>)){obj = Convert.ChangeType(val, Nullable.GetUnderlyingType(info.PropertyType)); }else{obj = Convert.ChangeType(val, info.PropertyType);}}info.SetValue(t, obj, null);}}}return t;}。

c#中LINQ的基本用法实例

c#中LINQ的基本用法实例

c#中LINQ的基本⽤法实例⼀、什么是LINQLINQ(读⾳link)代表语⾔集成查询(Language Integrated Query),是.NEt框架的扩展,它允许我们⽤SQL查询数据库的⽅式来查询数据的集合,使⽤它,你可以从数据库、程序对象的集合以及XML⽂档中查询数据下⾯⼀个简单的⽰例,可以查询数组中⼩于8的数字并输出。

⼀般步骤:获取数据源、创建查询、执⾏查询。

需要注意的是,尽管查询在语句中定义,但直到最后的foreach语句请求其结果的时候才会执⾏using System;using System.Collections.Generic;using System.Linq;namespace LINK查询{class Program{static void Main(string[] args){int[] number = { 2, 4, 6, 8, 10 }; //获取数据源IEnumerable<int> lowNum = from n in number //创建并存储查询,不会执⾏操作where n < 8select n;foreach(var val in lowNum) //执⾏查询{Console.Write("{0} ", val);}Console.ReadKey();}}}⼆、查询表达式的结构查询表达式由查询体后的from⼦句组成,其⼦句必须按⼀定的顺序出现,并且from⼦句和select⼦句这两部分是必须的。

先介绍⼀下⼦句2.1 from⼦句from⼦句指定了要作为数据源使⽤的数据集合,它的语法是:from Type Item in Items其中Type是集合中元素的类型,是可选的,因为编译器可以从集合来推断类型。

Item是迭代变量的名字。

Items是要查询的集合的名字,必须是可枚举类型的它和foreach⽐较相似,但foreach语句在遇到代码时就执⾏其主体,⼆from⼦句什么也不执⾏。

C语言程序设计100例之(17):百灯判亮

C语言程序设计100例之(17):百灯判亮

C语言程序设计100例之(17):百灯判亮例17 百灯判亮问题描述有序号为1、2、3、…、99、100的100盏灯从左至右排成一横行,且每盏灯各由一个拉线开关控制着,最初它们全呈关闭状态。

有100个小朋友,第1位走过来把凡是序号为1的倍数的电灯开关拉一下;接着第2位小朋友走过来,把凡是序号为2的倍数的电灯开关拉一下;第3位小朋友走过来,把凡是序号为3的倍数的电灯开关拉一下;如此下去,直到第100个小朋友把序号为100的电灯开关拉一下。

问这样做过一遍之后,哪些序号的电灯是亮着的?输入格式每行测试数据是一个正整数n,代表第n盏灯。

输出格式每行输出第n盏灯的状态,0代表灯是熄灭的,1代表灯是亮的。

输入样例15输出样例1(1)编程思路1。

要判定哪些序号的灯是亮的,需要知道100个小朋友操作过后,每盏灯的拉线开关被拉的次数,这样凡是被拉了奇数次开关的灯最后就是亮的。

为了保存每盏灯的拉线开关被拉的次数,需要定义一个一维数组int a[101];用数组元素a[1]~a[100]保存1~100号灯的开关被拉的次数(初始值为0,表示开关没有被拉1次)。

程序用一个二重循环来模拟小朋友的操作过程。

外循环控制小朋友从1~100,对于第i 个小朋友,他拉第i、2i、3i…号灯的拉线开关的操作构成内循环。

具体描述为:for (child=1;child<=100;child++) // 小朋友从1~100for (lamp=child;lamp<=100;lamp+=child) // 第i个小朋友从第i号灯开始操作a[lamp]++;经过循环模拟小朋友拉开关的动作后,判定元素a[i]的奇偶性,如果a[i]为奇数,则第i 盏灯是亮的。

(2)源程序1。

#include <stdio.h>int main(){int a[101],child,lamp; // a[1]~a[100]保存1~100盏灯的开关被拉的次数for (lamp=0;lamp<=100;lamp++)a[lamp]=0;for (child=1;child<=100;child++)for (lamp=child;lamp<=100;lamp+=child)a[lamp]++;int n;while (scanf("%d",&n)!=EOF){if (a[n]%2)printf("1\n");elseprintf("0\n");}return 0;}(3)编程思路2。

C语言中的一些基本算法与实例

C语言中的一些基本算法与实例

注意:切勿先计算 xn 及 n!,然后计算 它们的商。因为它们均可能是非常大的 数,尤其是整数n!可能溢出;再做除法, 又可能出现更大的误差。
14
符号变量的设计与应用
例1-3 编程实现输入一个整数,判断
其是否能被 3, 5或7整除,并输出以下
信息之一
1.能同时被3, 5, 7整除。
2.能被两个数(要指出哪两个数)整除。
6
程序编译、连接生成可执行文件 可执行文件的运行结果
7
练习
题目描述:假设a、b、c均为整数,且满足a,b, c 大于1,并且小于等于100,找出所有符合条件: “a的平方 + b的平方 = c的平方”的整数组。 输出描述:按a从小到大的顺序输出所有满足条件 的整数组(若a相同,则按b从小到大的顺序输出), 每行一组,每一组数据的输出样式为:3*3 + 4*4 = 5*5 注意:
方法2:将计算与输出相分离
先完成所有的判断然后输出,使计算与输出两 个环节相分离
设计一个标志量与整数n对应,记录n被3, 5, 7整除的
情况。我们约定标志量的
二进制最低位:1表示n能被3整除,0表示n不能被3整除
二进制第2位:1表示n能被5整除,0表示n不能被5整除 二进制第3位:1表示n能被7整除,0表示n不能被7整除
19
int main() { int n; while(1) { cout << ”\n请输入一个整数(负数退出): ”; cin >> n;
if(n<0) break; show_result(n);
} return 0;
}
20
逻辑判断类题型解法
例1-4 夏日炎炎,空调机走俏。5家空调机厂的产 品在一次质量评比活动中分获前5名。评前大家就 已知道E厂的肯定不是第2名和第3名,B厂不是第2 名就是第3名。 A厂的代表猜:E厂的产品稳获第1名。 B厂的代表猜:我厂可能获得第2名。 C厂的代表猜:A厂的质量最差。 D厂的代表猜:C厂的产品不是最好的。 E厂的代表猜:D厂会获得第1名。 评比结果公布后发现,只有获得第1名和第2名的两 个厂的代表猜对了。请编程给出A,B,C,D,E 各是多少名?

C语言程序设计50例(经典收藏)

C语言程序设计50例(经典收藏)

水仙花#include <stdio.h>void main(){int a,b,c,i;for( i=100;i<1000;i++){a=i/100;b=i%100/10;c=i%10;if(a*a*a+b*b*b+c*c*c==i){printf("\n");}}}【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:#include "stdio.h"#include "conio.h"main(){int i,j,k;printf("\n");for(i=1;i<5;i++) /*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}getch();}【程序2】题目:企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按1 0%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

2.程序源代码:#include "stdio.h"#include "conio.h"main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0. 1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);getch();}【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

C语言经典算法100例 31-60

C语言经典算法100例(31-60)【程序31】题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。

2.程序源代码:#includevoid main(){char letter;printf("please input the first letter of someday\n");while ((letter=getch())!='Y')/*当所按字母为Y时才结束*/{ switch (letter){case 'S':printf("please input second letter\n");if((letter=getch())=='a')printf("saturday\n");else if ((letter=getch())=='u')printf("sunday\n");else printf("data error\n");break;case 'F':printf("friday\n");break;case 'M':printf("monday\n");break;case 'T':printf("please input second letter\n");if((letter=getch())=='u')printf("tuesday\n");else if ((letter=getch())=='h')printf("thursday\n");else printf("data error\n");break;case 'W':printf("wednesday\n");break;default: printf("data error\n");}}}==============================================================【程序32】题目:Press any key to change color, do you want to try it. Please hurry up!1.程序分析:2.程序源代码:#includevoid main(void){int color;for (color = 0; color < 8; color++){textbackground(color);/*设置文本的背景颜色*/cprintf("This is color %d\r\n", color);cprintf("Press any key to continue\r\n");getch();/*输入字符看不见*/}}============================================================== 【程序33】题目:学习gotoxy()与clrscr()函数1.程序分析:2.程序源代码:#includevoid main(void){clrscr();/*清屏函数*/textbackground(2);gotoxy(1, 5);/*定位函数*/cprintf("Output at row 5 column 1\n");textbackground(3);gotoxy(20, 10);cprintf("Output at row 10 column 20\n");}============================================================== 【程序34】题目:练习函数调用1. 程序分析:2.程序源代码:#includevoid hello_world(void){printf("Hello, world!\n");}void three_hellos(void){int counter;for (counter = 1; counter <= 3; counter++)hello_world();/*调用此函数*/}void main(void){three_hellos();/*调用此函数*/}============================================================== 【程序35】题目:文本颜色设置1.程序分析:2.程序源代码:#includevoid main(void){int color;for (color = 1; color < 16; color++){textcolor(color);/*设置文本颜色*/cprintf("This is color %d\r\n", color);}textcolor(128 + 15);cprintf("This is blinking\r\n");}============================================================== 【程序36】题目:求100之内的素数1.程序分析:2.程序源代码:#include#include "math.h"#define N 101main(){int i,j,line,a[N];for(i=2;ifor(i=2;i for(j=i+1;j{if(a[i]!=0&&a[j]!=0)if(a[j]%a[i]==0)a[j]=0;}printf("\n");for(i=2,line=0;i{if(a[i]!=0){printf("%5d",a[i]);line++;}if(line==10){printf("\n");line=0;}}}==============================================================【程序37】题目:对10个数进行排序1.程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。

c语言exec的用法实例

c语言exec的用法实例C语言中的exec函数是一个非常有用的函数,它可以用来执行其他程序。

在本文中,我们将详细介绍exec函数的用法,并通过一些实例来说明它的使用方法。

一、什么是exec函数?exec函数是在C语言中用于执行其他程序的函数。

它可以用于执行任何的可执行文件,包括shell脚本和其他编译后的二进制文件。

exec函数会将当前的进程替换为要执行的程序,并在该程序执行完毕后,将控制权返回给原始的进程。

二、exec函数的原型在C语言中,exec函数的原型如下:cint exec(const char *path, char *const argv[]);这个函数接受两个参数,第一个参数是要执行的程序的路径名,第二个参数是要传递给该程序的命令行参数。

exec函数的返回值表示执行是否成功,如果成功则返回0,否则返回-1。

三、exec函数的用法为了更好地理解exec函数,我们将通过一些实例来说明它的用法。

例一:执行一个简单的可执行文件假设我们有一个可执行文件hello,它的功能是在屏幕上打印出"Hello, World!"。

我们可以通过exec函数来执行这个可执行文件,示例代码如下:c#include <unistd.h>#include <stdio.h>int main() {char *const argv[] = {"hello", NULL};exec("./hello", argv);printf("Execution failed!\n");return 0;}在这个例子中,我们首先定义了一个argv数组,用来存放要传递给hello 程序的命令行参数。

然后,我们调用exec函数来执行hello程序,如果执行成功,原始的进程就会被hello程序替换,而printf函数将不会被执行。

object-c初学者中文教程

以下是两个例子: //string1 将被自动释放 NSString* string1 = [NSString string]; //必须在用完后手工释放 NSString* string2 = [[NSString alloc] init]; [string2 release]; 在这里,你可以认为自动释放对象会在当前函数结束的时候被自动释放。 关于内存管理要学的东西很多,但是我们先了解一下其他的概念,这样我们会有更 多的认识。
创建对象
创建对象有两种主要的办法。第一个是之前你看到的: NSString* myString = [NSString string]; 这是一种更加方便自然的方式。通过这种方法,你创建了一个自 动 释 放 (autoreleased)的对象,这一点我们会在后面看到更多的细节。尽管如此,在许多 地方,你可能需要通过手工创建的方式来创建一个对象,如下: NSString* myString = [[NSString alloc] init]; 这是一个嵌套的方法调用。第一个是NSString类本身的alloc方法调用。这是一 个相对低层的调用,它的作用是分配内存及实例化一个对象。 第二个是调用新创建对象的init方法。init方法通常做对象的初始化设置工作, 比如创建实例变量。作为一个类的使用者,你无法知道这些方法的实现细节。 在某些情况下,你可以使用init方法的另外一种版本,这些版本带有输入参数: NSNumber* value = [[NSNumber alloc] initWithFloat:1.0];
在任何情况下,在方括号中代码都意味着你是在给一个对象或者一个类型发送一个 消息(即一个方法调用)。
点操作符
在Mac OS X 10.5中,Objective-C 2.0新增了点操作符的设置器(setter) 和获取器(getter):

flash考试题带答案

flash考试题带答案flash考试题带答案1. ALPHA选项调节实例的透明度,从透明到完全饱和2. 下面哪些是Flash新增的功能? A) 可以导入mp3格式的声音文件。

B) 可以导入视频格式。

C) 增加了层文件夹。

D) 可以把声音设置成流方式。

BC3. 优化曲线还可以减少Flash电影的文件大小,一般来说,优化将产生更少的曲线。

A 正确 B 错误 A4. 柔化线段的操作对直线无效。

A正确B错误 A5.舞台上的任何元素都是可以擦除的,要快速删除舞台上的所有元素,可双击擦除工具。

A正确B错误 A6. 使用擦除工具时,如果在擦除模式中选择Erase Inside,这意味着:A只擦除填充区域,不影响线段和文字。

B只擦除当前选定的区域,线条和文字无论选中与否,均不受影响。

C只擦除被擦除工具最先选中的填充区域,线条和文字均不受影响。

D只擦除线条,填充区域和文字不受影响。

C7. 墨水瓶工具只能应用纯色,而不能应用渐变色或位图图像。

A正确B错误 A8. 在以下控件中可选择十六进制的颜色:A工具箱中的Stroke弹出菜单B工具箱中的Fill弹出菜单C形状属性面板D混色器 ABCD9. 单击工具箱中的Stroke或Fill颜色弹出窗口中的None按钮可以删除任何笔触或填充颜色,不过None按钮只在创建新对象时有效。

A正确B错误 A10. 在混色器面板中,可以指定Alpha值定义颜色的透明度。

A正确B错误 A11.要在混色器面板中选择颜色显示模式,可从面板右上角的弹出菜单中选择RGB或HSB,默认为RGB模式。

A正确B错误 A12. 在使用Paint Bucket工具时,单击Gap Size调整设置,如果选择Don't Close Gaps,这意味着:A可以使 Flash 自动封闭并填充有间隙的区域。

B可以使 Flash 自动封闭并填充有间隙的区域,只是还需进一步选择所封闭的间隙的大小C所有未完全封闭的区域不能被填充颜色。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 用类型说明的类型名,使用时不用冠以类型说明符 例1. typedef enum{red, green, yellow} traffic_light_color struct intersection { traffic_light_color traffic_light; int number_cars_queued; int cumulative_num_cars } intersection networks[50]; ------------------------------------------------------------------------ 枚举值转换为整型值是自动转换,而整型值转换为枚举值需要强制转换 例2 enum name {john, mike, rose, joan} name person1=john; name person2=1; name person2=(enum, name); ------------------------------------------------------------------------ 允许无名联合 例3. union { int i; float f; }; ------------------------------------------------------------------------ 增加了作用域运算符:: 例4. char ch; main() { hide_identifider(); printf(“\n\n global value of oh=%c”, ch); } void hide_identifier() { char ch=‟e‟ printf (“\n the local value of ch=%”, cj); … :: ch=‟a‟ } 输出结果为: the local value of ch=e the global value of ch=a 2

强制类型转换可采用函数形式 例5. long l=(long)f; 可写作: long l=long (f); ------------------------------------------------------------------------ 增加了类型说明new和delete 例6. void creat_string() { int num_char; printf (“how many character in your first_name :”; scanf (“%d, & num_chars); char *name=new char[num_chars+1]; printf (“enter your first name :”); scanf (“%s”, name); printf (“\n\n your first name, %s, is very nice!”, name); delete name; } ------------------------------------------------------------------------ main() { create_string(); … } ------------------------------------------------------------------------ 关于函数部分的给边和扩充 原形函数 例7. main() { int i=4, j=5; function (i, j); } void function (c, d) (原C语言的函数形式) int c, d; { printf (“\n c=%d, d=%d,” c, d) } void function (int c, int d) (C++语言的函数形式)

{ printf (“\n c=%d, d=%d,” c,d); } 3

缺省参数的函数 例8. void func (int a=0, char b=‟c‟, int d=10) { … } 下面的写法都允许 func (12) func(12, „w‟) func ( ) func (12, „kk‟, 30) ------------------------------------------------------------------------ 允许不限定参数个数的函数定义 例9. int print (char * …) ------------------------------------------------------------------------ 内联函数说明 例10. main() { int i=4, j=5; inline function (i, j); } void function (int a, int b) { … } ------------------------------------------------------------------------ 关于函数调用市的参数传递——引用类型 例11.(用C语言写交换两个字符的函数) void swap (v1, v2) int *v1, *v2; { int temp; temp = *v; *v1 = *v2, *v2 = temp; } main() { int i=7, j=8; swap (&i, &j); … } 4

(用C++语言写交换两个字符的函数) void swap (int& v1, int& v2) { int temp; temp = v1; v1 = v2; v2 =temp } main() { int i=7, j=8; swap (i, j); …. } ------------------------------------------------------------------------ 关于函数名重载 例12.(使用C语言的情况) int cube (int number) float fcube (float number) double dcube (double number) (使用C++语言的情况) int cube (int number) float cube (float number) double cube (double number) 5

类、对象和消息 class { [private: ] [protected: ] [public: ] }[对象表]; ------------------------------------------------------------------------ 例1.(类的说明) class point { private: int x; int y; public: int getx(){return x;} } ------------------------------------------------------------------------ class point { int x, y; public: int getx(); }; int point :: getx(){return x;} ------------------------------------------------------------------------ 例2.(对象的定义) point origin; point row[80]; point *point_ptr;

vector multiply (vector & v1, vector & v2) { … } ------------------------------------------------------------------------ 例3.(向对象发消息) origin . getx(); point_ptr → getx(); 6

构造函数和析构函数 例4. class point{ int x, y; public: int getx() {return x;} point (int a, int b); point (char a, char b); } point :: point (int a, int b) { x=a; y=b; } point :: point (char a, char b) { x= int (a); y= int (b); } ------------------------------------------------------------------------ 例5.(一个整数栈类的说明) class stack { private: int *top; int *bottom; public: stack() {top=bottom=new int [100];} void push (int c){if ((top_bottom)<100)*top++=c;} int pop() {if (--top>=bottom) return *top; } ~ stack () {delete bottom;} }; ------------------------------------------------------------------------ 使用整数栈类的例子——字母顺序反向 main() { char your_string[20]; printf (“\n enter your string:”); scanf (“%s”, your_string); printf (“\n your string is reversed %s”, reverse_str(your_string)); } ------------------------------------------------------------------------ char *reverse_str(char *string); { stack s; char *re_ptr; for (int i=0; ire_ptr=new char[strlen(string+1)];

相关文档
最新文档