首页 > 代码库 > C语言基础知识之综合案例(1)
C语言基础知识之综合案例(1)
1,在屏幕上显示信息。
printf()将格式化后的信息打印到标准输出设备。使用printf()时,需包含标准输入/输出
头文件stdio.h。
使用puts()显示信息
3,使用scanf()函数输入数值数据。
从键盘读取数值数据的最灵活的方法就是使用库函数scanf()。
函数scanf()按指定的格式从键盘读取数据,并将其赋给一个或多个变量。和printf()一样,scanf()也
使用一个格式化字符串描述输入的格式,改格式化字符串使用的转换说明符与printf()函数相同。
经验:
printf()的功能强于puts(),但开销也更大。编写小型、高效的程序,或程序很大、资源变得非常宝贵
最常见的显示信息的方式是使用库函数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()时,需包含标准输入/输出
头文件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()的开销更小这一优点。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。