当前位置:首页 > C语言程序设计教程
⑧&& 与 ⑨|| 或 ⑩?
11赋值符号= ○
12,逗号 ○ 低
例如:若X、Y、Z为1,则表达式W=++X||++Y&&++Z后,X、Y、Z的值分别为 A、X=1,Y=1,Z=2 B、X=2,Y=2,Z=2
C、X=2,Y=1,Z=2 D、X=2,Y=1,Z=1(正确) 特例:不按优先级运算。当表达式为真时后面就不用计算叫断路。 四、数据的输入与输出
㈠、数据的输出
“数据输出”一般是指把程序的执行结果或提示语句输出到计算机屏幕上。C语言中没有“输 出命令”,一切输出都是利用系统提供的输出函数来完成。
Printf 函数
Putchar 函数 输出函数 Puts 函数
1、 Printf函数(格式化输出函数) 使用格式:Printf(“输出格式”、“输出列表”);
Printf函数的全称是格式化输出函数,即按指定格式完成输出功能,它可向屏幕输出字符、字符串、数值、空行等。在中文操作系统下还可输出汉字。输出的内容可以是执行结果,也可以是提示语。 Printf(“格式控制符”,输出项列表); 双引号起来的字符串 要输出的内容(常量、变量、表达式等) 例如: main( ) {int i=5;
float f=32.345;
Printf(“i==f=%5.1f\\n”,i,f); Printf(“End\\n”);
}
i== f=%5.1f 其中:i=和f=是普通字符,原样输出
% 3 d (表示整型) % 5 . 1 f (表示实型) (精度)
引号符 宽度 类型符 引号符 宽度 小数位数 类型符 格式控制符完整的格式:
% - 0 m.n l/h 格式字符 %是格式说明的引导符号; -减号是指定左对齐输出; 0指定空位填0;
m.n指定输出域宽及精度; l/h输出长度的修正;
格式字符:指定输出的数据类型.
?、输出格式中的三种符号
①转换说明符 ②转义字符 ③普通字符
转换说明符用于对各输出项的输出形式进行控制。在Printf函数中,每个转换说明符与每个 输出项是一一对应的。转换说明符以%打头,后面跟一个字符。
%c 单个字符 %d 有符号十进制整数 %f 实型数字(有误差值) %s 字符串 %x 无符号十六进制整数 %% 输出%
%o 无符号八进制数 %u 无符号十进制整数 %e 以指数的形式输出实型数
9
%g 自动决定输出格式为e和f中较短的一种,不打印无效的0。 说明:格式字符要用小写。
转义字符是字符型常量的特例,以反斜杠打头,一些无法像一般字符那样明确地写出来,如键
盘上的回车、退格之类的专用符号,在C语言中可用转义字符来表示输出;逗号、反斜线、单引号、双引号之类的字符也必须以转义字符的形式才可以在屏幕上输出来。常用转义字符有以下几种: \\n 回车换行 \\b 退格 \\t(tab键) \\r 回车不换行,光标到当前行的开始
\\\\ 反斜线 \\’单引号 \\”双引号 \\ddd 1到3位八进制数所代表的字符(01)8
2
‘A’也可用‘\\101’表示(8+1=65)
普通字符是指:输出格式中非转换说明符。其主要功能是输出一些说明字符,这些字符可以按实际形式输出到屏幕上。如果要输出汉字,可以把汉字写在“普通字符”中,程序运行时,汉字就可显示出来。 ?、输出项列表的三类输出项 ①变量 ②表达式
③字符数组名:当输出一个字符串数组时,在输出项列表中直接用数组名表示数组。对它的转
换说明符的是%s。如: printf(“%s”,ch); /*ch为一个字符数组*/
例1:输出“Hello” printf(“Hello”) 例2:输出两个int整型变量a和b printf(“%d %d”,a,b) 例3:输出两个int整型变量a和b ,输出的值用空隔隔开并换行
printf(“%d %d \\n”,a,b)
例4:两个int整型变量a和b ,a=2,b=3,请输出它们的平均值,并回车换行(两种方法)
printf(“%d \\n”,float(a+b)/2) printf(“%d \\n”,(a+b)/2.0)
例5:一个int变量a和char型变量b,请输它们的值(要求结果用逗号隔开并换行)
printf(“%d,%c\\n”,a,b)
例6:一个int型变量a和char型变量b,请输出它们的值(输出时用反斜线隔开并换行)
printf(“%d \\\\ %c\\n”) 2、 Putchar( )函数
格式:Putchar(输出项)
Putchar函数的作用是向屏幕上输出一个字符,其功能也可用带%c格式符的Printf函数来完成。 Putchar函数中的输出项可以是字符常量、变量或表达式,但不能是字符串。如: putchar(‘a’) /*输出项为字符常量*/ putchar(ch) /*输出项为字符变量*/ putchar(‘A’+32) /*输出项为表达式*/ putchar(‘\\n’) /*输出项为转义字符*/ 也可表示为: printf(“a”) /*输出项字符型常量*/
printf(“%c”,ch) /*输出项字符型变量*/
printf(“%c”,‘A’+32) /*输出项为表达式*/ printf(“/n”) /*输出项为转义字符*/
3、 Puts( )函数
格式:puts(输出项)
puts函数专门用于字符串的输出。输出项可以是字符串常量,字符型数组,还可以是符号常量。 例:#include
#define PREDEF “预定义符号常量” void main( )
{char str[ ]=“这是初始化字符串”; Puts(“这是直接使用字符串常量”); Puts(PREDEF);
10
Puts(str); }
这是直接使用字符串常量 结果是 这是预定义符号常量 这是初始化字符串 ㈡、数据的输入
许多程序都要进行数据输入,输入不同的数值,经过程序的运算,从而得到不同的输出结果。 在C语言中,数据输入也是利用系统提供的函数来完成的。系统提供了scanf( )函数、getchar( ) 函数、gets( )函数。
例:#include
Printf(“x=”);
Scanf(“%d”,& x); /*输入变量x的值*/ while(x!=0) {if(x<0)
Printf(“x的绝对值|x|=%d\\n”,- x); else
Printf(“x的绝对值|x|=%d\\n”,x); Printf(“x=”);
Scanf(“%d”,& x); /*输入变量x的值*/ } }
此程序在运行时可输入任意正负值,得到的都是绝对值。当输入0时,该程序结束。 1、 Scanf( )函数
格式:Scanf(“转换说明符”,变量地址列表); “转换说明符”与printf( )函数的一致 “变量地址”是通过变量名求地址得到 变量地址格式:&变量名
例一:scanf(“%d,”,&a); /*向变量中输入一个整型数值*/ printf(“%d”,a); /*输出变量的值*/
例二:scanf(“%d%c”,&a,&b);/*分别给变量a和b输入确切的值*/ printf(“%d,%c”,a,b);/*输出变量a和b的值*/ 例三:scanf(“%s”,&c); /*向数组c输入确切的值*/ printf(“%s”,c); /*输出数组C中各元素的值*/ 例四:读程序
#include
void main( ) {int a; float b;
scanf(“%d%f”,&a,&b); printf(“%d,%f\\n”,a,b); }
&a(得到两个字节空间的首地址) &b(得到四个字节空间的首地址)
说明:输入数据的分隔是采用隐含的分隔符,空格,回车,Tab键。 作业题:
鸡兔同笼,设总头数为h,总脚数为f,求鸡兔各多少只?
11
分析:设鸡为x,兔为y 由题意得:x+y=h 2x+4y=f 用程序编写:
#include
void main( )
{int x,y,h,f;
printf(“请输入总头数和总脚数\\n”); scanf(“%d%d”,&h,&f); x=2*h-f/2; y=f/2-h; if(f>2*h)
{printf(头%d,脚=%d\\n”,h,f); printf(“鸡=%d,兔=%d\\n”,x,y); } else
printf(“你输入的值有误\\n”); }
2、 getchar( )函数
getchar( )函数的功能是返回从键盘输入一的一个字符,它不带任何参数,通常把getchar() 函数放在赋值运算符”=”的右边,而赋值运算符左边是一个字符型变量,这样,从键盘上输入的 一个字符,就可以存放在变量中。
例:#include
void main() {char ch; ch=getchar();
printf(“%c\\n”,ch); }
运行结果:得到从键盘输入的一个字符,不管你输入很多字符,都只会得到第一个字符。 3、 gets()函数
格式:gets(字符数组名)
gets()函数专门用于输入字符串,其中函数参数规定了只能使用数组名而不能用其他。gets 函数将用户键入的换行符之前的所有字符存入字符数组中。
例:#include
void main() {char ch[10]; int I; gets(ch);
for(i=0;i<10;i++)
printf(“ch[%d]=%c”,i,ch[i]); putchar(‘\\n’); }
第三章 结构化程序设计
第一节 结构化程序设计概念
一、程序的灵魂——算法。
著名计算机科学家沃思(Nikiklans wirth)提出:
12
共分享92篇相关文档