学习c语言项目笔记

1,进制转换-整型常量的不同进制表示
2,补码的作用
3,强制类型转换
4,scanf循环读取
5,scanf读取混合类型输入
6,getchar(),putchar()讲解
7, goto语句
8,while循环
9,do-while循环
10,for循环
11,continue语句
------------------------------------------详细项目代码
1,进制转换-整型常量的不同进制表示

#include<stdlib.h>
#include<stdio.h>
int main() {
	int i = 0x7b;//赋值十六进制
	printf("the i =%d\n",i);//十进制打印
	i = 0173;//赋值8进制
	printf("the i =%d\n",i);//十进制打印
	system("pause");
	return 0;
}

2,补码的作用
补码:对原码取反加 1

#include<stdlib.h>
#include<stdio.h>
int main() {
	int i, j, k;
	i = -5;
	j = 2;
	k = i + j;
	printf("k=%d\n", k);
	return 0;
}

3,强制类型转换

#include<stdlib.h>
#include<stdio.h>
int main() {
	int i = 5;
	float f, g;
	short m;
	long l = 5;
	f = i / 2;//因为没有强制类型转换i/2表达式为整型运算
	g = (float)i / 2;
	m = (short)l + 2;//由于l为long型,不加short强转编译会警告
	printf("i=%d,f=%f,g=%f,m=%d\n",i,f,g,m);
	system("pause");
	return 0;
}	

4,scanf循环读取

#include<stdlib.h>
#include<stdio.h>
int main(){
	int i;
	int ret;//用来获取scanf的返回值
	while(rewind(stdin),(ret=scanf("%d",&i))!=EOF){
		printf("i=%d\n",i);
	}
	system("pause");
	return 0;
}

//小写改为大写

#include<stdlib.h>
#include<stdio.h>
int main(){
	while(rewind(stdin),(ret=scanf("%d",&i))!=EOF){
		if(c!='\n'){
			printf("%c",c-32);
		}else {
			printf("\n");
		}
	}
	system("pause");
	return 0;
}

5,scanf读取混合类型输入

#include<stdlib.h>
#include<stdio.h>
//整型,字符,浮点型混合输入
int main(){
	int i=5;
	double f;
	char c;
	int ret;
	ret=scanf("%d %c%lf%f",&i,&c,&f,&l);
	printf("i=%d,c=%c,f=%5.2lf,l=5.2f,ret=%d\n",i,c,f,l,ret);//5.2代表总结占用5个空格的位置, 2代表小数点后显示两位
	system("pause");
	return 0;
}

6,getchar(),putchar()讲解
getchar():可以一次从标准输入读取一个字符,等价于 charc,scanf(“%c”,&c)
putchar():向显示设备输出一个字符
7, goto语句
向上跳转//100内的数字递增相加

#include<stdlib.h>
#include<stdio.h>
int main(){
	int i=1;
	int total=0;
lable:
	total=total+i;
	i++;
	if(i<100){
		goto lable;
	}
	printf("total=%d\n",total);
	system("pause");
	return 0;
}

goto语句向下跳转

#include<stdlib.h>
#include<stdio.h>
//goto向下跳转,实现部分代码不执行
int main(){
	int disk;
	scanf("%d",&disk);
	if(disk==0){
		goto lable_disk_error;
	}
	//写磁盘的操作
lable_disk_error:
	printf("system is error\n");
	system("pause");
	return 0;
}

8,while循环
//1到100相加

#include<stdlib.h>
#include<stdio.h>
int main(){
	int i=1;
	int total=0;
	while(i<=100){
		total+=i;
		i++;
	}
	printf("total=%d\n",total);
	system("pause");
	return 0;
}

9,do-while循环

do
{
	total+=i;
	i++;
}while(i<=100);

10,for循环

for(i=1,total=0;i<=100;I++){
	total+=i;
}

11,continue语句/break语句

//100内奇数奇数相加
#include<stdlib.h>
#include<stdio.h>
int main(){
	int i,total;
	for(i=1,total=0;i<=100;i++){
		if(i%2==0){
			continue;//偶数提前结束/或是break撤出for循环
		}
		total+=i;
	}
	printf("total=%d\n",total);
	system("pause");
}

12,一维数组
先定义的变量j的地址大于后定义的变量i的地址,所以先定义的变量放在高地址,后定义的变量放在低地址

#include<stdlib.h>
#include<stdio.h>
void print(int b[],int len){
	int i;
	for(i=0;i<len;i++){
		printf("%3d",b[i]);
	}
	b[4]=20;//在子函数中修改数组元素
	printf("\n");
}
//数组越界
//一组数组的传递
#define N 5
int main(){
	int j=10;
	int a[5]={1,2,3,4,5};//定义数组时,数组长度必须固定
	int i=3;
	a[5]=20;//越界访问
	a[6]=21;
	a[7]=22;//越界访问会造成数据异常
	print(a,5);
	printf("a[4]=%d\n",a[4]);//a[4]发生改变
	system("pause");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值