第二次C语言实验

Part1:

printf(),scanf()函数的用法

/*
C语言程序设计教程学习指导》p119 实验内容(2)
这是一个格式化输入输出函数及格式符使用练习
找出两处错误,修改并运行程序
为a1,a2,a3,c1,c2,c3,x,y输入数据,使得:
a1=1,a2=2,a3=3,c1=‘a‘,c2=‘b‘,c3=‘c‘, x=1.5, y=2.5
*/
#include <stdio.h>
int main() {
	double x,y;
	char c1,c2,c3;
	int a1,a2,a3;
	scanf("%d%d%d",&a1,&a2,&a3);
	printf("%d,%d,%d\n",a1,a2,a3);
	scanf("%c%c%c",&c1,&c2,&c3);
	printf("%c%c%c\n",c1,c2,c3);
	scanf("%lf,%lf",&x,&y);
	printf("%lf,%lf\n",x,y);
	return 0;
}

  

%d:按十进制整型输出

%f:用来输出实数,以小数形式输出,默认情况下保留小数点6位。

%c:用来输出一个字符。

%e:以指数形式输出实数。

%s:用来输出一个字符串。

%5d:表示按十进制输出数据,最小输出宽度为5个字符,右对齐,如果输出的数据小于5个字符,前补空格。如果超过5个字符,按实际数据长度输出。

%f:表示以double型格式输入或输出变量的值。

%.3f表示单精度浮点型,保留3位小数。

%lf表示双精度浮点型

%6.2f表示输出结果总共占6个字符,包含3位小数。

输入输出双精度类型数据的时候必须要用%lf

part4:

/*
switch语句使用示例
输入1,2,3...的不同整数,显示不同提示信息
*/
#include <stdio.h>
int main() {
	int level;
	printf("输入现在状态等级(1-5):  ");
	scanf("%d",&level);
	switch(level) {
		case 1: printf("high翻了:)\n"); break;
		case 2: printf("low爆了:(\n"); break;
		default: printf("一言难尽,无法概括。。。\n");
	}
	return 0;
}

 

 有break情形

无break情形

/*
switch语句使用示例
输入1,2,3...的不同整数,显示不同提示信息
*/
#include <stdio.h>
int main() {
	int level;
	printf("输入现在状态等级(1-5):  ");
	scanf("%d",&level);
	switch(level) {
		case 1: printf("high翻了:)\n");
		case 2: printf("low爆了:(\n");
		default: printf("一言难尽,无法概括。。。\n");
	}
	return 0;
}

  

不同之处:

有break的时候,程序跳出这一层的switch语句结构,转到其结构后面的语句执行,即输入1执行case1的语句,输入2执行case2的语句,不执行case1,

当没有break语句时,程序就会一直执行下去,直到遇到break语句或该switch结构结束。

part5:

简单编程小练习

/*要求用户从键盘输入x(A,B,C,D之一),如果用户答案是‘A‘,则输
出提示信息"Binggo, you are right~",否则,输出提示信息"
try again~"。
*/
# include <stdio.h>
int main()
{
	int ch;
	printf("输入字母‘A‘-‘D‘ ");
	scanf("%c",&ch);
	switch(ch){
		case ‘A‘: printf("Binggo, you are right~"); break;
		case ‘B‘:
		case ‘C‘:
		case ‘D‘: printf("try again~"); break;  

	}
	return 0;
}

  

用if语句编写

/*要求用户从键盘输入(A,B,C,D之一),如果用户答案是‘A‘,则输
息"Binggo, you are right~",否则,输出提示信息"
try again~"。
*/
# include <stdio.h>
int main()
{
	int ch;
	printf("输入字母‘A‘-‘D‘ ");
	scanf("%c",&ch);
	if(ch==‘A‘)
	printf("Biggo, you are right~");
	else
	printf("try again~"); 

	return 0;
}

  

总结与体会

输入函数scanf()中要有地址符&,格式符使用时要注意各格式符的意思不能乱用,而且要根据实际情况正确使用。

对于if语句的使用还有点不熟,难以正确定义变量,就part5我觉得用if语句比较简单,但是最初我是用switch语句,因为开始的时候用if语句时我只定义了变量ch

也没有提示输入,这点应该是我输入函数没有理解好,对于变量的输入也没有明确表示,还有一个经常犯的毛病就是字符型常量忘记加单引号。

if语句尚未理解透彻,还需多加练习。switch语句我觉得还没有完全理解透彻,有些细节性的东西还要多多练习。

原文地址:https://www.cnblogs.com/Bnuikl/p/10618632.html

时间: 2024-10-16 06:12:35

第二次C语言实验的相关文章

SDUT 1177 C语言实验——时间间隔

