初始C语言-1.c语言程序的组成

一,C语言程序的组成

一,C语言的基本结构

1,C语言程序由函数组成,即函数为程序的主要组成部分。

程序由若干个函数组成,每一个函数都离不开主函数(main),每个函数有且只能有一个main函数,且每个程序都是从main函数开始执行。

2,基本结构:

函数类型   函数名(形参表){

            函数体(函数结构语句)

             return(返回值);

}

3.新手必知

3.1每个程序都要引头文件,最经典的就是stdio.h(即standard input output)。

当然头文件并不止这个,还有例如stdlib.h,string.h,这些都是比较常见的头文件。

引用方式:#include<文件名>

3.2系统函数

例如printf,scanf等都是系统函数,主要是一些常用功能。

3.3printf(格式化输出函数),scanf(格式化输入函数);

一般使用格式

printf(“格式控制字符串”,表达式表);//后面会解释什么叫格式控制字符串。

scanf使用方法同上,但是也有不同。

scanf("格式控制字符串",变量地址表);

#include<stdio.h>
int main(){
	int n;
	scanf("%d",&n);
	
	return 0;
}

**1.字符串与表达式表的顺序相同,且一一对应。


   2.C语言中每条语句后都要加分号;代表语句结束。

#include<stdio.h>
int main(){
	printf("%d",123);//整型 
	printf("%f",3.14);//浮点型 
	printf("%c",abc);//字符型 
	
	return 0;
}

如图,新手会遇到的几种数据类型就是这些,这也是printf和scanf的基础使用方法。

4.格式控制字符串



4.1转义字符

以/开头的字符,很常见的例如/n,/t等等。

4.2格式控制符

以%开头,控制数据的类型。

4.3普通字符

除上述两种字符之外,在格式控制字符表中,其他的都为普通字符,按原样输出。

5,数据类型

C语言中数据类型一共有九种,后面会慢慢学到。

下面对常见的几种进行介绍

整型:没有小数的整数。

浮点型(实型):有小数的数,例如3.14等等。浮点数无法在计算机中精确存放,数据容易丢失。

字符型:可以是英文字母,也可以是键盘上的各种符号,同时,字符型也是一种特殊的整型,0~2^8-1的整数储存方式与字符型相同。

字符又要分字符与字符串,字符是由‘’组成,只占一个字节,而字符串由“”组成,它的长度由其中有多少个字符决定,如“abc”这个字符串的长度为4,为什么呢,因为abc每个字母便占了三个字节,但在计算机内部,系统会自动给字符串结尾加上结束标识符‘/0’这个字符也占了一个字节,故,总长度为4。

6.常量与变量

变量:变量名是该变量对应的内存存储空间。

常量:上述的几种数据类型都是常量。

6.1变量的输出

由上可得,变量的输入输出都需要用格式控制符控制,我们这里主要讲一下输出,如果需要输出一个整数,则%d(见上表),这个很简单吧。让我们来看看下面的这个例子

由上我们看到,他的输出部分和我写的居然不一样,是不是这个博主太蠢了,这都不会,哈哈哈,当然不是啦。想什么呢。

%-6d:代表数据的宽度为6,-号代表右对齐,+代表左对齐。那么问题来了,如果数据的宽度大于6怎么办?不怎么办,正常输出。

%8.3f:经过上面的解释,现在大家可能已经知道了这个8是什么意思了,那么这个.3是什么意思呢?小数点后面的数字其实代表精度,即3.141,小数点后面保留三

 那么问题又来了,如果我只输入%.3f怎么办?

这个时候就是宽度由系统默认,精度还是三位小数.

7.C语言的常用运算符及表达式

7.1算术运算符

+  —  *  /  %

加  减 乘 除 取余(模运算)

前三个没啥好讲的,自己理解吧,我们先来看看除法,

#include<stdio.h>
int main(){
	printf("%d",6/2);
	printf("%d",6/4);
	
	return 0;
}

先来看看这个代码,答案是多少呢?

你答对了吗?

第一个还能理解,那么第二个呢?

6除4不是等于1.5吗?怎么又成了1?

这是因为整数除整数时,系统默认是取整操作,即小数部分全部去掉,只留下整数部分。那么我们应该怎么办呢?

第一种方法就是强制类型转


换,什么叫做强制类型转换呢?

(类型名)变量名;就是把不是这个类型的转换成这个类型的,强迫别人。咳咳,这个以后也是会用的,还是留个心眼,后面再详细讲。

第二种方式就是,给他加小数点 

记住,既然要输出1.5,一个浮点数,格式控制符也要变。

再来看看取余运算,首先,取余运算只能对整型数据执行,其他的都不行,也有人问了,其他的运算符差不多都学过,但是这个却一点都不认识,好吧,深一点讲一下。

.1,正数取余,我们来看几个例子;

5%3==2;

3%5==?要搞清楚这个,就要知道取余运算的本质,即先进行除法在取余数。

3%5==3/5==0.。。。3,余数为3;

.2,负数取余

其实本质还是一样,为了便于大家记忆,做出以下总结。

***运算结果正负号与被除数符号一致。

***被除数小于除数时,结果等于被除数。(别告诉我你不知道被除数,好吧,其实我也忘了,被除数/除数)现在懂了吧,哈哈哈。

7.2 自增自减运算符

就是加1减1;

有两种情况;

++i;

i++;这两种的区别在哪呢?话不多说,上代码。

 n==3,而m==6,这是为什么?

因为n中i是先使用,后加1;而m中是i先加1,再乘3,你在想想看。

7.3最后在说一下逗号运算符和括号运算符,括号运算符优先级最高,逗号运算符优先级最低。就这,最简单的东西,一定要牢记。

**其他运算符就比较简单了,看看书上都有,也都能看懂

*****优先级的概念一定要搞清楚,到底谁的优先级高,这到了后面是很重要的内容。

补充一个内容:scanf的getchar问题

getchar();是啥?

它的作用是调用一个字符,通常用在scanf后面,因为scanf输入完了以后会人为的按一个回车符,回车符也作为了一个字符存到了scanf输入的内容最后,但是有一些情况中,这个回车符会影响题目时,我们则需要把他提取出来;

#include<stdio.h>
int main(){
	int digit,i,letter,n,other;
	char ch;
	digit=letter=other=0;
	printf("请输入n:");
	scanf("%d",&n);
	getchar();
	printf("请输入%d个字符:",n);
	for(i=1;i<=n;i++)
	{
	ch=getchar();
	if(ch>=48 && ch<=57)
	digit++;
	else if((ch>=65 && ch<=80)||(ch>=97 && ch<=122))
	letter++;
	else
	other++;}
	printf("digit=%d,letter=%d,other=%d",digit,letter,other);
	return 0;
}

可以参考一下这个程序。

还有其他的作用,getchar字面意思就是输入一个字符,用法差不多就是下面这个样子,以后再深入讲讲吧。

谢谢大家观看学习,祝大家学习越来越好哦。

猜你喜欢

转载自blog.csdn.net/m0_63309778/article/details/121590535
今日推荐