① C語言編寫一個大小寫字母轉換的程序
#include<stdio.h>
#defineDAXIE(x)(x>='A'&&x<='Z')//判斷是大寫字元。
#defineXIAOXIE(x)(x>='a'&&x<='z')//判斷是小寫字元。
#defineZHUANXIAOXIE(x)(x-'A'+'a')//轉為小寫
#defineZHUANDAXIE(X)(x-'a'+'A')//轉為大寫
intmain()
{
charstr[100];
inti;
gets(str);
for(i=0;str[i];i++)
if(DAXIE(str[i]))str[i]=ZHUANXIAOXIE(str[i]);//如果是大寫字元,轉為小寫。
elseif(XIAOXIE(str[i]))str[i]=ZHUANDAXIE(str[i]);//如果是小寫字元,轉為大寫。
puts(str);//輸出結果return0;
}
(1)條件編譯實現大小寫轉換擴展閱讀
C語言的基本構成
1、任何一個c語言程序都必須包括以下格式:
main()
{ }
這是c語言的基本結構,任何一個程序都必須包含這個結構。括弧內可以不寫任何內容,那麼該程序將不執行任何結果。
2、main()----在c語言中稱之為「主函數」,一個c程序有且僅有一個main函數,任何一個c程序總是從main函數開始執行,main函數後面的一對圓括弧不能省略。
3、被大括弧{ }括起來的內容稱為main函數的函數體,這部分內容就是計算機要執行的內容。
4、在{ }裡面每一句話後面都有一個分號(;),在c語言中,我們把以一個分號結尾的一句話叫做一個c語言的語句,分號是語句結束的標志。
5、printf(「a=%d,b=%d,sum=%d 」,a,b,sum); ----通過執行這條c語言系統提供給我們直接使用的屏幕輸出函數,用戶即可看到運行結果,本程序運行後,將在顯示器上顯示如下結果:
a=20,b=15,sum=35
② 通過條件編譯使得 字元串轉換大小寫,可以通過程序中動態的判斷執行嗎。
/*
宏預處理解決不了你的問題,請參考如下程序:
*/
#include <stdio.h>
int main(int argc, char* argv[])
{
char str[20] = "C Language";
char c;
int i = 0;
int convert_type = 1; /*1表示轉大寫,2表示轉小寫. 默認轉大寫*/
if ( argc > 1 )
{
if ( strcmp(argv[1], "2") == 0 )
{
convert_type = 2; /*轉小寫*/
}
}
while((c=str[i])!='\0')
{
i++;
if ( convert_type == 1 )
{
if( c >= 'a' && c <= 'z' )
{
c = c - 32;
}
}
else
{
if( c >= 'A' && c <= 'Z' )
{
c = c + 32;
}
}
printf("%c", c);
}
return 0;
}
/*
使用示例:
假設exe文件名稱為test.exe,如下運行
轉大寫:
test.exe
test.exe 1
轉小寫:
test.exe 2
*/
③ c語言 用條件編譯把一段字元中的大寫換成小寫
#include<stdio.h>
#define CONDITION1 (str[i]>=65&&str[i]<=90)
void main()
{
int i=0,sum=0;
char str[80];
gets(str);
while(str[i]!='\0')
{
sum++;
i++;
}
//printf("%d",sum);
for(i=0;i<sum;i++)
{
if CONDITION1
{
str[i]=str[i]+32;
}
}
for(i=0;i<sum;i++)
{
printf("%c",str[i]);
}
printf("\n");
}
把中間的#和endif去掉
④ C語言大小寫字母轉換
就是ASCII碼的加減,字母的大寫和小寫的ASCII碼的差值是一樣的。
小寫的字母ASCII碼為 97('a')到 122('z'),轉換成大寫字母則ASCII減32,變成從65('A')到90('Z')
每個字母對應一個ascii碼,查ascii碼表就可以一目瞭然。輸入字母,轉換為int類型,看其值是在什麼范圍,就可以知道輸入的是大寫還是小寫。
ASCII碼:美國(國家)信息交換標准(代)碼,一種使用7個或8個二進制位進行編碼的方案,最多可以給256個字元(包括字母、數字、標點符號、控制字元及其他符號)分配(或指定)數值。ASCII碼於1968年提出,用於在不同計算機硬體和軟體系統中實現數據傳輸標准化,在大多數的小型機和全部的個人計算機都使用此碼。
ASCII碼劃分為兩個集合:128個字元的標准ASCII碼和附加的128個字元的擴充和ASCII碼。
⑤ c語言中,輸入一行字元,用條件編譯,將其中的大寫字母變為對應的小寫字母,或將小寫字母變為對應的大
#include<stdio.h>
#include<ctype.h>
#defineTO_UPPER/*如果變為小寫字母,將這一行去掉*/
intmain(void){
intch;
printf("Inputastring:");
while((ch=getchar)!=' ')
#ifdefTO_UPPER
putchar(toupper(ch));
#else
putchar(tolower(ch));
#endif
return0;
}
這個程序只要效果,不求過程。
⑥ c語言中如何實現大小寫轉換
在C語言中,小寫字母轉換為大寫字母的方法是將小寫字母的ASCII碼值減去32(例:A=a-32);大寫字母轉換為小寫字母的的方法是將大寫字母的ASCII碼值加上32(例:a=A+32)即可。
⑦ 利用條件編譯方法編寫程序。輸入一行字元,使之能將字母全改為大寫輸出
#include<stdio.h>
#include<string.h>
main()
{ char cstr[20];
int i=0;
gets(cstr);
while(cstr[i]!='\0')
{
if(cstr[i]>=97&&cstr[i]<=122)
cstr[i]-=32;
i++;
}
puts(cstr);
}
}
⑧ 用c語言中的數組如何編譯程序使大小寫字母互相轉換
#include<stdio.h>
void main()
{
char c1;
for(;;)//可以多次對字元進行轉換
{
printf("請輸入一個字元(輸入0時退出):");
scanf("%c",&c1);
if (c1=='0')return; //輸入0時退出
if(c1<='z'&&c1>='a')
printf("其對應大寫字母為%c\n",c1-('a'-'A'));
else if(c1<='Z'&&c1>='A')
printf("其對應小寫字母為%c\n",c1+('a'-'A'));
scanf("%c",&c1);//去掉換行符
}
}
⑨ C++。輸入以字母字元,設置條件編譯,使之能夠根據需要將小寫字母改寫成大寫字母輸出,或將大寫字母改為小
#include <stdio.h>
int main()
{
char ch;
while ('\n' != (ch = getchar()))
{
if ((ch >= 'a' && ch <= 'z')) /* 大寫到小寫 */
{
putchar(ch + 'A' - 'a');
}
else if ( (ch >= 'A' && ch <= 'Z'))/*小寫到大寫 */
{
putchar(ch + 'a' - 'A');
}
else /* 不是字母的不處理 */
{
putchar(ch);
}
}
printf("\r\n");
return 0;
}
⑩ C++實現大寫轉換小寫,小寫轉換大寫
你這是條件編譯,當然是這樣,其實這段程序完全可以用if語句替代,這里貌似是習題吧,是給你體會條件編譯的用法吧,
#if(x>a) 這是不成立的,當然不會執行下面的語句,也就是跳過直接去執行#else下面的,條件編譯開始都要寫#defing 表達式||標識符
而這里的(x>a)該怎麼寫????當判斷它為1時則執行,否則跳到#else,這里
就會出現錯誤,
假如你要實現大小寫的轉換功能,就用if語句替代,
這是一個給你體會條件編譯用法的程序,你就寫成下面的行了,
手動修改A的值為1或0
#include<iostream>
using namespace std;
#define A 1
int main()
{
char x;
cout<<"請輸入一個字母字元x:";
cin>>x;
#if A //判斷A是1則執行
if(x>='a'&&x<='z')
x=x-32;
#else
if(x>='A'&&x<='Z')
x=x+32;
#endif
cout<<"改變後:"<<x<<endl;
return (0);
}