首页 > 编程语言 > 详细

实验1 C语言开发环境使用和数据类型、运算符、表达式

时间:2019-10-17 00:04:50      阅读:77      评论:0      收藏:0      [点我收藏+]

实验结论

Part 1: 验证性实验

出现的问题:

  1. scanf("%d",&x);中d和%位置搞错并将x前&遗漏
  2. 头文件输入拼写错误
  3. return 0 后的";"被遗漏

原因:

  1. 初次学习对头文件还不熟悉
  2. 语法格式没有细节化
  3. 尚未完全弄清每条语句含义(为啥一定为&x?)

 Part2 : 按要求写出符合要求的表达式,补全程序。 给出补全后完整的程序源码及运行结果截图。

  • Test 1:判断其是奇数还是偶数

完整的程序源码如下:

// 程序功能:
// 要求用户从键盘输入一个整数,判断其是奇数还是偶数 
   
  #include <stdio.h> 
  int main() {
      int x;
      
      printf("输入一个整数: \n");
      scanf("%d",&x);
      
      // 在×××处填写相应表达式
      // 使得当表达式成立时,判定x是奇数,否则是偶数  
      if(x%2==1)  
          printf("是奇数");
      else
          printf("是偶数"); 
      
      return 0;
  } 

运行结果如下:

技术分享图片

技术分享图片

 

  •  Test 2 判断是否是工作日

完整程序如下

/* 程序功能:
   要求用户从键盘输入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;
  } 

运行结果如下

技术分享图片

技术分享图片

技术分享图片

 

  • Test 3 小写字母转换为大写字母

完整程序如下

// 功能:
  // 从键盘上输入单个字符
  // 如果是小写字母,则转换成大写后输出
  // 否则,什么也不做,原样输出
  
  #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语言的新鲜劲儿还没过,还挺有兴趣去花上两三天去磕磕巴巴的尝试着模仿着写一些小程序,尽管过程有些坎坷(是我太菜),但至少,还是挺快乐的......

 

实验1 C语言开发环境使用和数据类型、运算符、表达式

原文:https://www.cnblogs.com/chris2001/p/11685119.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!