【实验结论】
一、Part1:验证性内容。
1、输出学号。
这个不难,把C语言的基本框架拎出来,再加个printf函数输出就可以了。
#include<stdio.h> int main(){ printf("201883300119"); return 0; }
PS:如果在printf("201883300119");这句中“”缺失的话系统会提示错误,因为它不符合格式化输出函数printf()的调用格式。(详见书本P45,有详细说明)
2、P3 例1.2
程序源代码如下:
#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; }
这里特别要注意语句后面的分号
这个程序还涉及到子函数的问题,除了要写出主函数的表达语句之外,还要定义一个子函数,定义子函数的语句在主函数之后。
3、P116页的三个习题
(1)题的代码
#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=71,e=71,f=71
然而,运行出来是这样的(手动滑稽)
这就是优先级和运算顺序的体现。
(2)(3)题同理,提醒我们要格外小心优先级和运算顺序,就不多加赘述了。
-----------------------------------假装华丽的分割线--------------------------------------------
二、Part2.补全程序。
1、判断奇偶数。
话不多说,补全后的程序源代码如下:
#include<stdio.h> int main(){ int x; printf("输入一个整数:\n"); scanf("%d",&x); if (x%2==1) printf("是奇数\n"); else printf("是偶数\n"); return 0; }
运行结果:
经验证无误
反思:写代码时,把if(x%2==1)中的“==”误写为“=”。
结果提示错误。
想了半天,才反应过来“=”是赋值运算符,“==”才是C语言的“等于”。
2、工作日/休息日的判定
放上源代码
#include<stdio.h> int main(){ int days; printf("输入一个1至7之间的整数:\n"); scanf("%d",&days); if(days>=1&days<=5) printf("workdays,FIGHTING!\n"); else if (days==6||days==7) printf("weekends,RELAX!\n"); else printf("Ooops,not in 1 to 7\n"); return 0; }
运行结果:
经验证,无误。
这个也要注意运算符的优先级,之前因为没搞清楚优先级而总是输出一些奇怪的错误的结果,由于当时做实验时没拍下来,就不一一的分享和分析了。
注意:符号全部需要用英文符!!!(惨痛的教训)
为什么要说上面那句话呢,因为我不小心用了个中文的“;”在程序里,提示错误愣是没检查出来。。。。。。
3.英文小写转换为大写。
#include<stdio.h> int main(){ char ch; printf ("输入一个字符:\n"); scanf("%c",&ch); if(ch>=97&ch<=122) ch=ch-32; else ch=ch; printf("%c\n",ch); return 0; }
运行结果:
经验证,无误。
掌握大小写字母A和a在ASCⅡ码数值差32,小写a的ASCⅡ码为97(十进制)就ok了。
【实验总结和体会】
1、首次实验,对操作系统不大熟悉,以及对一些基本的编码规则、语句规范理解不深,造成很多错误,花费时间过长。但是,熟能生巧。只有多练习,多熟悉,才能对C语言编程有更好的理解,才能又快、又准确地写出自己想要的程序。
2、语句需要在表达式后面加英文的分号“;”。别漏了!!!
2019.3.20
原文地址:https://www.cnblogs.com/zys-0119/p/10565527.html