c语言用数组发送大写字母怎么读,c语言字符数组大小写转换
2014 全志科技校園招聘筆試題-------編程:
題目:給定字符串''just do it !'',將其轉(zhuǎn)化為大寫"JUST DO IT!"
方法一:
/*
*
*?? ?給定一組字符串"just do it!",將其變成全部大寫"JUST DO IT!"
*?? ?方法一:判斷字符串范圍,對 >=‘a(chǎn)’ &&? <='z' 的字符串進行轉(zhuǎn)換,即 += 'A'-'a'
*/
#include
#include
#define STR_CHANGE 'A'-'a'
void main()
{
int i=0;
int str_length=0;
/*
*?? ?使用字符數(shù)組的方法保存字符串,如果使用字符指針的形式(如下),程序會出錯
*?? ?因為,char *string形式的字符串是只讀的,不允許對字符串的字符進行修改
*?? ?(只能修改指針變量str的值,使其指向其它字符串)
*?? ?char *str="just do it!";
*/
char str[20]="just do it!";
printf("before:%s\n",str);
str_length=strlen(str);
for(i=0;i
{
printf("before: ASCII is %3ld char is %c ",str[i],str[i]); //為了突出比較結(jié)果轉(zhuǎn)換前打印出ASCII碼值和對應(yīng)字符
if(str[i] >= 'a' && str[i] <= 'z')
{
str[i] += STR_CHANGE;
}
printf("\tafter:? ASCII is %3ld char is %c\n",str[i],str[i]); //為了突出比較結(jié)果轉(zhuǎn)換后打印出ASCII碼值和對應(yīng)字符
}
printf("after:%s\n",str);
}
方法二:
/*
*
*給定一組字符串"just do it!",將其變成全部大寫"JUST DO IT!"
*方法二:使用函數(shù)toupper 引用頭文件 ctype.h
*/
#include
#include
#include
void main()
{
int i=0;
int str_length=0;
char str[20]="just do it!";
printf("before:%s\n",str);
str_length=strlen(str);
for(i=0;i
{
printf("before: ASCII is %3ld char is %c ",str[i],str[i]); //為了突出比較結(jié)果轉(zhuǎn)換前打印出ASCII碼值和對應(yīng)字符
if(str[i] >= 'a' && str[i] <= 'z')
{
str[i] = toupper(str[i]);
}
printf("\tafter: ASCII is %3ld char is %c\n",str[i],str[i]); //為了突出比較結(jié)果轉(zhuǎn)換后打印出ASCII碼值和對應(yīng)字符
}
printf("after:%s\n",str);
}
/*
*附錄:
*ctype.h 中 toupper()函數(shù)具體方法
*int toupper(int char)
*{
*return char+'A'-'a';
* }
*
*
*ctype.h 中 tolower()函數(shù)具體方法
*int tolower(int char)
*{
*return char+'a'-'A';
* }
*/
運行結(jié)果:
before:just do it!
before: ASCII is 106 char is j after: ASCII is 74 char is J
before: ASCII is 117 char is u after: ASCII is 85 char is U
before: ASCII is 115 char is s after: ASCII is 83 char is S
before: ASCII is 116 char is t after: ASCII is 84 char is T
before: ASCII is 32 char is after: ASCII is 32 char is
before: ASCII is 100 char is d after: ASCII is 68 char is D
before: ASCII is 111 char is o after: ASCII is 79 char is O
before: ASCII is 32 char is after: ASCII is 32 char is
before: ASCII is 105 char is i after: ASCII is 73 char is I
before: ASCII is 116 char is t after: ASCII is 84 char is T
before: ASCII is 33 char is ! after: ASCII is 33 char is !
after:JUST DO IT!
方法三:
使用strupr函數(shù)
原型:extern char *strupr(char *s);
用法:#include
功能:將字符串s轉(zhuǎn)換為大寫形式
說明:只轉(zhuǎn)換s中出現(xiàn)的小寫字母,不改變其它
字符。返回指向s的
指針。
兼容性說明:
strupr不是標(biāo)準(zhǔn)C庫函數(shù),只能在VC中使用。在linux gcc環(huán)境下需要自行定義這個函數(shù)。
/*
*
*給定一組字符串"just do it!",將其變成全部大寫"JUST DO IT!"
*方法三:使用函數(shù)strupr 引用頭文件 string.h
*/
#include
#include
#include
void main()
{
char str[20]="just do it!";
printf("before:%s\n",str);
printf("change to upper :%s\n",strupr(str));
printf("change to lower :%s\n",strlwr(str));
printf("after:%s\n",str);
}
總結(jié)
以上是生活随笔為你收集整理的c语言用数组发送大写字母怎么读,c语言字符数组大小写转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: grub 引导 多linux系统,GRU
- 下一篇: c语言6字符宽度和小数位数,2017年计