项目一“名片设计”趣味程序_第1页
项目一“名片设计”趣味程序_第2页
项目一“名片设计”趣味程序_第3页
项目一“名片设计”趣味程序_第4页
项目一“名片设计”趣味程序_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

项目一“名片设计”趣味程序项目一“名片设计”趣味程序知识点C程序的组成和基本语法;C程序的编译、链接和运行过程;C语言的格式输入与输出;C语言各基本数据类型的常量表示方法;C语言各基本数据类型变量的定义、初始化及使用的方法;C语言各运算符的优先级以及结合性;C语言表达式的含义及应用。技能点了解C语言的特点、基本语法成分,熟悉C程序的组成;了解C程序的编译及链接过程,熟悉C程序的编译环境;掌握人机交互的方式和C语言标准输入输出函数的正确使用方法;理解C语言各基本数据类型在内存储器中的存储形式;掌握C语言各基本数据类型的常量表示方法以及变量定义方法;掌握C语言各基本数据类型变量的初始化以及各数据类型的运算转换;熟练掌握各种运算符的运算功能,操作数的类型以及运算符的优先级和结合性;较熟练的进行C语言顺序结构的编程。项目描述通过人机交互的方式,询问用户的姓名、职位及用户密字。用户公司为了信息安全,要对密字进行加密,再打印在名片上。公司设置的密字是一个四位的整数,加密规则如下:每位数字都加上5,然后用其和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。通过程序计算出新的用户密字后,打印设计的用户名片。1.1C语言概述1.1.1C语言的发展及主要特点1.C语言的发展史2.C语言的主要特点1.1.2C语言的基本结构

1.C程序的实例【案例1-1】一个简单的C语言程序。#include<stdio.h>voidmain(){ printf("这是我的第一个C语言程序!\n");}这个程序的功能是输出下面一行信息:这是我的第一个C语言程序!1.1.2C语言的基本结构【案例1-2】一个复杂的C语言程序。#include<math.h>/*#include称为文件包含命令*/#include<stdio.h>/*扩展名为.h的文件称为头文件*/voidmain(){doublex,s;/*定义两个实数变量,以被后面程序使用*/printf("inputnumber:\n");/*显示提示信息*/scanf("%lf",&x);/*从键盘获得一个实数x*/s=sin(x);/*求x的正弦,并把它赋给变量s*/printf("sineof%lfis%lf\n",x,s);/*显示程序运算结果*/}运行情况为:

inputnumber:1.5↙sineof1.500000is0.9974952.C程序的词汇

