标签:
基本的输入和输出函数的用法
printf();四种用法
1.printf("字符串\n");
2.printf("输出控制符",输出参数);
3.printf("输出控制符1 输出控制符2 。。。",输出参数1,输出参数2);
4.printf("输出控制符 非输出控制符",输出参数);
输出控制符有如下:
%d
%ld
%f
%lf
%x(or %X or %#X or %#x) 最好用%#X 输出如0X2F
%o
%s
scanf();两种用法:
1. scanf("输入控制符",输入参数);
scanf("%d",&i); //&是取地址符,注意%d后面不要加 \n
2. scanf("非输入控制符 输入控制符",输入参数);
非输入控制符必须原样输入
scanf()和printf()例子:
1 # include <stdio.h>
2
3 int main(void)
4 {
5 int i;
6 char ch;
7
8 scanf("%d", &i);
9 printf("i = %d\n", i);
10 scanf("%c", &ch);
11 printf("ch = %c\n", ch);
12
13 return 0;
14 }
1 # include <stdio.h>
2
3 int main(void)
4 {
5 int i, j;
6
7 scanf("%d %d", &i, &j);
8 printf("i = %d, j = %d\n", i, j);
9
10 return 0;
11 }
scanf()含有非输入控制符的用法:
1 # include <stdio.h>
2
3 int main(void)
4 {
5 int i;
6
7 scanf("m%d", &i); //m123 正确的输入 123是非法的输入
8 printf("i = %d\n", i);
9
10 return 0;
11 }
一次给多个变量键盘赋值的方法:
1 # include <stdio.h>
2
3 int main(void)
4 {
5 int i, j, k;
6
7 printf("请输入三个值,中间以逗号分隔: ");
8 scanf("%d,%d,%d", &i, &j, &k);
9 printf("i = %d, j = %d, k = %d\n", i, j, k);
10
11 return 0;
12 }
scanf()对用户非法操作的处理:
1 /*
2 2015年2月5日17:33:11
3 目的:scanf对用户非法输入的控制
4 */
5 # include <stdio.h>
6
7 int main(void)
8 {
9 int i;
10 char ch;
11
12 scanf("%d", &i);
13 printf("i = %d\n", i);
14
15 //.......
16 while ( (ch=getchar()) != ‘\n‘)
17 continue;
18 int j;
19 scanf("%d", &j);
20 printf("j = %d\n", j);
21
22 return 0;
23 }
24
25 /*
26 输入123m 回车 345
27 输出:
28 --------------------
29 请输入2个数,中间用逗号间隔:
30 123,333m
31 i = 123 j = 333
32 请再输入2个数,中间用逗号间隔:
33 21,78
34 j = 333 l = 78
35 --------------------
36
37 注意:
38 1. scanf前用printf提示
39 2. 333m后面多一个m,但是由于中间加了while语句,不影响后面输入
40 */
取余运算符与取模运算符
除法/的运算结果和运算对象的数据类型有关,两个都是int则商是int。被除数和除数有一个是浮点型则商也是浮点型
取余%运算符的运算对象必须是整数,结果是余数,其符号和被除数的符号相同
一元二次方程的求解:
1 # include <stdio.h>
2 # include <math.h>
3
4 int main(void)
5 {
6 //把三个系数保存到计算机中
7 int a = 1; //=不表示相等,表示赋值
8 int b = 5;
9 int c = 6;
10 double delta; //delt存放的是 b*b - 4*a*c
11 double x1; //存放一元二次方程的其中一个解
12 double x2; //存放一元二次方程的其中一个解
13
14 delta = b*b - 4*a*c;
15
16 if (delta > 0)
17 {
18 x1 = (-b + sqrt(delta)) / (2*a);
19 x2 = (-b - sqrt(delta)) / (2*a);
20 printf("该一元二次方程有两个解, x1 = %f, x2 = %f\n", x1, x2);
21 }
22 else if (delta == 0)
23 {
24 x1 = (-b) / (2*a);
25 x2 = x1; //右边赋给左边
26 printf("该一元二次方程有一个唯一解, x1 = x2 = %f\n", x1);
27 }
28 else
29 {
30 printf("无解\n");
31 }
32
33 return 0;
34 }
标签:
原文地址:http://www.cnblogs.com/moon1992/p/4536266.html