巩固C语言

基本格式

#include <stdio.h>
int main()
{
	printf("HELLO WORLD\n");
	return 0;
 } 

基本运算符

#include <stdio.h>
int main()
{
	int a=11,b=2,c,d,e,f;
	c=a+b;
	d=a-b;
	e=a%b;
	f=a/b;
	printf("c=%d\n",c);
	printf("d=%d\n",d);
	printf("e=%d\n",e);
	printf("f=%d\n",f);
	printf("c=%d,d=%d,e=%d,f=%d",c,d,e,f);
	return 0;
	
 } 

定义宏与数据获取(数据输入)

#include <stdio.h>
#define PAI 3.1415926
int main()
{
    double r;
    printf("请输入半径:");
    scanf("%lf",&r);
    printf("圆的周长是:%lf\n",2*PAI*r);
    printf("圆的面积是:%lf\n",PAI*r*r);
	return 0;
	
 } 

获取代码scanf

printf("请输入:");
scanf("%d",&a);

重点:获取数据格式%d/lf, &&&&&&&&&&&&

定义宏常量格式#define

位于 预处理命令区#开头

#define 名称 数值

const常量

定义常量且能定义数据类型,位于只读存储区。

#include <stdio.h>
int main()
{
    const double PAI = 3.1415926;
	double r;
    printf("请输入半径:");
    scanf("%lf",&r);
    printf("圆的周长是:%lf\n",2*PAI*r);
    printf("圆的面积是:%lf\n",PAI*r*r);
	return 0;
	
 } 

数据类型转换

#include <stdio.h>
int main(void)
{
    int m = 5;
    printf("m/2=%d\n",m/2);
    printf("(float)m/2=%d\n",(float)m/2);
    printf("(float)(m/2)=%d\n",(float)(m/2));
	return 0;
	
 } 

个体与整体

标准数学函数

#include <stdio.h>
#include <math.h>
int main(void)
{
   float a,b,c,g,area;
   printf("input a,b,c:");
   scanf("%f,%f,%f",&a,&b,&c);
   g=(a+b+c)/2;
   area=(float)sqrt(g*(g-a)*(g-b)*(g-c));
   printf("area=%f\n",area);
   return 0;
	
 } 

 库函数:#include <math.h>

转义字符

'\n' //换行
'\r' //回车
'\t' //水平制表
'\0' //空字符,用于结束标志
'\v' //垂直制表
'\b' //退格
'\f' //走纸换页

字符的输入与输出

#include <stdio.h>
int main()
{
    char ch;
	printf("Press a key and then press Enter:");
    ch = getchar();
    ch = ch+32;
    putchar(ch);
    putchar('\n');
	return 0;
}

 if-else语句

#include <stdio.h>
int main(void)
{
	int a,b,max;
	printf("input a:");
	scanf("%d",&a);
	printf("input b:");
	scanf("%d",&b);
	if(a>b) max=a;
	else    max=b;
	printf("max=%d\n",max);
	return 0 ;
 }

条件运算符

#include <stdio.h>
int main(void)
{
	int a,b,max;
	printf("input a:");
	scanf("%d",&a);
	printf("input b:");
	scanf("%d",&b);
	max = a>b?a:b;
	printf("max=%d\n",max);
	return 0 ;
 }

表达式一(选择)?选择一:选择二

switch语句

限制int,char

#include <stdio.h>
int main(void)
{
	int a,b;
	char c;
	printf("input a,b,c:");
	scanf("%d,%c,%d",&a,&c,&b);
	switch(c)
	{
		case'+':
			printf("%d+%d=%d\n",a,b,a+b);
			break;
		case'-':
			printf("%d-%d=%d\n",a,b,a-b);
			break;
		case'*':
			printf("%d*%d=%d\n",a,b,a*b);
			break;
		case'/':
			if(0==b)
			printf("mistake\n");
			else
			printf("%d/%d=%d\n",a,b,a/b);
			break;
		default:
		    printf("mistake\n");
		
	}
	return 0 ;
 }

逻辑判断符

判断是否为闰年

#include <stdio.h>
int main(void)
{
    int a;
	printf("input:");
	scanf("%d",&a);
	if((a%4==0)&&(a%100!=0)||(a%400==0))
	{
	printf("输入年份是闰年\n");
	 }
	else
	 {
	printf("输入年份不是闰年\n") ;
	}
	return 0 ;
 }

