C语言那点事儿(基础篇)

一、基本概念
1.程序:
编写程序的目的,无非是解决现实世界中的问题;计算机解决任何现实世界中问题的过程无外乎: 输入——处理——输出

输入(Input):让计算机获得要处理的数据
处理(Process):计算机按照问题的要求对输入的数据进行计算、处理
输出(Output):计算机告诉用户问题的答案(计算、处理结果)

程序 = 算法 + 数据结构

2.程序的三大结构
顺序选择/分支循环

3.C程序的构成:
3.1一个C程序由一个或多个源程序文件(.c)构成,小的程序一般也就一个源文件
3.2 每个C程序中必须包含也只能包含
一个main函数
,该函数是程序执行的起点也是程序执行的终点
3.3每个源文件(.c)则可以由程序员编写的一个或多个函数组成,每个函数都实现特定的功能

4.C程序的编写与执行过程:
4.1编写代码,保存在C源程序(.c)文件内
4.2
编译
源程序,生成目标代码(.obj)文件
4.3进行
连接
处理,生成可执行**程序(.exe)**文件

二:C语言符号
1.字符集:C语言语言所能识别的各种字符的集合

2:标识符用于对常量、变量、函数、数组、类型等数据对象命名的有效字符序列
用法
2.1:标识符只能由字母、数字及下划线_3种字符组成
2.2:第一个字符不能是数字
2.3.C语言区分大小写字母,例如A和a是不同的标识符

3.关键字:是C语言中预定义的已经使用到的具有特殊意义的标识符

C语言中的关键字:break,case,char,const,continue,default,do,double, else,enum,float,for,goto,if,int,long,return,short,signed,sizeof,static,struct,switch,union,unsigned,void,while

4.C语言的主要数据类型

4.1:char:用于存储单个字符,本质上是一个0到255之间的无符号整数
示例:
char c1 = ‘a’;
char c2 = 97;
printf("%c%c\n", c1, c2);
printf("%d%d\n", c1, c2);
显示结果为:
aa
9797

4.2特殊字符的ASCII值:

其中,大小写字母之间存在如下关系:
大写字母的ASCII码 = 相应小写字母的ASCII码 – 32
例如:'A’的ASCII为65,'a’的ASCII是97,因此:
‘A’ = ‘a’ - 32

4.3:\xhh 16进制数 :
语句:printf(“ABC\x31\x32\x33\x41\x42\x43”);
显示:ABC123ABC

4.4:字符数组
字符数组的定义与初始化方法:
char a[] = {‘A’, ‘B’, ‘C’}; /* 数组a长度为3 /
char b[] = {“ABC”}; /
数组b长度为4,最后一个元素是字符\x0 /
char c[] = “ABC”; /
数组c长度为4,最后一个元素是字符\x0 */
而底下是错误的,因为将字符数组初始化为字符串时必须使用双引号
char a[] = ‘CHINA’;

4.5:枚举
最典型的例子是:
enum weekday {mon, tue, wed, thu, fri, sat,sun};
这里,关键字enum表示声明一个名为weekday的枚举类型,程序员可以用这个新的类型来定义变量,例如:
weekday w1, w2, w3, w4;
表示定义了4个weekday类型的变量w1、w2、w3和w4!现在的问题是,可以给这些变量赋以什么样的值哩?很简单,这些变量的值只能是{}内7个值(谓之枚举元素或枚举常量)之一,即只能这样给变量赋值:
w1 = mon;
w2 = tue;
w3 = tue;
w4 = sun;

4.6:结构体
/* 定义结构体类型struct student /
struct student
{
int num; /
学号 /
char name[9]; /
姓名 /
int sc[3]; /
三门课成绩 /
} s0; /
定义结构体类型的同时定义其变量 s0 /
/
定义结构体类型struct student的变量s1、s2及结构体数组变量s */

4.7:
指针变量可以进行加减法运算
例如定义:
char a[20] = “Hello”, *p = &a[0];
printf"%c", ++p); // 注意:这里是%c和++p
会在屏幕上显示字符:e
而定义:
char a[20] = “Hello”, *p = a;
printf("%s", ++p); // 注意:这里是%s和++p
会在屏幕上显示字符串:ello

4.8指针类型

例一:

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int x = 100;
	int *y = &x; 
	*y -= *y;	//*y=*y-*y;
	printf("%d",*y);
	system("pause");
}

答案:0

4.9常量与变量

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
	char p[]="abc\\xyz\\tuv\n";
	//abcxzytuv 9个字符   \\ 一个字符   \n 一个字符,\\是\字符

	printf("%d",strlen(p));
	system("pause");
}

答案:12

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值