C语言基础知识之综合案例(1)

1,在屏幕上显示信息。

最常见的显示信息的方式是使用库函数printf()和puts()。

a,转义字符。

b,转移说明符。

printf()函数位于标准C语言库中,它是最通用的在屏幕上显示信息的方式。

#include<stdio.h>
void  main()
{
	//在屏幕上显示文本信息 very nice !
	printf("very nice !"); 

	//显示变量的值
	int number = 10;
	/*
	格式化字符串
	格式化字符串指定如火如荼格式输出,由以下三部分组成:
		字面文本:按输入方式显示。如下的字面文本为:The value of number is
		转义序列:提供特殊的格式化控制,由一个反斜杠和一个字符组成。如下转义序列为: \n(换行符,是移到下一行的开始位置)
	    转换说明符:由百分符(%)和一个字符组成。如下转换说明符为 %d(转换说明符 告诉printf()函数 如何解释要打印的变量,%d是按十进制)
	*/
	printf("\n The value of number is %d",number); //格式化字符串;包含要打印的值的变量名

	//printf("\a响铃"); //振铃
	//printf("\b退格");//退格
	//printf("\f换页");//换页
	printf("------分界线----\n");
	printf("\r回车");//回车
	/*
	 为什么加了回车上面2行的内容都不见了?因为回车是回到一行的开始,而并非移动下一行。
	 解决办法:printf("------分界线----\n"); 即在分界线后面加换行。
	*/
	printf("\t水平制表符");//水平制表符
	printf("\v垂直制表符");//垂直制表符
	printf("\\反斜杠"); //反斜杠
	printf("\?问号");//问号
	printf("\‘单引号");//单引号
	printf("\"双引号");//双引号
	printf("-----结束---");

	system("pause");
}


a,运行结果 1

b,运行结果 2

2,结合循环以及前面我们学过的基础知识 写一个案例。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<time.h>
#include<Windows.h>
void choice_what();//定义原型
void goon_or_quit();//定义原型
void  main()
{
	goon_or_quit();

	system("pause");
}
//做出判断和选择
void choice_what()
{
		int temp = 0;
		printf("亲选择操作:");
		printf("响铃 1\n");
		printf("显示日期 2\n");
		printf("输出你的信息 3\n");
		scanf("%d", &temp);
		switch (temp)
		{
		case 1:
			printf("\a响铃了!");
			break;
		case 2:
			/*
			time_t rawtime;//时间类型
			struct tm * timeinfo;//时间结构
			time(&rawtime);//获取时间,以秒计,从1970年1月一日起算,存于rawtime
			timeinfo = asctime(&rawtime); //localtime(&rawtime);转为当地时间,tm 时间结构asctime ()-- 转为标准ASCII时间格式:星期 月 日 时:分:秒 年
			printf("\007The current date/time is: %s", asctime(timeinfo));*/
			//system("date\n");
			system("@echo %date% %time%");
			break;
		default:
			printf("(*^__^*) 嘻嘻……,我们都是好孩子!");
		}
}
void goon_or_quit()
{
	int mark =1;//初始化mark变量,标记
	do
	{
		choice_what();
		printf("是否继续?\n");
		printf("继续 1\n");
		printf("退出 0\n");
		scanf("%d", &mark);

	} while(mark);
	exit(0);
}

运行结果

printf()函数接受一系列的参数,其中每个参数应于格式化字符串的一个转换说明符。

printf()将格式化后的信息打印到标准输出设备。使用printf()时,需包含标准输入/输出

头文件stdio.h。

使用puts()显示信息

#include<stdio.h>
/*
常用的转换说明符
*/
void main()
{
	char a_char = ‘a‘;
	printf("%c\n", a_char);
	int  a_int = -9;
	short a_short = -9;
	printf("%d\n", a_int);
	printf("%d\n", a_short);
	long a_long = -10000l;
	printf("%ld\n",a_long);
	float a_float = 100.65f;
	double a_double = 100.65;
	printf("%f\n", a_float);
	printf("%d\n", a_double);
	char a_chars[17] = { "我们都是好孩子!" };//注意:一个汉字为2个字节,!和“”分别为一个,则17=14+3
	printf("%s\n", a_chars);
	unsigned int a_uint = 9;
	unsigned short a_ushort = 9;
	printf("%u\n", a_uint);
	printf("%u\n", a_ushort);
	unsigned long a_ulong = 10000;
	printf("%lu\n", a_ulong);
	printf("----------------------错误类型分割线---------------------------\n");
	printf("错误的类型:");
	unsigned short a_ushort_e1 = -9;
	printf("%u\n", a_ushort_e1);
	printf("错误的转换说明符:");
	unsigned short a_ushort_e2 = -9;
	printf("%u\n", a_ushort_e2);
	puts("------------------puts分割线-----------------");
	/*
	函数puts()也可用来在屏幕上显示文本消息,但它不能显示数值变量。puts()函数接受一个
    字符串参数,显示该参数并自动换行。

	当只需要打印文本,不需要打印变量时,用puts()而不是printf()

	*/
	puts("使用puts()函数显示信息:");
	puts("使用puts()函数显示信息:\n");
	system("pause");
}

运行结果