(1)标识符在程序中使用的变量名、函数名、标号等统称为标识符,用来标识各种程序成分。除库函数的函数名由系统定义外,其余都由用户自定义。C语言规定,标识符只能是由字母(A~Z,a~z)、数字(0~9)、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。(2)关键字关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。如类型说明符int、double等;语句特征if、switch、while等;预处理命令include、define等。关键字是构成C语言的语法基础,用户定义的标识符不应与关键字相同,也不能对关键字进行重新定义。表1-1中列出了ANSIC标准规定的关键字。2.C程序的词汇(3)运算符C语言中含有相当丰富的运算符。运算符与变量、函数一起组成表达式,表示各种运算功能。运算符由一个或多个字符组成。根据参加运算对象的个数,运算符可分为单目运算符、双目运算符和三目运算符。(4)分隔符C语言中的分隔符有逗号和空白两种,逗号主要用在类型说明和函数参数表中,分隔各个变量。空白包括:空格符、制表符、换行符,其多用于语句各单词之间,作间隔符。在关键字、标识符之间必须要有一个以上的空格符作间隔,否则将会出现语法错误。例如把“inta;”,写成“inta;”,C编译器会把“inta”当成一个标识符处理,其结果必然出错。2.C程序的词汇(5)常量C语言中使用的常量可分为数字常量、字符常量、字符串常量、符号常量、转义字符等多种。在后面章节中将专门给予介绍。(6)注释注释符是以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。程序编译时,不对注释作任何处理。注释可出现在程序中的任何位置。注释用来向用户提示或解释程序的意义。在调试程序时对暂不使用的语句也可用注释符括起来,使编译跳过不作处理,待调试结束后再去掉注释符。1.1.3C程序的开发过程1.编辑编辑就是建立、修改C语言源程序并把它输入计算机的过程。C语言的源文件以文本文件的形式存储在磁盘上,它的后缀名为.C。2.编译C语言是以编译方式实现的高级语言,C程序的实现必须经过编译程序对源文件进行编译,生成目标代码文件,它的后缀名为.obj。3.连接编译形成的目标代码还不能在计算机上直接运行,必须将其与库文件进行连接处理,这个过程由连接程序自动进行,连接后生成可执行文件,它的后缀名为.exe。4.运行一个C源程序经过编译、连接后生成了可执行文件。要运行这个程序文件,可通过编译系统下的运行功能,也可以在DOS系统的命令行输入文件名后再按“Enter”确定,或者在Window系统上双击该文件名。1.2C语言的数据类型1.2.1C语言具有的数据类型1.2.2常量及其类型1.整型常量整型常量可以用十进制、八进制和十六进制来表示。(1)十进制整型常量由0至9的数字组成,没有前缀,不能以0开始,没有小数部分。有正负之分。例如:134,-77,65535。(2)八进制整型常量,以0为前缀,其后由0到7的数字组成,没有小数部分,不能带符号。例如:0332,0122,010。(3)十六进制整型常量,用0x或0X为前缀,其后由0到9的数字和A到F(大小写均可)字母组成,没有小数部分,不能带符号。例如:0x3A,0x43f,0X91E1。1.2.2常量及其类型2.浮点型常量浮点型常量是由整数部分和小数部分组成的,只有十进制表示。浮点型常量有两种表示方式:一种是小数表示法,它由整数部分和小数部分组成的。例如:.123、123.、123.0、0.0。另一种方法是指数表示法,它常用来表示很大或很小的数,表示方法是在小数表示法后加e(E)及指数部分。但要注意,e(E)前面必须有数字,指数部分可正可负,但都是整数。例如:3.2E-4、4e7。把其中的4.56789e2称为“规范化的指数形式”,即“科学计数法”。也就是在字母“e”或“E”之前的小数部分中,小数点左边应有一位,且只有一位非零的数字。1.2.2常量及其类型3.字符型常量字符型常量是用单括号括起来的一个字符,在内存中占1个字节。C语言中的字符可由下列字符组成:(1)大小写英文字母a~z,A~Z(2)数字字符0~9(3)特殊符号空格!#%^&*_-+=~<>/\|.,;?'”()[]{}表1-2常用的特殊转义字符字符形式ASCII码功能\a0x07响铃\n0x0a换行\t0x09横向制表符\v0x0b竖向跳格\b0x08退格\r0x0d回车\\0x5c字符\\”0x22字符”\’0x27字符’\ddd八进制表示任意字符\xhh十六进制表示任意字符1.2.3变量及其类型

1.整型变量(1)基本型:类型说明符为int,在内存中占2个字节。(2)短整型:类型说明符为shortint或short。所占字节和取值范围均与基本型相同。(3)长整型:类型说明符为longint或long,在内存中占4个字节。(4)无符号型:类型说明符为unsigned。无符号型又可与上述三种类型匹配而构成:①无符号基本型:类型说明符为unsignedint或unsigned。②无符号短整型:类型说明符为unsignedshort。无符号长整型:类型说明符为unsignedlong。

1.整型变量【案例1-3】整型变量的定义与使用。#include<stdio.h>voidmain(){ inta,b,c,d;//指定a,b,c,d为整型变量

unsignedu;//指定u为无符号整型变量

