实验1作业

2019/03/25 23:49
阅读数 32

一、实验目的


  • 熟悉c语言集成开发环境
  • 掌握c程序结构,熟悉c程序编码规范
  • 掌握c程序编写、编译、运行、调试方法
  • 掌握基本数据类型、常量、变量的使用
  • 掌握常用运算符用法,掌握表达式求值规则

二、实验准备


实验前,请围绕以下内容复习教材第1章、第2章相关内容:

1. 一个完整的c程序结构和书写规范(教材1.2节)
2. c程序的编写、编译、运行、调试方法
3. c语言中标识符命名规则、常量、变量
4. c语言中常用运算符用法及表达式求值(教材第2章)

从理论上分析并记录《C语言程序设计教程学习指导》P116三道练习中表达式的值。(后面再通过编程实验运行检验理论分析结果是否正确)

三、实验内容


  • Part 1: 验证性内容
    • 在c程序开发环境下编写运行一个简单c程序,在屏幕上输出自己的学号。在教材P2例1.1基础上稍作改动,把hello,world→改成自己的学号。
    • 在c程序环境下输入教材P3例1.2程序,并编译、运行。
    • 在c程序开发环境下,分别编写、运行《C语言程序设计教程学习指导》P116三道练习,记录其运行结果,与之前理论分析结果比较,观察是否存在不一致的部分。如有,尝试查找和分析原因。
  • Part 2: 按要求写出符合要求的表达式,补全程序。
    • 判断奇偶: ex1.c
    • 根据不同的输入,显示不同提示信息:ex2.c
    • 根据用户输入字符,判断如果是小写字母,则转换成大写;否则保持原样: ex3.c
  • Part 3: 编程练习(===选做题===) 编写程序,实现把一个十进制整数转换成二进制。十进制整数由键盘输入,转换后的二进制数据输出到显示器上。

四、实验结论


Part 1: 验证性内容

    未明显踩坑,未出现运行结果与预想不符的情况。

Part 2: 按要求写出符合要求的表达式,补全程序。

1. 判断奇偶: ex1.c

#include <stdio.h>
int main() {
int x;
printf("输入一个整数: \n");
scanf("%d",&x);
if(x%2!=0)  // 使得当表达式成立时,判定x是奇数,否则是偶数
printf("是奇数");
else
printf("是偶数");
return 0;
}

运行结果:

2.根据不同的输入,显示不同提示信息:ex2.c

    #include <stdio.h>
    int main(){
	int days;
	
	printf("Input an integer:\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;
    }

运行结果:

3.根据用户输入字符,判断如果是小写字母,则转换成大写;否则保持原样: ex3.c

// 功能:
// 从键盘上输入单个字符
// 如果是小写字母,则转换成大写后输出
// 否则,什么也不做,原样输出

#include <stdio.h>
int main() 
{
char ch;
printf("输入一个字符:\n");
scanf("%c",&ch);

if(ch>='a'&&ch<='z')    //判定ch是小写字母的表达式
ch=ch-32;    //把ch中的小字母转换成大写字母的表达式语句

printf("%c\n",ch);

return 0;
}

运行结果:

Part 3: 编程练习

ex4.c

//编写程序,实现把一个十进制整数转换成二进制。
//十进制整数由键盘输入,转换后的二进制数据输出到显示器上。

#include <stdio.h> 
int main() {
	printf("Please input a decimal number:\n");
	
	int x,t;
	scanf("%d",&x);
	
	while (x!=0){
		t=x%2;
		printf("%d",t);
		x=x/2;
	}

	return 0;
}

运行结果:

五、实验总结与体会


这是第一次上机做实验,非常看着自己写出来的代码运行起来,有一种淡淡的自豪感。尝了这样一点点甜头,我对这门课今后的学习更加有信心了。

毕竟这是第一次,作为初学者,发现了很多不足的地方:

    1. 键盘使用不熟练;
    写头几个程序时,无法盲打单双引号、尖括号、"#"、"%"、"&"、"*"和"!"等符号。
    2.经常打错或少打多打字符;
    3. 语句后容易忘加分号,尤其是"scanf"、"printf"、"return 0"后;
    4. 对于C语言编程中空格的使用不清楚;
    5. 字符常量字符变量以及格式控制符"%c"还没弄清楚,做相关补全程序实验时出现困难;
    6. 还不会让程序循环运行,运行完一次程序就会结束,不能多次循环,多次输入数据。

关于这次实验我也有几个疑问:

  • 为什么教材P3例1.2求整数乘积要定义product函数,而不简单地直接用表达式求积?
  • 做Part 2第二题时,发现输入5.5是程序会把数字当成整型5处理,似乎是因为一开始定义的变量days是整型变量。所以实型5.5会强制转换成整型?
  • 做Part 3编程练习时发现数字大于64时,转换成二进制数就会出现问题。好像最大只能化为七位二进制数,是因为这台电脑整形默认是八位吗?如果要转换更大的十进制数,该如何设计?另外,不会设计奖浮点型十进制数化成二进制数的程序。

In short, 希望在今后的学习中慢慢掌握更多。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部