C语言实验--时间间隔 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Description 从键盘输入两个时间点(24小时制),输出两个时间点之间的时间间隔,时间间隔用"小时:分钟:秒"表示.如:3点5分25秒应表示为--03:05:25.假设两个时间在同一天内,时间先后顺序与输入无关. Input 输入包括两行.第一行为时间点1.第二行为时间点2. Output 以"小时

C语言实验——一元二次方程Ⅱ

C语言实验--一元二次方程Ⅱ Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 169  Solved: 131 [Submit][Status][Web Board] Description 求一元二次方程ax2+bx+c=0的解.a,b,c为任意实数. Input 输入数据有一行,包括a b c的值. Output 按以下格式输出方程的根x1和x2.x1和x2之间有一个空格. x1 x2 (1)如果x1和x2为实根,则以x1>=x2输出. (2)如

第二章 Mablab语言基础

第二章 Mablab语言基础 2.1 Matlab的变量与常量 1) input:x=input(‘please enter a numb’) 2) Inf/inf:正无穷大 3) pi:圆周率 4) 默认保留变量:ans 2.2 Matlab的基本数据结构(1) 1) 修改Curent Folder:修改快捷方式的目标属性 2) 向量=数组 3) 行矩阵a=[1 2 3]或a=[1,2,3];列矩阵b=[1 2 3]'或b=[1;2;3] 4) 内置矩阵函数ones(ones(4):4维全1矩

sdut oj 1163 C语言实验——排列 (当初不会递归生成排列,这个题目现在才补上 刘汝佳给出了写法 *【模板】 当然有生成全排列的函数存在 )

C语言实验——排列 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 有4个互不相同的数字,请按序输出由其中三个不重复数字组成的排列. 输入 4个整数. 输出 所有排列,输出顺序见样例. 示例输入 1 2 3 4 示例输出 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 1 2 4 1 4 2 2 1 4 2 4 1 4 1 2 4 2 1 1 3 4 1 4 3 3 1 4 3 4 1 4 1 3 4

rwkj 1332 C语言实验四(函数):题目1、数字根

C语言实验四(函数):题目1.数字根 时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte总提交:305            测试通过:185 描述 正整数的数字根是将数位上的数字求和进行计算而来.如果各位数字之和为一位的整数,那么这个整数就是这个数的数字根:如果之后为多位数,那么重复运用此规则进行计算直至求出一个一位数.例如12,那么它的数字根就为1+2=3:例如39那么它的数字根就为3+9=12,1+2=3,最终为3. 输入 每行输入

CCNP第二天 帧中继综合实验

实验题如图所示: 要求全网可达 R5为帧中继交换机 R6 和 R1之间为快速以太网接口 所使用的拓扑为CCNA标准版拓扑图,如下所示: --------------------------------------------------------------------------------------------------------------------------------- 1.首先在帧中继交换机上打通各条PVC frsw#conf tfrsw(config)#no ip ro

第二次课程设计实验

2019春第二次课程设计实验报告 一. 实验项目名称 贪吃蛇游戏 二. 实验项目功能描述 一个能由用户手动输入实现的用户操控一串字符数组移动达成相应条件改变字符数组的贪吃蛇游戏 三. 项目模块结构介绍 四. 实现界面展示 五. 代码托管链接 https://gitee.com/llf1202/flappy-1/blob/master/tcs.cpp 六. 实验总结 问题:游戏运行时,出现sleep(2000)函数没有定义 解决:开始我是怀疑我的代码打错了,某个函数打错了,反复对照书上的代码还是没

2019春第二次课程实际实验报告

2019春第二次课程实际实验报告 一:实验项目名称 贪吃蛇游戏工作室 二:实验项目功能描述 编写代码,能够使游戏正常运行,达到基础的编写游戏的功能,在这个游戏中,就是通过贪吃蛇不停的吃,使之能够不停的长大,级为游戏的运行,如果撞到边界 ,则为游戏失败 三:项目模块结构介绍: if(kbhit()) // 判断是否有输入 { input = getch(); // 根据用户的不同输入来移动,不必输入回车 if (input == 'a') { moveDirection = 3; // 位置左移

第二次课程设计实验报告

2019春第二次课程设计实验报告 一.实验项目名称 贪吃蛇小游戏 二.实验项目功能描述 玩家通过键盘控制蛇在地图上寻找食物,蛇吃下食物,可以加分,碰到四壁或者自己游戏结束. 三.项目模块结构介绍 程序关键在于表示蛇的图形及蛇的移动.用一个小圆点来表示蛇的一节身体,身体每长一节,增加一个圆点,蛇头用四节来表示.移动时必须从蛇头开始,所以蛇不能向相反的大反向移动,如果不按任意键,蛇自行在当前方向上前移,如果按与蛇方向相反的方向键,此游戏就会暂停,再按向前的方向键才能继续游戏,但按下有效方向键后,蛇头