一、C示例讲解
1、将100~200之间的素数打印出来
① N-S图 2.16 P7 程序P10 (6)(C程序设计题解….)
② 求素数N逻辑方法是:先定义i且i<=sqrN; N/i ,只有不能整除时循环,直到i=sqrN时,如仍不能整除见分则N是素数
2、求两个数m和n的最大公约数
①N-S图 2.17 P8 程序P10 (7) (C程序设计题解….)
②求公约数的方法(m>n):m/n付给r,即r<=m/n,然后再付值:m=n n=r
③ r=m/n m=n n=r循环下去
判断润年实例及N-S图
① N-S图分析见P11(C程序设计题解….)例见课本P100
总结:N-S图是逻辑分析程序的走路,然后才可写出程序,试用VB来分析上三例的设计 C程序实例可见书本(C程序设计题解与上机指导 第二版)
二、特殊字符的表现见课本P48
例main()
{
Printf(“_ab_c\t_de\rf\tg\n”); _表示空格 屏上结果:fab-c---gde h------jik
Printf(“h\ti\b\bj_ _k”); 打印结果:f-------gde h------j-k
}
说明:1、出-ab-c,遇到t后到第九列输出-de,后遇到r返回到第一列输出f,遇到t即在本例九列输出g,具体在课本P49例3.5; 2、单引号里表示字符,双引号表示字符串;3、运算的优先级见课本P375;例题见(C程序设计题解与上机指导 第二版)P15例3.9及P17
三、小知识点
①于++i与i++
如:dim i=8,j=10; =++i,n=j++; printf(“%d,%d”,m,n);例见(C程序设计题解P15例3.10
说明:++i:i的值先变成9,然后将9付给m即m=9,i=9;j++先将j的值付给n即n=10,然后
j的值再加1,即j=11
② 整型变量(单精度占两个字节,16位)输出以%d,定义是int形式;实型(浮点占4个字符,32位)输出%f,定义float表示;字符(占1个字节,8位)输出%c,定义char表示(各见课本P43,P45,字符串以%s输出,以str形式输入
③ 小数,正负的取整,取模的运算:如int(-1.7),int(1.7),3.7%2,1.3%2等,在c中多数情况下(c的课本P55)取整取向零靠近;VB中取模取整的表示符是:/ \ 及其运算方法?
四、C语言的运结构
1、顺序结构示例讲解
Main()
{
Int a,b,c;
Long int u,n;
Float x,y,z;
Char c1,c2;
A=3,b=4,c=5;
X=1.2,y=2.4,c=3.6;
U=5127,n=12876;
1
C1=’a’,c2=’b’;
Printf(“\n”);
Printf(“a=%2d,b=%2d,c=%2d\n”,a,b,c); 黑体表示输出的列
Printf(“x=%8.6f,y=%8.6f,z=%9.6f\n”,x,y,z); 黑体表示输出列及小数位数
Printf(“x+y=%5.2f,y+w=%5.2f,z+x=%5.2f\n”,x+y,y+z,z+x);
Printf(“u=%61d,n=%91d\n”,u,n);
Printf(“c1=%c or %d(ASCII)\n”,c1,c2);
}
字符数据的输出
①%m.ns;输出占m列,但只取字符串中左端n个字符,这n个字符输出在m列的右侧,左补空格;%-m.ns, 其中m n含义同上,n个字符输出,在m列范围的左侧,右侧补空格,如果n>m,则m自动取n值,保证n个实际字符正常输出
②%m.nf,指定输出的数据共占m列,其中有n位小数,如果数值长度小于m,则左端补空格 %-m.nf,指定输出的数据共占m列,其中有n位小数,如果数值长度小于m,则右端补空格 格式的输入与输出
Scanf(“格式控制,地址列表”),printf(“格式控制,输出列表”)
说明:①格式控制由%和格式字符组成,如%d,%f;地址列表由&+字符名组成;scanf(“%d”,&a) ②输出列表是需要输出的一些数据,如%d;输出列表由字符名组成;printf(“%d”,a) Putcher只能输出字符,而且只能是一个字符,而printf可以输出多个数据,且为任意类型
④ 输入数据不能规定长精度,如可scanf(“%7.2f”,&a);想使a值为12345.67是不 合法的,只有输出才可规定精度如printf(“%7.2f”,a);输入时要与输出时格式相对应:scanf(“%d:%d”,&a,&b),在銉盘上输入12:13
VB里的输入与输出格式要求,各运算符的表示与计算,各种数据的表示,如:字符,实数等
2、选择结构程序设计
内嵌套 ①if(?) ②if? ③switch()
If(?) else if? case1:?
Else? else if? case2:?
Else? else if? case3:? 注:C中没有end if ①②格式的应用实例
例1有3个整数a b c由键盘输入,输出其最大的数的方法,画出N-S图(见设计解题P25) Main()
{
Int a,b,c;
Printf(“请输入三个整数”);
Scanf(“%d,%d,%d”&a,&b,&c);
If (a<b)
If(b<c)
Printf(“max=%d\n”,c); 只有一个“;”号,表示这所有的是一句,if内嵌套 Else
Printf(“max=%d\n”,c); 另一句
Else if(a<b)
Printf(“max=%d\n”c); 另一句
Else
2
Printf(“max=%d\n”,a); 另一句
}
例2、 x (x<1)
y= 2x-1 (1<=x<10)
3x-11 (x>=10)
Main()
{
Int x,y;
Scanf(“%d”,&x);
If (x<1)
{
y=x;
printf(“x=%3d,y=x=%d\n”,x,y); “x=”, “y=x=”是输出字符,这是一句 }
Else if(x<11)
{
Y=2*x-1;
Printf(“x=%3d,y=2x-1=%d\n”,x,y);
} 另一句 因为每个条件句有两条语句所以 Else 要用{},同条件句一起作为一句语句
{
Y=3*x-11;
Printf(“x=%3d,y=3*x-11=%d\n”,x,y);
} 另一句
}
#如果if 与else的数目不一样,为实现程序设计的企图,可以加花括号来确定配对关系 如 if ( )
{if ( )语句1} 这时的else与第一个if配对,如果没有花括号,则与第二个 Else 语句2 if 配对
③ switch 语句的应用
main()
{
Int c,s;
Float p,w,d,f;
Scanf(“%f,%f,%d”,&p,&w,&s);
If (s>=300)
C=12;
Else if c=s/250;
Switch(c) c是switch的表达式
{
Case 0:d=0;break; 0, 1等是switch的常量表达式
Case 1:d=2;break;
…………..
Case 12:d=15;break; switch的表达式要与case后面的常量表达式的数据
3
} 类型及值是一样的
F=p*w*s*(1-d/100.0);
Printf(“weight=%15.4f”,f);
} #找出VB的选择结构框架及示例
3、循环结构
一、循环的控制 goto语句
1、 goto 语句及goto语句构成的循环
goto语句为无条件转向语句,格式为 goto 语句标号;语句标号由字母、数字和下划线组成,其第一个字符必须为字母或下划线;如goto 123(错),goto label_1(对)
2、 作用:与if语句一起构成循环
例:求1+2+3+-----+100的和
Main()
{
Int I,sum=0;
I=1;
Loop:if (i<=100)
{
Sum=sum+I;
I++;
Goto loop;
}
Printf(“%d’,sum);
}
二、循环的控制 while语句
结构(表达式)语句
当表达式为非0时,执行while语句中的内嵌套语句,表达式只能为关系表达式、逻辑表 达式,当表达式为常量表达式时,就进入死循环
例:求1+2+3+-----+100的和
Main() main()
{ { int sum=0,I;
Int I,sum=0; scanf(“%d”,&i);
I=1; while (i<=10)
While (i<=100) {sum=sum+i
{
Sum=sum+I; i++ }
I++;
} printf(“sum=%d”,sum);
Printf(“%d”,sum); }
}
三、循环的控制 do--while语句
格式 do / 循环语句 / while (表达式)
特点:先执行一次指定的循环语句,然后判断是否符合要求去执行循环
例:求1+2+3+-----+100的和
Main( ) main ()
4
{ {int sum=0,I ; scanf(“%d”,&i);
Int I,sum=0; do { sum=sum+I; i++; }
I=1; while (i<=10); printf(“sum=%d”,sum);
Do
{ }
Sum=sum+I; while 与do---while循环的比较:一般情况下,当处理同一问题时,
I++; 并循环体部分是一样的,则结果相同,但如while后面的表达式
} 一开始为假(0值)时,两种循环的结果是不同的,如上右边两 While (i<=100); 例中输入1 则两结果都是sum=55;如输入11,则while循环结果 Printf(“%d”,sum); 是sum=0,而do---while循环结果是sum=11
}
四、for循环语句
①表达式形式:for (表达式1;表达式2;表达式3;) 它的执行过程:a、先求解表达式1;b、求解表达式2,若其值为真,则执行for语句指定的内嵌套语句,然后执行下面的语句,若为假,则结束循环语句;c、求解表达式3,求解完后再回头(循环)去执行求解表达式2…. 例剖析 相当 i=1;
For (i=1;i<=100;i++) while (i<=100)
Sum=sum+I; { sum=sum+I;i++;}
一般情况下,for 语句可以改写成while语句;即:表达式1;while (表达式2) {语句;表达式3} ②for 循环的表达式1、3可省,具体省略后的形式变化见课本P111-112
五、循环的嵌套
While() do for (;;;)
{?? {?? {for (;;;)
While() do
{ {?? {
?? } 执行语句;
} while(); }
} while(); }
} 执行语句;???
几种循环的比较见课本P114
Break语句和continue语句
Break语句用来从循环体中跳出 循环体提前结束循环,接着执行下面的语句,但它不能用于循环语句和switch语句之外的任何其它语句
Continue语句用来结束本次循环,不是终止整个循环体
Continue的应用例子
Main()
{
Int n;
For (n=100;n<=200;n++)
{
If (n%3==0) 当n能被3整除时执行continue语句,结束本次循环(即跳过 Continue; printf函数语句)只有当n不能被3整除时才能执行printf Printf(“%d”,n); 函数
5
}
}
For 内嵌套实例
打印出以下图案
* main()
*** {int I,j,k;
***** for (i=0;i<=3;i++) i控制输出行(上面的4行)
******* {for (j=0;j<=2-I;j++) 此for{}号可省,因与前for没有;号,是同一句 ***** printf(“ ”); 输出*号前面的空格
*** for (k=0;k<=2*I;k++) 输出*号
* printf(“*”); 输出完一行*号后换行
printf(“\n”); }
for (i=0;i<=2;i++) 输出下面的3行*号
{for (j=0;j<=I;j++) 此for{}号可省,因与前for没有;号,是同一句 Printf(“ “); 输出*号前面的空格
For (k=0;k<=4-2*I;k++)
Printf(“*”); 输出*号
Printf(“\n”); 输出完一行*号后换行“
}
}
## for (.…) for (.…) 效果等同情况:因为第二个for没有并行语句, for (.…) { for (.…) 因为第三个for都属于第二个for循环的执行 for (.…) for (.…)} 语句,如果第二for有平行语句就不同了
例:main( ) 结果为: * 如去掉第二个for后 {int I,j,k; *** 的{};结果为: For(i=0;i<=3;i++) *****
{for(j=0;j<=2-I;j++) ******* *********
Printf(“ ”);
For(k=;k<=2*I;k++) 可见两种情 况结果不同,原因在于第二个 Printf(“*”); for后第二for有平行语句Printf(“ ”)
Printf(“\n”);} 第三个for不属于第二个for循环的执行 }
例:main( )
{int I,j,k; 结果: 去掉第二个for的{}结果是: For(i=0;j<=3;i++) *
{for(k=0;k<=2*I;k++) ***
Printf(“*”); ***** ****************
Printf(“\n”); } *******
}
例:main( )
{int a,b; 程序运行结果:
6
For(a=1;a<=3;a++) 1*1=11*2=21*3=31*4=4
{for(b=1;b<=4;b++) 2*1=22*2=42*3=62*4=8
Printf(%d*%d=%d,a,b,a*b); 3*1=33*2=63*3=93*4=12
Printf(“\n”);} 去掉第二个for运行结果是
} 1*1=11*2=21*3=31*4=42*3=62*4=83*1=31*2=63*3=93*4=12
例:main( ) main( )
{ Int a,b; { Int a,b;
For(a=1;a<=3;a++) For(a=1;a<=3;a++)
{for(b=1;b<=4;b++) for(b=1;b<=4;b++)
Printf(%d*%d=%d,a,b,a*b);} Printf(%d*%d=%d,a,b,a*b);
} }
运行结果一样是:1*1=11*2=21*3=31*4=42*3=62*4=83*1=31*2=63*3=93*4=12
3、 一维数组元素
一、小知识点
① 数组里的元素下标是从零开始的,常量表达式中可以包含常量和符号常量,不能是变量 ② 可以只给一部分元素付值,如:int [10]={1,2,3,4,5},而这只是给数组前五个元素付值 ③ 如果想使一个数组中的全部元素付值为0,可以写:int [10]={0,0,0,0,0,0,0,0,0,0}
或写成a[10]={0}
④ 在对全部数组元素付初值时可以不指定数组长度如:a[]={1,2,3,4,5},在定义数组后,
如:a[10]={1,2,3,4,5,6,7,8,9},从键盘上获取元素时可用scanf(“%d”,&a[i]),但不能写成scanf(“%d”,&a)或scanf(“%d”,&a[])或scanf(“%d”,a)
4、 二维数组元素
① 格式:类型说明符 数组名[常量表达式][常量表达式]
如:float [3][4],float [5][10]定义a为3*4(3行4列),b为5*10(5行10列)的数
组
A[0][0],A[0][1],A[0][2],A[0][3]
A[3][4]= A[1][0],A[1][1],A[1][2],A[1][3]
A[2][0],A[2][1],A[2][2],A[2][3]
②二维数组的付值:I、分行付值:int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}} 等同于int[3][4]={1,2,3,4,5,6,7,8,9,10,11,12} 1,0,0,0 其值是对
II、 可以对部分付值:int [3][4]={{1},{5},{9}}等同于a[3][4]= 5,0,0,0 各行中的 9,0,0,0 第一个元素
Int a[3][4]={{1},{5,6}},对第三行不付值,Int a[3][4]={{1},{},{5,6}}第二行不付值 III、对数组全部付值时可以省略行数的下标如:a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}效果等同于a [][4]= {1,2,3,4,5,6,7,8,9,10,11,12}
IV、可以只对部分元素付值,而省略第一维的长度(行的下标),但应分行付值,如: Int a [][4]={{0,0,3},{},{0,10},}效果等同第一行0,0,3,0第二行0,0,0,0第四行0,10,0,0
二维数组应应用用举例:1 2 3 1 4
将a=4 5 6 的行与列互换成b= 2 5
3 6
程序: main( )
{ int a[2][3]={{1,2,3},{4,5,6}};
Int b[3][2],ij;
7
Printf(“array a:\n”);
For (i=0;i<=1;i++)
{for (j=0;j<=2;j++)
{printf(“%5d”,a[i][j]);
B[j][i]=a[i][j]]; } a[i][j]中的i与倒数第二行b[i][j]中的i不一定一样
Printf(“\n”);}式 因为i是变量,其值是可变的,故i在程序中是不 Printf(“array b:\n”); 确定的
For (i=0;i<=2;i++)
{for (j=0;j<=1;j++)
Printf(“%5d”,b[i][j]);
Printf(“\n”);}
}
N-S图 for i<=1 前程序的N-S图 for i<=2 后段程序的N-S图 For j<=2 for i<=1
输出a[i][j] 输出b[i][j]
并a[j][i]=a[i][j]
5、 字符数组
① 字符数组的定义:基本与前面的整型数组定义相同,不同之处:如果初值个数小于数
组长度,只将这些字符付给数组中的前面那些元素,其余的元素定义为空字符。
② 字符数组引用实例
输出一个钻石图形
程序: main( )
{char
diamond[][5]={{“’ ’,’ ’,’*’”},{“’ ’,’*’,’ ’,’*’”}{“’*’,’ ’,’ ’,’ ’,’*’”},{“’ ’,’*’,’ ’,’*’”,},{“’ ’,’ ’,’ *’”}}
Int I,j; 输出结果 *
For (i=0;i<5;i++) * *
{for (j=0;j<5;j++) * *
Printf(“%c”,diamond[i][j]); * *
Printf(“\n”); } *
}
##上程序第二个for是嵌套于第一个for里的;①如果一个字符串第10个字符为’\0’,则此
字符串的有效长度为9,也就是说在遇到字符’\0’时,表示字符串结束,由它前面的
字符组成字符串;②系统对字符串常量也会自动加一个’\0’作为结束符,所以会比实
际多一个字符;③所以有了结束标志’\0’后,字符数组的长度就显得不那么重要了,
只要数组长度大于字符串的实际长度就可④所以字符数组表示字符串时,可以如此定
义:char []={“china”};⑤它的输出与数组不同,要:printf(“%c”,a[i]),因为它输
出的是字符数组名,不是数组元素,字符串的输出printf(“%s”,a);⑥字符数组的
输入:scanf(“%s”a),或scanf(“%c”a)它不用scanf(“%s”%a[i]),原因是scanf
函数中的输入项是字符数组名,它应该在先前就已被定义,如:scanf(“%d”,&str)
是错误的,因scanf函数中的输入项是字符数组名时不用再加地址标识符&,因为在
C语言中数组名代表该数组的起始地址
如: C 2000 此数组若其名是C,占6个字节,程序中如果只写数组名C, H 2001 ,它就代表起始地址为2000,然后它会按第一个地址逐个输 8
I 2002 入或输出。
N 2003
A 2004
\0 2005 字符串处理函数祥情见课本P135-138
6、 函 数
一、小知识点
① 函数说明:一个C程序---包含多个源程序;一个源程序----包含多个函数;(也可
说一个程序包含多个函数)
② C程序的执行从main函数开始,即主函数,调用其它函数后,流程返回到main
函数,在main函数中结束整个程序的运行,注意main函数是系统定义的
③ 函数间平等,可互相调用,但不能调用主函数(C中main函数)
二、 函数种类
① 从使用者角度看可分两种:标准函数即库函数与用户自己定义的函数
② 函数的形式看:无参函数与有参函数
三、 无参函数定义的一般形式 无参函数
类型标识符 函数名() 例 main( ) printfstar( )
{ {printfstar(); {printf(“********”);}
声明部分 printf_message(); print_message( )
语句 printfstar(); {printf(“how do you \ndo!”); } } }
说明:无参函数一般不需要返回值,因此可以不写类型标识符
四、有参函数定义的一般形式 例 有参函数
类型标识符 函数名(形式参数列表)main( ) max(intx,int y) { { int a,b,c; {int z;
声明部分; scanf(“%d,%d”,&a,&b); z=x>y?x:y; 语句; c=max(a,b); a,b是实参 return (z) } printf(“max is %d”,c); } }
# 类型特别说明
① 上例中没有函数定义,即int max(int x,int y)前的int,原因在于C语言规定凡
不加类型说明的函数,一律自动按整型处理
② 定义函数时对函数值说明的类型一般应该和return语句中的表达式类型一致,如
上例中的变量Z为整型,即max函数也为整型函数,此max函数隐含定义为整型,
但如不同,则以函数类型为准,可以对数值数据自动进行类型转换
③ 要求函数返回值的要用到语句return(),如上例中的return()也可这么写:return
z=return(z)=return(x>y?x:y)
④ 自我认为:上例中被调用函数x,y形参的类型与主函数a,b函数实参类型相同,与
这量c可同可不同, c变量与被调函数max类型可同可不同,c变量类型只是限定
输出函数的格式,即输出函数的类型;#类型如不同则按付值进行转换,如下例中
的a实参为3.5,而形参x为整型,则将3.5 转换成整型然后送到形参b,但此时应
将函数max放在main函数前面或在main函数中对max函数作原型声明,如下:
Main( ) int max(int x,int y) int可省
{int max(int x,inty); int可省 { int z;
Float a,b; z=x>y? x:y;
Int c; return(z);
9
C=max(a,b); }
Printf(“max is %d”,c)
}(后接max函数)
7、 形参与实参说明
形参:调用前不占用内存,调用时分配内存并获得值,高用结束后释放内存空间
实参:可以是常量、变量、表达式,要求它们有确定的值
参数的传递:只由实参传给形参,函数值再由被调函数返回值给主调函数,而不能由形参传给实参,因被调函数一旦结束后,形参单元被释放。
返回值图: c=max(a,b); 主函数
--------------------------------
Max(int x,int y); max函数
{int z;
Z=x>y? x:y;
return (z); } z返回到c=max(a,b)中,得到最大值付给c 补充:关于do---while循环语句:执行do与while之间的循环,当条件不符合while要求时,就结束循环再执行while后面的语句,例见课本P157
8、 指 针
①概念:如果在程序中定义了一个变量,在编译时,就给这个变量分配了内存单元,如:
在C系统中整型变量、实型变量、字符型变量的内存单元的长度空间分加别是2、
4、1个字节,而内存单元(内存区)第一个字节有一个编号,这就是地址
②量的存储、这义与输出
I、 一程序定义三整型变量I,j,k,编译时系统分配2000和2001两个字节空间给i,2002\2003
两字节给j,2004、2005字节空间给k
II、存储变量:在程序中一般是通过变量名来对内存单元进行存取操作的,其实程序给它
编译以后,已经将变量名转为变量地址,对变量值的存取就是通过地址进行的,如:scanf(“%d”,&i)在执行时就是从键盘上输入的值送到地址为2000开始的整型存储单元中,所以i前要有&符号来获取i变量的存储单元空间地址
III、输出变量:printf(“%d”,i)等形式;根据变量名与地址之间(这对应关系是在编译时就
确定了的)找到变量i的地址2000,然后由2000开始的两个字节中取出数据给变量i
9、 量、指针、指针变量
指针变量:存储变量地址的一种特殊变量;如i_pointer=&i;i_pointer就是指针变量,它存储
的是变量i的地址,如i的地址就是2000,2001两个字节长度的存储空间,则指
针变量i_pointer的值就是2000即变量i所占用的单元的起始地址
指针:一个变量的地址称为该变量的指针,如2000是变量i的指针;指针变量i的值(即
指针变量存放的值是)是指针(地址)
#可说变量i的指针是2000,如有i_pointer=&i为前提的话,指针变量i_pointer的值是2000;简单说明:如果一个变量放加一变量的地址(即指针),则它称为“指针变量”
10、变量的指针和指针变量及指向变量的指针变量
变量的指针:就是变量的地址,也就是该变量的指针
指针变量:存放变量地址的变量,或存放变量指针的变量
指向变量的指针变量(简称指针变量?):引入*i-pointer,即在指针变量前加上“*“符号表
示指针变量i_pointer所指向的变量;*i_pointer等同于该变量a,也可写
i_pointer=&a=&*i_pointer
定义指针变量形式:基类型 *指针变量名
10
如:float *pointer_1 说明:“*“符号表示该变量的类型为指针变量,pointer_1是指针变量名,float是指针变量的基类型,即实型,注意:一个指针变量只能指向同一个类型的变量,因为不同类型的变量占的字节不同,如float*pointer_1移动一个位置(即指针移动一个位置)意味移动4个字符,int *p ointer_2意味移动两个字节。故必须指向同一个类型 例pointer_1=100(错);pointer=&a(对) ;pointer_1=a(错);*pointer_1=&a(错)
“*”为指针运算符,如:*p为指针p指向的存储单元 pointer/&a----a/*pointer 例:main()
{int a,b;
Int *pointer_1,*pointer_2; 表示定义两个指针变量*pointer_1,*pointer_2;
A=100,b=10;
Pointer_1=&a;
Pointer_2=&b;
Printf(“%d,%d\n”a,b);
Printf(“%d,%d\n”*pointer_1,*pointer_2); }表示pointer_1,pointer_2指针所指向的变量 *&a等同于*pointer_1; *&a表示:先进行&a运算,得到a的地址,即指针变量,再进行*运算,即该地址(指针)所指向的变量。
两指针变量运用的实例
例1、main( ) 例2、swap(int *p1*p2)
{int *p1,*p2,a,b; {int temp;
Scanf(“%d,%d”,&a,&b);
P1=&a,p2=&b;
If (a<b)
{p=p1;p1=p2;p2=p;}
Printf(“\na=%d,b=%d”,a,b);
Printf(“max=%d,min=%d”,*p1,*p2);
}
运行结果5,9----a=5,b=9----max=9,min=5
11
本学期很荣幸能够参加学校的党课学习,也很珍惜这次难得的学习机会。在学习期间,我始终坚持认真听课,课堂上认真作笔记,课后积极参与讨论…
有人说:平凡的大学生有着相同的平凡,而不平凡的大学生会有不平凡的辉煌。开始我选择我不平凡的我,但我最后却选择平凡的我。因为我发现我…
初三学生在初中阶段的学习已是最后一年了。在这一年中怎样学习语文,才能取得最大效益?这确实是一个值得探讨的问题。首先,你必须认真地疏…
安全生产是我们电力企业最根本的效益所在,它关系到国家的财产安全和职工群众的安康,影响着电力企业员工的切身利益和企业本身的内外形象。…
大学生学习总结学期结束了。半年来,我在系领导和辅导员的关怀、指导下,在同学们的帮助下,学习上迈出了可喜的一步。在这新学期开始之时,…
C语言学习总结通过一个学期的学习,c语言的学习也进入尾声了,我由以前的对C语言毫不知道逐渐转变为熟悉,也逐渐发现了其中的优势。可能…
ifndef语句3endif语句4语句5语句1ifndef标识1语句2define标识1该段代码意思是如果标识1没有被定义则重定义…
c语言学习总结1c语言特点优点1c语言简洁紧凑灵活书写格式自由2表达方式简练实用3具有丰富的数据类型4具有低级语言的特点5c语言是…
C语言与C中中编译预处理的学习记录首先三种形式的命令宏定义文件包含条件编译命令1宏定义主要是defineundef如下define…
C语言程序设计课程学生成绩管理系统实训项目总结报告姓名学号班级指导教师完成日期20xx年1月6日成绩1一简介1开发背景在完成大一新…
C语言知识点总结错误未定义书签一常量2二标识符2三变量2四表达式3五输入输出函数4六C语言的语句5七C程序的基本结构5八选择结构语…