实验2
#include <stdio.h> int main(){ int a=5,b=7,c=100,d,e,f; d=a/b*c; e=a*c/b; f=c/b*a; printf("d=%d,e=%d,f=%d\n",d,e,f); return 0; }
d=0,e=71,c=70 一致
d=a/b*c e=a*C/b f=c/b*a 因为int 定义后面的变量是整型变量,并且/和*是同级运算从左往右进行,,所以每进行完一次运算都要取整
#include <stdio.h> int main(){ int x=1234; float f=123.456; double m=123.456; char ch='a'; char a[]="hello,world!"; int y=3,z=4; printf("%d %d\n",y,z); printf("y=%d,z=%d\n",y,z); printf("%8d,%2d\n",x,x); printf("%f,%8f,%8.1f,%0.2f,%.2e\n",f,f,f,f,f); printf("%1f\n",m); printf("%3c\n",ch); printf("%s\n%15s\n%10.5s\n%2.5s\n%.3s\n",a,a,a,a,a); return 0; }
加上“”表述输入引号内的,
%d表示按十进制整数输出
13行要把引号里的y= ,z= 按照十进制整数输出
14行%8d表示左补空格,数据长度为8 %2d表示数据长度为2,超过2个按实际输出
15行%f按浮点数输出,小数按6位小数输出 %8f数据长度为8 %8.1f表示数据长度为8,小数点后只有一位 %0.2f表示小数点只有2为整数部分照常 %.2ef表示按照指数输出,小数点保留至后两位
16行%1f指按浮点式的双精度形式输出 \n表示换行
17行%3c表示按字符输出,数据长度为3
18行%s表示按字符串输出 %15s表示按照数据长度为15的字符串输出 %10.5s表示数据长度为10,字符串输出位数为5 %2.5s表示按照数据长度为2输出,字符串输出位数为5,而实际输出超过2,按照实际输出 %.3s表示指定实际输出位数为3
#include <stdio.h> int main() { double x,y; char c1,c2,c3; int a1,a2,a3; scanf("%d%d%d",&a1,&a2,&a3); printf("%d,%d,%d\n",a1,a2,a3); scanf("%c %c %c",&c1,&c2,&c3); printf("%c%c%c\n",c1,c2,c3); scanf("%lf,%lf",&x,&y); printf("%f,%lf\n",x,y); return 0; }
scanf 后一定要加地址符&否則不能正常運行并且要将第12行中%f改为%lf。因为double为双精度型,对应%lf
#include <stdio.h> int main() { char x; x = getchar(); if(x>=48&&x<=57) // 判断x是数字字符表达式 printf("%c是数字字符\n", x); else if(x>='A'&&x<='Z'||x>='a'&&x<='z') // 判断x是大写或小写英文字母的表达式 printf("%c是英文字母\n", x); else printf("%c是其它字符\n", x); return 0; }
可以用对应字符常量的符号表示也可以用ASCII值表示,要注意&&和||的用法
#include<stdio.h>
int main() { char ans1, ans2; printf("复习了没? (输入y或Y表示复习了,输入n或N表示没复习) : "); ans1 = getchar(); getchar(); printf("\n动手敲代码了没? (输入y或Y表示敲了,输入n或N表示木有敲) : "); ans2 = getchar(); if(ans1=='y'||ans1=='Y'&&ans2=='y'||ans2=='Y') printf("\n罗马不是一天建成的:)\n"); else printf("\n罗马不是一天毁灭的。。。\n"); return 0; }
我觉得第6行的getchar是为了让我们从键盘上输入空格等分隔符的。在回答y或Y时要加上单引号
#include <stdio.h> #include <math.h> int main(){ int n,sum; int q=2,a1=1; scanf("%d",&n); printf("sum=%d",sum=a1*(1-pow(q,n+1))/(1-q)); return 0; }
在引用pow函数时要加上头文件<math.h>表示引用函数,scanf后一定要加地址符&,注意在a1(1-pow(q,n))要加上*