实验一
Part 1:验证性内容
/*this is first C program*/ # include<stdio.h> int main(){ printf("201883300111"); return 0; }
第一个验证比较简单,就是把printf里的内容换了,需要注意的是主函数每行结束要打“;”
/*求两个整数的乘积*/ # include<stdio.h> int product(int,int); int main(void){ int x,y,s; scanf("%d %d",&x,&y); s = product(x,y); printf("the mul is:%d",s); return 0; } int product(int a,int b){ int mul; mul=a*b; return mul;
第二个实验是教材上的源代码,可以在一行中定义多个函数,运用到输出输入函数的时候要注意字符格式控制串和输出(入)列表,需要学习的是此代码中定义了新的函数。
/*求两个整数之商*/ # include<stdio.h> int main(){ int a=5,b=7,c=100d,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; }
第一道例题符号优先级是从左到右,需要注意“/”表示的是整除
/*自增,自减运算*/ # include<stdio.h> int main(){ int a=5,b=8; printf("a++=%d\n",a++); printf("a=%d\n",a); printf("++b=%d\n",++b); printf("b=%d\n",b); return 0; }
需要搞清的是“++”,“--”的含义以及这两种运算前置和后置的区别,“自增”,“自减”运算的优先级为2,高于“*,/,%”的运算。
/*关系运算和逻辑运算*/ # include<stdio.h> int main(){ int a=5,b=8,c=8; printf("%d,%d,%d,%d\n",a==b&&a==c,a!=b&&a!=c,a>=c,a<=b&&a<=c); printf("%d,%d\n",a<=b||a>=c,a==b||b==c); printf("%d,%d,%d,%d\n",!(a==b),!(a>=b),!(a>=c),!(a<=b)); return 0; }
此代码“scanf”函数中字符格式控制串李内容较多,所以“,”不能忘,只要弄清每个运算的含义,就能理解运行结果。
part 2:按要求写处符合的表达式,补全程序
ex1.c
/*判断奇偶*/ #include<stdio.h> int main(){ int x; printf("输入一个整数:\n"); scanf("%d",&x); if(x%2!=0) printf("是奇数"); else printf("是偶数"); return 0; }
学会“if...else”语句的使用,熟练逻辑运算和算术运算的使用。
ex2.c
/*根据信息提示显示不同信息*/ #include<stdio.h> int main(){ int days; printf("输入一个整数:\n"); scanf("%d",&days); if(days>=1&&days<=5) printf("workdays,fighting\n"); else if(days==6||days==7) printf("weekend,relax~\n"); else printf("Ooops,not in 1~7\n"); return 0; }
学习“if...else if...else”语句的使,学会用逻辑运算符熟练表达变量条件。
/*字母转换为大写*/ #include<stdio.h> int main(){ char ch; printf("输入一个字符:\n"); scanf("%c",&ch); if(ch>=97&&ch<=122) ch=ch-32; printf("%c\n",ch); return 0; }
学习“if...”语句的使用。
遇到的问题:
1.有时候会把语句后的“;”忘了,导致编译出错;
2.再输入例如“”#,“空格”等中英文状态下输出的结果区别不明显时会因为没有切换中英文状态而导致编译出错;
3.常用的逻辑运算和语句运用不熟导致变成进度缓慢。
感受:
C语言时一种能沟通人与电脑的语言。
总结:
1.应当熟悉常用语句和各种运算;
2.熟悉简单程序的基本结构可以提高速度;
3.应当掌握常用算法,例如:二进制与十进制的转化。