㈠ c語言字元串運算
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,len,ok;
char str[1024]={'\0'};
do
{
ok=1;
printf("請輸入一個字元串:\n");
gets(str);
i=0;
while('\0'!=str[i])
{
if(!isalpha(str[i]))
{
ok=0;
break;
}
i++;
}
}while(!ok);
len=strlen(str);
printf("字元串\"%s\"的長度是%d。\n",str,len);
//printf("字元串\"%s\"包含了以下母音字母:\n",str);
printf("字元串未進行母音字母循環加密(加密規則a->e->i->o->u->a)前是:\n%s。\n",str);
i=0;
while('\0'!=str[i])
{
if('a'==str[i])
{
str[i]='e';
}
else if('e'==str[i])
{
str[i]='i';
}
else if('i'==str[i])
{
str[i]='o';
}
else if('o'==str[i])
{
str[i]='u';
}
else if('u'==str[i])
{
str[i]='a';
}
i++;
}
printf("字元串進行母音字母循環加密(加密規則a->e->i->o->u->a)後是:\n%s。\n",str);
system("PAUSE");
return EXIT_SUCCESS;
}
㈡ c語言中如何對字元型進行加減乘除
加減可以,乘除應該也可以。其實字元型做四則運算就是對這個字元的ASCII碼進行運算,所以不用轉換
㈢ C語言 字元型數據可不可以進行加減運算
C語言 字元型數據可以進行加減運算的。
例如:
char c='A';
c+=2;
c='E'+'6'-'0';
㈣ 為什麼C語言的字元型可以進行數值運算
這就要從字元型數據在內存中的存儲方式來解釋了。在C語言中,實際上字元型數據在內存中是以二進制形式存放的,並不是真正的把一個字元存進內存里。在對字元型數據進行相加減運算的時候,系統會首先會將char型數據以隱形的方式轉化成int型數據再進行相加減運算的。因此,由字元型數據在內存的存儲方式來看,字元型數據是可以進行數值運算的,對字元型數據做數字運算實際上就是對字元本身對應的ASSIC碼進行相應的數值運算。
拓展資料
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。
㈤ c語言 字元加減運算
選A吧,首先x-'a'轉為數字為5,5+1=6,'A'+6=G,int型與字元型相加,會把int型自動轉為字元型。
㈥ C語言字元 運算
我覺得你那句while根本就不可能對~你應該用if語句來判斷,如果按照你用while語句寫的話,那就會一直循環,直到a的值小於'A',你應該用if語句,然後如果是小寫的話,讓它減去32,如果是大寫,就不用動了:
比如你這么寫:
char
a;
scanf("%c",&c);/*由用戶輸入a*/
if(a>'a'&&a<'z')
a=a-32;
printf("%c",a);
上面這個是主要的代碼,樓主再完善完善,不懂再來問
㈦ C語言如何讓字元的ASCLL碼值參與運算
計算機中字元本身就是按ascii值進行存儲的,即:實際存儲在計算機中的是0-127之間的整數。
這些整數,按字元輸出就顯示成字元,按整數輸出就顯示成整數。如:
charch='a';
printf("%c",ch);//%c表示按字元輸出變數,則可看到a
printf("%d",ch);//%d表示按整數輸出變數,則可看到97
當需要對字元變數的ASCII值進行運算時,直接使用就就可以了。如:
charch='a';
ch+=1;//進行加1運算,變成'b'
printf("%c",ch);//輸出b
printf("%d",ch);//輸出98
㈧ c語言中的字元型的運算。
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
void k_add(string a, string b, int k)
{
//將長的字元串放在前面
if (a.size() < b.size())
{
string temp = a;
a = b;
b = temp;
}
//對源字元串進行翻轉
reverse(a.begin(), a.end());
reverse(b.begin(), b.end());
bool carry = false; //進位
//字元串相加
size_t i = 0;
for (; i < b.size(); i++)
{
if (i < b.size())
{
a[i] += b[i] - '0';
if (carry) a[i] += 1;
carry = false;
if (a[i] >= k + '0')
{
a[i] -= k;
carry = true;
}
}
}
for (; i < a.size(); i++)
{
if (carry) a[i] += 1;
carry = false;
if (a[i] >= k + '0')
{
a[i] -= k;
carry = true;
}
}
if (carry)
{
a.push_back('1');
}
//輸出
bool begin = false;
for (int j = a.size() - 1; j >= 0 ; j--)
{
if (a[j] > '0')
{
begin = true;
}
if (begin)
{
cout << a[j];
}
}
cout << endl;
}
簡單模擬即可
10進制測試
㈨ c語言字元串為什麼可以運算
『A』也是一個數值,具體是多少你可以查看
ASCII表
,當兩個不同類型的數值運算時,低位的數值會轉換為高位的數值再進行相加,如char是8位的,int是16位的,所以』A『將先轉換為int型,再與5相加,然後得到F所對應的
ASCII編碼
。