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