第一课scanf和printf补充
scanf
printf
库函数-C语言的编译器提供的现成的函数,直接可以使用
scanf的作用时输入数据,数据从键盘读取到内存中
printf的作用是输出数据,数据从内存打印到屏幕上
使用的时候要包含头文件stdio.h
%c-字符
%d-整型
%s-字符串
%f-float
%lf-double
%p-地址的打印
#include <stdio.h>
int main()
{
int a = 0;
scanf("%d", &a);
printf("%d\n", a);
char ch = 0;
scanf("%c", &ch);
printf("%c", ch);
return 0;
}
变量的作用域和声明周期
作用域
1.局部变量的作用域是变量所在的局部范围
2.全局变量的作用域是整个工程
#include <stdio.h>
int main()
{
int a = 100;
{
int a = 100;
}
printf("%d\n", a);
return 0;
}
局部变量出了作用域范围就不能使用
#include <stdio.h>
int a = 2023;
void test()
{
printf("2--->%d\n", a);
}
int main()
{
printf("1--->%d\n", a);
test();
return 0;
}
add.c
//全局变量
int g_val = 2023;
test.c
#include<stdio.h>
//需要声明外部符号
extern int g_val;
int main()
{
printf("%d\n", g_val);
return 0;
}
全局变量的作用域是整个工程
生命周期
1.局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束
2.全局变量的声明周期是:整个程序的生命周期
常量
1.字面常量
3 3.14 ‘a’-字符 “abcdef”-字符串
2.const修饰的常变量
#include<stdio.h>
int main()
{
//常属性
//这里的a是具有常属性的,不能改变,但是本质上还是变量
const int a = 3;
ptinf("%d\n", a);
a = 10;
printf("%d\n", a);
//数组
const int n = 10;
//int n = 10;
int arr[n];
return 0;
}
3.#define定义的标识符常量
#include<stdio.h>
//#define定义的标识符常量
#define SIZE 10
#define MAX 10000
#define CH 'w'
int main()
{
//10
int a = SIZE;
int arr[SIZE] = { 0 };
printf("%d", arr[SIZE-1]);
printf("%c\n", CH);
return 0;
}
4.枚举常量
#include<stdio.h>
//枚举常量
//枚举--列举
//生活中有些值是可以--列举
//性别、男、女、保密
//血型
enum SEX
{
//列出了枚举类型enum SEX的可能取值
//枚举常量
MALE=4,
FEMALE,
SECRET
};
int main()
{
printf("%d\n", MALE);
printf("%d\n", FEMALE);
printf("%d\n", SECRET);
return 0;
}
枚举常量初始值可以改,后面就不能改了
字符串、转义字符、注释
1.字符串
由双引号引起来的一串字符称为字符串字面值,简称字符串
#include<stdio.h>
int main()
{
"abcdef";
//char ch1='a';
//char ch2 = 'b';
//char ch2 = 'c';
char ch1[6] = { 'a','b','c','d','e','f' };
char ch2[] = "abcdef";//字符串的末尾隐藏了\0,是字符串的结束标志
printf("%s\n", ch1);
printf("%s\n", ch2);
return 0;
}
printf以%s打印字符串的时候,就从你给的地址开始打印,一直打印到遇到\0停止
strlen求字符串长度
#include<stdio.h>
#include <string.h>
int main()
{
char ch1[] = { 'a','b','c' };
char ch2[] = "abc";
int len1=strlen(ch1);
printf("%d\n", len1);
int len2 = strlen(ch2);
printf("%d\n", len2);
return 0;
}
strlen是库函数,用来求字符长度的,就是从给定的地址,向后数字符,直到遇到\0结束,不统计\0
2.转义字符
\? 在书写连续多个问号时使用,防止他们被解析成三字母词
\’ 用于表示字符常量’
\" 用于表示一个字符串内部的双引号
\ 用于表示一个反斜杠,防止它被解释为一个转移序列符
\a 警告字符,蜂鸣
\b 退格符
\f 进纸符
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
\ddd ddd表示1-3个八进制的数字。如:\130表示字符X
\xdd dd表示2个十六进制数字。如:\x30表示字符0
3.注释
注释就是解释性的语句,C语言中常用的注释格式为//
if条件语句
#include<stdio.h>
int main()
{
printf("加入学习\n");
printf("你愿意好好学习吗?(1/0):");
int flag = 0;
scanf("%d", &flag);
if (flag == 1)
printf("好offer\n");
else if (flag == 0)
printf("卖红薯\n");
return 0;
}
while循环语句
#include<stdio.h>
int main()
{
int line = 0;
while (line < 50000)
{
printf("敲代码:%d\n",line);
line++;
}
if (line == 50000)
printf("好offer\n");
else
printf("差点意思\n");
return 0;
}