Linux C 学习笔记3

 课前小测试

eg:打印九九乘法表

#include <stdio.h>

int main(int argc, const char *argv[])
{
	int i,j;
	printf("   |");
	for(i=1;i<10;i++)
	{
		printf("%4d",i);
	}
	putchar(10);
	for(i=0;i<10;i++)
	{
		printf("- - ");
	}
	putchar(10);
	for(i=1;i<10;i++)
	{

		printf("%3d|",i);

		for(j=1;j<i;j++)
		{
			printf("    ");
		}
		
		for(;j<10;j++)
		{
			printf("%4d",i*j);
		}
		putchar(10);
	}


	return 0;
}

运行结果: 

1.基本整型的变量所占二进制位数等于cpu的字长

2.构造类型:数组、结构体struct、共用体union、枚举类型enum

3.定义类型typedef

4.指针变量所占空间为8个字节

5.Strlen(a):不包括\0,返回字符长度;Sizeof(a):包括\0,返回数组长度,与字符多少无关.

6.指针运算只有在指向数组的前提下才能够进行运算。且只有相减才有意义。

7.结构体与共用体的区别:共用体只允许同时用一个,被共用,公用体类型的变量不允许用成员的地址;结构体允许同时用多个,

8.枚举类型:这种类型的变量已将所有可取的变量罗列出来且只能从列举的变量中取用。

9.指针定义为void,即为万能指针,但万能等于无用。但你需要什么类型可以将它变为什么类型。

10.malloc:动态分配内存空间。使用malloc分配地址之后返回值不确定什么类型,这是用到了void。

11.Typedef:给类型名改名;

12.etchar(),getch(),getche()区别:

getch( )函数和其它两个函数的区别是getch不回显,其它两个函数回显。不回显就是键盘输入什么在屏幕上不显示出来。

getchar( )和其它两个函数的区别是getchar是从缓冲区读取内容,而其它两个是监测键盘输入,也就是说,getchar必须按回车才生效,在按回车之前可以更改。而其它两个函数不行,只要你按了键盘,函数就读取到了内容。

getche( )与getch( )的区别就是getche回显,getch不回显,而与getchar的区别就是一个不需要按回车,一个需要按回车。

13.int iextern int i的区别:

extern int i:这是变量声明,是告诉编译器应该到该文件外部去找这个文件的定义,声明是不分配内存的

int i:这是变量定义,变量定义是分配空间的.定义只能有一处,但声明可有多处,这些声明所指,都是定义时分配的内存空间。

14.野指针的危害

1、指向不可访问的地址

危害:触发段错误。

2、指向一个可用的,但是没有明确意义的空间

危害:程序可以正确运行,但通常这种情况下,我们就会认为我们的程序是正确的没有问题的,然而事实上就是有问题存在,所以这样就掩盖了我们程序上的错误。

3、指向一个可用的,而且正在被使用的空间

危害:如果我们对这样一个指针进行解引用,对其所指向的空间内容进行了修改,但是实际上这块空间正在被使用,那么这个时候变量的内容突然被改变,当然就会对程序的运行产生影响,因为我们所使用的变量已经不是我们所想要使用的那个值了。通常这样的程序都会崩溃,或者数据被损坏。

15.数据类型

16.printf

输出函数控制字符:

输出函数数据类型修饰符:

17.scanf

输入函数的格式控制字符:

18.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值