第二次C语言实验

Posted bnuikl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二次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语句我觉得还没有完全理解透彻,有些细节性的东西还要多多练习。

 

以上是关于第二次C语言实验的主要内容,如果未能解决你的问题,请参考以下文章

C语言第二次作业

第二次 实验报告

第二次实验报告

第二次实验报告

第二次实验报告

第二次实验报告