计算机二级C语言1文档格式.docx

上传人:b****5 文档编号:17537698 上传时间:2022-12-07 格式:DOCX 页数:44 大小:94.20KB
下载 相关 举报
计算机二级C语言1文档格式.docx_第1页
第1页 / 共44页
计算机二级C语言1文档格式.docx_第2页
第2页 / 共44页
计算机二级C语言1文档格式.docx_第3页
第3页 / 共44页
计算机二级C语言1文档格式.docx_第4页
第4页 / 共44页
计算机二级C语言1文档格式.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

计算机二级C语言1文档格式.docx

《计算机二级C语言1文档格式.docx》由会员分享,可在线阅读,更多相关《计算机二级C语言1文档格式.docx(44页珍藏版)》请在冰豆网上搜索。

计算机二级C语言1文档格式.docx

②shortintx(shortx)------称为短整型,它规定的X的取值范围和intx基本一样,只不过取的数要比intx要小而已,因为它是用两个字节来存放X的(-32768~+32767)。

而上面的是用四个字节来存放X的。

③longintx(longx)-----称为长整型,其规定的X取值范围和intx一样,也是用四个字节来存放X的(输入时要用%ld、%Ld)。

④unsignedintx(unsignedx)------称为无符号整型,它规定了X只能取正整数,也是用四个字节来存放X的。

⑤unsignedshortintx------称为无符号短整形,其十进制的取值范围喂0~65535

⑥charx------称为字符型,用一对单引号‘’括起来的任意字符,包括字母字符、数字字符、转义字符等

如:

’a’、’3’、’\n’等

分析:

’a’、’A’、‘2’、2、‘ab’、‘\123’

⑦floatx------单精度浮点型,小数点后默认保留6位小数

如:

0.123、.123、123.等

1.23e+2、1.23e2、1.23E2、.123e-2等(指数形式)

用指数形式表示浮点数要注意三点:

ⅰ、e或E前后必须有数ⅱ、e或E后面必须是整数ⅲ、e或E的前后以及数字之间不得插入空格

⑧doublex------双精度浮点型(输入时要用%lf或%Lf,输出可用%f、%lf、%Lf)

(2)关于常量(整数、小数、字符型数据)

5------可以认为是int型、shortint、unsignedint都可以

5L或5l------是longint型

5h或5H------是shortint型

1.23------是double型

‘a’-----97

‘A’-----65

‘2’------50

‘\123’---

(3)关于类型的强制转换问题------即把一个类型强制转换成其他类型

#include”stdio.h”

