A. c語言中要定義一個指針變數必須要用p做開頭嗎還是說在*後的字元也只是一個變數名而已
隨便什麼變數名都可以
int *q;
int *abc;
這都是合法的。
用p開頭只是看著方便,因為指針pointor開頭字母是p,不過這個不是強制的。
B. 【C語言】一個比較基礎的問題啦 要求輸入一串字元,只能是數字或字母或下劃線,且首字元必須是字母
單純判斷字母還是數字,C語言有內部函數可以直接用,比如頭文件ctype.h下的函數。
但你既然是基礎問題,就自己寫函數實現判斷,對應字元ascii碼判斷。
#include<stdio.h>
int main()
{
int regcmp(char *str);
char str[100];
while(1)
{
scanf("%s",str);
regcmp(str);
}
return 0;
}
int regcmp(char *str)//滿足只有字母數字下劃線且首字元為字母,滿足返回1,不滿足返回0
{
int isNumber(char c);
int isLetter(char c);
char *p=str;
if(!isLetter(*p) && printf("首字母不是字母!不符合輸入要求! "))
return 0;
while(*++p!=0)
if(!isLetter(*p) && !isNumber(*p) && *p!='_' && printf("包含字母數字及下劃線以外字元!不符合輸入要求! "))
return 0;
printf("輸入合法! ");
return 1;
}
int isNumber(char c)//判斷是否是數字,是返回1,不是返回0
{
if(c>='0' && c<='9')
return 1;
else
return 0;
}
int isLetter(char c)//判斷是否是字母,是返回1,不是返回0
{
if((c>='a' && c<='z') || (c>='A' && c<='Z'))
return 1;
else
return 0;
}
C. 為什麼c語言用※打出首字母
#include
C語言是一門面向過程、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性,以一個標准規格寫出的C語言程序可在包括一些類似嵌入式處理器以及超級計算機等作業平台的許多計算機平台上進行編譯。
D. C語言的C一定要大寫嗎
C需要的c是要大寫的,但是不是強制要求,這已經成為大家的習慣了,所有編程語言的首字母都是要大寫的!謝謝,望採納!
E. C語言規定,標識符必須以字母或()開頭
錯誤,必須是字母和下劃線開頭,且標識符只能由字母數字和下劃線組成的。
F. C語言的標識符可分為哪些
在C語言中,標識符是對變數名、函數名、標號和其他各種用戶定義的對象命名。標識符的第一個字元必須是字母或下劃線,隨後的字元可以是字母、數字或下劃線。
標識符的長度可以是一個或多個字元,最長不允許超過32個字元。例如:
sore、number12、student_name等均為正確的標識符;
8times、price/tea、low!valume等均為不正確的標識符。
C語言中字母是區分大小寫的,因此score、Score、SCORE分別代表三個不同的標識符,必須注意的是,標識符不能和C語言的關鍵字相同,也不能和用戶自定義的函數或C語言庫函數同名。
G. c語言中標識符的首字元必須是~或~
標識符使用來標識源程序中的某個對象的名字的,這些對象可以是語句、數據類型、函數、變數、常量、數組等。
C語言規定:一個標識符由字母、數字和下劃線組成,第一個字元必須是字母或下劃線,通常以下劃線開頭的標識符是編譯系統專用的,所以在編寫C語言程序時,最好不要使用以下劃線開頭的標識符。但是下劃線可以用在第一個字元以後的任何位置。
基本原則是:變數名=屬性+類型+對象描述,其中每一對象的名稱都要求有明確含義,可以取對象名字全稱或名字的一部分。命名要基於容易記憶容易理解的原則。保證名字的連貫性是非常重要的。
H. C語言:將輸入的字元串按首字母順序排列。
#include<stdio.h>
#include<string.h>
void sort(char *a[]);
void print(char *a[]);
int main()
{
char *a[] ={"ceo","define","basic","abc","empty"};
printf("原來的序列是: ");
print(a);
sort(a);
printf(" 排序後的序列是: ");
print(a);
printf(" ");
return 0;
}
void sort(char *a[])
{
int i,j;
char *temp;
for(i=0;i<4;i++)//注意是i<4
{
for(j=0;j<4;j++)//注意是j<4,因為下面要+1和後面的那個字元串比較
{
if(strcmp(a[j],a[j+1])>0)//字元串比較:>0表示前面的字元串比後面的大則交換
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
void print(char *a[])
{
int i;
for(i=0;i<5;i++)
{
printf("%s ",a[i]);
}
}
運行效果:
(8)c語言的首字母必須是哪一個擴展閱讀:
return 0的用法:
return的作用是結束正在運行的函數,並返回函數值。return後面可以跟一個常量,變數,或是表達式。
函數的定義一般是這樣的,例如:
inta(inti)//第一個int是函數的返回值的類型,也就是return後面跟的值的類型,a是函數的名稱,括弧里的是傳遞給函數的參數,int是參數的類型,i是參數的名字
{
...//省略函數體內容
returnb;//b必須與函數頭的返回值一致(此處為int型)
}
簡單函數舉例:
intaddOne(intb)
{
returnb+1;
}
該函數的作用是取得一個數,將這個數加上1,再將結果返回
調用時這樣:
intresult=addOne(2);//此時result的值為3
函數括弧里的參數也可以為變數或能算出值的表達式
以上就是一個基本的函數,一般的函數都有返回值,也就是return後面跟的值,返回值可以為各種數據類型,如:int,float,double,char,a[](數組),*a(指針),結構或類(c++)
但不是所有函數都有返回值,如果某個函數無返回值,那麼返回值的位置則為「void」關鍵字,此時函數體中無返回值,即無return的值。但是函數中也可出現return,即一個空的return句子,其作用是使函數立即結束,如voidprint()//括弧中為空表示無傳遞參數、
{
printf("a");
printf("b");
return;//函數執行到此處結束
printf("c");
}//該函數只執行到return語句處,即屏幕上輸出的為"ab"
I. vc++6.0在編寫C++程序時,類名的首字母必須是C,這是為什麼第二,在vc++6.0中為什麼
類名的首字母不必是C啊
class foo
{
//....
};
隨便什麼名字
第二個問題 因為在VC++6.0中還有iostream.h這個頭文件 也有iostream
VC++6.0已經很老了 很多標准已經改變了 你不用記iostream.h
就直接記iostream和using namespace 就可以了
很多原來C裡面的頭文件(帶.h的)在c++中都變成了 c開頭的頭文件
比如 stdlib.h變成了 cstdlib
J. C語言,首字母大寫問題
for(int i=1;i
追問:
考慮了啊,如果前一個字母是空格,則後一個字母轉為大寫。。
追答:
你的意思是你輸入時保證以空格開頭?我在測試你的代碼,稍候
supper()函數中
if(c>'a' && c<'z') //這里應該加上=,不然會少兩個字母a z , 改成:
if(c>='a' && c<='z')
以下是調整後的完整代碼,請驗收,調整部分看注釋
#include
#include
char Super(char c);
int main()
{
char a[100];
int len;
printf("input :");
gets(a);
len=strlen(a);
a[0]=Super(a[0]); //加一句,保證首字母的大寫
for(int i=1;i
='a' && c<='z') //-------
{
return c-32;
}else
{
return c;
}
}
追問:
這個可以不加結束符吧,因為本來就有個結束符,不過謝謝你的解答,答案是對的,除了有點小瑕疵,因為首先要在前面定義int
i;
追答:
嗯,結束符確實是畫蛇添足了
評論
0
0
載入更多