ImageVerifierCode 换一换
格式:DOCX , 页数:74 ,大小:244.55KB ,
资源ID:4708023      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4708023.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言基础知识2谢新冲.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言基础知识2谢新冲.docx

1、C语言基础知识2谢新冲第一章 C语言基础知识第一节C语言的基本格式一、C语言源程序或C程序 .c例:求两数和程序命令行,编译预处理命令行#include stdio.h主函数main()变量定义语句 int a,b,sum; 函数体赋值语句 a=10; b=20; sum=a+b; printf(sum=%d,sum);说明:1 主函数:一个C源程序有且仅有一个main函数,程序总是从main函数开始,从main函数结束。Main必须小写,且其后紧跟一对小括号,中间无空格。2 函数体:告诉计算机要做什么事情。3 int 是C中的关键字(表示特殊含义的一些符号)必须小写;变量 变量名(规则)变量

2、类型 变量名,变量名; ;是C中语句结束的标志。 4 开头:#开头,无分号 printf include是预定义标识符5 注释:可放在程序的任意位置,以/*和*/来界定。但要注意: #include stdio.hmain() int a=0,b=0; a=10; sum=a+b; printf(a+b=%d,a+b); #include stdio.hmain() int a=0,b=0; a=10; /*给a赋值 b=20; 给b赋值*/ sum=a+b; printf(a+b=%d,a+b);变量先定义后使用,定义变量放在程序的定义部分语句后加;程序可以从任一列开始书写,一行内可写多个语

3、句main() 定义部分;(前) 执行部分;(后)总结:二、标识符:用于标识名字的有效字符序列 命名规则:字母、数字、下划线 第一个字母必须是字母或下划线 大小写字母有区别 标识符分为三类:1 关键字:具有特定含义,专门用为说明C语言特定成分的一类标识符;必须小写 如:int,float double等2 预定义标识符:库函数名 编译预处理命令名(define、include)预定义标识符可作为用户标识符使用,此时预定义标识符就失去原来的意思;但用户标识符不可作预定义标识符3 用户标 识符:一般给变量、函数、数组或指针等命名,由用户根据需要定义的标识符a. 不与关键字相同b. 遵循起名规则c.

4、 见名知义例12 可在C语言中用作用户标识符的一组标识符是:()A) and B) Void C) Hi D) int_2007 y-m-d Dr.Tom Big1例13 以下不合法的用户标识符是:()A)j2_KEY B) Double C) 4d D) _8三、常量:程序运行过程中,值不改变的量数值型:值的形式出现字符串常量实型字符常量整型 符号常量:用标识符命名1 遵循命名规则 见名知义例:计算圆面积的C语言程序宏定义命令行,符号常量大写#define PI 3.14159大写形式main() float r,area; r=12.5; area=PI*r*r; printf(area=

5、%fn,area);定义了符号常量后,不可以再通过赋值语句改变该符号常量的值。四、变量:在程序运行过程中,其值可以改变的量。遵循规则#include stdio.hmain() int a=10,b=20,c; c=a+b; printf(%dn,c); a=30; b=10; c=a+b; printf(area=%fn,c);变量中的值以最后一次赋值为准。第二节 整型数据一、 数值转换:计算机内部以二进制来存储数据数字的四种表示形式:十进制、二进制、八进制、十六进制表 十进制、二进制、八进制、十六进制对照表十进制0123456789101112131415二进制01101110010111

6、011110001001101010111100110111101111八进制012345671011121314151617十六进制0123456789ABCDEF除2取余1十 二、八、十六例:(38)10=( )2每位乘以2的n-1次幂,再求和2二、八、十六 十例:(1101)2= ( )10(1)2=21-1(11)2=22-1(111)2=23-1当二进制所有位数上的数字均为1时,可用2的n次幂减1求出其相应的十进制数。3二 八、十六观察表可得出每个八进制数的单个数字都可用3位二进制数来表示 每个十六进制数的单个数字都可用4位二进制数来表示 例:(13)8=(001011)2 (E3)

