实验结论
Part 1: 验证性实验
出现的问题:
原因:
Part2 : 按要求写出符合要求的表达式,补全程序。 给出补全后完整的程序源码及运行结果截图。
完整的程序源码如下:
// 程序功能: // 要求用户从键盘输入一个整数,判断其是奇数还是偶数 #include <stdio.h> int main() { int x; printf("输入一个整数: \n"); scanf("%d",&x); // 在×××处填写相应表达式 // 使得当表达式成立时,判定x是奇数,否则是偶数 if(x%2==1) printf("是奇数"); else printf("是偶数"); return 0; }
运行结果如下:
完整程序如下
/* 程序功能: 要求用户从键盘输入1~7之间的整数 如果输入的是1~5, 提示用户是工作日,要努力工作; 如果输入的是6或7,提示用户是休息日,放松休息; 否则,提示用户输入不在合法范围 */ #include <stdio.h> int main() { int days; printf("输入一个整数: \n"); scanf("%d",&days); // 补足×××处的表达式,使得满足程序功能描述 if(days>=1&&days<=5) // days在1到5之间 printf("workdays, fighting\n"); else if(days==6||days==7) // days是6或7 printf("weekend, relax~\n"); else printf("Ooops, not in 1~7\n"); return 0; }
运行结果如下
完整程序如下
// 功能: // 从键盘上输入单个字符 // 如果是小写字母,则转换成大写后输出 // 否则,什么也不做,原样输出 #include <stdio.h> int main() { char ch; printf("输入一个字符:\n"); scanf("%c",&ch); // 根据程序功能描述,补足程序 if(ch>=‘a‘&&ch<=‘z‘) // 如果ch是小写字母,补足判定ch是小写字母的表达式 ch=ch-‘a‘+‘A‘; // 补足把ch中的小字母转换成大写字母的表达式语句 // 说明:语句就是在表达式末尾加分号; printf("%c\n",ch); return 0; }
运行结果如下
Part 3 编程练习
编写程序,实现把一个十进制两位数整数转换成二进制。十进制整数由键盘输入,转换后的二进制数据输出到显示器上。
程序如下
#include<stdio.h> int main() { printf("输入一个两位十进制数:\n"); int x,a,b,c,d,e,f,g ; scanf("%d",&x); a=x%2; /*除二取余,a,b,c,d,e,f,g作为余数 */ x=x/2; b=x%2; x=x/2; c=x%2; x=x/2; d=x%2; x=x/2; e=x%2; x=x/2; f=x%2; x=x/2; g=x%2; x=x/2; printf("二进制为:%d%d%d%d%d%d%d\n",g,f,e,d,c,b,a); /*倒序输入*/ return 0; }
运行结果如下
实验总结与体会
初次写c语言作业,比预期平顺一些(怕是忘了刚开学自己玩闹着写程序头挠秃了找不到原因的苦痛了),对于c语言初学者,这一切都是很新鲜令人好奇的(秃头算什么??!)。
补程序这一part感觉自己基本功好差啊啊啊!对优先级不清楚,导致了编写错误,自己试着换了几种算法,就运行结果看貌似都还行(?),但其实不太懂啥样的算法较优(小白本白)......
选做题真的.......我都秃了,想不出啥好一点的,优化一点的方法,(总感觉有个东西可以存储这些余数,但我并不知道),网上有查,没太能理解,可能需要两三天的时间再去研究一下.......(我太难了)。就这个奇奇怪怪的程序,写完我都笑了,幸好是两位,要是三位我手都酸了。也算是激发了学习的热情吧,就怕囫囵吞枣,适得其反。
总体来说,还是反应了自己基础的薄弱,代码格式也不是很清晰,要投入更多的精力去温习和预习。也收获了很多,之前闹着玩写的程序中if--else语句存在的问题现在有test2做参考,也许可以有所突破(?)(来自小白渣渣的自省......)
总之呢,现在对于c语言的新鲜劲儿还没过,还挺有兴趣去花上两三天去磕磕巴巴的尝试着模仿着写一些小程序,尽管过程有些坎坷(是我太菜),但至少,还是挺快乐的......
原文:https://www.cnblogs.com/chris2001/p/11685119.html