3,使用scanf()函数输入数值数据。

从键盘读取数值数据的最灵活的方法就是使用库函数scanf()。

函数scanf()按指定的格式从键盘读取数据,并将其赋给一个或多个变量。和printf()一样,scanf()也

使用一个格式化字符串描述输入的格式,改格式化字符串使用的转换说明符与printf()函数相同。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
/*
使用scanf获得键盘输入的信息
*/
void main()
{
	int temp1 = 0;
	double  temp2 = 1.09;
	//这里注意转换说明符, double 类型 要用%lf
	scanf("%d %lf", &temp1, &temp2);    

	printf("%d,%f",temp1,temp2);
	system("pause");
}

运行结果

经验:

printf()的功能强于puts(),但开销也更大。编写小型、高效的程序,或程序很大、资源变得非常宝贵

时,就要充分利用puts()的开销更小这一优点。

C语言基础知识之综合案例(1)

时间: 2024-10-10 17:37:09

C语言基础知识之综合案例(1)的相关文章

OC语言基础知识

OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类. 术语:OO面向对象.OOP面向对象编程 二.类 (一)关于类 类的设计只关注三个东西:类名.属性和方法 注意:一般名词都是类,拥有相同属性和行为的对象都可以抽象为一个类,类名是标识符的一种,需要符合规范,通常类名的第一个字母大写,且不能有下划线,如果有多个单词则使用驼峰标识.在对方法进行类的

C#语言基础知识(2):C#中多态

我的理解是:通过继承实现的不同对象调用相同的方法,表现出不同的行为,称之为多态. 1: OverRide 实现多态 1 public class Animal 2 { 3 public virtual void Eat() 4 { 5 Console.WriteLine("Animal eat"); 6 } 7 } 8 public class Dog : Animal 9 { 10 public override void Eat() 11 { 12 Console.WriteLin

李洪强iOS开发之OC语言基础知识

OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类. 术语:OO面向对象.OOP面向对象编程   二.类 (一)关于类 类的设计只关注三个东西:类名.属性和方法 注意:一般名词都是类,拥有相同属性和行为的对象都可以抽象为一个类,类名是标识符的一种,需要符合规范,通常类名的第一个字母大写,且不能有下划线,如果有多个单词则使用驼峰标识.在对方法进行

C#语言基础知识(1):C#中关于重载和重写

Overload:重载就是在同一个类中,方法名相同,参数列表不同.参数列表不同包括:参数的个数不同,参数类型不同. 1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 5 namespace OverLoading 6 { 7 class Program 8 { 9 public static int max(int i, int j) //静态方法 10 { 11 if (i > j) 12 re

C#语言基础知识(3):C#中转义符

C#转义字符: 一种特殊的字符常量:以反斜线"\"开头,后跟一个或几个字符.具有特定的含义,不同于字符原有的意义,故称“转义”字符.主要用来表示那些用一般字符不便于表示的控制代码. 它的作用是消除紧随其后的字符的原有含义用一些普通字符的组合来代替一些特殊字符,由于其组合改变了原来字符表示的含义,因此称为“转义” 用可以看见的字符表示那不可以看见的字符, 如'\n'表示换行 常用的转义字符及其含义: \’ 单引号\” 双引号\\ 反斜杠\0 空\a 警告(产生峰鸣)\b 退格\f 换页\

C#语言基础知识(4):C#中的String.Format方法

定义String.Format是将指定的String类型的数据中的每个格式项替换为相应对象的值的文本等效项.(1)string p1="xiaomeng";string p2="xiaobei";Response.Write(String.Format("Hello {0},I'm {1}",p1,p1));(2)Response.Write(String.Format("Hello {0},I'm {1}","xi

C语言基础知识----易让人头疼的关键字----const &amp;&amp; typedef &amp;&amp; define

const关键字 const=read only,修饰的为只读变量而不是常量.const修饰的变量不能用作数组的维数也不能放在switch语句的case:之后. 主要作用有: 1.通过把不希望被修改的变量或参数用const来修饰,编译器会保护这些变量不被修改增强系统的可靠性: 2.增强代码的可读性 [html] view plaincopyprint? const int a;      //a为常量不能被修改 int const a;      //a为常量不能被修改 const int *a

C#语言基础知识(9):ScrollBarsEnabled的使用

在WinForm中通过WebBrowser获取网页,我想把WebBrowser的ScollBar去掉,我的网页不需要滚动条. 设置方法如下:单击WebBrowser设计页面,在属性页面有一个ScrollBarsEnabled.设置为false即可. C#语言基础知识(9):ScrollBarsEnabled的使用

C#语言基础知识(5):Partial Class部分类

Partial Class,部分类 或者分布类.顾名思义,就是将一个类分成多个部分.比如说:一个类中有3个方法,在VS 2005将该类中3个方法分别存放在3个不同的.cs文件中.这样做的好处:1.一个大型的项目类可以同时分成不同的区块交由不同的程序员拽写,同时进行.2.若由系统自动产生的source,可以用独立的Partial Class加入,而不必更改到原先类.3.当类(Class)很大时,可以用Partial Class做功能性划分,这也是一种不错的分类方式. 如果您在开发项目的公用函数库,