C语言第二天

第一个程序:

在这里插入图片描述
选择 控制台应用程序
在这里插入图片描述
创建完工程之后,我们可以编写如下代码:

#include "pch.h"
#include <stdio.h>                
#include <stdlib.h>
int main()
{
	printf("Hello world");
	system("pause");
	return 0;
}

程序并不能直接运行,因为我们需要将其编译为可执行的文件。
在这里插入图片描述生成成功之后,exe文件是可以运行的程序。
在这里插入图片描述

vs的工程管理方式:

解决方案:
工程1
文件1.cpp
文件2.cpp

工程2

工程3

再在解决方案之下,新建一个工程:
在这里插入图片描述
在这里插入图片描述

如果说代码编写完毕了,通过vs启动程序,有几个方式:

方式1:快捷键是 F5 调试运行程序
在这里插入图片描述
方式2:ctrl+F5 直接运行程序
当一个解决方案下,有多个工程的时候,可以使用如下方式,设置默认运行工程
在这里插入图片描述

vs解决方案目录的结构如下:

在这里插入图片描述
第一个C语言程序:

#include <stdio.h>       
#include <stdlib.h>        //预处理
int main(void)             //主函数
{ 
	printf("hello 15PB");  //调用库函数,printf是输出
	system("title 十五派");
	//system("cls");
	system("pause");       //调用库函数,system是执行cmd命令
	return 0;              //返回。
}

其中包含的知识点:
预处理:
#inlude 的作用,就是将包含的文件,复制粘贴到命令处。
库函数:printf system
总结:我们使用库函数去完成一些功能,库函数是编译器提供给我们使用的。但是我们如果要使用某一个库函数,就需要包含相应的头文件。
比如 printf 属于<stdio.h> system 属于<stdlib.h>

关键字:是C语言已经使用了的一些单词。

注释:
分为单行注释和多行注释
作用:
1 便于自己复习
2 便于工作交接
3 还可以找错误
我们可以逐步的缩小错误所在的范围:

#include <stdio.h>       
#include <stdlib.h>        //预处理
int main(void)             //主函数
{ 
	printf("hello 15PB");  //调用库函数,printf是输出
	system("title 十五派");
	system("cls");
	/*	system("pause")     将这里注释之后,错误没有了,说明错误在这个范围内

	return 0;              //返回。

	*/
}

课堂练习:设置控制台的标题为“ Hello 15PB ” ,并输出白底黑字的内容“ Hello 信息安全 ”;

#include <stdio.h>       
#include <stdlib.h>        
int main(void)            
{ 
	printf("hello 信息安全");  
	system("title hello 15PB");
	system("color 70");

	system("pause");

	return 0;
}

需要注意:
1 语句以分号为结尾
2 System s需要小写
3 双引号,需要是英文的
C语言中使用的所有符号,都是英文符号。

关于main函数的问题:

C语言第一行被执行的代码,就是main函数的复合语句。
同一个工程中,只能有一个main函数。
在这里插入图片描述
在这里插入图片描述

关于常量 变量 赋值的问题

常量就是不可以改变的量
变量是背后有一块内存,变量名代表那一块空间。
&符号能够得到变量的地址。
int nNum = 0; 就是定义了一个变量 类型是 int 。

关于赋值符号的左值和右值。
对于一个变量来说,放在赋值左边的时候,使用的是背后内存
放在右边的时候,使用的是内存中的数值。

int main()
{
	int a = 0;
	int b = 0;
	a = 100;//复制符号左边的量,需要有内存
	        //左边使用的也是内存
	b = a;  //右边,只要有数值就可以了。

	//100 = a;//错误 左边如果是一个常量是不行的,
	          //因为常量背后没有内存
	return 0;
}

关于赋值时的类型转换:

#include  <stdio.h>
#include  <stdlib.h>
int main()
{
	int a = 10;
	short b = 0;
	a = b;

	int c = 100;
	short d = 20;
	d = c;

	int e = 65538;
	short f = 0;
	f = e;         //这里丢失数据了
	return 0;
}

我们在赋值的时候,如果赋值符号左右两边的类型不一致。
会自动的将右边的类型,给转换为左边的类型,然后再赋值。这个叫做隐式转换。
缺点就是,当右边的类型范围大,左边的类型范围小的时候,有可能会丢失数据。
我们还学习了一个调试技巧。
设置断点-----》F5 程序运行起来,就会停在断点的位置------》
F10 单步步过 一步一步的运行我们的程序,观察结果
F11 单步步入
调试时的监视功能:
在这里插入图片描述
如果找不到这个窗口的话:
在这里插入图片描述

关于显式类型转换:

#include  <stdlib.h>
int main()
{
	double a = 3.14;
	int b = 0;
	b = (int)a;//当我明确知道他俩类型不一样的时候,应该写显示转换,表示我是故意这么做的。

	return 0;
}

课堂练习:交换两个数的值
交换两个变量a和b的值
int a = 5;
int b = 6;
交换后,a等于6,b等于5

int main()
{
	int a = 5;
	int b = 6;

	int c = 0;
	c = a;
	a = b;
	b = c;
	return 0;
}

如果不想使用中间变量

int main()
{
	int a = 5;
	int b = 6;
	a = a + b;
	b = a - b;
	a = a - b;
	return 0;
}

程序的输入与输出:

需要注意:printf函数的格式控制符的数量和类型一定要和后面的参数匹配上。
在这里插入图片描述

关于整数的其他进制输出:

在这里插入图片描述

关于字符和整数:

字符和整数 没有本质区别,都是数字。 字符也是其阿斯克码。
在这里插入图片描述
课堂练习:从键盘获取两个数,输出和

int main()
{
	//scanf();
	int a = 0;
	int b = 0;
	printf("请输入两个数");
	scanf_s("%d %d",&a,&b);

	printf("%d", a + b);
	return 0;
}

从控制台中接收一个字符。

int main()
{
	int a = 0;
	int b = 0;
	char m = 0;
	printf("请输入两个数");
	scanf_s("%d %d",&a,&b);
	printf("%d", a + b);
	printf("请输入一个字符");
	scanf_s("%c", &m);//去掉缓冲区中的回车
	scanf_s("%c", &m);

	printf("获取到的字符为%c",m);

	return 0;
}

关于字符的两个函数:

getchar 获取一个字符
putchar 输出一个字符
在这里插入图片描述
_getch() 存在于<conio.h>这个头文件中
功能是无回显的获取一个字符
在这里插入图片描述

关于运算符:

算数运算符:

      • / % ++ –
        需要注意的:
        1 / 在C语言中,两个整数相除,得到的只能是整数
        如果要得到小数部分,应该有浮点数参与运算
        2 % 是取模, 进行运算的数,只能是整数
        3 ++ 自增 自己增加1
        – 自减 自己减小1
int main()
{
	int a = 10;
	a++;
	printf("%d", a);


	return 0;
}

在这里插入图片描述
自增或者自减 可以前置也可以后置
1.对于前置的自增/自减,在自增自减的同时还参与了其他的运算,那么就先自增/自减,再进行其他运算
2.对于后的自增/自减,在自增自减的同时还参与了其他的运算,先进行其他运算,再进行自增/自减

int main()
{
	int c = 0;
	int a = 10;
	c = a++;
	printf("%d %d\n", a,c);
	int b = 10;
	c = ++b;

	printf("%d %d", b,c);

	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值