基本的输入和输出函数的用法
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 }
时间: 2024-10-24 05:07:29