- 46.00 KB
- 2022-08-11 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
VC++6.0学习笔记进入方法:1、建立一个工程文件——新建——(选择)工程——(选择)Win32ConsoleApplication——位置(选择存贮的位置)——工程名称(要用字母、英文、或拼音都可以)——一路确定到完成2、建立一个文件文件——新建——(选择)文件——(选择)C++SourceFile——文件名(要用字母、英文、或拼音都可以)——确定一、一个简单的程序:#includemain(){printf("Helloeveryone!!\n");(\n表示换行)}注意:每写完一个程序必需先编译(快捷键是:ctrl+F7)然后再输出(快捷键是ctrl+F5)程序:连续执行的一条条指令的集合称为“程序”对于计算机来说,它不能识别由高级语言编写的程序,它只能接受和处理由0和1的代码构成的二进制指令或数据,由于这种形式的指令是面向机器的,因此也被称为“机器语言”所以所有的高级语言编写的程序都要经过编译,编译成二进制代码,这种具有翻译功能的软件称为编译程序。1.1.2程序设计1、确定数据结构:就是数也数这间的关系列。2、确定算法:3、编码:4、在计算机上调试程序:5、整理并写出文档资料:1.2算法定义:是指为了解决某个特定的问题而采取的确定且有限的步骤。1、有穷性2、确定性3、可行性4、有零个或多个输入5、有一个或多个输出1.3结构化程序设计模快化结构结构化程序由三种基本的结构组成1、顺序结构2、选择结构3、循环结构(分为单性循环、直道循环)练习题:1、计算机能直接执行的程序是()A)源程序B)目标程序C)汇编程序D)可执行程序源程序:由高级语言编写的代码叫做源程序。2、以下叙实中正确的是\nA)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用的数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整一个简单的程序#includemain(){doublea,b,area;a=1.2,b=3.6;/*将矩形的两条边长分别赋给a和b变量*/area=a*b;printf("a=%f,b=%f,auea=%f\n",a,b,area);/*输出矩形的两条边长和面积*/}主意:C语言中一定要区分大小写字母。#include(表示头文件)main()(表示主函数)一个程序是由多个函数组成的,而任何一个程序都要有一个主函数,有且只有一个,任何程序都是由主函数开始执行的。{}他们都是成对出现,表示主函数的主体部分,包括定义部分和执行部分。它们中的语句,每一条必须由;结束。;是C语句的一个组成部分而不是一个结束标识。/**/注释符。注释符一定要成对出现,不允许嵌套。两个符号间的语句不被执行。double(表示“双”的意思。也就是双精度。)float(表示“单”的意思。也就是单精度。)printf(表示输出)练习题:1、以下叙述正确的是()A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完2、以下叙述正确的是()A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中2.2标识符,常量,变量2.2.1标识符:定义:由字母,数字和下划线组成,并且第一个字符必须为字母或下划线的。这样的组成就是标识符。标识符的分类有:(关键字“如ifdoubleint等等不能用作它作。”、预定义标识符“如printfscanf等等、用户标识符“用户根据自己的需求来定义的。)2.2.2常量:定义:是指在程序的执行的过程中,其值不会被改变的量分类:整型常量:没有小数的常量。如391234等等都是常量实型常量;有小数点的常量。如3.93.0字符常量:量单个字符组成的量。如‘a’‘b’‘3’\n字符串常量:至少由一个字符组成的量。如“a”“abc”“Beijing”符号常量:符号常量的值到底是多少,这是由在来定义符号常量时来决定的。2.3整型常量与实型常量整型常量的几个表示方法十进制数:就是我们日常用的数字。八进制数:以0开头的数字,由0~7组成。十六进制数:以0x开头,由0~9和A~F组成。实型常量:(分为小数形式、指数型式)小数形式:123.4指数形式:1.234e2注意:1、字母e和E之前必须要有数字。2、字母e和E之后的数字必须是整数。3、字母e数字之间不能有空格。变量定义:在程序的运行过程中其值可以被改变的量,就叫做变量。原则:变量必须先定义后使用,变量定义的过程就是给变量开辟存储单元的过程。分类:整型变量:用关键字ing来表示。Shortint短整型Longint长整型在内存中占4个字节如123LUnsigned无符号如有-200u这就是错的。变量的定义:inta这是定义了一个整型变量。实型变量:用关键字double或float来表示。float单精度在内存中占4个字节。double双精度在内存中占8个字节。算术表达式一、基本的算术运算符:+-*/%这些是双目运算符(就是指操作对象有两个)。注意:除%外,其它的运算符的运算对像可以是整型也可以是实型。%的操作对象只能是整型。如10%3=110.7%3+-也可能做为单目运算。如-5.4(表示负数)+4.9(表示正数)说明“1、如果双目运算符两边运算数的类型一致,则所得结果的类型与运算数的类型一致。如1.0/2.0=0.51/2=02、如果双目运算符两边运算数的类型不一致,则系统会自动进行类型转换,使两边的类型一致后,再进行运算。如1.0/2=0.53、所有的单精度数据,在运算过程中都以双精度进行运算。二、优先级:()+-*/%+-由高——低。(注明:第一个+-表示正、负)2.6赋值表达式格式:变量名=表达式注:1、不可以颠倒(左边必须是变量名,右边必须是C语言中合法的表达式)2\n、功能就是先求出右边的表达式的值,然后把此值赋给赋值号左边的变量,确切的说是把数据存入该变量为标识的存储单元中去。如a=4a=73、结合性的优先给仅高于逗号表达式,顺序是自右向左的。如a=2+7/34“=”是一个赋值号,不是一个等号。5、X=Y。变量的值也是可以传递和赋值的,它的意思就是将变量Y中的值赋值到X中去,同样N=N+1也成立。6、赋值运算符的左侧只能是变量,不能是常量或表达式a+b=c这就是违法的。7、赋值号的右边也可经是一个赋值表达式。如a=b=7+1表达式与语句的区别:表达式后面加一个分号就是语句。逗号表达式一、定义:用逗号将表达式连接起来的式子称为逗号表达式二、格式:表达式1,表达式2,…….,表达式N三、说明:1、逗号运算符号的结合性为从左到右进行运算,逗号表达式的的值是最后一个表达式的值。2、在所有运算符中,逗号运算符的优先级量低。函数是由{开始,再到}结束。函数体内的前面是由定义和说明部分,后面是语句部分输出语句一、printf函数的一般调用形式格式:print(格式控制,输出项1,输出项2……)在print函数的最后面写上;号就是输出语句。1,给输出项提供输出格试说明格式说明符:作用:就是使数据按格式说明符的要求进行输出。组成:由%号和紧跟在其后的格式描述符组成。int--------%dfloat或double-------%f或%echar--------%c(表示以字符形式输出)2、提供原样输出的文字或字符在””中除了格式说明符之外的内容要全部原样输出。各个输出项之间要用逗号隔开。输出项可以是任意合法的常量,变量或表达式。Print中常用的格式说明在格式说明符中,每一个格式说明符都必须以%号开头由相应的类型标识字母结束,但在他们之间可以有其它的一个内容:%c:输出一个字符%d:输出一个十进制的数据%o:以八进制格式输出%x:以十六进制输出%u:无符号十进制输出%f:以带小数点的数字输出%e:以指数形式输出%s:输出一个字符串%%:输出一个%%4d:输出的数据长度是4个长度,当原来的长度大于4个时会自动突破,小于4\n个时会填充空格。%x.yf:X代表数制的宽度(包括小数点)。Y代表小数点后面的小数位数。输入语句格式:scanf(格式控制,输入项1,输入项2,…….)例如:想通过键盘输入3个数分别给变量a.b.c。并且他们分别为整型,浮点型,双精度型。输入语句为scanf(”%d%f%if”,&k,&a,&y)说明:1、格式说明符与输出语句一样2、在格式串中,必须含有与输入项一一对应的格式转换说明符。3、在VC6.0的环境下,要输入double的型号数据的格式说明符一定要用,否则数据不能正确的输入。4、由于输入是一个字符串,所以当输入的数据少于输入项时,程序会等待用户输入,直到满足要求,当输入的数据多于输入项时,多余的数据会自动作废。关系运算与逻辑运算一、简介关系表达式与逻辑表达式的运算结果都会得到一个逻辑值,就是“真”“假”C语言中0表示“假”,非0(无论是负数还是正数都是真,更多时候用1来代替)表示“真”二、几个简单的关系运算符。<(表示小于)<=(表示小于等于)>(表示大于)>=(表示大于等于)==(表示等于)!=(表示不等于)。注意:1、由两个字符组成的运算符,中间不能用空格。2、它们都是双目运算符,具有自左至右的结合性。3、上面的6个运算符中,前4个的优先级要比后2个的优先级要高。先计算,后判断,最后进行赋值运算三、几个简单的逻辑运算符&&与一假则假||或一真则真!非非假则真,非真则假如:1&&2=1(即表示真。因为1表示真的)0&&6=0(即表示假。因为0表示是假的)if和else的执行在两个数中,只输出一个大数的程序#includemain(){inta,b;printf("请输入两个数");scanf("%d%d",&a,&b);if(amain(){intx;printf("请输入一个数\n");scanf("%d",&x);if(x%3==0)printf("这是一个3的倍数");elseprintf("这不是一个3的倍数");}输入三个数,然后从小排到大的程序#includemain(){inta,b,c,t;printf("inputthreeNo.");scanf("%d%d%d",&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("%d%d%d",a,b,c);}输入一个成绩,然后分出“优、良、差”的程序#include\nmain(){inta;printf("inputscores.");scanf("%d",&a);if(a>60)if(a>90)printf("优\n");elseprintf("良\n");elseprintf("差\n");}输入一个成绩,小于60的显示差,大于或等于90的显示优。其它不显示的程序#includemain(){inta;printf("inputscores.");scanf("%d",&a);if(a>60){if(a>=90)printf("优\n");}elseprintf("差\n");}输入一个成绩,然后判别成绩的等级(1)#includemain(){inta;printf("inputscores.");scanf("%d",&a);if(a>=90)printf("A\n");elseif(a>=80)printf("B\n");elseif(a>=70)printf("C\n");elseif(a>=60)printf("D\n");\nelseprintf("e\n");条件表达式:条件表达式是C语言中唯一的一个三目运算格式:表达式1?表达式2:表达式3当1成立(非零时)时,表达式的值就是2的值,否则就是3的值。如1、1<2?4:5因为1<2所以成立,那输也的值就是43<2?4:5因为3<2不成立,那输出的值就是52、printf(“%d”,x<0?(-1)*++x:x++);(假定x的值为3)因为x的值为3,所以x<0不成立,那输出的值则为x++即3printf(“%d”,x<0?(-1)*++x:x++);(假定x的值为-3)因为x的值为-3,所以x<0成立,那输出的值则为(-1)*++x即23、++x>3?(x<3?a:b):b思考:当x的值为3时,那输出的值就为?注意表达式2里面又含有一个条件表达式输入一个成绩,然后判别成绩的等级(2)#includemain(){inta;printf("inputscores.");scanf("%d",&a);switch(a/10){case10:printf("A\n");break;case9:printf("A\n");break;case8:printf("B\n");break;case7:printf("C\n");break;case6:printf("D\n");break;default:printf("E\n");}}编写程序,输入一位学生的生日,并输入当前的日期,然后输出该生的实际年龄#includevoidmain(){inty0,m0,d0,y1,m1,d1,age;printf("请输入学生的生日(年,月,日):");scanf("%d%d%d",&y0,&m0,&d0);printf("该学生生日是:%d年%d月%d日\n",y0,m0,d0);printf("请输入当前日期(年,月,日):");scanf("%d%d%d",&y1,&m1,&d1);printf("当前日期是:%d年%d月%d日\n",y1,m1,d1);age=y1-y0;if(m1voidmain(){inty0,m0,d0,y1,m1,d1,age;printf("请输入学生的生日(年,月,日):");scanf("%d,%d,%d",&y0,&m0,&d0);printf("该学生生日是:%d年%d月%d日\n",y0,m0,d0);printf("请输入当前日期(年,月,日):");scanf("%d,%d,%d",&y1,&m1,&d1);//中间加逗号才可以输入格式加逗号printf("当前日期是:%d年%d月%d日\n",y1,m1,d1);age=y1-y0;if(m1Voidmain(){inta,b,c;scanf("%d%d%d",&a,&b,&c);if(amain(){inta,b,c;printf("请输入三个数");scanf("%d%d%d",&a,&b,&c);if(bc)printf("最大a=%d",a);if(ac)printf("最大b=%d",b);\nif(ab)printf("最大c=%d",c);}给出三个数,然后输出最大值的程序(方法三)#includemain(){inta,b,c,t;printf("inputthreeNo.");scanf("%d%d%d",&a,&b,&c);if(a>b&&a>c)t=a;if(b>c&&b>a)t=b;if(c>b&&c>a)t=c;printf("%d\n",t);}给出三个数,然后输出最大值的程序(方法四)#includemain(){inta,b,c,t;printf("请输入3个数:\n");scanf("%d%d%d",&a,&b,&c);printf("a=%d,b=%d,c=%d\n",a,b,c);if(a3)时,则执行s=a;这条语句。说明2:while(a<3){a+=s;s=a;}当(a<3)时,则执行a+=s;这条语句。再执行s=a;这条语句。{}里面的语句表示复合语句。程序编写从1加到1000的程序。#includevoidmain()\n{inti,sum;i=1;sum=0;scanf("%d",&i);while(i<1001){sum=sum+i;i++;}printf("%d\n",sum);}while和dowhile的区别是:while是先判断后执行。dowhile是先执行后判断。while执行的是:当……再dowhile执行的是:直到…….就for语句格式:for(表达式1;表达式;表达式3)注:表达式可以是更多个循环体注1:表达式可以省略,但分号不可以。如:for(k=0;k<=10;k++){Printf(“*”)}可以改写成下面的式子k=0for(;k<=10;){printf(“*”);k++;}编程0~100的程序#includemain(){inti,j;for(i=0;i<10;i++){for(j=1;j<10;j++)printf("%d%d",i,j);printf("\n");}}编程乘法口诀程序#includemain(){inti,j;for(i=1;i<10;i++){for(j=1;j<10;j++)printf("%d*%d=%2d",i,j,i*j);printf("\n");}}\n编程输出倒金字星的程序#includemain(){intk,i,j;for(i=0;i<4;i++){for(k=1;k<=i;k++)printf("");for(j=0;j<7-i*2;j++)printf("*");printf("\n");}}编程输出正金字星的程序#includemain(){intk,i,j;for(i=0;i<5;i++){for(k=5;k>=i;k--)printf("");for(j=0;j<1+i*2;j++)printf("*");printf("\n");}}编写程序,找出100以内的质数(1)#includemain(){intk,i,tag;for(i=2;i<=100;i++){tag=0;for(k=2;k#include(表示要调出函数库。因为sqrt是一个数学函数)voidmain()(void表示无值反回){intk,i,tag;for(i=3;i<=100;i+=2){tag=0;for(k=2;k