a=12;b=-24;u=10; c=a+u;d=b+u; printf("a+u=%d,b+u=%d\n",c,d);}程序的运行情况如下:

a+u=22,b+u=-142.实型变量实型变量分为:单精度(float型)、双精度(double型)和长双精度(longdouble型)三类。【案例1-4】实型变量的定义与使用。#include<stdio.h>voidmain(){floata;doubleb;a=33333.33333;b=33333.33333333333333;printf("%f\n%f\n",a,b);}程序的运行情况如下:

33333.33203133333.3333333.字符型变量【案例1-5】大小写的转换。#include<stdio.h>voidmain(){ chara,b;a='M'; b='d';printf("a变量原来的值是:%c\nb变量原来的值是:%c\n",a,b); printf("a变量原来对应的整数是:%d\nb变量原来对应的整数是:%d\n",a,b); a=a+32; b=b-32; printf("a变量转换成小写为:%c\nb变量转换成大写为:%c\n",a,b); printf("a变量现在对应的整数是:%d\nb变量现在对应的整数是:%d\n",a,b);}程序的运行情况如下:a变量原来的值是:Mb变量原来的值是:da变量原来对应的整数是:77b变量原来对应的整数是:100a变量转换成小写为:mb变量转换成大写为:Da变量现在对应的整数是:109b变量现在对应的整数是:684.字符串变量一维数组的定义方式为:类型说明符数组名[常量表达式];其中:类型说明符是任一种基本数据类型或构造数据类型,数组名是用户定义的数组标识符,方括号中的常量表达式表示数据元素的个数,也称为数组的长度。例如:charch[20];//说明字符数组ch,有20个元素。1.3运算符与表达式优先级运算符种类运算符操作数结合性1括号(函数调用)、下标及分量运算符()、[]、->、.从左至右2逻辑非运算符!单目运算从右至左按位取反运算符~自增、自减运算符++、--符号运算符+、-指针、取地址运算符*、&求字节数(长度)运算符Sizeof强制类型转转换运算符(类型)3算术乘、除、求余运算符*、/、%双目运算从左至右4算术加、减运算符+、-双目运算从左至右5按位左移、按位右移运算符<<、>>双目运算从左至右6关系运算符>、<、、>=、<=双目运算从左至右7关系等于、关系不等于运算符==、!=双目运算从左至右8按位与运算符&双目运算从左至右9按位异或运算符^双目运算从左至右10按位或运算符|双目运算从左至右11逻辑与运算符&&双目运算从左至右12逻辑或运算符||双目运算从左至右13条件运算符?:三目运算从右至左14赋值运算符=及其扩展赋值运算符双目运算从右至左15逗号运算符,1.3.2算术运算符及表达式1.基本算术运算符(1)加法运算符“+”:加法运算符为双目运算符,即应有两个量参与加法运算。如a+b,4+8等。具有右结合性。(2)减法运算符“-”:减法运算符为双目运算符。但“-”也可作负值运算符,此时为单目运算,如-x,-5等具有左结合性。(3)乘法运算符“*”:双目运算,具有左结合性。(4)除法运算符“/”:双目运算具有左结合性。参与运算量均为整型时,结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。(5)求余运算符(模运算符)“%”:双目运算,具有左结合性。要求参与运算的量均为整型。求余运算的结果等于两数相除后的余数。例如:

100%3(100除以3所得的余数,即为1)

100%4(100除以4所得的余数,即为0)2.自加、自减运算符自加运算符记为“++”,其功能是使变量的值自增1。自减运算符记为“--”,其功能是使变量的值自减1。自加、自减表达式的一般形式为:±±变量名或变量名±±故可有以下几种具体形式:

++ii自增1后再参与其它运算(先自增,再运算,称为前置运算)。

--ii自减1后再参与其它运算(先自减,再运算,称为前置运算)。

i++i参与运算后,i的值再自增1(先运算,再自增,称为后置运算)。

