c语言九三字符串的字母个数,C语言判断闰年和平年
C語言判斷閏年和平年
#includevoid fun(int year) { if((year%4==0&&year%100!=0)||(year%100==0&&year%400==0)) {
printf("%d年是閏年\n",year); } else {
printf("%d年不是閏年\n",year); } } void main() { int Year; scanf("%d",&Year); fun(Year); }
C語言判斷閏年和平年
#includevoid fun(int year) { if((year%4==0&&year%100!=0)||(year%100==0&&year%400==0)) {
printf("%d年是閏年\n",year); } else {
printf("%d年不是閏年\n",year); } } void main() { int Year; scanf("%d",&Year); fun(Year); }
第一章
C語言中,字符數據用格式說明"%c"來輸出,字符串數據用格式說明"%s"來輸出。T C語言中,關鍵字及編譯預處理命令用小寫字母書寫。T 二元運算符均可以和賦值運算符構成復合的賦值運算符。T C語言中,不能在變量名、函數名、關鍵字中插入空格和空行。T Vasual c++6.0中可以使用“//”和 “/* */”注釋程序,注釋部分不編譯。T C語言中,格式說明"%10.4f"中10表示數據輸出的最小寬度,4表示小數位數。T C語言中,為了區別一般的變量,符號常量必須用大寫字母表示。F 執行語句++i ; i=3;后變量i的值為4。F 程序中的“=”是賦值號,與數學中等號的功能相同。F C語言中,在進行混合運算時,數據類型由高級向低級轉換。F 將C程序編譯成目標文件,其擴展名為EXE。F 整數在存儲時不會產生誤差,實數在存儲時也不會產生誤差。F 用float定義的實型變量在內存占8個字節,輸入/輸出格式符是%f。f C語言中,putchar函數的功能是把一字節代碼輸出到標準輸出設備。T 字符數據與整型數據可互相賦值。T 增1(或自增)、減1(或自減)運算符都是雙目運算符。F 逗號表達式的值是第一個表達式的值。F C語言中,強制類型轉換后,原變量的值和數據類型不變。T 字符數據在內存以ASCII碼存儲,占2個字節,用7位二進制表示。F C程序的書寫格式比較自由,一行內可寫一個語句,也可以寫多個語句。T
第二章
if(表達式)語句1 else 語句2 結構中,如表達式為a>10,則else的條件隱含為a<10。F C語言規定,else總是與它上面、最近的、尚未配對的if配對。T switch…case結構中case后的表達式必須為常量表達式。T 可以用swicth結構實現的程序都可以使用if語句來實現。T switch…case結構中條件表達式和常量表達式值可以為float類型。F 由float x=3e-6,y=3e-6;可得x==y的邏輯值為真。F 語句int a=2;if(a=3)b=1;執行后b的值是1。T 所有關系運算符的運算優先級相同。F switch后面園括號內的表達式的值和case后面的常量表達式的值都必須是整型或字符型,不允許是浮點型。T 兩個變量交換數據時常使用一個工作變量。T switch語句的結束發生在break;語句的執行或者switch語句的“}”。T 邏輯運算符的運算優先級低于算術運算符 的運算優先級。F 執行a=0;if(0);a=3;后a的值為3。T 第三章
由i=-1;while(i<10)i+=2;i++;可知此while循環的循環體執行次數為6次。T 在循環外的語句不受循環的控制,在循環內的語句也不受循環的控制。F do…while語句的循環體至少執行1次,while和for循環的循環體可能一次也執行不到。T break;語句執行時退出到包含該break;語句的所有循環外。 for循環、while循環和do while循環結構之間可以相互轉化。T 循環for(;;)的循環條件始終為真。T 從語法角度看,for(表達式1;表達式2;表達式3)語句中的3個表達式均可省略。T 二層循環for(i=0;i<5;i+=2)for(j=0;j<5;j++)的循環體的執行次數為15。T C語言中,do-while語句構成的循環只能用break語句退出。F for、while和do while循環結構的循環體均為緊接其后的第一個語句(含復合語句)。T
if(表達式)語句1 else 語句2 結構中,如表達式為a>10,則else的條件隱含為a<10。F C語言規定,else總是與它上面、最近的、尚未配對的if配對。T switch…case結構中case后的表達式必須為常量表達式。T 可以用swicth結構實現的程序都可以使用if語句來實現。T
第4章
僅僅對存放字符串的數組才可以一次引用整個數組,其余均不能一次引用整個數組。 T 使用字符串處理函數strcmp需要包含頭文件string.h。 T C語言中,字符串以'\0'為結束標志。 T 數組名代表該數組的首地址。
T C語言中,用格式符"%s"輸入字符數組時,數組名前不能加&。
C語言中, gets()函數的返回值是用于存放輸入字符串的字符數組首地址 。
F T 設有int a;char abc[5]="abcd";則a=strlen("ABC");執行后a的值為5。 F 定義數組時可以同時給數組賦初值,初值的個數可以超過數組的長度,多余的被忽略。 F 已知字符數組str1的初值為"China",則語句str2=str1;執行后字符數組str2也存放字符串"China" F 在數組定義后,可以使用語句如iSum[ ]={1,2,3};給數組初始化。 F 二維及多維數組在定義的同時給數組賦初值時,可以省略數組的各維長度。 F 對于數值型數組來說,可以一次引用整個數組。 F C語言中,在對全部數組元素賦初值時,必須指定數組的長度。
F C語言中,數組元素在內存中是順序存放的,它們的地址是連續的。
T C語言中,數組元素的下標是從1開始的,下標不能越界。 F C語言中,數組名是一個常量,是數組首元素的內存地址,可以重新賦值。 F 一個數組中的所有元素可以具有不相同的數據類型。
第5章
一個C程序可以由若干各函數組成,這些函數可以書寫在不同的文件中。 T C語言中,函數間數據傳遞的方式有三種,即用返回值、參數、全局變量。 T 函數的形參只能在函數內部使用。 T C語言中,實參可以是常量、變量或表達式。 T C語言中,實參的個數、類型和位置必須與形參的定義一一對應。 T
F C語言中, 編譯預處理后 所有的符號常量名和宏名都用相應的字符串替換。 T 宏展開不作語法檢查,展開時不替換關鍵字和常量。
T 實參向形參進行數值傳遞時,數值傳遞的方向時單向的,即形參變量值的改變不影響實參變量的值。 T 函數原型說明中,省略形參變量或者將形參變量寫成其它名稱不影響程序的正確性 T 一個C程序中只能包含一個main()函數,程序總是從main()函數開始執行。
T 數組名作為函數的參數時,實參數組和形參數組共用相同的內存單元。 T 所有的函數調用前都必須進行函數原型說明。 F 函數可以嵌套定義,也可以嵌套調用。 F 第六章
C語言中,結構類型與結構變量的含義一樣,都可以用來存放數據。
f 共用體所有成員共用的內存單元的大小為各成員需要占用內存大小之和。
F 將整數值賦給枚舉變量時不需要作強制類型轉換。
F 共用體所有成員都共用同一內存單元T 結構體數組不可以在定義時進行初始化。F 結構體可以定義在單獨的頭文件中,使用時需要在對應C文件中包含該頭文件。T C語言中,關鍵字enum可用于結構類型的定義f 可以把結構體數組元素作為一個整體輸出。F 結構體變量作參數時是地址傳遞。F C語言中,結構的成員可以是一維數組或多維數組。t 枚舉類型時一種基本的數據類型。F 結構體和共用體成員的應用都只能引用最低一級的成員。t 第七章
int a=5,*p;p=&a;則p的值為5。F 表達式*p++的運算順序為先自增后取值。F 語句*--p;執行之后p指向的內存單元被改變。F 兩個指針相加沒有意義。T *(a[i]+j)與a[i][j]的含義相同。T 指針、數組名、函數名都是地址。T void 類型的指針不指向某種類型的數據,所以沒有意義。F 一個指針變量的值是一個地址值。T 指針作函數的參數時是地址傳遞方式。T C語言中,只能用下標來引用數組元素。F C語言中,執行表達式(*p)++后p的指向改變了。F 鏈表的插入和刪除和數組元素一樣需要移動插入或刪除點后的元素。F 語句“int *p ;”中的*p的含義為取值。F
第八章
文件正常關閉時返回1。F 命令行參數是指在操作系統狀態下執行命令程序時允許帶的參數。T 為了提高讀寫效率,我們進行讀寫操作后不應關閉文件以便下次再進行讀寫。F rewind函數的作用是位置指針返回移動前的位置。F 當以參數w打開文件時,若指定路徑下已有同名文件,則覆蓋原有文件。T 我們可以使用ftell獲得文件的當前讀寫位置。T C語言中的文件是一種流式文件,讀寫時均以字符為單位。T c語言通過文件指針對它所指向的文件進行操作。T 由于在c語言中將文件視為無結構的字節流,所以不能對文件進行二進制讀寫。F 表達式 c=fgetc(fp)!=EOF的功能是從fp指向的文件中讀取字符,并判斷文件是否結束。T 使用fwrite向文件中寫入數據之前,該文件必須是以wb方式打開。T fseek函數中的第二個參數代表的位移量是相對于的文件的開始來說的。F 在c語言中將文件視為無結構的字節流。T
#include #include
int main() {
int a,b,c,d,e,f;
double g,h,i,j,k,l;
printf("請輸入3個點的坐標,(不用加括號,坐標之間用逗號隔開)")
scanf("%d,%d%d,%d%d,%d",&a,&b,&c,&d,&e,&f);
g=sqrt((a-c)*(a-c)+(b-d)*(b-d));
h=sqrt((c-e)*(c-e)+(d-f)*(d-f));
i=sqrt((e-a)*(e-a)+(f-b)*(f-b));
if(h>g&&h>i)
{
j=h;
h=g;
g=j;
}
if(i>h&&i>g)
{
k=i;
i=g;
g=k;
}
if(i>h)
{
l=h;
h=i;
i=l;
}
if(g>=h+i||g<=h-i)
{
printf("不是三角形");
}
else
{
if(g*g>i*i+h*h)
{
printf("鈍角三角形");
}
if(g*g==i*i+h*h||i*i==g*g+h*h||h*h==i*i+g*g)
{
printf("直角三角形");
}
if(g*g
{
printf("銳角三角形");
}
} }
三、判斷題(10道小題,共10分)
1、C 語言具有簡潔明了的特點。(1分)
正確
2、預處理命令的前面必須加一個“#”號。(1分)
正確
3、標準格式輸入函數scanf()可以從鍵盤上接收不同數據類型的數據項。(1分)
正確
4、在if語句的三種形式中,如果要想在滿足條件時執行一組(多個)語句,則必須把這一組語句用{}括起來組成一個復合語句。(1 分)
正確
5、continue 不是結束本次循環,而是終止整個循環的執行。(1分)
錯誤
6、在對數組全部元素賦初值時,不可以省略行數,但能省略列數(1分)
錯誤
7、.函數的實參傳遞到形參有兩種方式值傳遞和地址傳遞(1分)
正確
8、直接訪問就是直接利用變量的地址進行存取直接訪問(1分)
正確
9、共用體變量可以作結構體的成員,結構體變量也可以作共用體的成員。(1分)
正確
10、文件指針和位置指針都是隨著文件的讀寫操作在不斷改變。(1分)
錯誤
11、C 語言標準格式輸入函數 scanf() 的參數表中要使用變量的地址值。(1分)
正確
12、浮點型常量的指數表示中 ,e 是可以省略的。 (1分) 錯誤
13、任何表達式語句都是表達式加分號組成的。(1分)
正確
14、在switch語句中,每一個的case常量表達式的值可以相同。(1分)
錯誤
15、do-while循環的while后的分號可以省略。(1分) 錯誤
16、用字符串方式賦值比用字符逐個賦值要多占一個字節, 用于存放字符串結束標志'\0'。
正確
17、C語言函數返回類型的默認定義類型是void(1分)
錯誤
18、可以用一個指針變量指向一個函數,然后通過該指針變量調用此函數(1分) 正確
19、枚舉類型中的元素都具有一個整型值。(1分)
正確
20、C 語言是一種具有某些低級語言特征的高級語言。(1分)
正確
21、case語句后如沒有break,順序向下執行。(1分)正確
1
22、do-while循環至少要執行一次循環語句。(1分)
正確
23、數組名能與其它變量名相同。數組名后是用方括號括起來的常量表達式,不能用圓括號。(1分)
正確
24、函數形參的存儲單元是動態分配的(1分)
正確
25、int (*p)[4]它表示p是一個指針數組,它包含4個指針變量元素(1分) 錯誤
26、結構體變量可以作數組元素。(1分)
正確
27、隨機操作只適用于文本文件。(1分) 錯誤
28、表達式語句和表達式沒有什么區別。(1分)
錯誤
29、條件運算符?和:是一對運算符,不能分開單獨使用。(1分)
正確
30、函數strcmp從頭至尾順序地將其對應字符比較,遇到兩個字符不等時,兩個字符相減得到一個int型值,兩個字符串完全相同時,則返回0。(1分)
正確
31、函數的實參可以是常量,變量或表達式(1分)
正確
32、如果指針變量p已指向數組中的一個元素,則p+1指向同一數組中的下一個元素(1分)
正確
33、文件指針用于指向文件,文件只有被打開后才有對應的文件指針。(1分)
正確
34、C 語言標準輸入操作中 ,gets() 函數一次只可讀取一個字符。 (1分)
錯誤
35、在C語言中,逗號既可以作為運算符,也可以作為分隔符。(1分)
正確
36、C語言的書寫格式不會影響程序的可讀性。(1分)
錯誤
37、條件表達式不能取代一般if的語句。(1分)
錯誤
38、break 則是結束整個循環過程,不再判斷執行循環的條件是否成立。(1分)
正確
39、C語言允許用字符串的方式對數組作初始化賦值。(1分)
正確
40、如果函數定義出現在函數調用之前,可以不必加函數原型聲明(1分)
正確
41、可以用一個指針變量指向一個函數,然后通過該指針變量調用此函數(1分)
正確
42、C 語言程序中可以有多個函數 , 但只能有一個主函數。(1分)
正確
2
43、變量的兩個值 : 本身值和地址值都是可以改變的。 (1分)
錯誤
44、if(a=5) 是允許的。(1分)
正確
45、C語言的三種循環不可以互相嵌套。(1分)
錯誤
46、在對數組全部元素賦初值時,可以省略行數,但不能省略列數(1分)
正確
47、函數名代表該函數的入口地址。因此,可用函數名給指向函數的指針變量賦值(1分)
正確
48、指向結構體變量的指針可以作函數參數,實現傳址調用。(1分)
正確
49、輸入操作稱為寫操作,將輸入流中的信息存到內存時,使用寫函數。(1分)
錯誤
50、增1減1運算符的前綴運算和后綴運算的表達式值是相同的。(1分)
錯誤
51、在C語言中能逐個地使用下標變量,也能一次引用整個數組。(1分)
錯誤
52、函數返回值的類型是由在定義函數時所指定的函數類型(1分)
正確
53、結構體成員的類型必須是基本數據類型。(1分)
錯誤
54、隨機操作只適用于二進制文件。(1分) 錯誤
55、邏輯表達式的值只能為1或0。(1分) 正確
56、表達式語句和表達式沒有什么區別。(1分)
錯誤
57、continue 只能用于循環體中。(1分)
正確
58、凡在函數中未指定存儲類別的局部變量,其默認的存儲類別為static(1分) 錯誤
59、一個變量的地址稱為該變量的指針(1分)
正確 60、變量被定義后 , 它不僅有一個確定的地址值 , 而且還會有一個確定的本身值。 (1分)
錯誤
61、一個數組是由連續的一塊內存單元組成的,指針變量就是這塊連續內存單元的首地址 錯誤
62、結構體數組中可以包含不同結構體類型的結構體變量。(1分)
錯誤
63、以“r”方式打開一個文件時,文件指針指向文件首。(1分)
正確 6
4、C 語言程序實現與其他高級語言一樣也要經過編輯、編譯連接和運行這樣的三步曲。 (1分)
3 正確
65、變量被定義后 , 它的作用域和壽命就被確定了 , 并且不可改變。 (1分)
正確。
66、break 可用于循環體中,不可用于switch語句中。](1分)
錯誤
67、使用static k定義的變量屬于靜態變量(1分)
正確
68、指針變量,只能作為函數的形參,不可以作函數的實參(1分)
正確
69、文件指針用于指向文件,文件只有被打開后才有對應的文件指針。(1分)
正確
70、C 語言是一種非結構化程序設計語言。(1分) 錯誤
71、在 C 語言程序中 , 凡是沒有出現存儲類說明符的變量都是自動類的。 (1分)
正確
72、在switch語句中,多個case可以共用一組執行語句。(1分)
正確
73、do-while語句先執行循環中的語句,然后再判斷表達式是否為真, 如果為真則繼續循環;如果為假, 則終止循環。(1分)
正確
74、結構體成員必須是不同數據類型的變量。(1分) 錯誤
75、輸入操作稱為寫操作,將輸入流中的信息存到內存時,使用寫函數。(1分)
錯誤
76、下劃線是標識符中的合法字符。
(1分)
正確
77、表達式語句和表達式沒有什么區別。(1分)
錯誤
78、數組元素通常也稱為下標變量。必須先定義數組, 才能使用下標變量。(1分)
正確
*7
9、函數的形參可以是常量,變量或表達式(1分)
正確
80、指針變量可以存放指針(地址)、數值和字符(1分)
錯誤
81、fseek函數一般用于文本文件。(1分)
錯誤
82、C 語言程序只能有一個文件。 (1分)
錯誤
83、在同一個作用域中不可定義同名變量 , 在不同的作用域中可以定義同名變量。(1分)
正確 8
4、數組名能與其它變量名相同。數組名后是用方括號括起來的常量表達式,不能用圓括號。
正確
85、.函數的實參傳遞到形參有兩種方式值傳遞和地址傳遞(1分)正確
4 8
6、內存中的每個存儲單元都有一個惟一的地址(1分)
正確
8
7、枚舉類型中的元素都具有一個整型值。(1分)
正確
88、文件是否打開是可以判斷的。(1分)
正確
89、C 語言的應用比較廣泛 , 不僅可用來編寫應用軟件 , 而且可用來編寫系統軟件。 (1分)
正確
90、C 語言程序中 , 出現非法字符時會發出錯誤信息。(1分)
正確
9
1、C語言的書寫格式不會影響程序的可讀性。(1分)
錯誤
92、在多層循環中, 一個break語句只向外跳一層。(1分)
正確
93、局部變量如果沒有指定初值,則其初值不確定(1分)
正確
94、指針數組的每個元素都是一個指針變量(1分)
正確
9
5、以“a”方式打開一個文件時,文件指針指向文件首。(1分) 錯誤
96、共用體變量不可以進行初始化。(1分) 錯誤
97、文件的讀函數是從輸入文件中讀取信息,并存放在內存中。(1分)
正確
98、C 語言程序在書寫上只能是一條語句寫一行。(1分)
錯誤
99、寄存器類變量的作用域和壽命與自動類變量的相同。 (1分)
正確
100、在一個函數內部調用另一個函數的調用方式稱為嵌套調用(1分)
正確
10
1、內存單元的地址與內存單元中的數據是兩個完全相同的概念(1分)
錯誤
10
2、結構體類型本身不占用內存空間,結構體變量占用內存空間。(1分)
正確
10
3、C 語言中 , 字符串常量存放在字符數組中要有一個結束符 , 該結束符是0 。(1分)
錯誤
10
4、char *s="C Language";表示s是一個指向字符串的指針變量,把字符串的首地址賦予s(1分)
正確
10
5、結構體成員的類型必須是基本數據類型。(1分) 錯誤
10
6、分號是 C 語言中語句的結束符 , 不可用作分隔符。 (1分) 錯誤
5 10
7、double 型變量在內存中占的字節數比 int 型變量在內存中占的字節數多。(1分)
正確
10
8、循環體如包括有一個以上的語句,則必須用{}括起來,組成復合語句。(1分)
正確
10
9、C 語言標準輸出操作中 ,putchar() 函數可以輸出顯示一個字符串。 (1分) 錯誤
110、函數形參的存儲單元是動態分配的(1分)
正確
1
11、結構體名在定義結構體時不可省略。(1分) 錯誤
1
12、變量的類型通常指存儲類和數據類型兩種。 (1分)
正確
1
13、局部變量如果沒有指定初值,則其初值為0(1分) 錯誤
1
14、在C語言中,逗號既可以作為運算符,也可以作為分隔符。(1分)
正確
1
15、C語言的三種循環不可以互相嵌套。(1分) 錯誤
1
16、有指針變量p和數組a,指針變量和數組都可以實現本身的值的改變,如p++和a++ 錯誤
1
17、fseek函數一般用于文本文件。(1分) 錯誤
1
18、不允許把一個數值或字符賦予指針變量(1分)
正確
1
19、變量的兩個值 : 本身值和地址值都是可以改變的。 (1分)
錯誤
120、兩指針變量相減所得之差是兩個指針所指數組元素之間相差的元素個數(1分)
正確
1
21、枚舉類型中的元素都具有一個整型值。(1分)
正確
1
21、C 語言規定 : 定義符號常量時必須用大寫字母。 (1分)
錯誤
1
22、for循環的三個表達式可以任意省略,while,do-while也是如此。(1分)
錯誤
1
23、函數的實參可以是常量,變量或表達式(1分)
正確
1
24、指針變量和它指向的變量之間的關系,可以用指針運算符“*”表示(1分)
正確
1
25、C 語言標準格式輸出函數 printf() 的參數表是由若干個表達式組成。 (1分)
正確
1
26、fseek函數一般用于二進制文件。(1分)
正確
1
27、一個變量的數據類型被強制轉換后,它將保持被強制轉換后的數據類型。(1分) 錯誤
6 1
28、C 語言標準輸入操作中 ,gets() 函數一次只可讀取一個字符。 (1分)
錯誤
1
29、結構體變量可以作數組元素。(1分)
正確
130、內部靜態類變量的作用域和壽命與自動類變量的相同。 (1分) 錯誤
1
31、字符串在內存中的起始地址稱為字符串的指針,可以定義一個字符指針變量指向一個字符串(1分)
正確
總結
以上是生活随笔為你收集整理的c语言九三字符串的字母个数,C语言判断闰年和平年的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hadoop103 Permission
- 下一篇: matlab中awgn给信号添加高斯白噪