下面分享的是关于C语言学习的运算符,输入输出,控制语句,循环语句等这些,对于每个编程语言这些都是相对重要的部分。
运算符。
C语言中的运算符大致分为6种。算数运算符,关系运算符,逻辑运算符,位运算符,赋值运算符,特殊运算符。
具体每种运算符的符号和功能不一一列举,有一定的语言基础比较好理解,只在这记录一下我学习过程中注意到的点。
1.首先注意到的是优先级,之前语言的学习中没有过多关注,但在程序执行中,这部分值得注意。
数字由小到大,代表优先级越来越低。
举个例子在这:
2.double和float类型不能取余。
3.逻辑运算符的”逻辑与(&)",短路特性,逢0截至。(如果第一个操作数为假(零值),则整个表达式的结果为假,且不再评估表达式的其余部分。)
4.逻辑运算符中的”逻辑或(||)“短路特性,逢1截至(如果第一个操作数为真(非零值),则整个表达式的结果为真,且不再评估表达式的其余部分。)
赋值运算符:
特殊运算符:
条件运算符,三目运算符。size of运算符。
include <stdio.h>
int main ()
{
int x,y=23;
x = 11;
y = x++ > 11 ? 100 : 0 ;
printf("x = % d y = % d \n",x,y)
return 0 ;
}
条件运算符:一般形式为 表达式一? 表达式二:表达式三
其中如果条件满足就执行表达式二,不满足则执行表达式三
逗号运算符: 本质上就是从左往右依次计算,
size of 运算符:这种字符通常使用在计算数据类型的字节数,还有在申请储存空间的时候,也是 用于计算自己字节长度。
输入输出
数据输出:
C语言没有i/o语句,i/o操作由函数实现。,
头文件<stdio.h>
字符输出函数
格式:putchar(c)
参数:c为字符常量,变量或者表达式
功能:把字符c输出到显示器中
返回值:正常,为显示的代码值
格式输出函数:
格式:printf("格式控制符”输出表)
功能就是按指定格式向显示器输出数据。(格式说明符之前有记录)。
附加格式说明符:
字符输入函数:
字符输入函数getchar()
功能是从键盘输入字符:
格式输入函数:
scanf函数支持的说明符可以带以下修饰符:
这里的scanf类C++的cin来学习。
#include <stdio.h>
int main()
{
int data1,data2;
scanf("%4d %2d ",&data1,data2);;
printf("data1=%d data2=%d" data1,data2);
return 0;
}
5.注意这里的 &运算符,用于获取变量的内存地址。
6.在使用%格式符的时候,空格和转义字符会作为有效字符输出,(空格,tab,回车,非法输入,宽度输出。)
7.垃圾数据清除,
抑制符(* )使指定的输入项,读入后不赋值给变量,从而达到某一项或者指定项不输入。
在%c之前使用getchar()吃掉空格.直接输入空格,使垃圾的空格字符清理掉。
字符串的输入函数gets:
这个函数与scanf不同的是不以空格为字符串结束的标志,而是自动加\0.所以输出串的长度应该小于字符数组的维数。
字符串的输出函数puts:
该函数输出字符串自动换行。
控制语句:
下面将接介绍图中的分支,循环以及辅助控制语句,这应该是作为一个语言比较重要的一部分,
if语句概述:
if(表达式)
语句块1
else
语句块2
if语句常见形式有:
简化形式:
if(x>y) printf("%d",x);
阶梯形式;
if(表达式) 语句块1
else 语句块2
else if (表达式2) 语句块2
else if(表达式3) 语句块3
else if (表达式4) 语句块4
嵌套形式:
if()
if()语句1
else语句2
else
if()语句3
else () 语句4
7.在语句块中如果有多条语句必须用{} ,区分if(x=1)和if(1==x)的不同。
与c++相似比较好理解不多举例。
switch语句:
与c++语法相同。
switch(表达式)
{
case 常量表达式1: 语句块1 ;break;
case 常量表达式2: 语句块2; break;
case 常量表达式n: 语句块n: break;
default : 语句块n+1
}
stitch语句使用注意:
每个常量表达式的值必须各不相同,否则将出现矛盾。
当与case常量表达式的值相同时,就会执行case 后面的语句。
switch语句中的表达式可以是整形,字符型表达式和枚举类型,。
case常量只起到了语句标号的作用
break语句在这里用于强行跳出switch语句,一般每个cese之后都有一个break 语句,defalut分支后的break可以省略。
多个case语句可以执行一条语句。
这里的程序举例和c++中的成绩分级一样,已经较熟悉,不再举例。
循环语句:
循环需要关注的是:
变量初值;
终止条件;
变量变化;
goto:
在C语言和c++ 中使用相同。
先在程序的某一位置定义标签,然后在需要跳转的时候使用。goto 标签,,跳转到标签处。
goto语句的优点是:
当程序有多个出口时,使用goto将这些出口集中到一处比较方便,特别是函数中有很多重复的工作的时候。
理由是: 无条件跳转易于理解
可以减少嵌套。
可以避免那些忘记更新某一个出口点的问题。
while循环:
基本形式:
while(表达式)
{
statements;
}
do while循环:
基本形式:
do{
statements;
}while(表达式);
for循环:
一般形式:
for(expression1;expressiojn2;expression3)
{
statements;
}
和c++的for循环一样,三条语句分别是,置循环初始值,判断循环条件,执行语句3.
for循环中的三条语句都可以省略,
表达式1省略要在循环之前给循环变量赋初值,
表达式2省略 将进入死循环。
表达式3省略要在循环体中增加循环使变量的值改变的语句。
这里可以通过自己打印九九乘法表来熟悉一下循环的使用,同时可以练习注意细节的能力;
#include<stdio.h>
int main()
{
int i, j;
for(i=1;i<=9:i++)
{
for(j=1;j<=9;j++)
{
printf("%d*%d=%d",j,i,j*i)
}
printf("\n")
}
return 0;
}
辅助控制语句:
这里的break,continue,return的用法值得注意。
break:用于跳出循环内的一层循环体,即提前结束循环。
break语句只能使用在循环语句和switch语句中。
continue:结束本次循环,接着判定是否执行下一次循环;
注意两者的区别,break直接结束了本层循环,而continue结束的是本次循环。还会接着判断下
一次循环条件, 自己可以通过编写简单的程序来体会这两者的区别;
return:
return的一般形式为:return<表达式>
主要用于终止包含它的函数的执行。
若终止的是主函数,则程序终止执行。
本次记录结束,下次将开始数组与指针部分。