注:scanf、printf 函数一般要包含【#include
】头文件
输入:scanf(“%d %d”, &a, &b);
输出:printf(“%d %d”, a, b);
#define _CRT_SECURE_NO_WARNINGS 1
#include
int main()
{
int a = 0;
int b = 0;
int sum = 0;
printf("请输入数字\n");
// 输入函数scanf
//(VS用scanf函数,必须在文件第一行写 #define _CRT_SECURE_NO_WARNINGS 1)
scanf("%d %d", &a, &b); //第一个输入的数对应a , 第二个输入的数对应b
sum = a + b;
//输出函数printf
printf("sum = %d\n", sum);
system("pause");
return 0;
}
#define _CRT_SECURE_NO_WARNINGS 1
#include
// scanf("%d", &i);【scanf返回的是所输入数据的个数】
// EOF等于-1
// VS中结束输入需按3个 Ctrl + Z,其他编译器按1个
int main()
{
//写法1 【!= EOF】
//当 scanf("%d", &a) != EOF 不成立,跳出循环
int a, b;
while (scanf("%d", &a) != EOF)
{
for (b = 0; b < a; b++)
{
printf("*");
}
printf("\n");
}
//写法2 【一次性输入N个数据,就 == N】
//当 scanf("%d", &a) == 1 不成立,跳出循环
int a, b;
while (scanf("%d", &a) == 1) // while (scanf("%d %d", &a,&b) == 2
{
for (b = 0; b < a; b++)
{
printf("*");
}
printf("\n");
}
return 0;
}
多组输入练习题:
1.链接: link.
2.链接: link.
3.14; //浮点型常量
55; //整型常量
'a'; //字符常量
"abcdef"; //字符串常量
const 类型 变量名 = 值
const int a = 50;
printf("a = %d\n", a); //50
const float pai = 3.14f; //这里的pai是const修饰的常变量
pai = 5.14; //是不能直接修改的,这里就会报错
注:
#define 标识符 常量
#define MAX 100;
printf("max = %d\n", MAX); //max = 100
枚举关键字:enum(可以一 一列举的常量)
#include
enum Sex
{
//枚举类型enum Sex的可能取值
//无赋初值,则默认从0开始排,依次向下递增1
//若赋初值,则从赋的值开始往后排
MALE, //男
FEMALE, //女
SECRET //保密
};
int main()
{
printf("%d\n", MALE); //0
printf("%d\n", FEMALE); //1
printf("%d\n", SECRET); //2
enum Sex i = SECRET;
printf("%d\n", i); //2
return 0;
}
字符a:'a' //单引号
字符串abc:"abc" //双引号
%d - 打印整型
%s - 打印字符串
%c - 打印字符
1、字符串在结尾的位置隐藏了一个 \0 的字符
2、\0是字符串的结束标志,打印字符串打印到 \0,才会结束打印
3、定义字符数组:char 变量名 [ ] = “字符串”;
注:如果数组中是字符串,输出 arr 时则不是数组的首地址,而是字符串。
#include
#include
int main()
{
//求字符串长度(strlen)(要包含头文件 #include )
int len = strlen("abcd"); //string length
printf("len的长度为:%d\n", len); //4
return 0;
}
注:在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。
注:当我们求字符串长度的时候,也是要找到\0,统计的是\0之前出现的字符个数。
char arr[] = "abcdef";
printf("%d\n", strlen(arr)); // 6
printf("%d\n", sizeof(arr)); // 7
注:
- strlen 是求字符串长度的,统计的是\0之前出现的字符个数。
- sizeof 计算的是所占内存空间的大小,单位是字节(bite),不在乎内存中存放的是什么,\0 也占1字节。
转义字符 | 释义 |
---|---|
\? | 在书写连续多个问号时使用,防止他们被解析成三字母词 |
\’ | 用于表示字符常量’ |
\" | 用于表示一个字符串内部的双引号 |
\\ | 用于表示一个反斜杠,防止它被解释为一个转义序列符 |
\a | 警告字符,蜂鸣 |
\b | 退格符 |
\f | 进纸符 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ddd | ddd表示1~3个八进制的数字。 如: \130 X |
\xdd | dd表示2个十六进制数字。 如: \x30 0 |
\ddd 表示1-3个八进制数字,输出时先将数字转换为10进制,再对照ASCII码表返回值
\xdd 表示1-2个十六进制数字,输出时先将数字转换为10进制,再对照ASCII码表返回值
#include
int main()
{
//问题1:在屏幕上打印一个单引号',怎么做?
//问题2:在屏幕上打印一个字符串,字符串的内容是一个双引号“,怎么做?
printf("%c\n", '\''); // '
printf("%s\n", "\""); // "
return 0;
}
//程序输出什么?
#include
int main()
{
printf("%d\n", strlen("abcdef")); //6
// \62被解析成一个转义字符
printf("%d\n", strlen("c:\test\628\test.c")); //14
return 0;
}
注:c:\test\628\test. c
\ddd表示1~3个八进制的数字,8不是八进制数,所以 \628 被分成\628
函数定义语法:
返回值类型 函数名 (函数参数)
{
函数体语句;
return 表达式;
}
题目:写一个函数求两个整数的较大值
#define _CRT_SECURE_NO_WARNINGS 1
#include
int MAX(int x, int y)
{
if(x > y)
return x;
else
return y;
}
int main()
{
int num1 = 10;
int num2 = 20;
scanf("%d %d", &num1, &num2);
int max = MAX(num1, num2);
printf("max = %d\n", max);
return 0;
}