{intx=5;

/*给变量X初始化*/

floaty,z;

z=2.56;

/*给变量Z赋值*/

y=(float)x;

/*对变量X的值进行强制转换,而X的类型和值都不改变*/

printf(“%d,%f\n”,x,y);

/*5,5.000000*/

x=(int)z;

(或写成x=z)/*对变量Z的值进行强制转换,且不进行四舍五入*/

printf(“%d”,x);

/*2*/

a=(float)b+c;

和a=(float)(b+c);

有什么区别?

关于强制转换要注意两点:

一是待转换的类型一定要用小括号括起来;

二是对后面变量的值进行转换,不改变原来变量的类型和值,并且不进行四舍五入。

5常用的算术运算符

+、-、*、/、%、+=、-=、*=、/=、++、--、,等

下面把需要特殊注意的运算符加以说明:

①/------除号,ⅰ若分子和分母都是整型,其结果也是整型(不进行四舍五入)ⅱ若分子或分母至少有一个是浮点型,其结果就是浮点型。

%------取余,注意%的前后都必须是整型的,且结果的符号与被除数相同.

举例:

把两个两位的正整数按要求组成一个新数

a=45,b=32,要求组成一个新数C=4325

{inta=45,b=32,c;

c=a/10*1000+b/10*100+b%10*10+a%10;

如何取出1234的每个位上的数?

(使用算术符%和/)

②+=、-=、*=、/=------称为复合运算符(注意:

两个符号不能分开)

a=a+b;

可以写成a+=b;

a+=b-c和a-=b+c可以写成什么呢?

(由学生来回答)

a+=a-=a+a(假设a=9),最后a=?

(-18)(由老师来讲解)

③++、--称为自增自减运算符(单目的),很重要

a++先用a,然后再把a加1

++a先把a加1,然后再用a

a--先用a,然后再把a减1

--a先把a减1,然后再用a

见如下程序

{inta=3,b=6,c,d,e,f;

c=b+a++;

d=a+(--b);

e=-a++;

f=a+b+c;

printf(“a=%d,b=%d,c=%d,d=%d,e=%d,f=%d\n”,a,b,c,d,e,f);

答案:

a=5,b=5,c=9,d=9,e=-4,f=19

④,逗号---称为逗号运算符,由逗号运算符构成逗号表达式,逗号表达式最后一项的值就是逗号表达式的值,逗号运算符的优先级最低。

a=3,b=4,c=5;

x=(a,b,c);

问:

x=?

(5),逗号表达式的值=?

(5)

x=a,b,c;

(3),逗号表达式的值=?

x=(a++,--b,a+b);

(7),逗号表达式的值=?

(7)

x=a++,--b,a+b;

x=(a++,--b,a+b+c++);

(12),逗号表达式的值=?

(12)

6关于数据溢出问题,看下面例子:

inta=-3;

unsignedshortx;

x=a;

(65533)

7分析:

inta=b=c=1;

对不?

领学生做书后的习题

第三章顺序结构程序设计

1关于输出函数的使用

使用的格式:

ⅰprintf(“各种字符及汉字等”);

/*printf要小写*/

这种使用就是在屏幕上显示双引号中的内容

ⅱprintf(“输出格式控制”,待输出的变量列表);

这种使用就是在屏幕上以何种形式输出变量的值

要重点掌握输出格式控制都有哪些?

1格式符:

%d以普通整型输出(不可以写成%D)

%md以普通整型输出,数据占m位,右对齐

%+md以普通整型输出,数据占m位,右对齐(正数的前面有+号)

%-md以普通整型输出,数据占m位,左对齐

%hd以短整型输出

%ld(或%Ld)以长整型输出

%u以无符号整型输出

%o以八进制形势输出

%x(或%X)以十六进制形势输出

%f以单精度小数形势输出,点后6位小数

%lf(或%Lf或%f)以双精度小数形势输出,

m.nf以单精度小数形势输出,点后n位小数,且进行四舍五入

%.nf以单精度小数形势输出,点后n位小数,且进行四舍五入

%c以字符形式输出

%s以字符串形式输出

说明:

以上的常用格式符必须和后面的变量一一对应,并且后面的变量是什么类型前面就必须用相应的格式符

例:

inta=-2;

unsignedintb=30;

floatc=3.1456;

printf(“%d%u%5.2f”,a,b,c);

输出结果是什么?

(-2303.15)

②普通字符

普通字符原样输出,它不控制变量的输出。

printf(“a=%d,b=%u,c=%5.2f”,a,b,c);

③转义字符

\n回车且换行

\r回车但不换行

\b退一个字符

\t走一个制表位(8个字符)

\\转译成\

\’转译成’

\”转译成”

%%转译成%

\ddd转译成1~3位八进制所对应的ascii码值所代表的字符

\xdd转译成1~2位十六进制所对应的ascii码值所代表的字符

老师举例子说明

printf(“a=%d,b=%u,c=%5.2f\n”,a,b,c);

printf(“%c\n%c\n”,’\56’,’\x2a’);

问:

以上输出结果是什么?

inta=1,b=3;

printf(“%d”,a,b);

(1)

printf(“%d”,(a,b));

输出结果是什么?

(3)

2关于输入函数的使用

格式:

scanf(“输入格式控制”,变量地址列表);

重点掌握都有哪些输入格式?

(有格式符和普通字符,没有转义字符)

%d以普通整型输入

%ld(%Ld)以长整型输入

%hd以短整形输入

%md取整型的m位

%u以无符号型输入

%o以八进制输入

%x(%X)以十六进制输入

%f以单精度小数输入

%lf(%Lf)以双精度小数输入

%mf以单精度小数输入

(但是不能规定它的精度。

%5.2f)

%c以字符型输入

%s以字符串型输入

inta;

floatb;

doublec;

longd;

scanf(“%d%f%lf%ld”,&

a,&

b,&

c,&

d);

假设让a=23,b=2.6,c=12.66,d=12345

在键盘上应如何输入?

普通字符不影响输入,只是在输入时原样打上就行

把上例改为:

scanf(a=%d,b=%f,c=%lf,d=%ld);

那么应该如何输入?

③关于混合输入问题

假设让a=23,b=’k’,c=12.5,d=’p’

scanf(“%d%c%f%c”,&

如何输入?

(23k12.5p或23k12.5p)

④关于跳过某个输入项的问题

scanf(“%d%*d%f”,&

x,&

y);

假设输入如下:

20302.5回车

(20)y=?

(2.5)

⑤按照给定的长度输入

scanf(“%3d%2d”,&

2345678回车

(234)y=?

(56)

下面举三个综合的例子:

(让学生自己写写看行不?

例1:

从键盘输入两个两位的正整数,第一个数的十位作为千位,个位作为十位;

第二个数的十位作为百位,个位作为个位,组成一个新的数输出。

scanf(“%d%d”,&

b);

c=a/10*1000+b/10*100+a%10*10+b%10;

printf(“\nc=%d”,c);

例2:

从键盘输入两个数,然后把这两个数交换并输出

{inta,b,t;

t=a;

a=b;

b=t;

;

printf(“\n%d,%d”,a,b);

例3:

输入一个double型数,保留两位小数,第三位小数进行四舍五入,然后输出。

{doublex,y;

scanf(“%lf”,&

x);

y=(int)(x*100+0.5)/100.0;

printf(“\ny=%.2f”,y);

最后领学生做做书后习题

第四章选择(分支)结构程序设计

1在C语言中真和假的概念

真-----若一个表达式成立则称为真;

若值为非0也称为真。

2关系运算符和关系表达式

C语言提供六种关系运算符:

>

<

>

=<

=

==(等于)!

=(不等于)

注意几点:

●由两个符号组成的关系运算符不能分开

●前四个运算符优先级相同且高于后两个

●关系符低于算术运算符,但高于赋值运算符(=)

如:

a+b==c相当于(a+b)==c

●关系表达式的值:

一个是真(用1来表示);

另一个是假(用0来表示)

●注意“=“和”==“的区别

●0<

x<

10代表什么含义?

3逻辑运算符和逻辑表达式

C语言提供三种逻辑运算符:

(逻辑非)&

&

(并且)||(或者)

他们之间的优先级由高到底是:

&

||

●!

高于算术运算符,!

、&

、||都高于赋值运算符。

●逻辑表达式值的问题:

真和假

●逻辑表达式的短路问题:

a=0,b=0

问下列逻辑表达式的值是什么?

a=?

b=?

a++&

b++

答案:

逻辑表达式的值为假(也就是0),a=1,b=0

若改为:

a++||b++呢?

情况会如何呢?

总结:

六个关系符和三个逻辑符的优先级都高于赋值(=);

除了!

之外都低于算术运算符

4用C语言程序来完成下列的分段函数

y=

{intx,y;

/*定义两个整型变量*/

scanf(“%d”,&

/*从键盘输入一个整数X*/

if(x>

-5&

0)

y=x;

if(x==0)/*注意x==0与x=0的区别*/

y=x-1;

0&

10)

y=x+1;

printf(“y=%d\n”,y);

/*把结果输出到屏幕上*/

在C语言中可以用if语句和switch语句来实现程序的分支。

(1)用if语句实现分支

①if(条件)

{语句1}

即:

条件为真,执行语句1、

②if(条件)/*if和else是关键字,要小写*/

else{语句2}

条件为真,执行语句1,否则执行语句2

注意以下几点:

①if后面的条件可以是如下类型:

●关系表达式,如x>

y

●逻辑表达式,如x>

y&

y>

z

●算术表达式,如x+y

●赋值表达式,如x=y

●变量,如x

●常量,如-5

●++或—出现在条件里,如x++>

②如果语句1或语句2是一条语句,则{}一对花括号可以省略

③if….else是一条语句,else不能单独出现,要注意else与if的搭配问题(既:

else与其上面最近的且没使用的if搭配)

下面举几个例子来说明:

从键盘输入一个整数,判断其是奇数还是偶数?

if(x%2==0)

printf(“偶数”);

elseprintf(“奇数”);

下面程序的输出结果是什么?

{inta=2,b=-1,c=2;

if(a<

b)

if(b<

0)c=0;

elsec+=1;

2

{if(b<

3

例4:

if(a++<

printf(“%d,%d”,c,a);

2,3

可以把条件a++<

b分成三个步骤来执行:

第一步:

先判断a<

b是真?

还是假?

第二步:

把a加1,既a=a+1

第三步:

根据第一步的判断情况来决定程序的执行方向

请同学们考虑:

若改为++a<

b呢?

例5:

if(a=b)

⑵关于三目运算符

表达式1?

表达式2:

表达式3

既:

如果表达式1为真,则取表达式2的值,否则取表达式3的值

看下面例子:

inta=1,b=2,c=3,y;

y=a>

b?

a:

b;

y=?

(2)

a>

c?

c:

a;

⑶用switch开关语句来实现程序的分支

switch()

{case常量表达式1:

语句;

case常量表达式2:

case常量表达式3:

default:

语句

}

◆switch和case是关键字,要小写

◆switch后面括号里可以是以下内容:

整型常量或变量、字符常量或变量、关系表达式、

逻辑表达式、整型的算术表达式,总之是整数

◆case要和后面的常量表达式用空格分开,且这个常量表达式必须是整型常量或字符常量,不是变量。

◆default可以放在任何位置,不一定在最后,也可以没有

◆可以用break语句跳出switch

举几个例子:

程序输出结果是什么?

{intx=0,y=2,z=3;

switch(x)

{case0:

printf(“*”);

case1:

printf(“#”);

break;

default:

printf(“!

”);

*#

switch(y==2)

{case1:

printf(“*”);

break

case2:

printf(“%”);

领学生做书后习题

第五章循环结构程序设计

如何计算1+2+3+4+。

+100?

这就需要用到循环,C语言有三种循环结构,

while()、do{}while;

、for()

{inti,sum=0;

/*定义所需的变量,并给变量sum初始化为0*/

i=1;

while(i<

=100)

{sum+=i;

i++;

printf(“%d”,sum);

(1)while()循环

while(循环条件)

{

循环体

若循环条件为真,则执行循环体中的语句,执行完后再去判断循环条件,若还为真,则继续执行循环体,否则退出循环。

①while是关键字,要小写

②while后面的循环条件和if后面的条件一样

③对于任何循环,只要掌握两点内容:

一是循环条件是什么?

二是循环体是谁?

④若循环体只是一条语句,则一对花括号{}可以省略

⑤如何结束循环,一般是两种方式:

一是正常结束(既不满足循环条件了)

二是中途结束(用break语句)

现在再返回上面的程序看一看,能否找到循环条件是什么?

循环体是谁?

while(x>

或写成while(x>

0);

请说出循环条件和循环体?

(2)do…while()循环

do{

循环体

}while(循环条件);

先执行循环体中的语句,执行完后再去判断循环条件,若为真,则继续执行循环体,否则退出循环。

①do和while是关键字,都要小写

②循环至少执行一次

③while()后面要有分号;

(3)for循环

for(表达式1;

表达式2;

表达式3)

执行过程:

先执行表达式1,然后判断表达式2是否为真?

,若为假则退出循环;

若为真则执行循环,再执行表达式3,然后再去判断表达式2是否为真?

,若为真则继续执行循环体,再执行表达式3……,直到表达式2为假

①三个表达式可有可无,但分号;

必须有

②三个表达式的含义如下:

表达式1:

一般是给变量赋值的

是循环条件

表达式3:

是变量的变化

③重点弄明白循环条件是什么?

④如何结束循环,两种方式:

用do…while()循环和for()循环来改写上面的例子:

1用do…while()循环

do{sum+=i;

100);

/*注意后面的分号一定要有*/

2用for()循环

for(i=1;

i<

=100;

i+

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 表格类模板

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

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