03简单的C程序设计Word文档下载推荐.docx
- 文档编号:21745136
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:20
- 大小:32.63KB
03简单的C程序设计Word文档下载推荐.docx
《03简单的C程序设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《03简单的C程序设计Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
c=5;
是写同一行中的三个语句;
而:
{t=a;
a=b;
b=t;
}是写在不同行中的一个复合语句;
4.2程序的三种基本结构
C语言是结构化的程序设计语言,任何一个C语言的源程序都是由若干个基本结构
组成的。
每一个基本结构包含一个或多个语句,有一个入口和一个出口。
和其它结构化程
序设计语言一样,C语言也有三种基本结构:
顺序结构、选择结构、循环结构。
一、顺序结构
由两个或两个以上的语句组成,先执行A操作,然后再执行B操作.
入口:
A的入口
出口:
B的出口
二、选择结构
先判断条件P,若条件成立,跳过B执行A操作;
若条件不成立,跳过A执行B操作.
判断框
A或B的出口之一
三、循环结构
1.当型循环结构
先判断条件,若条件成立,执行循环体A后再判断条件;
若条件不成立,跳过循环体A向下执行。
入口:
判断框
2.直到型循环结构
先执行循环体,然后判断条件P,若条件不成立,执行循体A后再判断条件;
若条件成立,跳出循环体A向下执行。
循环体A
四、说明
以上几种结构中,A、B可以是一个简单语句,也可以是多个简单语句,同样也可以又是一个基本结构,这样,不管多么复杂的问题都可以用三种基本结构所构成的程来解决。
4.3赋值语句
一、格式:
赋值表达式;
(变量=表达式;
或变量复合赋植运算符表达式;
)
二、功能:
计算表达式的值,然将计算结果赋给左边的变量。
如:
a=32*4计算32*4的值,将计算结果赋给左边的变量a;
b*=24-9计算b*(24-9)的值,将计算结果赋给左边的变量b,其中“*=”为复合赋值运算符。
1.整型常量:
正整数、负整数、0均为整型常量。
2.整型常量的表示方法:
十进制:
如:
123,0,-125等;
八进制:
以数字0开头,如:
034(28),-0123(-83)等;
十六进制:
以数字0和字母x开头,如:
0xa2(162),-0x31(-49)等。
3.整型常量的类型:
基本型:
数值在-32768~32767之间,且无其它符号;
长整型:
数值超过-32768~32767,但在-2147483648~-2147483647之间;
或者数值后面带有字母l或L的整数。
4.4数据的输出
C语言的标准函数库提供有输出函数printf()函数和putchar()函数,这两个函数都以终端(屏幕或打印机)为输出对象。
一、putchar()函数(字符输出函数)
1.格式:
putchar(ch)
2.功能:
将字符ch输出到终端(系统隐含指定的输出设备)上。
3.返回函数值:
字符型,其值就是所输出的字符。
若c为整型变量,则可以设计如下语句:
putchar('
A'
);
/*在屏幕上输出大写字母A*/
c=putchar('
/*在屏幕上输出字符常量'
并将返回的函数值赋给整型变量c,即将字符'
的ASCII码值赋给变量c*/
printf("
%c"
putchar('
));
/*在屏幕上输出大写字母A并将返回的函数值%c格式输出到屏幕上,即输出两个字符'
*/
4.说明:
(1)ch可以是字符常量、字符变量及数值表达式。
若数值表达式的值为实数,则截去小数;
大于255,则取该数与256相除的余数;
若小于0,则取该数与-256相除的余数。
(2)若要调用该函数,应在程序前使用预处理编译命令:
#include"
stdio.h"
。
#include"
main()
main()
{inta;
{charb;
a=123;
b='
a'
;
putchar(a);
putchar(b);
}
}
a的值
输出
b的值
输出
123
{
'
a
10+40
2
\210'
^
-2
■
abcd'
出错
"
M"
二、printf函数(格式输出函数)
1.调用格式:
printf(格式控制,输出表列)或printf(参数1,参数2,.......参数n))
将输出列表中的各个输出项依次按规定的格式输出到终端(系统隐含的输出设备)上。
整型,数值就是所输出的字符的数量。
(1)格式控制(参数1)是用双引号括起来的字符串,由格式说明和普通字符组成。
(2)格式说明由%和规定的格式字符组成,见教材P40表3.1和表3.2,这些字符具有确定的含义。
(3)普通字符(格式说明中的其它非格式字符)照原样输出。
(4)输出表列(参数2~参数n)为输出项,依次按格式说明(参数1)规定的格式输出其值。
(5)输出表列(参数2~参数n)对应格式说明(参数1)中的每一个格式,若格式字符少于输出项,多余的输出项不予输出;
格式字符多于输出项时,将按规定的格式输出随机值。
(6)输出表列(参数2~参数n)可以是常量、变量、表达式,但要注意与格式说明中格式字符所规定的类型相匹配,否则不能得到正确结果。
5.格式字符使用说明
(1)d格式字符:
以十进制整数的形式输出整数
%d格式:
以十进制整数的形式输出(-32768~32767)范围内的整数;
%ld格式:
以十进制整数的形式输出(-2147483648~2147483647)范围内的长整型数;
%md格式:
其中m为整数,输出(-32768~32767)之间的整数时,最小的字段宽度是m,数据不足m位时,左端补空格;
超过m位时,突破m位限制;
%mld格式:
其中m为整数,输出(-2147483648~2147483647)之间的长整型数据时,最小的字段宽度是m,数据不足m位时,左端补空格;
超过m位时,突破m位限制。
请看如下的程序:
main()
{inta=32,b=-910;
longd=637,e=1234567;
%3d,%3d\n"
a,b);
%8d,%8d\n"
%3ld,%3ld\n"
d,e);
%8ld,%8ld\n"
}
程序运行结果如下:
a=32,b=-910
/*以%3d格式输出,32不够3位,前边留一位空格*/
a=32,b=
-910
/*以%8d格式输出时,32前边留6个空格,-910前边留4个空格*/
d=637,e=1234567
/*以%3ld格式输出时,数据超过3位时突破3位的限制,1234567占7位宽度*/
d=
637,e=1234567
/*以%8ld格式输出时,637和1234567前各留5位和1位空格*/
(2)o格式字符:
以八进制形式输出,但输出的数值不带符号,而是将符号位也作为八进制数的一部分,附加格式字符m,l的意义与d格式字符相同。
请看如下程序:
{inta=-4,b=123;
longd=76543,e=-253;
printf("
a=%o,b=%o\n"
a=%8o,b=%8o\n"
d=%lo,e=%lo\n"
d=%8lo,e=%lo\n"
a=177774,b=173/*以%o格式输出-4时,符号位被作为数值的一部分*/
a=
177774,b=
173
d=225377,e=37777777403/*以%lo格式输出-253时,符号位被作为数值的一部分*/
225377,e=37777777403
原因如下:
-4原码
1000000000000100
反码
1111111111111011
补码
1111111111111100
无符号八进制数1
7
4
123原码
0000000001111011
无符号八进制数0
0
1
3
76543L原码
00000000000000010010101011111111
5
3
7
-253L原码
10000000000000000000000011111101
11111111111111111111111100000010
11111111111111111111111100000011
无符号八进制数3
4
(3)x格式字符:
以无符号十六进制数形式输出(同o格式)。
longd=65538,e=-253;
a=%x,b=%x\n"
a=%8x,b=%8x\n"
d=%lx,e=%lx\n"
d=%8lx,e=%lx\n"
a=fffc,b=7b/*以%x格式输出-4时,符号位被作为数值的一部分*/
fffc,b=
7b
d=10002,e=ffffff03/*以%lx格式输出-253时,符号位被作为数值的一部分*/
10002,e=ffffff03
1000000000000100
反码
1111111111111011
补码
1111111111111100
无符号十六进制数f
f
c
123原码
0000000001111011
无符号十六进制数0
b
65538原码
00000000000000010000000000000010
2
-253L原码
10000000000000000000000011111101
11111111111111111111111100000010
11111111111111111111111100000011
无符号十六进制数
3
(4)u格式字符:
%u格式以十进制无符号数形式输出(0~65535)范围内的正整数。
%lu格式以十进制无符号数形式输出(0~4294967295)范围内的正整数。
a=%u,b=%u\n"
a=%8u,b=%8u\n"
d=%lu,e=%lu\n"
d=%8lu,e=%lu\n"
a=65532,b=123/*以%x格式输出-4时,符号位被作为数值的一部分*/
65532,b=
123
d=65538,e=4294967043/*以%lx格式输出-253时,符号位被作为数值的一部分*/
65538,e=4294967043
无符号十进制数
65535-2-1=65532
无符号十六进制数1+2+8+16+31+64=123
65536+2=65538
4294967295-4-8-16-32-64-128=4294967043
(5)c格式字符:
按照输出数据低8位无符号数对应的ASCII码,以字符的形式输出,而且只输出一个字符。
{chara='
b=48;
intc=49,d=-10;
longe=102448;
floatf=97.4;
a=%d,a=%c\n"
a,a);
b=%d,b=%c\n"
b,b);
c=%d,c=%c\n"
c,c);
d=%d,d=%o,d=%c\n"
d,d,d);
%ld%c\n"
e,e);
a=97,a=a/*字符型变量a和b可分别按数值(即该字符的ASCII码值)和字符输出*/
b=48,b=0
c=49,c=1/*数值型变量c可分别按数值和字符(该数值所对应的ASCII码字符)输出*/
d=-10,d=65526,d=÷
/*数值型变量d可分别按有符号数、无符号数和字符(取低位字节所对应的ASCII码字符)*/
e=102448e=0
/*长整型变量e可分别按数值和字符(取最低位的一个字节所对应的ASCII)输出*/
(6)s格式字符:
输出一个字符串。
%s格式:
按字符串的实际长度输出字符串;
%ms格式:
其中m为整数,输出字符串时最小宽度为m,若输出项中的字符串长度大于m时,长度突破m;
长度不足m时,左端以空格补齐;
%-ms格式:
其中m为整数,输出字符串时以左对齐方式且最小宽度为m,若输出项中的字符串长度大于m时,其长度突破m的限制;
%m.n格式:
其中m、n为整数,只取字符串中左边的n个字符输出,输出数据至少占m列。
{printf("
\n%s%s\n"
"
bcde"
abcde"
%8s%8s\n"
abcdefghijkl"
%-5s%-5s\n"
%-8s%-8s\n"
abcdefgijkl"
%5.3s%5.3s\n"
%8.3s%8.3s\n"
abcdefg"
程序运行结果为:
bcdeabcde/*%s格式:
按实际长度输出*/
bcde
abcde/*%8s格式:
长度不足8时,左边留空格*/
bcdeabcdefghijkl/*%8s格式:
长度超过8时,突破8的限制*/
bcdeabcde/*%-5s格式:
左对齐,长度不足5时,右边留空格*/
bcde
abcdefghijkl/*%-8s格式:
左对齐,长度超过8时,突破8的限制*/
bcd
abc/*5.3格式:
长度不足5时,左边留空格,只取左边3个字符*/
abc/*8.3格式:
长度不足8时,左边留空格,只取左边3个字符*/
(7)f格式字符:
以小数形式输出实数(TurboC中单精度数提供7位有效数字,双精度数提供15~16位有效数字)。
%f格式:
以小数形式输出实数,输出时整数照原样输出,保留6位小数;
%mf格式:
其中m为一整数,以小数形式输出实数,输出的最小宽度为m位,当数据实际宽度超过m位时,突破m位限制;
%m.nf格式:
其中m、n均为整数,以小数形式输出实数,输出的最小宽度为m位,结果保留n位小数,当数据实际宽度超过m位时,突破m位的限制。
{floata=-23.42;
floatb=12345.6789;
doublec=-123456789.0123456;
%f\n"
a);
b);
c);
%f,%10f,%10.3f\n"
a,a,a);
程序运行结果如下:
-23.420000/*%f格式,保留6位小数,按实际宽度输出*/
12345.67871/*单精度数提供7位有效数字,即只能保证前7位有效数字是准确的*/
-123456789.012346/*保留6位小数,从第7位开始四舍五入*/
-23.420000,-23.420000,-23.420/*分别保留6、6、3位小数,最小宽度10*/
(8)e格式字符:
以指数形式输出实数,不能输出整型数。
%e格式:
以指数形式输出实数,其中尾数部分(即小数部分)为一位非零整数的小数,保留6位有效数字,共占7~8位;
指数部分(包括e)为1~3位整数共占4~5位;
%me格式:
其中m为整数,以指数形式输出实数,数据最小宽度为m,尾数部分保留6位有效数字,如果输出数据不足m位,左端留空格;
超过m位,突破m位限制;
%m.ne格式:
其中m、n为整数,以指数形式输出实数,数据最小宽度为m,尾数部分保留n位有效数字,如果输出数据不足m位,左端留空格;
%-m.ne格式:
按照左对齐方式,以指数形式输出实数,数据最小宽度为m,尾数部分保留n位有效数字,输出数据超过m位时,突破m位限制。
{floatc=-12,d=1234567;
doublee=1234567;
%e,%e,%e\n"
c,d,e);
%15e,%15e,%15e\n"
%10.2,e%10.2e,%10.2e\n"
%-10.2e,%-10.2e,%-10.2e\n"
-1.20000e+01,1.23457e+06,1.23457e+06
/*%e格式,尾数部分为一位非零整数的小数,保留5位小数(即6位有效数字)*/
-1.20000e+01,
1.23457e+06,
1.23457e+06
/*%15f格式,尾数为一位非零整数的小数,六位有效数字,不足15位左端补空格*/
-1.2e+01,
1.2e+06,
1.2e+06
/*%10.2e格式,尾数为一位非零小数,2位有效数字,不足10位左端补空格*/
-1.2e+01
1.2e+01
1.2e+06
/*%-10.2e格式,尾数为一位非零小数,2位有效数字,不足10位右端补空格*/
(9)g格式字符:
按%e和%f中输出宽度较短的一种输出,不输出无意义的0。
请看如下程序
{doublea=12345678.1234567;
doubleb=-12.2,c=-1234567;
%e,%f,%g\n"
%17.6e,%f,%g\n"
b,b,b);
c,c,c);
1.23457e+07,12345678.123457,1.23457e+07
/*%g格式,按%f和%e中较短者即%e格式输出*/
1.23457e+07
12345678.123457
1.23457e+07
/*%g格式是按数据的实际长度而不是按数据所占的宽度,仍按e格式输出*/
-1.22000e+01,-12.200000,-1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 03 简单 程序设计