C语言小知识

发布于:2023-01-18 ⋅ 阅读:(304) ⋅ 点赞:(0)

目录

数据类型:

 printf函数的一般格式:

第一个小程序:两个数的加减乘除

1. scanf函数的一般形式

2.scanf函数中的格式声明

scanf小程序


程序:静态概念

进程/任务:跑起来的程序叫做进程,动态概念。

程序包括编程编译执行三个环节。

变量的四个要素:变量名变量值存储单元类型

  • 程序基本结构以及其含义:
#include <stdio.h>                      //编译预处理命令

int main()                              //程序的入口主函数main

{                                       //程序(函数、功能)开始标志


                                        //你要写的代码

return 0;                                //程序退出前返回给调用者(操作系统)的值

}                                        //程序(函数、功能)结束标志
  • 数据类型:

  •  printf函数的一般格式:

printf函数的一般格式为:

printf(格式控制,输出列表)

例如:printf("%d,%c\n",i,c)

括号内包括两部分:

(1)“格式控制”是用双引号括起来的一个字符串,称“转换控制字符串”,简称“格式字符串”,它包括两个信息:

格式声明。格式声明由“%”和格式字符组成,如%d、%f 等。它的作用是将输出的数据转换为指定的格式然后输出。格式声明总是由“%”字符开始的。
普通字符。普通字符即需要在输出时原样输出的字符。例如上面printf函数中双引号内的逗号、空格和换行符,也可以包括其他字符。
(2)“输出表列”是程序需要输出的一些数据,可以是常量、变量或表达式。

第一个小程序:两个数的加减乘除

#include <stdio.h>

int main()
{
	int data1 = 10;
	int data2 = 2;
	int data3 = 3;
	int data4;
	float data5;
	
	data4 = data1 + data2;
	printf("两数之和是:data4 = %d\n",data4);
	
	data4 = data1 - data2;
	printf("两数之差是:data4 = %d\n",data4);
	
	data4 = data1 * data2;
	printf("两数之积是:data4 = %d\n",data4);
	
	data4 = data1 / data2;
	printf("两数之商是:data4 = %d\n",data4);
	
	data5 =(float) data1 / data3;	//因为除不尽,所以加强制转换(把不匹配的数据类型互相赋值)
	printf("两数之商是:data5 = %f\n",data5);
	printf("data5 = %.2f\n",data5);	//保留两位小数
	
	return 0;
}

 

1. scanf函数的一般形式

scanf(格式控制,地址表列)

“格式控制”的含义同 printf函数。“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。

2.scanf函数中的格式声明

与printf函数中的格式声明相似,以%开始,以一个格式字符结束。(注意:尽量不要在scanf里加逗号、换行符等字符!!!)

(1)scanf函数中的“格式控制”后面应当是变量地址,而不是变量名。例如,若a和b为整形变量,如果写成

scanf ("%d%d",a,b);

是不对的,应将“a,b”改为“&a,&b”,正确写法是scanf("%d%d",&a,&b);

(2)如果在“格式控制字符串”中除了格式声明以外还有其他字符,则在输入数据时在对应的位置输入与这些字符相同的字符。例如:

scanf("a=%d,b=%d",&a,&b);

在输入数据时,应在对应的位置上输入同样的字符。即输入:

a=1,b=2

scanf小程序

整数型

#include <stdio.h>

int main()
{
	int data1;
	int data2;
	int data3;
	
	printf("请输入三个整数\n");
	scanf("%d%d%d",&data1,&data2,&data3);
	
	printf("您输入的三个整数是: data1=%d data2=%d data3=%d\n",data1,data2,data3);
	return 0;
}

 字符型:

#include <stdio.h>

int main()
{
	char data1;
	char data2;
	char data3;
	
	printf("请输入三个字符\n");
	scanf("%c%c%c",&data1,&data2,&data3);
	
	printf("输入的三个字符是:data1=%c data2=%c data3=%c\n",data1,data2,data3);
	
	return 0;
}

 

 此处注意:由于输入的是字符,所以不能敲回车,回车也属于一个字符,直接输入三个字符即可

整数型、小数型、字符型混合:

#include <stdio.h>

int main()
{
	int dataInt;
	float dataFloat;
	char dataChar;
	
	printf("请依次输入整数、小数、字符\n");
	scanf("%d%f%c",&dataInt,&dataFloat,&dataChar);
	
	printf("您输入的三个数分别为:dataInt=%d dataFloat=%f dataChar=%c\n",dataInt,dataFloat,dataChar);
	
	return 0;
}

 注:因为回车、空格都属于字符,所以在输入2.3之后不要敲回车或者空格直接输入字符

#include <stdio.h>
/*
		puts和printf的区别:
		1、puts自动加入换行符
		2、printf支持多种花样输出,puts只能输出字符串
*/
int main()
{
	char c;
	
	puts("请输入一个字符");
	c = getchar();
	puts("您输入的字符是:");
	putchar(c);
	
	return 0;
}

练习题:输入大写字母输出小写字母(输入小写字母输出大写字母)

#include <stdio.h>			//根据ASCII码

int main()
{
	char data;
	
	printf("请输入一个大写字母:\n");
	scanf("%c",&data);

	printf("输出对应的小写字母为:\n");
	printf("%c\n",data+32);
	
	getchar();			//吸收回车符
	
	printf("请输入一个小写字母:\n");
	scanf("%c",&data);

	printf("输出对应的大写字母为:\n");
	printf("%c\n",data-32);
	
	return 0;
}

#include <stdio.h>

int main()
{
	char c1 = 'C';
	char c2 = 'h';
	char c3 = 'i';
	char c4 = 'n';
	char c5 = 'a';
	
	printf("世界上只有一个%c%c%c%c%c\n",c1,c2,c3,c4,c5);
	
	c1 = c1 + 4;
	printf("%c\n",c1);
	
	c2 = c2 + 4;
	printf("%c\n",c2);
	
	c3 = c3 + 4;
	printf("%c\n",c3);
	
	c4 = c4 + 4;
	printf("%c\n",c4);
	
	c5 = c5 + 4;
	printf("%c\n",c5);
	
	printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);
	
	
	printf("请依次输入China五个字母\n");
	
	putchar(getchar()+4);
	putchar('\n');
	getchar();
	
	putchar(getchar()+4);
	putchar('\n');
	getchar();
	
	putchar(getchar()+4);
	putchar('\n');
	getchar();
	
	putchar(getchar()+4);
	putchar('\n');
	getchar();
	
	putchar(getchar()+4);
	putchar('\n');
	getchar();
	
	printf("最终输出的字母是:\n");
	printf("%c%c%c%c%c",c1,c2,c3,c4,c5);
	
	return 0;
}

 


网站公告

今日签到

点亮在社区的每一天
去签到