7、16=(11100011)2十进制整型常量:09八进制和十六进制之间无直接转换C中无二进制的整型常量八进制整型常量:(前导0)+(07)二、 整型常量:十六进制整型常量:(前导0x或0X)+(09 短整型长整型无符号型常量加lu/LU无符号整型(加后缀U/u)长整型(加后缀L/l)基本整型例1.6 以下选项是可作为C语言合法的整数的是:(C )A)10110B B)0386 C)0fXffa D)x2a2例1.7 以下程序运行后的输出结果是( )main() int x=0210; printf(%Xn,x);程序运行结果为:88三、 基本整型:(short int) 2个字节无符号整型(加后

8、缀U/u)整型变量:短整型:(int)长整型(加后缀L/l):(long int) 4个字节0000000000000110int i=6;int i; i=6;例: 定义变量的同时可给变量赋值,称为变量的初始化。变量的字节个数反映变量存储值的范围整型数据的取值范围:-3276832767(215-1)无符型数据的取值范围:065535(216-1)四、 整数在内存中的存储形式:位、字节、最低位、最高位、符号位(0正;1负)1有符号正整数:有符号正整数的存储形式称为源码。如:(10)10=(0000000000001010)2两个字节存放的最小的有符号正整数:0000000000000001两

9、个字节存放的最大的有符号正整数:0111111111111111=215-1=327672负整数:“补码”形式存放(反码加1)两个字节存放的最小负整数为:1000000000000000 -32768327673无符号正整数:1111111111111111=216-1=65535例1.9 #include stdio.hmain() unsigned int a; int b=-1; a=b; printf(%u,a);程序运行后的输出结果是: (B)A) -1 B)65535 C)32767 D)-32768第三节 实型数据一、 实型常量:有2种形式:小数形式和指数形式1 小数形式:包含1

10、个小数点的十进制数字串,小数点前(后)可无数字,但不可以同时没有数字。如:3 . .14 0.15 .2 指数形式:小数部分+指数部分e/E+整数(可带符号的整数)阶码 小数部分+指数部分二者缺一不可例:以下合法的一组C数值常量是:D)ox8A 10.000 3.e5C).177 4e1.5 0abcB)12. 0Xa23 4.5e0A)028 .5e-3 -0xA单精度:7位有效数字,计算机中给出6位小数位 -二、 实型变量:双精度:15-16位有效数字,计算机中给出6位小数位 -C中,为单精度分配4个字节的存储单元,其数值范围在-10381038之间C中,为双精度分配8个字节的存储单元,其

11、数值范围在-1030810308之间第四节 表达式一、 算术运算符:+、-、*、/、%前后只能为整型,当运算对象为负数时,C中运算结果的符号与被除数的符号相同。根据运算符的运算对象的个数,运算符可分为:单目、双目、三目 运算符两边的运算对象类型必须一致,结果的类型与运算对象类型一致 运算符两边的运算对象类型不一致时,运算对象从低类型向高类型转换。如:5/2.0=2 .5 C中,所有实型数的运算都是以双精度方式进行,单精度尾部补0表 算术运算符与圆括号的优先级次序高 低()+、-(正、负号)*、/、%+、-(加减号)同级同级同级单目双目二、 算术表达式: 用算术运算符和圆括号将运算对象连接起来的

12、式子称为算术表达式三、 强制类型转换:(类型名)表达式;例:(int)(3.927*10+0.5)/100.0第五节 赋值表达式一、 赋值运算符和赋值表达式:赋值运算符:=赋值表达式:变量名=表达式 如:sum=a+b; 赋值运算符=左边必须是变量 赋值运算符=左边的值被右边的表达式的值代替,而右边的值不变。如:b=3;c=2; a=b+c; 赋值表达式的值是赋值号左边变量被赋值后的值。如:x=y=25 25赋给y,再将y=25这个表达式的值赋给x,则x=25 给合方向:自右向左 赋值运算符=是单方向的操作,将右边表达式的值赋给左边的变量 赋值运算符=两边的运算对象类型不一致,自动转换:右边表

