初识C语言~

初识C语言

编译和链接

c语言是一门编译型计算机语言,C语言源代码都是文本文件,本身无法执行,必须通过编译器翻译和链接器的链接,生成二进制的可执行文件,才可以执行。

c语言代码是放在.c为后缀的文件中
test.c , add.c , xxx.c经过编译器(cl.exe)后,变为test.obj ,add.obj ,xxx.obj(目标文件),再经链接器(link.exe)后,变为可执行程序(xxx.exe)
即:
1.每个源文件(.c)单独经过编译器处理生成对应的目标文件(.obj为后缀的文件)
2.多个目标文件和库文件经过链接器处理生成对应的可执行文件(exe.文件)

编译器的对比

常见编译器

msvc,clang,gcc

集成开发环境(IDE)

提供程序开发环境的应用程序,一般包括代码编辑器,编译器,调试器和图形用户界面等工具,集成了代码编写功能,分析功能,编译功能,调试功能等一体化的开发软件服务套。
VS2022,XCode,CodeBlocks,DevC++,Clion等

源文件和头文件介绍

C语言把.c为后缀的文件称为源文件,把.h为后缀的文件称为头文件

写C语言程序

1.创建一个项目(工程)
2.创建一个.c文件
3.写代码

#include<stdio.h>
int main()
{
	printf("hello,world\n);
	return 0;

运行代码:Ctrl+F5(+Fn)(编译+链接+运行)
Fn:辅助功能键
一个项目(工程)内可以存放多个.c文件

语法

#include <stdio.h>
int main()
{
	//代码
	return 0;
}

main函数

C语言程序都是从main函数开始执行的,main函数是程序的入口,也叫作主函数。main前面的int表示main函数执行结束后的时候返回一个整型类型的值,所以在main函数的最后写return 0;前后正好呼应
main函数是程序的入口
main函数有且只有一个
即使一个项目中有多个.c文件,但只能有一个main函数,因为程序的入口只有一个
一个项目中的多个.c文件都属于这个项目,编译的时候,是会一起编译的*

常见错误总结

1.main被写成了mian
2.main后面的()漏掉了
3.代码中不能使用中文符号
4.一条语句结束后有分号

关键字

C语言中有一批保留名字的符号,这些符号被称为保留字关键字
关键字都有特殊的意义,是保留给C语言使用的
程序员在创建标识符的时候是不能和关键字重复的
关键字是不能自己创造的

常见关键字:
1.auto  break case char const continue default do double else enum extern
2.float for goto if int long register return short signed sizeof static
3.struct switch   typeof union unsigned void volatile while

:在C99标准中加入了inline,restrict,_Bool,_Complex, _Imaginary等关键字

字符与ASCII代码

1.字符A~Z的ASCII码值从65 ~90
2.字符a~z的ASCII码值从97 ~122
3.对应大小写字符的ASSCII码值的差值是32
4.数字字符0~9的ASCII码值从48 ~57
5.换行\n的ASCII值是:10
6.ASCII码值从0~31这32个字符是不可打印字符,无法打印在屏幕上面观察

#include <stdio.h>
int main()
{
	//打印32~127码值所对应的字符 
	//借助于循环
	int i=0;
	for(i=32;i<=127;i++)
	{
		printf("%c",i);
	 } 
	return 0;
 } 

%c----打印字符
%d----打印整数
%s----打印字符串
%f-----打印小数

键盘上按F10——启动VS的调试
调试——窗口——监视—

字符串和\0

使用双引号括起来的一串字符被称为字符串
C语言字符串末尾隐藏着一个\0字符,这个字符是字符串结束的标志
在使用库函数printf()打印字符串或者strlen()计算字符串长度时,遇到\0自动停止

printf("%s\n","abc\0def");

只会打印出abc

char arr1[]="abc";
char arr2[]={'a','b','c'};

第一个数组后面有\0,而第二个没有
无论是在VS还是DevC++第一个输出为abc,而在VS上第二个则为abc+随机值,在DevC++上仍为abc
因为第二个后面没有\0停止,会继续打印随机值
可改成

char arr2[]={'a','b','c','\0'};

对于VS和DevC++输出不同 是因为:
VS所用编译器为msvc,而DevC++所用编译器为gcc

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值