i--i参与运算后,i的值再自减1(先运算,再自减,称为后置运算)。1.3.3关系运算符及表达式对象数目名称运算符优先级运算规则结合性双目大于>优先级相同(级别高)条件满足则为真,结果为1;否则为假,结果为0自左向右大于等于>=小于<小于等于<=等于==优先级相同(级别低)不等于!=2.关系表达式【案例1-8】关系表达式应用。#include<stdio.h>voidmain(){charc='k';inti=1,j=2,k=3;floatx=3e+5,y=0.85;printf("%d,%d\n",'a'+5<c,-i-2*j>=k+1);printf("%d,%d\n",1<j<5,x-5.25<=x+y);printf("%d,%d\n",i+j+k==-2*j,k==j==i+5);}程序的运行情况如下:

1,01,10,01.3.4逻辑运算符及表达式运算符含义优先级||逻辑或低&&逻辑与中!逻辑非高逻辑表达式【案例1-9】晚会参加条件。有一个晚会,对参加晚会的人有一定的条件限制,教师可以参加,学生当中只有年龄达到16岁以上的男生才能参加。设能够参加晚会为D,教师为A,男生为B,16岁以上为C,可以用下式来描述:D=A||(B&&C)

【案例1-10】闰年的判断。判断某年份(year)是否为闰年的条件是看此年份是否满足下述两个条件之一:(1)能被4整除但不能被100整除;(2)能被400整除;由此得到作为判断某年份是闰年的逻辑表达式:year%4==0&&year%100!=0||year%400==0【案例1-11】等考合格的判断。计算机等级考试分笔试和上机考试两部分,可以通过以下逻辑表达式来判定某考生是否通过考试:笔试>=60&&机试>=60,该考生通过考试;笔试<=60||机试<=60,该考生未通过考试但可以参加补考;笔试<=60&&机试<=60,该考生未通过考试且不能参加补考。1.3.5逗号运算符和条件运算符【案例1-12】“多计算与单提取”功能的实现。#include<stdio.h>voidmain(){ intVal1,Val2,Val3,Left,Midd,Righ; Left=10; Midd=20; Righ=30; Val1=(Left++,--Midd,Righ++); //使用逗号表达式

Val2=(Righ++,Left++,--Midd);//使用逗号表达式

Val3=(--Midd,Righ++,Left++);//使用逗号表达式

printf("Val1=%d,Val2=%d,Val3=%d\n",Val1,Val2,Val3);}程序的运行情况如下:

Val1=30,Val2=18,Val3=12条件运算符和条件表达式【案例1-13】求三个整数的最大值。#include<stdio.h>voidmain(){inta,b,c,max;printf("请输入三个整数:");scanf("%d,%d,%d",&a,&b,&c); max=a>b?(a>c?a:c):(b>c?b:c);//嵌套的条件表达式

printf("max=%d\n",max);}程序的运行情况如下:请输入三个整数:34,56,11↙max=56域)。1.3.6赋值运算符1.3.7数据之间的混合运算自动转换强制类型转换【案例1-15】强制转换。#include<stdio.h>voidmain(){ floatf=5.75;printf("(int)f=%d,f=%f\n",(int)f,f);}程序的运行情况如下:

(int)f=5,f=5.750000赋值运算的

类型转换【案例1-16】赋值运算的类型转换。#include<stdio.h>voidmain(){inta,b=322,c;floatx,y=8.88;charc1='k',c2;a=y;x=b;c=c1;c2=b;printf("%d,%f,%d,%c\n",a,x,c,c2);}程序的运行情况如下:

