#include
int main() {
printf("hello bit\n");
printf("he he\n");
return 0; }
//解释:
//main函数是程序的入口
//一个工程中main函数有且仅有一个
char //字符数据类型
short //短整型
int //整形
long //长整型
long long //更长的整形
float //单精度浮点数
double //双精度浮点数
//C语言有没有字符串类型?
为什么出现这么的类型? (为了表达生活中各种值)
每种类型的大小是多少?
int main(){
// printf("hello world!\n");
printf("%d\n", sizeof(char));
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(long long));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
return 0;
}
类型的使用:
char ch = "w";
int weight = 120;
int salary = 20000;
不变的值,C语言中用常量来表示,变的值用变量来表示
int age = 20;
float weight = 58.5f;
char ch = 'y';
#include
int global = 2019;//全局变量
int main()
{
int local = 2018;//局部变量
//下面定义的global会不会有问题?
int global = 2020;//局部变量
printf("global = %d\n", global);
return 0;
}
总结:当局部变量和全局变量同名的时候,局部变量优先使用。
int main(){
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作数:");
scanf("%d%d", &num1, &num2);
sum = num1 + num2;
printf("sum=%d", sum);
return 0;
}
作用域:
1. 局部变量的作用域是变量所在的局部范围。
2. 全局变量的作用域是整个工程。
生命周期:
C语言中常量分为:
#include
//举例
enum Sex
{
MALE,
FEMALE,
SECRET
};
//括号中的MALE,FEMALE,SECRET是枚举常量
int main()
{
3.14;//字面常量
1000;//字面常量
const float pai = 3.14f; //const 修饰的常量
pai = 5.14;//ok?
#define MAX 100 //#define的标识符常量
return 0;
}
“hello world.\n”
注意:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串 内容。
#include
//下面代码,打印结果是什么?为什么?(突出'\0'的重要性)
int main()
{
char arr1[] = "hel";
char arr2[] = { 'h', 'e', 'l' };
char arr3[] = { 'h', 'e', 'l', '\0' };
printf("%s\n", arr1);
printf("%s\n", arr2);
printf("%s\n", arr3);
return 0;
}
转义字符 | 释义 |
---|---|
\? | 在书写连续多个问号时使用,防止他们被解析成三字母词 |
\’ | 用于表示字符常量’ |
\“ | 用于表示一个字符串内部的双引号 |
\\ | 用于表示一个反斜杠,防止它被解释为一个转义序列符 |
\a | 警告字符,蜂鸣 |
\b | 退格符 |
\f | 进纸符 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ddd | ddd表示1~3个八进制的数字。 如: \130 X |
\xdd | dd表示2个十六进制数字。 如: \x30 0 |
#include
int main()
{
//问题1:在屏幕上打印一个单引号',怎么做?
//问题2:在屏幕上打印一个字符串,字符串的内容是一个双引号“,怎么做?
printf("%c\n", '\'');
printf("%s\n", "\"");
return 0;
}
//程序输出什么?
#include
int main()
{
printf("%d\n", strlen("abcdef")); // \32被解析成一个转义字符
printf("%d\n", strlen("c:\test\328\test.c"));
return 0;
}
#include
int main(){
int kaoyan = 0;
printf("你考研吗?(选1 or 0):\n");
scanf("%d", &kaoyan);
if (kaoyan == 1){
printf("祝你2022上岸\n");
}
else{
printf("希望你能拿到一个好offer\n");
}
return 0;
}
#include
int main(){
printf("一个单词要循环背10遍\n");
int times = 0;
while (times <= 10){
times++;
printf("我要继续背单词!\n");
}
if (times > 10){
printf("我单词背完10遍了哦\n");
}
return 0;
}
#include
int main(){
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作数:");
scanf("%d%d", &num1, &num2);
sum = num1 + num2;
printf("sum=%d\n", sum);
return 0;
}
写成如下函数:
#include
int Add(int x, int y){
int z = x + y;
return z;
}
int main(){
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作数:");
scanf("%d%d", &num1, &num2);
sum = Add(num1,num2);
printf("sum=%d\n", sum);
return 0;
}
数组定义:
int arr[10]={1,2,3,4,5,6,7,8,9,0};
数组使用
#include
int main(){
int i = 0;
int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
for (i = 0; i < 10; i++){
printf("%d", arr[i]);
}
printf("\n");
return 0;
}
struct Stu {
char name[20];//名字
int age; //年龄
char sex[5]; //性别
char id[15]; //学号
};
结构体初始化:
#include
int main(){
struct book{
char name[20];//书名
float price;//价格
};
struct book b = { "C语言", 20.0 };
//.为结构成员访问操作符
printf("name:%s\n", b.name);
printf("prince:%f\n", b.price);
//->操作符
struct book *bk = &b;
printf("name:%s\n", bk->name);
printf("prince:%f\n", bk->price);
return 0;
}