C语言课件第6章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

南昌大学计算中心C语言程序设计南昌大学计算中心第6章字符型数据6.1字符型常量6.1.1字符常量字符常量是用单引号括起来的一个字符。说明:1、字母是区分大小写的,如‘a’和‘A’,不是同一个字符常量。2、空格字符的表示:‘’,不能是两个连续的单引号。3、字符常量只能包含一个字符。4、字符常量只能用单引号括起来,用双引号括起来的是字符串。5、字符常量在内存中占一个字节,存放的是其ASCII代码值,字符常量都作为整型常量(ASCII值)来处理。南昌大学计算中心6.1.2转义字符常量也称为反斜线字符,在一对单引号中以反斜线“\”开头,后跟一个特定字符。常用的转义字符见书上表格。6.1.3字符串常量用双引号括起来的一串字符。可以没有字符,也可以只有一个字符。所占字节数为其内的字符个数+1。如:字符串“program”在内存存储的形式:program\0该字符串占用8个字节的存储空间,但其有效字符的个数却是7,最后一个字节存储字符串结束标志“\0”(系统自动添加的)。南昌大学计算中心6.1.4可对字符量进行的运算字符量可参与任何整数运算。如:‘a’+1、‘A’-‘a’、‘a’‘b’3+’0’、‘9’-’0’如:chara=‘a’,b=‘b’,c=‘c’,i;则表达式:i=a+b+c的值为______。38练习:若变量a是int类型,并执行了语句:a=‘A’+1.6;,则正确的叙述是_____。A)a的值是字符CB)a的值是浮点型C)不允许字符型和浮点型相加D)a的值是字符‘A’的ASCII值加上1。√南昌大学计算中心6.2字符变量char变量列表;说明:字符变量在内存中占一个字节,其中只能存放一个字符,把该字符放入该变量后,字符变量的值就是该字符的ASCII代码值。如:chara;charb=‘A’;charc;c=65;南昌大学计算中心6.3字符的输入和输出printf函数(1)格式说明符:%c用来输出一个字符(包括转义字符)如:charc=‘a’;printf(“%c”,c);(2)一个整数,只要它的值在-128-127范围内,也可以用字符形式输出;反之,一个字符型数据也可以用整数形式输出。如:main(){charc=‘a’;inti=97;printf(“%c,%d”,c,c);printf(“%c,%d”,i,i);}南昌大学计算中心(3)可以进行大、小写字母转换。如:main(){charc1,c2;c1=‘a’;c2=‘b’;c1=c1-32;c2=c2-32;printf(“%c%c”,c1,c2);}南昌大学计算中心程序举例:以下程序输出26个大写字母和它们的ASCII代码。每行输出两组数据。#includestdio.hmain(){charch;inti;for(i=0;i26;i++){ch=i+65;if(i%2==0)printf(“\n”);printf(“c=%cascii=%d”,ch,ch);}}南昌大学计算中心scanf函数格式说明符:%c格式说明符之间若无普通字符,则输入的char型数据不必分隔。如:scanf(%c%c%c,&ch1,&ch2,&ch3);要输入:abc不能输入:abc注意数值型数据与char型数据的混合输入。如:scanf(%d%d,&m,&n);scanf(%c,&ch);错误输入:3228a正确输入:3228a南昌大学计算中心练习:若变量已正确定义,要求用scanf(“%d%c%d%c”,&a,&c1,&b,&c2);给c1赋予字符%、给c2赋予字符#、给a赋予2、给b赋予4,则正确的输入形式是______。A)2%4#B)2%4#C)2%4#D)2%4√南昌大学计算中心练习:以下程序的输出结果是main(){inta=25,b=025,c=0x25;charx,y;printf(%d%d%d\n,a,b,c);x=‘A’+’5’-’3’;y=x+’6’-’2’;printf(%d%c\n,x,y);}25213767G南昌大学计算中心练习:数字字符0的ASCII值为48,若有以下程序main(){chara='1',b='2';printf(%c,,b++);printf(%d\n,b-a);}程序运行后的输出结果是A)3,2B)50,2C)2,2D)2,50√南昌大学计算中心练习:有以下程序main(){chara='a',b;printf(%c,,++a);printf(%c\n,b=a++);}程序运行后的输出结果是A)b,bB)b,cC)a,bD)a,c√南昌大学计算中心练习:有以下程序main(){chara,b,c,d;scanf(%c,%c,%d,%d,&a,&b,&c,&d);printf(“%c,%c,%c,%c\n,a,b,c,d);}若运行时从键盘上输入:6,5,65,66回车。则输出结果是A)6,5,A,BB)6,5,65,66C)6,5,6,5D)6,5,6,6√南昌大学计算中心练习:有以下程序段intm=0,n=0;charc=‘a’;scanf(%d%c%d,&m,&c,&n);printf(%d,%c,%d\n,m,c,n);若从键盘上输入:10A10回车,则输出结果是:A)10,A,10B)10,a,10C)10,a,0D)10,A,0√南昌大学计算中心6.3.2调用putchar和getchar函数输出和输入字符putchar()函数的功能是向屏幕输出一个字符。格式为:putchar(参数);值为某字符对应的ASCII码值如:charch=‘a’;putchar(ch);putchar(‘A’);putchar(65);putchar(‘\n’);南昌大学计算中心getchar()函数的功能是从键盘读入一个字符。格式为:ch=getchar();ch指字符型或整型变量。getchar()是无参函数。如:charc;c=getchar();注意:使用putchar()和getchar()函数时,必须有包含头文件“stdio.h”的命令行:#includestdio.h南昌大学计算中心程序举例:以下程序把终端输入的一行中所有的小写字母转换成大写字母,其它字符不变。#includestdio.hmain(){charc;while((c=getchar())!=‘\n’){if(c=‘a’&&c=‘z’)c=c-32;putchar(c);}putchar(‘\n’);}南昌大学计算中心程序举例:编写程序统计输入的字符中,空格符、换行符和横向跳格(TAB)符的个数。#includestdio.h#includectype.hmain(){longn=0;charch;while((c=getchar())!=EOF)if(isspace(ch))n++;printf(“n=%d\n”,n);}特定的结束标志(ctrl+z)南昌大学计算中心练习:有以下程序#includestdio.hmain(){charc1='1',c2='2';c1=getchar();c2=getchar();putchar(c1);putchar(c2);}当运行时输入:a回车后,以下叙述正确的是A)变量c1被赋予字符a,c2被赋予回车符B)程序将等待用户输入第2个字符C)变量c1被赋予字符a,c2中仍是原有字符2D)变量c1被赋予字符a,c2中将无确定值√南昌大学计算中心练习:以下程序的输出结果是main(){inti;for(i='A';i'I';i++,i++)printf(%c,i+32);printf(\n);}A)编译不通过,无输出B)acegC)acegiD)abcdefghi√南昌大学计算中心练习:运行以下程序后,如果从键盘上输入china#回车,则输出结果为main(){intv1=0,v2=0;charch;while((ch=getchar())!='#')switch(ch){case'a':case'h':default:v1++;case'0':v2++;}printf(%d,%d\n,v1,v2);}A)2,0B)5,0C)5,5D)2,5√南昌大学计算中心练习:有以下程序:#includestdio.hmain(){charc;while((c=getchar())!=’?’)putchar(--c);}程序运行时,如果从键盘输入:Y?N?回车,则输出结果为______。X南昌大学计算中心练习:有以下程序:#includestdio.hmain(){charch1,ch2;intn1,n2;ch1=getchar();ch2=getchar();n1=ch1-’0’;n2=n1*10+(ch2-’0’);printf(“%d”,n2);}程序运行时,如果从键盘输入:12回车,则输出结果为______。12南昌大学计算中心练习:有以下程序:#includestdio.hmain(){chara,b;a=getchar();scanf(“%d”,&b);a=a-’A’+’0’;b=b*2;printf(“%c%c”,a,b);}程序运行时,如果从键盘输入:B33回车,则输出结果为______。1B南昌大学计算中心练习:有以下程序:#includestdio.hmain(){intc;while((c=getchar()!=‘\n’){switch(c-’2’){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}}}程序运行时,如果从键盘输入:2473回车,则输出结果为______。668977

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功