13、达式的值的类型转化成左边变量的类型例1.13 有以下语句:double a,b;int w;long c;若各变量已正确赋值,则下列选项中正确的表达式是:( C )A) a=a+b=b+ B) w%(int)a+b) C) (c+w)%(int) a D)w=a%b;二、复合赋值表达式:算术运算符和赋值运算符组合成复合赋值运算符:+=、-=、*=、/=如:n+=100; 相当于 n=n+100;例:n=8; n+=n*=n-2; 运算方向:自右向左 6 48 96三、自加、自减运算符:+、- 属于赋值运算符 +i:+称为前缀增量运算符 i+:+称为后缀增量运算符 增量运算符的运算对象只能为变量

14、,有有为常量或表达式 如:3+ +(i+1) +/-不论放在变量的前或后,变量本身都会增加(或减少)1 结合方向:自右向左 i+:表达式的值为变量i没有增加1之前的值(即变量i 的初始值) +i: 表达式的值为变量i增加1之后的值(即变量i增1之后的值)如:i=3;j=i+; j=i; i=i+1; j=3k=+i; i=i+1;k=i; k=4例1.15 有以下程序:#include stdio.hmain() int m=12,n=34; printf(%d%d,m+,+n); printf(%d%d,n+,m+);程序运行后的输出结果是:( A )A) 12353514 B)123535

15、13 C)12343514 D)12343513四、 逗号运算符和逗号表达式:逗号运算符:,逗号表达式:用逗号运算符将两个或两个以上的表达式连接起来,可构成一个新的表达式结合性:自左向右整个表达式的值为最后一个表达式的值如:x=5,y=6,z=7; 7 逗号运算符的优先级最低。例: a=3*5,a*4因为=的优先级比,优先级高,所以先求解a=3*5=15,然后求解a*4=60,所以整个逗号表达式的值是60例:#include stdio.hmain() int x,y,z; x=y=1; z=x+,y+,+y; /*先将x+的值赋给z,z为1;整个逗号表达式的值为3 printf(%d,%d,

16、%d,x,y,z);程序运行后的结果是:( C)A)2,3,3 B)2,3,2 C)2,3,1 D)2,2,1第二章 顺序结构C语言的三种基本结构:顺序、选择、循环一、 表达式语句:在表达式之后加一个分号“;”,就构成了一个表达式相应的语句。特别地,当只有一个;时,也是一条语句,称为“空语句”。空语句表示程序执行时,不产生任何动作。二、复合语句:(多个语句)用括起来的多个语句组成一个复合语句,其形式如下: 语句1,语句2,语句3,.,语句n;一个复合语句在语法上等同于一个语句三、 顺序结构:一个程序中的语句按照它们在程序中出现的顺序逐条执行,由这样的一系列语句构所的程序结构称为顺序结构。第二节

17、 数据输出程序运行过程中产生的数据需输出到显示器或打印机上,用户才能看到;一般情况下,计算机先将运行结果存到变量中,然后将变量的值输出。C语言本身无输入/出关键字,输入/出操作由数据库函数提供的,因此程序第一行需引入库函数。#include ”stdio.h”一、 printf函数的一般形式:功能:按指定的格式将需要输出的数据在显示器上输出用于说明的信息:按原样输出格式:输出控制+输出数据列表带有%的格式转换说明:指定输出数据的格式 1输出控制由“”引起来的格式转换控制信息: 格式转换说明必须有;但只有格式说明信息时可以没有格式说明信息和后面的输出数据列表格式说明信息 如:printf(”a=

18、%d ,b=%d”, 2,3); 2输出数据列表:包括需要输出的一些数据(可以是常量,变量或表达式),各数据之间用,隔开。 输出数据的个数与输出控制中格式转换说明的个数要相等,且在顺序上要一一对应且类型匹配。(否则,系统不会报错,得不到正确的结果) 若输出数据个数与格式说明的个数不相等时: 输出数据个数格式说明的个数:多余的输出项不输出 输出数据个数实际宽度:右对齐,左边补空格 如:printf(“%4d”,254); 输出:空格(1)+254指定宽度指定的小数位数:截去多余的小数位(四舍五入) 实际小数的位数指定的小数位数:右边用0补齐3 若想输出格式为:0mmm(8)或0xmmm(16),

