有三种方法:
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、网络空间、营销软件、网站建设、建德网站维护、网站推广。
1,用小写字母减去32,eg: ch-32
2,用小写字母和32做异或运算 ch^32
3,利用库函数toupper(ch)
这三种方法都可以把小写字母转化成大写字母,根据情况使用,可以简化程序
用ctype.h中的函数tolower和toupper。前者以大写的字符作为参数,返回相应的小写字符;后者以小写的字符作为参数,返回相应的大写字符。
#include ctype.h
#include stdio.h
int main()
{
char c = 'A';
printf("%c", tolower(c)); //a
c = 'b';
printf("%c", toupper(c)); //B
return 0;
}
如果没有相应的大小写,函数会返回字符本身。
#include ctype.h
#include stdio.h
int main()
{
char c = '0';
printf("%c", tolower(c)); //0
printf("%c", toupper(c)); //0
return 0;
}
由于大写字母与小写字母之间的差值为 32,因此小写字母转换为大写字母的方法就是将小写字母的 ASCII 码值减去 32,便可得到与之对应的大写字母。
利用 getchar 函数从键盘上输入一个小写字母,并将其赋给一个字符变量 a;然后将 a—32 的值赋给字符变量 b;最后进行输出,输出时先输出字母,再将字母以整数形式输出。其具体步骤如下:
① 定义两个字符变量 a、b;
② a=get char();
③ b=a—32;
④ 打印输出。
程序代码
#include stdio.h
int main()
{
char a,b;
printf("输入一个小写字母:\n");
a=getchar();
b=a-32;
printf("转换后的字母为:%c,%d\n",b,b);
return 0;
}
1、打开软件VisualC++6.0,新建一个C源程序,书写C语言程序。
2、首先定义两个字符型变量,代码:charc1,c2;从键盘中输入一个大写字母,代码:c1=getchar();
3、大写字母与小写字母的ASCII值相差32,代码:c2=c1+32;。将大写字母转化成小写字母。
4、输出小写字母。使用putchar()函数,可以输出一个字符型变量。代码:putchar(c2);
5、连接编译程序。点击工具栏按钮【Compile(Ctrl+F7)】,编译程序;点击工具栏上的像感叹号的按钮【BuildExecute(Ctrl+F5)】,组建程序。
6、在程序运行窗口中,输入一个大写字母A,按回车键,即可输出一个小写字母。
C语言中,字符的存储都是使用ascii值来存储的。
根据ASCII码表,我们可以看出:大、小写字母都是按顺序进行存储的,大写字母的ASCII值区间为:65~90,对应的字母为:'A'-'Z';小写字母的ASCII值区间为:97~122,对应的字母为:'a'-'z',因此,将小写字母转化为大写字母,可以直接将该变量减32即可得到对应的大写字母,如:
char ch='a';
printf("upper case '%c'='%c'\n", ch, ch-32 );
如果记不清,大小字母谁大谁小,则可以采用如下方法进行转换:
char ch='x';
printf("upper case '%c'='%c'\n", ch, ch-'a'+'A' ); //减a得到偏移值,加A得到相应的大写字母
你的程序里面获取循环的位置不对,也就是获取的字符串长度的n应该放在函数里面。
讲n=strlen(s)放到函数里面,就可以了。