循环控制结构

for循环

#include <stdio.h>

int main() 
{
    int i,n,sum;
    printf("input n:");
    scanf("%d",&n);
    sum=0;
    for(i=1;i<=n;i++)
    {
    	sum=sum+i;
	}
	printf("sum=%d",sum);
    return 0;
}

while循环

#include <stdio.h>

int main() 
{
    int i,n,sum;
    printf("input n:");
    scanf("%d",&n);
    sum=0;
    i=1;
    while(i<=n)
    {
    	sum=sum+i;
    	i++;
	}
	printf("sum=%d\n",sum);
    return 0;
}

do-while循环

#include <stdio.h>

int main() 
{
    int i,n,sum;
    printf("input n:");
    scanf("%d",&n);
    sum=0;
    i=1;
    do{
    	sum=sum+i;
    	i++;
	}
	while(i<=n);
	printf("sum=%d\n",sum);
    return 0;
}

嵌套循环

#include <stdio.h>

int main() 
{
    int i,j,n;
    long p,sum=0;
    printf("input:n");
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
    	p=1;
    	for(j=1;j<=i;j++)
		{
		   p=p*j;
		 } 
    	sum=sum+p;
    	
    	
	}
	printf("累加值为:%ld\n",sum);
    return 0;
}

条件控制循环

rand函数:随机数,取值范围:rand()%a+b,范围为[ b,a-1] 。

#include <stdio.h>
#include <stdlib.h>
int main() 
{
    int magic;
    int guess;
    int count=0;
    magic=rand()%100+1;
    do{
    	printf("input:");
    	scanf("%d\n",&guess);
    	count++;
    	if(magic>guess)
    	   printf("wrong!,it's too small\n");
    	else if(magic<guess)
    	   printf("wrong!,it's too big\n");
    	else
    	   printf("Right!\n");
    
	}
	while(guess != magic);
	printf("count=%d\n",count);
    return 0;
}

函数调用

#include<stdio.h> 
long Fact(int n)
{
	int i;
	long result=1;
	for(i=2;i<=n;i++)
	{
		result=result*i;
	}
	return result; 
}
int main(void)
{
	int m;
	long ret;
	printf("input m:");
	scanf("%d",&m);
	ret = Fact(m);
	printf("%d!=%ld\n",m,ret);
	return 0;
}

在int主函数之前将需要被调用的函数构建好,同时注意被调用函数的返回值,为主函数中的变量。

检验函数入口参数的合法性:

注意实参与形参的数量必须对等,同时在判断语句中,如果函数入口参数的合法性检验是违法的那么就向主函数中传递   -1   ,在主函数中同样需要参数为 -1 的判断语句进行合法检验(  -1 为假  )

一维数组

将输入的数填写进数组内并计算其平均数

#include<stdio.h>
int main(void)
{
	int a[5];
	int totala=0;
	int i;
	printf("shuru5geshuzizuoweichengji\n");
	for(i=0;i<5;i++)
	{
		scanf("%d",&a[i]);
		totala=totala+a[i];
	}
	printf("average is %f\n",totala/5.0);
	return 0;
}

二维数组

指针

概念

指针变量:*pa 指向变量储存地址。

定义指针变量 int *pa

(变量名,储存地址,变量值)储存地址: &a

pa=&a    指针变量pa初始化指向 a

即pa的值为&a。

#include<stdio.h>
int main(void)
{
	int a=0,b=1;
	char c='A';
	int *pa,*pb;
	char *pc;
	pa=&a;//初始化使其指向a
	pb=&b;
	pc=&c;
	printf("a=%d,&a=%d,pa=%d,&pa=%d\n",a,&a,pa,&pa);
	return 0; 
 } 

其中指针变量pa指向a,即 pa 的为变量 a的地址,(指针变量也是一种变量);

而&pa则是指针变量的地址

间接寻址运算符

指针变量pa指向a,则pa的值为a的地址*pa为a的值

#include<stdio.h>
int main(void)
{
	int a=1,b=2,c=3;
	int*pa=&a,*pb=&b,*pc=&c;//在定义指针变量pa的同时对其进行初始化指向a 
    //*pa=9;对pa所指向的变量值进行修改
	printf("a=%d, &a=%d,pa=%d,*pa=%d\n",a,&a,pa,*pa);
	return 0; 
	
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值