8,322.000000,107,B1.4不同数据类型的输入输出printf()函数的一般形式printf函数是一个标准库函数,它的函数原型包含在标准输入输出头文件“stdio.h”中,printf函数的一般形式为:printf(”格式字符串”,输出表列)例如:printf(“hello”);printf(“Theareais:%f”,area);1.4不同数据类型的输入输出【案例1-17】转义字符的使用。#include<stdio.h>voidmain(){chara,b,c;a='n';b='e';c='\167';/*8进制数167代表的字符w*/printf("%c%c%c\n",a,b,c);/*以字符格式输出*/printf("%c\t%c\t%c\n",a,b,c);/*输出一个字符右移8个字符位*/printf("%c\n%c\n%c\n",a,b,c);/*每输出一个字符后换行*/}程序的运行情况如下:

newn┗┛┗┛┗┛┗┛┗┛┗┛┗┛e┗┛┗┛┗┛┗┛┗┛┗┛┗┛wnewprintf()函数的调用【案例1-18】printf()函数的调用。#include<stdio.h>voidmain(){inta=3,b=4;printf(“a=%d┗┛b=%d\n”,a,b);}程序的运行情况如下:a=3┗┛b=4格式字符串在TurboC中printf函数格式字符串一般形式为:%[][m.n][h/l]格式字符开始符标志字符宽度指示符小数点精度指示符长度修正符格式转换字符%/*m.nh/l格式字符printf格式字符格式字符说明d,i以带符号的十进制形式输出整数(正数不输出符号)o以八进制无符号形式输出整数(不输出前导符0)x,X以十六进制无符号形式输出整数(不输出前导符0x),用x则输出十六进制数的a~f时以小写形式输出;用X时,则以大写字母输出u以无符号十进制形式输出整数c以字符形式输出,只输出一个字符s输出字符串f以小数形式输出单、双精度数,隐含输出6位小数。e,E以指数“e”或“E”形式输出实数。(如1.2e+02或1.2E+02)g,G选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0。用G时,若以指数形式输出,则指数以大写表示p输出变量在内存中的地址printf()函数【案例1-19】输出形式举例,整型数据输出。#include<stdio.h>voidmain(){inta=11,b=22;intm=-1;longn=123456789;printf("%d%d\n",a,b);printf("a=%d,b=%d\n",a,b);printf("m:%d,%o,%x,%u\n",m,m,m,m);printf("n=%d\n",n);printf("n=%ld\n",n);}程序的运行情况如下:1122a=11,b=22m:-1,177777,ffff,65535n=-13035n=123456789⒉字符串处理函数【案例1-20】输出形式举例,实型数据输出。#include<stdio.h>voidmain(){floatx=1234.56,y=1.23456789;doublez=1234567.123456789;printf("x=%f,y=%f\n",x,y);printf("z=%f\n",z);printf("z=%e\n",z);printf("z=%g\n",z);printf("z=%18.8f\n",z);printf("x=%10.3f\n",x);printf("x=%-10.3f\n",x);printf("x=%4.3f\n\n",x);}程序的运行情况如下:x=1234.560059,y=1.234568z=1234567.123457z=1.23457e+06z=1234570z=1234567.12345679x=1234.560x=1234.560x=1234.5601.4.2scanf()函数scanf函数是一个标准输入函数,与printf函数一样,它的函数原型也包含在标准输入输出头文件“stdio.h”中。scanf函数的一般形式为:scanf(“格式控制字符串”,地址表列);【案例1-22】用scanf函数输入数据。#include<stdio.h>voidmain(){inta,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“%d,%d,%d\n”,a,b,c);}运行时按以下方式输入a、b、c的值:3┗┛4┗┛5<Enter>(输入a,b,c的值)3,4,5(输出a,b,c的值)1.4.3其他输入输出函数1.putchar函数【案例1-23】putchar()函数应用举例#include<stdio.h>voidmain(){chara,b,c,d;a=’g’;b=’o’;c=111;d=’d’;putchar(a);putchar(b);putchar(c);putchar(d);}程序的运行情况如下:

good2.getchar函数【案例

温馨提示

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

最新文档

评论

0/150

提交评论