160 likes | 247 Vues
作业 1 :求下面算术表达式的值。. 7. 1. 7. 1. 0. 2.5. (1)x+a % 3*(int)(x+y) % 2 / 4 设 x=2.5 , a=7 , y=4.7 (2)(float)(a+b) / 2+(int)x % (int)y 设 a=2 , b=3 , x=3.5 , y=2.5. 解 :(1)x+a % 3*(int)(x+y) % 2 / 4. (2)(float)(a+b) / 2+(int)x % (int)y. 5.0. 3. 2. 1. 2.5. 3.5. 作业 2 :
E N D
作业1:求下面算术表达式的值。 7 1 7 1 0 2.5 (1)x+a%3*(int)(x+y)%2/4 设x=2.5,a=7,y=4.7 (2)(float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5,y=2.5 解:(1)x+a%3*(int)(x+y)%2/4 (2)(float)(a+b)/2+(int)x%(int)y 5.0 3 2 1 2.5 3.5 作业2: 写出下面表达式运算后a的值,设原来a=12。设a和n已定 义为整型变量。 (1)a+=a (2)a一=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2),n的值等于5 (6) a+=a一=a*=a 10 60 a=a/(a+a) a=12/24 a=0 24 a+=(a-=(a=a*a)) a+=(a-=(a=144)) a+=(a-=144) a+=(a=144-144) a+=(a=0) a=a+0 a=0 a%=(n=n%2) a%=(n=1) a=a%n a=12%1 a=0
第四章 输入和输出函数 重点:输入和输出 难点:输入和输出 主要内容: 4.1 printf函数 printf(“%d”,a); 4.2 scanf函数 scanf(“%d”,&a); 4.3 putch函数 putchar(a); 4.4 input函数 a=getchar(); 4.5 格式化输出/输入和字符输出输入的异同
41 4.1 printf函数 printf函数printf函数称为格式输出函数,其关键字最末一个字母f即为“格式”(format)之意。其功能是按用户指定的格式, 把指定的数据显示到显示器屏幕上。 printf函数调用的一般形式为: printf(“格式控制字符串”,输出表列) 其中格式控制字符串用于指定输出格式。 格式控制串可由格式字符串和非格式字符串两种组成。 格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。不能有空格 提示字符串,输出时原样输出 printf(“%d,%d”,a,b); 若a=123,b=12345,则输出结果为 123,12345 printf(“I am a student”); I am a student
412 main(){int a=88,b=89;printf("%d %d\n",a,b);printf("%d,%d\n",a,b);printf("%c,%c\n",a,b);printf("a=%d,b=%d",a,b); } 如“%d”表示按十进制整型输出, “%ld”表示按十进制长整型输出, “%c”表示按字符型输出 “%f”表示按照实型输出 “%e”表示按照指数形式输出 “%s”表示按照字符串输出 8889 88,89 X,Y a=88,b=89
413 [标志][输出最小宽度][.精度][长度]类型 其中方括号[]中的项为可选项。 1。输出最小宽度 用十进制整数来表示输出的最少位数。 若实际位数多于定义的宽度,则按实际位数输出, 若实际位数少于定义的宽度则左边补以空格或0。 2.精度 精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符, 则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。3.长度长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出。
414 printf(“%d,%d”,a,b); 若a=123,b=12345,则输出结果为 123,12345 main() { printf(“%3s,%7.2s,%.4s\n”,”china”, ”china”, ”china”) } 输出如下: china, ch,chin
42 4.2 scanf函数 输入设备—键盘上输入数据的函数scanf。 scanf函数 scanf函数称为格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。 scanf函数的一般形式 scanf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中,与printf函数相同,C语言也允许在使用scanf函数之前不必包含stdio.h文件。scanf函数的一般形式为: scanf(“格式控制字符串”,地址表列); 其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串, 也就是不能显示提示字符串。地址表列中给出各变量的地址。 地址是由地址运算符“&”后跟变量名组成的。例如,&a,&b分别表示变量a和变量b 的地址。
421 void main(){int a,b,c;printf("input a,b,c\n");scanf("%d%d%d",&a,&b,&c);printf("a=%d,b=%d,c=%d",a,b,c);} 4.2 scanf函数 注意&的用法! 在本例中,由于scanf函数本身不能显示提示串,故先用printf语句在屏幕上输出提示,请用户输入a、b、c的值。执行scanf语句,则退出TC屏幕进入用户屏幕等待用户输入。用户输入7、8、9后按下回车键,此时,系统又将返回TC屏幕。在scanf语句的格式串中由于没有非格式字符在“%d%d%d”之间作输入时的间隔, 因此在输入时要用一个以上的空格或回车键作为每两个输入数之间的间隔。
422 4.2 scanf函数 main() {int a,b,c; scanf(“%d%d%d”,&a,&b,&c); printf(“%d,%d,%d\n”,a,b,c); } 运行时按以下方式输入a、b、c的值: 345 (输入a、b、c的值) 3,4,5 (输出a、b、c的值)
43 4.3 putch函数 putchar 函数putchar 函数是字符输出函数, 其功能是在显示器上输出单个字符。其一般形式为: putchar(字符变量) 例如:putchar('A'); 输出大写字母Aputchar(x); 输出字符变量x的值putchar('\n'); 换行 对控制字符则执行控制功能,不在屏幕上显示
441 使用getchar函数还应注意几个问题:1.getchar函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接收第一个字符。 2.使用本函数前必须包含文件“stdio.h”。 3.在TC屏幕下运行含本函数程序时,将退出TC 屏幕进入用户屏幕等待用户输入。输入完毕再返回TC屏幕
44 4.4 input函数 #include<stdio.h>void main(){char c;printf("input a character\n");c=getchar();putchar(c); } getchar函数getchar函数的功能是从键盘上输入一个字符。其一般形式为: getchar(); 通常把输入的字符赋予一个字符变量,构成赋值语句,如: char c;c=getchar();
45 4.5 格式化输出/输入和字符输出输入的异同 变量 格式化控制字符串 printf函数 printf(“%d”,a); 格式化输 出/输入 scanf函数 scanf(“%d”,&a); putchar(a); putch函数 单个字符 输出/输入 a=getchar(); input函数 相同:都可以用来输出/输入单个字符,如:printf(“%d”,a); putchar(a); 区别:格式化输出/输入可以多个,字符输出/输入只能单个; 字符输出/输入必须包含头文件stdio.h,书写在主程序 的前面,#include<stdio.h>
40 作业 1、编写简单程序,输出以下一行信息:This is a c program. 2、从键盘输入一个小写字母,要求用大小写字母形式输出该 字母及对应的ASCII码值。 3、从键盘输入两个数,并求两个数的和,输出 4、输入两个实数a,b,然后交换它们的值再输出
400 答案 1、编写简单程序,输出以下一行信息:This is a c program. main() { printf(“This is a c program.”); } 2、从键盘输入一个小写字母,要求用大小写字母形式输出该 字母及对应的ASCII码值。 #include<stdio.h> main() { char c1; printf(“please input a character”); c1=getchar(); putchar(c1); printf(“%d”,c1); }
400 3、从键盘输入两个数,并求两个数的和,输出 #include<stdio.h> main {int a,b,sum; printf(“please input two number \n”); scanf(“%d%d”,a,b); sum=a+b; printf(“%d+%d”,a,b); printf(“=%d”,sum); }