C语言复习(一)
16lz
2021-01-22
一. 什么是C语言
C语言是一种计算机编程语言(人和计算机交流的语言)。国家标准:ANSIC-C89/C90。
二. 第一个C语言程序
使用V2013软件操作
1.新建空项目
2.在源文件下新建.c文件,并输入以下程序:
#include <stdio.h>int main(){ printf("hello world\n"); return 0;}
3.右击工程名进入属性,修改子系统为控制台模式
4.运行
按ctrl+F5运行,结果输出hello world。
5.调试
点击鼠标,使光标位于main程序第一行,按ctrl+F10从此处开始运行调试程序,每按F10运行一句代码,再次按ctrl+F10退出调试模式。
三.数据类型
char 字符数据类型 short 短整型 int 整型 long 长整型 long long 更长的整型 float 单精度浮点数 double 双精度浮点数
计算数据类型长度,使用库函数sizeof()
#include <stdio.h>int main(){ 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;}
结果为:1 2 4 4 8 4 8 单位为字节Byte
int main(){ short age = 20; //向内存申请2个字节存放20 float f = 95.6f; //向内存申请4个字节存放小数 return 0;}
注意:95.6f中的f将double类型数据截断为float类型数据,不写时会警告
四.变量、常量
1.变量的分类
局部变量&全局变量
#include <stdio.h>int num1 = 20; // 定义在代码块({})外的变量int main(){ int num1 = 10; // 定义在代码块({})内的变量 //局部变量和全局变量的名字不建议相同 //当局部变量和全局变量名字相同时,局部变量优先 printf("%d\n", num1);}
变量的作用域和生命周期
局部变量* 作用域:代码块内,变量所在的局部范围* 生命周期:进入作用域生命周期开始,出作用域生命周期结束全局变量* 作用域:全局* 生命周期:程序运行始终
* 在text1.c文件下定义全局变量:int g_val=2021;* 在text2.c文件下使用text1.c定义的全局变量需要声明:int main(){ extern int g_val; //extern int 声明外部变量 printf("%d\n",g_val);}* 结果输出:2021
变量的使用:
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){ int num1 = 0; int num2 = 0; int sum = 0; scanf("%d%d",&num1,&num2); //取地址符号& sum = num1 + num2; printf("%d + %d = %d\n", num1, num2, sum); return 0;}
注:使用scanf函数需要添加 #define _CRT_SECURE_NO_WARNINGS 1 语句。为方便新建的源文件自带此语句,方法为:找到V13安装路径
在newc++file.cpp文件中输入 #define _CRT_SECURE_NO_WARNINGS 1 保存即可。
2.常量的分类
* 字面常量* const修饰的常变量* #define定义的标识符常量* 枚举常量
#define MAX 10 //3.define 定义的标识符常量enum Sex //4.枚举常量{ MALE, FEMALE, SECRET};int main(){ enum Sex s = FEMALE; //通过枚举类型创造变量 s = MALE; //s为变量,可以修改 printf("%d",MALE); //0 printf("%d", FEMALE); //1 printf("%d", SECRET); //2 const int n = 10; //n是变量,但具有常属性,所以n为常变量 int arr[10] = {0}; //n报错,数组大小应为常量 int arr1[MAX] = {0}; //MAX为常量 520; //1.字面常量 //2.const -- 常数性 const int num = 10; //const修饰的常变量 return 0;}
五.字符串+转义字符+注释
1.字符串
“c:\text\32\text.c”这种由双引号引起来的一串字符称为字符串字面值,或简称字符字串。注:字符串的结束标志是一个 \0 的转义字符,含义为0,在计算字符串长度是不算 \0 。
//字符串类型 ""#include <stdio.h>#include <string.h> //包含strlen( )函数int main(){ char arr1[] = "abc"; //数组 "abc" -- 'a' 'b' 'c' '\0'--'\0'字符串的结束标志 char arr2[] = { 'a', 'b','c'}; //输出随机值 char arr3[] = { 'a', 'b', 'c','\0'}; //'\0'其实就是0 printf("%d\n", strlen(arr1)); //3 strlen - string length - 计算字符串长度 printf("%d\n", strlen(arr2)); //15,应该是随机值 printf("%d\n", strlen(arr3)); //3 printf("%s\n", arr1); //输出abc printf("%s\n", arr2) //输出乱码 printf("%s\n", arr3); //输出abc return 0;}
输出结果:
2.转义字符
转义字符 | 释义 |
---|---|
\? | 在书写连续多个问号时使用,防止他们被解析成三字母词(不常用) |
\’ | 用于表示字符常量' |
\’" | 用于表示一个字符串内部的双引号 |
\ | 用于表示一个反斜杠,防止他被解释为一个转义字符序列符 |
\a | 警告字符,蜂鸣 |
\b | 退格符 |
\f | 进纸符 |
\n | 换行 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ddd | ddd表示一个1-3个八进制的数字,如:\130 |
\xdd | dd表示一个2个十六进制的数字,如:\x13 |
一些例子:
// /ddd -- 八进制数 /xdd -- 16进制//'\0'转义字符 \t水平制表符int main(){ printf("c:\text\32\text.c\n"); printf("c:\\text\\32\\text.c\n"); // \\ -- 反斜杠 printf("%c\n", '\''); //字符 \' -- 反 ’ printf("%s\n","\""); // 字符串 \” -- 反 ” printf("%d\n", strlen("c:\text\32\text.c")); //13 \32 -- 10进制 26 -- 作为ascii码值对应的字符 return 0;}
3.注释
*C语言的注释风格: /*xxxxxxx*/ 注:不能嵌套使用*C++的注释风格: //xxxxxx
更多相关文章
- 面试官:为什么静态方法不能调用非静态方法和变量?
- mysql中你应该要知道的变量知识点
- python注释、变量、常量的学习
- No.6 关于变量名前加$以及不加$的区别
- Java中static变量作用和用法详解
- 04 管道、重定向和环境变量
- 使用 ThreadLocal 变量的时机和方法
- 别在不知道临时死区的情况下使用 JavaScript 变量[每日前端夜话0
- 如何将JQuery变量值分配给Laravel Blade输入