实验2-C语言应用程序开发_第1页
实验2-C语言应用程序开发_第2页
实验2-C语言应用程序开发_第3页
实验2-C语言应用程序开发_第4页
实验2-C语言应用程序开发_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、开发工具:vi和当于记事本编程用vi来编程vi test.c用來创建或打开一个文件vi内部的指令i代表插入数据wq代表保存并退岀 q代表退出wq! q!都是强制退出打开文件后,用i进入插入状态>用esc键退出插入模式>:wq保存gedit +文件名 会直接打开类似word的文字编辑匸具编译工具gcc二、标准c语言1. 程序结构单行注释/*多行注释include引入头文件,头文件即.h文件.h文件的作用:定义类型,或扩展声明函数或变量.c文件不是头文件,是源码文件头文件:操作系统内的头文件:声明系统的函数库的函数 stdio.h标准输入输出头文件stdlib.h标准库头文件str

2、ing.h字符申处理头文件math.h数学计算函数自定义的头文件:后面讲#include <stdio.h>int main(int argc,char *argv)printf我是实训的同学n“);return 0;main是函数名 是入口函数(主函数)是程序中唯一的一个主函数,而且必须main int是数据类型是整数的类型在main前面,代表main函数向系统返冋一个整型值在主函数()内,代表的是main的参数。参数是用來传递数据的,向函数内部传递数return是用来向系统返冋一个数据,数据的类型要和main前面的int对应prin廿用系统的函数,是在stdio.h内声明的系统

3、函数,用来打印字符小字符串:是用双引号括起來的字符编译:gcc -o aaa test.cgcc是编译器,将c语言编译为二进制(机器语言)-o指定要生成的bl标文件,可执行文件aaa可执行文件名test.c是c语言源码文件练习:用c语言输出自已的姓,用叫”输出* * * * * *2. 基本数据类型int整型数据short越整型long长整型double双精度float单精度char字符数据类型的作用,是定义变虽常量:在程序运行的过程中不能被改最123 'a' "adfafda" 34.4变量:在程序运行的过程中可以被改变的量,用來存储数据 常量的数据可以保

4、存在变量内。标识符,变虽的名、函数名都称为标识符。给变虽起名的过程,叫变虽的定义定义数据类型的格式:数据类型变虽名匸初值;int a; /int是整型a是变量名a=23; 给变量赋值int b=23; 定义了整型变量b,同时给变量赋初值赋初值:是在变量定义的过程中同时赋值,叫赋初值。而在程序运行中赋值,仅仅是赋double f=23.3; 双精度变量char c='a' 字符型变量printf("%d, %lf, %cn,a,f,c);例:int main(int argc,char *argv)int a=23;double f=23.3;char c='a

5、'printf("%d, %lf, %cn",a/fzc);return 0;prin廿的格式符%d整型%lf双精度%f单精度%c字符%s字符串%p打印地址字符:用单引号括起来的字母字符串:用双引号括起来的字符序列(即多个字符)变量与内存的关系:在函数内定义的变量,称为局部变量在内存的栈区在变最定义时分配内存(在程序运行中分配)在函数外定义的变量,称为全局变量在内存的静态存储区在程序加载时分配内存(在 编译时确定内存,加载时分配)常量在内存的常量存储区在程序加载时分配内存(在编译吋确定内存,加载吋分配)在变量定义时会分配内存int a;内存的人小由数据类型确定。in

6、t4字节(16位,2字节,32位机4字节)short 2字节long 4字节float 4字节double 8 字节地址:所有的内存都有一系列的编号,是按字节进行编号,每一个字节都有一个编号.内存编号就是内存地址&是取址符,用来取出变虽的地址。&a是a的地址char c; /内存是一个字节,c是内存的名,&c是c的地址从键盘上获取数据scanf(”d”,&a);%d代表整型&a代表内存的地址,scanf需要-块内存空间來存储键盘输入的数据。所以后血的参数是地址例,从键盘上获取数据int main(int argc,char *argv)int a=23;

7、double f=23.3;char c='a'scanf("%d %lf %c"/&a,&f,&c);printf("%d, %lf, %cn",a,f,c);return 0;/3. 运算符赋值运算符=不能给表达式赋值,只能给变量赋值int a;(a+2)=18;错,只能给变虽赋值a=18; /对算术运算符+-*/ %(求余)+( 口加)-(口减)int a=12;int b=24;int c=a+2*b;%求一个数除以另一个数的余数。两侧必须是整数 int c=b%a; 值 0int c=7%2; /值 1i

