为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

二级C语言

2013-05-16 50页 ppt 1MB 23阅读

用户头像

is_804852

暂无简介

举报
二级C语言nullnull全国计算机等级考试 二级C语言SULNCRE——全国计算机等级考试NCRE——全国计算机等级考试NCRE分4个级别: 1级:B类、MS-OFFICE、 WPS Office 2级: C、C++、VB、java、Delphi和VFP、Access 3级:网络技术、数据库技术、信息技术、PC技术 4级:网络技术工程师、数据库技术工程师、软件测试工程师 二级C语言考试时间、形式、内容二级C语言考试时间、形式、内容时间:(1)上半年:3月倒数第一个周六 (2)下半年:9月倒数第二个周六 形式:笔试+上...
二级C语言
nullnull全国计算机等级考试 二级C语言SULNCRE——全国计算机等级考试NCRE——全国计算机等级考试NCRE分4个级别: 1级:B类、MS-OFFICE、 WPS Office 2级: C、C++、VB、java、Delphi和VFP、Access 3级:网络技术、数据库技术、信息技术、PC技术 4级:网络技术工程师、数据库技术工程师、软件测试工程师 二级C语言考试时间、形式、内容二级C语言考试时间、形式、内容时间:(1)上半年:3月倒数第一个周六 (2)下半年:9月倒数第二个周六 形式:笔试+上机 笔试:选择、填空(C语言70分,公共基础30分) 内容: 上机:填空、改错、编程(30分、 30分、40分、 ) nullnull#incolude main() { int a,b,sum; a=12; b=23; sum = a+b; printf(“%d” , sum); }1.1 简单C程序之两数求和null#include main() { double a,b,area ; a=1.2; b=3.6; area = a * b; printf(“a=%f, b=%f, area = %f\n” , a, b, area); }>输出: A=1.200000, b=3.600000,area=4.320000<1.2 简单C程序之求矩形面积nullnullnull 要使程序运行必须经过以下步骤: C源程序目标文件可执行文件编译链接.C.OBJ.exe(二进制文件)不可运行不可运行可运行编译链接运行1.3 程序运行前提null1.任何一个程序有且仅有一个主函数,格式为 main() { 语句1; 语句2;。。。。。。 } 2.程序执行从main开始,在main中结束 3.任何变量必须在使用前定义,也就是先定义后使用 4.C程序由语句组成,每一个语句最后都必须有一个“;”(15分) 5.注释不是C语言,不占时间 6./* */为注释,不能嵌套使用 7.书写格式自由,可以从任意一列开始书写 8.先编译,再链接,最后运行 例: /*This is the main运行/* of example1.1*/ */ 1.4 简单C程序总结null<>1.5 算法的概念 为解决一个问而采取的方法和步骤,就称为算法。例如:建造房子的步骤。 算法核心是解决“做什么”和“怎么做”的问题。 例如:求1……4之积。 可以有多种方法,一般采用简单和运算步骤少的。准确、高效求1*2*3*4 步骤1:先求1*2,得到结果2 步骤2:将步骤1得到的结果2乘以3,得到结果6 步骤3:将步骤2得到的结果6乘以4,得到结果24 null<>Nikiklaus Wirth提出: 教材认为: 程序=算法+数据结构+程序方法+语言工具和环境 灵魂加工对象工具程序设计的内容: 确定数据结构 取定算法 编码 调试程序 整理并写出文档资料 null<>1.6 算法的特性 有穷性—在合理范围内可完成 确定性—无歧义性 有零个或多个输入—从外界得到信息 有一个或多个输出—问题的 有效性—每步有确定的结果null>1.7 算法表示 自然语言表示 如上面的例子,易懂,文字冗长,易歧义性 图表示 用流程图符号构成,直观,易懂 N-S流程图表示 伪代码表示(英语国家常用) 计算机语言表示结构化程序设计 基本思想:任何程序都可以用三种基本结构表示: 顺序结构、选择结构、循环结构 结构化程序:由三种基本结构反复嵌套构成的程序 <三种基本结构 顺序结构1.8 结构化程序null>选择结构二分支选择结构多分支选择结构循环结构当型循环结构直到型循环结构 三种基本结构的共同特点: 只有一个入口; 只有一个出口; 结构内的每一部分都有机会被执行到; 结构内不存在“死循环”。 结构化程序:用三种基本结构组成的程序 基本设计思路: 复杂问题分解成 几个最基本问题,再分别处理。 采用的方法: 自顶向下; 逐步细化; 模块化设计:复杂问题按功能分成多个子模块 结构化编码:正确采用三种基本结构实现<1.9 结构化程序设计方法 null习题: 1.P6 2. main() { int a ,b; a = 0; b = 0; a = 10; /*给a幅值 b = 20; 给b幅值*/ printf(“a+b =%d” , a+b); }标识符之一标识符之一标识符: 用来标识变量、符号常量、数组、函数的名字。 组成: 字母、数字、下划线组成。 第一个字符只能是字母或下划线。 大小写字母含义不同,一般用小写。 $11, x,m1,WA-11, average,k123, 5AN, _1 , πnull关键字: C语言中预定义的具有特定含义的词, 也称保留字,不可以做用户标识符关键字:P263(int ,double,float) 注意:在C语言中,关键字都是小写的。 标识符之二预定义标识符:可以做用户标识符,将失去原有意义 (printf,scanf,include,define)用户标识符字母、数字、下划线,且不以数字开头 不能是关键字练习:以下各标识符组中, 合法的用户标识符分别为:练习:以下各标识符组中, 合法的用户标识符分别为:(1) A) PAd B) scanf C) void D) 4a P#D a10 max temp (2) A) b-b B) CCP C) hiy D) _isw abc float INT (3) A) _0123 B) del_word C) list D) keep% ssiped signed *jer wind√√√null<>常量 定义:程序运行过程中,其值不能被改变的量(常数) 分类:直接常量、符号常量 常量、变量与符号常量null<>变量 定义:程序运行过程中,其值可以改变的量。 定义格式:数据类型 变量名;(int a,b;) 只是开辟存储单元,而没有放入任何值 必须先定义后使用 变量名和变量值有不同的含义例 变量的使用 main() { int a; a=3; printf(“a=%d",a); }null #include #define PI 3.1415926 void main( ) { double r, s ; /*定义变量类型为实型*/ r=5.0; /*输入r的值*/ s=PI*r*r ; l=2*PI*r ; printf(“%f”, s ); }求半径为r的圆面积符号常量 null符号常量: 用标识符表示的常量 格式: #define 标识符 常量 功能: 用该标识符代表后面的常量值 例: #define PI 3.1415926 #define STAR ‘*’ 预处理命令#define也称为宏定义, 一个#define命令只能定义一个符号常量, 用一行书写, 不用分号结尾。null符号常量笔记: 符号常量既可以大写也可以小写,但习惯用大写 它不是C语言,不占运行时间,不接分号 在程序中, 符号常量不允许重新赋值。 例: #define PI 3.1415926 程序中 PI=5.6; ×null<>C语言数据类型null>整型数据 整型常量(整常数)的三种表示方法 十进制整数:由数字0~9和正负号表示. 如 123,-456,0 八进制整数:由数字0开头,后跟数字0~7表示. 如 0123,011 十六进制整数:由0x开头,后跟0~9,a~f(A~F)表示. 如 0x123,0xff<注意:没有直接表示二进制的方法哪些表示不合法:75,017,018,0xfa,0XFa,0XffA, ,029,1101Bnull>整型变量 先定义后使用 int a,b; ( 指定变量a、b为整型 ) unsigned short c, d; (指定变量c、d为无符号短整型 ) long e,f; ( 指定变量e、f为长整型) <仅仅开辟了存储单元,但存储单元中没有存放任何初值,使用前必须赋值定义的同时赋初值 int I =1,j=0,k=2;null>整形数据的分类 三类整型<可以在整形常量的后面加一个字母l或L,使得其在内存中占4个字节。(123L,0l) 无符号整数在数的末尾应该加上u或U(123LU,34U)所占内存大小null<>字节和位 每个二进位的值只能是0或1 一个字节由8个二进制位组成整形数据的存储null<>有符号整数的存储——原码、反码和补码 正数:原码、反码、补码相同 负数: 原码:最高位为符号位,其余各位为数值本身的绝对值 反码: 负数:符号位不变,其余位取反 补码: 负数:符号位不变,其余位取反加1null<>无符号整数的存储 最高位不再是符号位,每个位都存放数据 负数的补码转换成十进制数例 补码:11111001 取反:10000110 减1: -6-1 = -7符号位不变,其余位取反,最后减1null<>实型数据(又称浮点数、实数) 实型常量: 带有小数部分的数 两种表示方法: 十进制小数形式(小数点前面或者后面可以没有数字,但不能同时没有数字) 如 0.123 、.123 、123.0 、0.0 、123. 指数形式:(e前e后必有数,e后必为整数) 如 123.456e0、12.3456e1 、1.23456e2 、 0.123456e3 、0.0123456e4 等null>练习<以下哪些不是合法的实型常量 1.234e2.0 、.123 、123.456e、 123.0 、.0 、123. e1 、0.0e3 、0.0123456e4 18E-3、7.E-003 null>实型变量-浮点型变量 + .314159 1数符小数部分指数实型变量的分类float x,y; (指定x、y为单精度浮点型变量) double z; (指定z为双精度浮点型变量)<实型数据在内存中的存放形式 在内存中分成3部分,指数为2的幂次null实型数据注意事项: 1.小数形式:小数点前面或者后面可以没有数字,但不能同时没有数字 2.指数形式: e前e后必有数,e后必为整数 3.C语言中实型变量分为单精度和双精度两种 4.实型变量只能存放实型数,不能用整形变量存放实数,也不能用实型变量存放整数。 double x = 5.0 ,y =60; 5.在计算机中,实数以指数形式存放,所有运算以double形式进行。 null>算术运算符和算术表达式优先级与结合性<优先级:规定先计算谁(运算符级别不同的情况下) ()---> + - ---->* / % -----> + - (正负号) (加减号) (5+1)/2 3+4*5/8 结合性:规定运算符的运算对象(运算符级别相同的情况下) 5*2*3/3 算术表达式 用算术运算符和/或圆括号将算术运算数连接起来的、符合C语言语法的表达式 切记:每一个表达式都是有结果的null>强制转换 一般形式:(类型名)(表达式) 例:(int)3.6 (double)(3/2) a = (int)(2.7+3.5) b = (int)2.1 + 3.5 说明:强制转换得到 所需类型的新变量, 原变量类型不变 例3.8 #include main() { float x; int i; x=3.6; i=(int)x; printf(“x=%f,i=%d”,x,i); } <赋值运算符> <表达式> 作用:将一个表达式的值(或常量)赋给左边的变量,赋值表达式的值与变量值相等 左侧必须是变量,不能是常量或表达式 定义时不能嵌套赋值 (×) a=b=c=5 a=(b=5)//表达式值为5,a,b,c值为5// b=5;a=5int a,b; a=b;c=a+2; a+1 = 3;null<>连续赋值int a , b , c ; a=b=c=1 ;(×)定义时不能连续赋值null复合赋值运算符 种类:+= -= *= /= %= 含义: exp1 op= exp2  exp1 = exp1 op exp2类型转换(算术运算转换规则、赋值转换规则) 赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型int i; i=2.56; //结果i=2; float f ; int i=10; f=i;则 f=10.0null练习 求各变量的值 int a =(int)3.6 ; double b =(int)3.6; double c = (double)(3/2)+2*3; double d = (int)(2.7+3.5); double e = (int)2.1 + 3.5; int f = (int)2.1 + 3.5; int g = 0; g += 3.6*2; null>自增、自减运算符++ -- 作用:使变量值加1或减1 种类: 前置 ++i, --i (先执行i+1或i-1,再使用i值) 后置 i++,i-- (先使用i值,再执行i+1或i-1)例 j=3; k=++j; j=3; k=j++; j=3; printf(“%d”,++j); j=3; printf(“%d”,j++); a=3;b=5;c=(++a)*b; a=3;b=5;c=(a++)*b; //k=4,j=4//k=3,j=4//4,j=4//3,j=4//c=20,a=4//c=15,a=4<++ -- 不能用于常量和表达式,如 5++,(a+b)++null>一个有点挑战的问题main() { int m=12,n=34; printf(“%d%d”,m++,++n); printf (“%d%d”,n++,++m); }//12353514逗号运算符和逗号表达式 形式:表达式1,表达式2,……表达式n 结合性:从左向右 优先级: 级别最低(比“赋值”还低) 逗号表达式的值:等于最后一个表达式的值例 a=3*5,a*4; a=3*5,a*4,a+5; 例 x=(a=3,6*3) x=a=3,6*a 例 a=1;b=2;c=3; printf(“%d,%d,%d”,a,b,c); printf(“%d,%d,%d”,(a,b,c),b,c); //a=15,表达式值60//a=15,表达式值20//赋值表达式,表达式值18,x=18//逗号表达式,表达式值18,x=3//1,2,3//3,2,3逗号表达式使用 main() { int x,y=7; float z=4; x=(y=y+6,y/z); printf("x=%d\n",x); }<顺序结构与数据输入输出顺序结构与数据输入输出数据输入输出的概念数据的输出数据的输入null<> 语句:符合C语言语法的以“;”结尾的表达式 表达式语句:由表达式加“ ; ”组成 典型的是赋值语句,由赋值表达式加分号构成 y=x+1是表达式,而y=x+1;则是赋值语句。 a=3 ; i++ ;什么是语句null<>数据输入输出的概念输入输出函数 putchar 输出字符, scanf 格式输入,puts 输出字符串 getchar 输入字符, printf 格式输出,gets 输入字符串所谓数据的输入输出是从计算机角度出发的。 C语言的标准库函数 由编译系统提供的一系列函数,以库形式存放在系统中,不是C语言文本的组成部分。 注意在调用C语言库函数时,需要使用编译预处理命令#include <相关的头文件>,使相应的头文件包含到用户源程序中。 #include null<>格式化输出(printf) printf函数(格式输出函数) printf函数的一般格式格式: printf( 格式控制,输出项1,输出项2……); 格式控制:用双引号括起来的字符串,包含两种信息 格式说明:%[修饰符]格式字符,指定输出格式 普通字符:原样输出 输出表列:要输出的数据,可以是变量或表达式,可以没有,多个时以“,”分隔)例: printf( “%d %d”,a,b); printf( “a=%d b= %d”,a,b); null格式说明 d格式符:输出十进制整数 格式说明只能决定最终输出的格式格式说明应与输出列表项个数相同、类型匹配、顺序一致格式说明通常用小写字母表示o格式符:八进制输出整数(不带先导0) 将内存中的二进制位整个按八进制输出,所以输出值没有符号。x格式符:十六进制输出整数(不带先导0X) 同o格式符,无符号,即无负十六进制数。f格式符:小数形式输出实数e格式符:指数形式输出实数 小数6位,指数部分共5位,其中e和指数符号各1位,指数值3位null输出数据格式int a = 017; printf(“%d” , a); 其它格式输出,带先导输出???输出数据宽度第一宽度:设置小了会自动突破,设置大了会补充空格 (对于实数,第一宽度指整体宽度) 第二宽度:设置小了会做四舍五入截断,大了会补0 如何输出‘%’null几个世界级难题! printf(“%2.1f” , 1.25); 如何输出12 23 3. 如何输出%20null<>scanf 函数(格式输入函数) 一般形式 功能:按指定格式从键盘读入数据,存入地址表指定的存储单元中,并按回车键结束 格式控制:含义同printf函数 输入项:变量地址,地址间用“,”分隔。 强调:地址列表中每一项必须以取地址运算符&开头。 格式字符的功能和printf函数相同scanf(格式控制,输入项1,输入项2…… ) ; #include main() { int a , b ; scanf(“%d%d”,&a,&b) ; sum = a+b ; printf(“%d”,sum) ; }输入:15_20 输出:35null输入数据格式与数据的忽略 (1) 格式说明和printf基本相同 (2) 可以在%和格式字符间加上一个指定输入数据所占的宽度,但不可以对实数指定小数位的宽度 (3) 可以在%和格式字符间加上“*”,作用是跳过对应的数据输入 例 scanf(“%2d%*3d%2d”,&a,&b); 输入 1234567 则 12a, 67b例 scanf(“%4d%2d%2d”,&yy,&mm,&dd); 输入 19991015  则 1999yy, 10 mm, 15 ddnull<>输入分隔符的指定 格式控制中存在通配符时,输入数据必须一一对应的原样输入这些字符。例 scanf(“%d:%d:%d”,&h,&m,&s); 使12 h, 30 m, 45 s输入 12 :30 :45例 scanf(“WC is good thing %d”,&h); 使h = 30 输入 WC is good thing 30null<> (1)输入项一定是变量的地址(&变量名) (2)输入数据之间需要用分隔符隔开(一般以空格、TAB或回车键作为分隔符 (3)格式控制中如果有其它字符(通配符),则输入时对应位置也要有相同的字符。 (4)可以在格式字符前加上一个指定输入数据所占的宽度,但不可以对实数指定小数位的宽度 scanf很重要的几点: null复合语句与空语句int i=0,j=2,k=3,sum=0; { sum += i; sum += j; sum += k; }说明 复合语句“{ } ”后不加分号 语法上和其它语句相同 复合语句可嵌套 空语句:只有一个“ ; ”,什么也不做main { ; X 需要慎用 }用 { }括起来的一组语句,也称作语句块。
/
本文档为【二级C语言】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索