19、输出数据类型应为:%#o或%#x或%#X第三节 数据输入一、 scanf函数的格式:&变量名scanf(输入控制,输入数据列表)二、scanf函数中的格式说明:格式说明对应的输入数据格式格式说明输入数据格式%d输入十进制整型数%i输入整型数,可是前导带0的八进制数和带前导0x的十六进制整数%c输入一个字符%o输入八进制整型数%x输入十六进制整型数%u输入无符号的十进制整型数%f以带小数点的形式或指数形式输入单精度或双精度数说明:从键盘输入多个数值数据时,数值数据之间用分隔符隔开 如:int x,y,z; scanf(“%d%d%d”,&x,&y,&z); 格式说明的类型与输入项的类型一一对应匹

20、配 可指定输入数据的宽度,但不能指定小数的位数4 格式说明的个数输入项的个数: 结束输入 如:#include stdio.hmain() int x,y,z,w;scanf(%d%d,&x,&y,&z);scanf(%d,&w); printf(%d,%d,%d,%d,x,y,z,w);若输入:10 20 30(输入结束) 输出结果为:x=10,y=20,w=30 如:main() int x,y,z;scanf(%d%d%d,&x,&y); scanf(%d,&z);printf(%d,%d,%d,x,y,z); 若输入:10 20 30 40后就结束输入 x=10,y=20,z=405

21、跳过输入数据的方法:格式字符与%之间加一个*,使跳过输入的数据。6 在输入控制中含有其他的字符,则在输不入时要求按一一对应的位置原样输入这些字符:如:scanf(“x=%d,y=%d”,&x,&y)输入时需按如下格式输入数据:x=10,y=20 scanf赋值和使用赋值语句赋值,有什么区别:前者变量的值是不固定的,运行结果可不同;后者变量的值是固定的,运行结果是相同的。第三章 选择结构第一节 关系运算与逻辑运算C中的逻辑值:真(非0) 假(0)一、 关系运算符:、= 关系运算符赋值运算符二、关系表达式:用关系运算符将两个表达式连起来的表达式 运算结果有两种:真(1)、假(0)三、逻辑运算符:!

22、 & |高低 优先顺序:逻辑运算符两侧的运算对象可以是任意合法的表达式!(单目)算术运算符关系运算符&|赋值运算符逗号运算符四、逻辑表达式:注意短路现象例:设有定义:int a=2,b=3,c=4;则以下选项中值为0的表达式是(A)A)(!a= =1)&(!b= =0) B) (a50) printf(%d,a); if(a40) printf(%d,a); if(a30) printf(%d,a);输入,输出结果将为:例:main() int a=4,b=3,c=4,t=0; if(ab) t=a;a=b;b=t; if(ab) if(bc) printf(%d,d+1); else pri

23、ntf(%d,+d+1); printf(%dn,d);程序运行后的输出结果是:(A)A) 2 B)3 C)43 D)44练习:编写程序:输入两个数,输出较大者三、ifelseif结构:if(表达式1) 语句1elseif(表达式2) 语句2可是一条语句或一个复合语句,后不加;elseif(表达式3) 语句3.else 语句n 表达式1不满足时,才会判断表达式2是否满足等等,但多个if语句并列时,逐条对if表达式进行判断 3种形式的if中的表达式一般为逻辑表达式或关系表达式分析: 0 x=0 y= 成绩等级问题四、嵌套的if条件语句:if语句的子句可是一复合语句,也可是一个if语句,即嵌套的i

24、f语句。基本形式如下: if (表达式1)if (表达式2) 语句1else 语句2 elseif (表达式3) 语句3else 语句4例:if (表达式1) if (表达式1)if (表达式2) 语句1 if (表达式2) 语句1else 语句2 else 语句2例:main() int a=3,b=4,c=5,d=2; if(ab) if(bc) printf(%d,d+1); else printf(%d,+d+1); printf(%dn,d);程序运行后的输出结果是:(A)A) 2 B)3 C)43 D)44第三节 条件运算符和条件表达式条件运算符:?条件表达式:表达式1?表达式2:表达式3条件运算符的优先级:赋值运算符 c?a:c;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1