8、nt 2011%4; 余 3用于判断是否把某除尽+a相当于变量加1即a=a+l- 相当于变量减1即a=a-l置前,置后+a;代表a先自加1,然后使用a的值a+;代表先使用a .然后a自加1例:int main(int argc,char *argv)int a=23;printf(,a=%dn,/a);int b=a+;/printf("b=%d/a=%dn",b,a);b=+a;printf("b=%dza=%dn,',b/a);return 0;关系运算符 >= > <二v = !=用来进行两个数的比较,运算结果,如果是真,则值为1否

9、则为0int a=23;int b=12;int c= a>b;printf("c=%dn",c);逻辑运算符&&(关系与)11(关系或)&& -个变量和另一个变量,如果都是真,则结果为真,否则为假ii 个变虽或期一个变量,如果其中冇一个是真,则结果为真,否则为假 判断是否为闰年int year;scanf("%d"z&year);int z= year%4=0 && year%100!=011 year%400=0;printf("%dn”,z);4.if语句 用于跟据条件,决定执

10、行哪部分代码 语法结构:if(条件)语句1else if(条件)语句2else 其它语句例:int main(int argc,char *argv)int year;scanf(h%d",&year);讦(year%4=0 && year%100!=011 year%400=0)printfc这一年是闰年n“);else printf(“这一年不是闰年n");return 0;5.for循坏用于跟据条件,决定执行代码的次数for(初始列表;条件;增量)/语句;int main(int argc,char *argv)int year=2000;fo

11、r(year=2000;year <2015;year+)if (year%4=0 && year%100!=011 year%400=0)printf(”d 这一年是闰年n“,year);else printf("%d 这一年不是闰年n”,year);return 0;if和for后面如果只有一条语句,贝ij可省略6数组和指针数组:是貝有连续内存空间的,和同数据类型的变量的集合int a;int b;分别定义的两个变虽,分配的内存位置一定连续语法格式:数据类型数组名变量的个数;int a12;a是数组名,12代表冇12个相同类型的变量,这12变量内存空间连续

12、每一个变量的名,用下标表示下标是从0开始 到元素个数结束 a0代表笫0个变量al代表第1个变量ai代表第i个变量a是所冇变量的总称,即12个变屋冇一个共同的名字为a o a是这12个变量的内 存的首地址(即第0个变屋的地址)a是a0的地址a+1是a的地址a+i是ai的地址int main(int argc,char *argv)int a12;int i;for(i=0;i<12;i+) scanf( "%d",a+i); / scanf("%d",&ai);for(i=0;i<12;i+) printf(”dn”,ai);retur

13、n 0;指针:指示牌,是指针变量指示牌内的房间号,叫指针房间的门牌号,叫地址房间地空间,叫内存根据房间的用途起的名,叫变量名根据指示牌可以找到房间,指示牌内写入了房间的门牌号不同的书上把指针、指针变量、地址混为一起:指针变量用来存储内存的地址int b;定义了变罐b &b代表的是b内存的地址int *pb; /pb是指针变量pb=&b; 将b的地址(编号)存储到pb内*在定义时,代表后面的变量是指针变量。在使用过程屮邙b代表b的内存,即bint main(int argc,char *argv)int b;int *pb;pb=&b;*pb=234;printff ”d

14、, %d n",b,*pb);return 0;int main(int argc,char *argv)int b12=l,2,3,4,5,6,7,8,9,10,11,12;int *pb=b;int i;/for(i=0;i<12;i+) printf("%d hzpbi); for(i=0;i<12;i+) printf(”d h,*(pb+i);return 0;数组名是首地址代表地址偏移后取值指针变量存的是首地址数组名是地址常量,而指针变量是一个变量int main(int argc,char *argv)int b12=l/2/3a5/6z7/8/9

15、/10z1142;int *pb=b;int i;/for(i=0;i<12;i+) printf("%d 蔦pbi); for(i=0;i<12;i+) printf("%d h,*(pb+i);pb=pb+2;b=b+2;/错:b和pb都代表地址,pb是变虽b是常量,常量是不能改变值的return 0;编程任务:通过shell终端,输入你班级和姓名(拼音),然后把字“从小写转换成大写通过终端打 印出来,你的班级打印一次,名字打印十次。方法一:# include<stdio.h>#in clude<stri ng.h>void main()int i;char a;char b100;prin tff'please in put your classn”);scanf( ”c",&a);prin tf("please in put your n amen");scanf(”s”,b);for(i=0;i<strlen(b);i+)bi=bi-32;printf(”cn”,a);for(i=0;i<10;i+)printf(“sn“,b);方法二#include<stdio.h># include<stri ng.h

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论