0
点赞
收藏
分享

微信扫一扫

初识C语言(2)

上善若水的道 2022-03-12 阅读 48

目录

1.选择语句

2.循环语句

1.while语句

2.for语句

3.do while语句

3.函数

4.数组

5.操作符

6.常见关键字

7.#define定义的常量和宏 

8.指针

9.结构体


 

1.选择语句

选择语句if-else语句

例:输入一个年龄,判断是否成年人

2.循环语句

1.while语句

例:据说智商140以上者称为天才,KiKi想知道他自己是不是天才,请帮他编程判断。输入一个整数表示一个人的智商,如果大于等于140,则表明他是一个天才,输出“Genius”。多组输入,每行输入包括一个整数表示的智商。

输出描述:

针对每行输入,输出“Genius”。

#define _CRT_SECURE_NO_WARNINGS//防止弹出scanf警告
#include<stdio.h>
int main()
{
	int iq = 0;//定义一个整型变量iq,并赋值为0
	while (scanf("%d", &iq) != EOF)//当输入读取正确时,可以进行多组输入
	{
		if (iq >= 140)
		{
			printf("Genius\n");
		}
		else
		{
			printf("\n");
		}
		
	}
	return 0;
}

2.for语句

表达式1:初始化部分,用于初始化循环变量

表达式2:条件判断部分,,用于判断循环终止

表达式3:调整部分,用于循环条件的调整

3.do while语句

注:循环至少执行一次 

3.函数

例:求和函数

4.数组

5.操作符

算数操作符+        -        *        /        %
移位操作符<<        >>
位操作符&(按位与),^(按位异或),|(按位或)
赋值操作符=        +=        -=        /=        .......
单目操作符!        -        +        &        sizeof        ~        ++/--        (类型)        *
关系操作符==(用于测试相等),!=(用于测试不相等),>=   ........
逻辑操作符||(逻辑或),&&(逻辑与)
条件操作符exp1 ? exp2 : exp3
逗号表达式例:int  d=(a,b,c)
下表引用操作符例:arr[5]
函数调用例:get_max(3,5)
结构成员——>

6.常见关键字

 

  • auto(自动):(auto)int a = 0;一般情况下auto省略
  • register(寄存器变量)
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
	int num2 = 10;
	register int num2 = 20;//建议把20放在寄存器中
	return 0;
}
  •  static修饰变量和函数

1.修饰局部变量:static修饰局部变量时,局部变量就变成了静态的局部变量,出了局部的范围,不会销毁,下一次进入函数依然存在,因为static修饰的局部变量是存在静态区的。static修饰局部变量时,实际改变的是变量的存储位置,本来一个局部变量放在栈区,static修饰后放在了静态区,从而出了作用域不销毁生命周期没有结束,但作用域不发生变化,静态区中的数据的生命周期与程序共存亡。

注: text函数中,a是一个由static修饰的局部变量,当程序第一次运行至进入text函数时,a首先被赋值为5,然后a++,a的值变为6,打印的值为6;当程序第二次运行至进入text函数时,因为a被static修饰,所以a=6并未销毁,a++,a的值变为7,打印7......直到循环执行10次。

2.修饰全局变量:对一个工程中的俩个.c文件,一个全局变量,本来具有外部链接属性,被static修饰后,外部链接属性就变成了内部连接属性,只能在自己所在的源文件内部使用

3.修饰函数:对一个工程中的俩个.c文件,一个函数本来具有外部链接属性,被static修饰后,外部链接属性就变成了内部连接属性,这时函数只能在自己所在的源文件内部使用,其他文件无法使用。

  • struct:结构体关键字
  • typedef:类型重命名
#include<stdio.h>
int main()
{
	unsigned int num = 10;
	typedef unsigned int  unit;//把unsigned int重命名为unit
	unit num2 = 20;
	return 0;
}
  • union:联合体/共同体
  • void:无/空 

7.#define定义的常量和宏 

#define定义的宏

 

8.指针

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
	int a = 10;//4byte
	char ch = 'w';
	printf("%p\n", &a);//%p用于地址的打印
	int* pa = &a;//pa用来存放地址,所以把pa叫指针变量
	char* pc = &ch;
	printf("%d\n", sizeof(pa));//4
	printf("%d\n", sizeof(pc));//4
    //*解引用操作符,通过pa中存放的地址,找到pa所指向的内容
	*pa = 20;//把a的值改为20
	return 0;
}

 注:int*pa=&a中,*告诉我们pa是一个指针变量,int告诉我们pa指向的对象是int类型

sizeof(pa)= sizeof(pc)=4

32位平台下,指针的大小是4个字节;64位平台下,指针的大小是8个字节

指针变量的大小取决于地址的大小,与它所指向的类型大小无关

9.结构体

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//结构体
struct Stu
{
	char name[20];//名字,字符串
	int age;//年龄,整数
	char sex[5];//性别,字符串
	char id[20];//学号,字符串
};
void Print(struct Stu* ps)
{
	//printf("%s %d %s %s", (*ps).name, (*ps).age, (*ps).sex, (*ps).id);
	printf("%s %d %s %s\n", ps->name, ps->age, ps->sex, ps->id);//结构体指针->结构体成员

}
int main()
{
	//结构体变量
	struct Stu s1 = { "张三",18,"男","06203023" };//学生1
	struct Stu s2 = { "李四",19,"女","06203024" };//学生2
	printf("%s %d %s %s\n", s1.name, s1.age, s1.sex, s1.id);//直接打印,结构体变量->结构体成员
	Print(&s2);//使用函数打印
	return 0;
}

程序运行结果

 

举报

相关推荐

初识C语言-2

初识C语言2

1-2-初识C语言

【C语言】初识C语言

c语言初识

初识C语言

# 初识C语言

0 条评论