日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言课后练习题第三章

發布時間:2023/12/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言课后练习题第三章 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
十進制 %d 八進制 %#o 十六進制 %#x int 4個字節 long 8個字節 short 2個字節 long long 8個字節 char 1個字節 double 8個字節 float 4個字節轉義序列 含義 \a 警報 \b 退格 \f 換頁 \n 換行 \r 回車 \t 水平制表符 \v 垂直制表符 \' 單引號 \" 雙引號 \? 問號 \0oo 八進制 \xhh 十六進制 復習題 1.指出下面各種數據使用的合適數據類型(有些可使用多種數據類 型): a.East Simpleton的人口 int b.DVD影碟的價格 float c.本章出現次數最多的字母 char d.本章出現次數最多的字母次數 int2.在什么情況下要用long類型的變量代替int類型的變量? 答:當變量范圍超過int范圍的時候。原因二:如果要處理更大的值,要使用一種在所有系統上都保證至少是32位的類型,可提高程序的可以執行 3.使用哪些可移植的數據類型可以獲得32位有符號整數?選擇的理由是 什么? 可以使用int32_t類型 要獲得可村住至少32位證書得到最小類型,4.指出下列常量的類型和含義(如果有的話): a.'\b' char類型常量 b.1066 int類型常量 c.99.44 double類型的常量 d.0XAA int類型常量十六進制的數組 e.2.0e30 都罷了類型的常量5.Dottie Cawm編寫了一個程序,請找出程序中的錯誤。 include <stdio.h> main (float g; h;float tax,rate;g = e21;tax = rate*g; )6.寫出下列常量在聲明中使用的數據類型和在printf()中對應的轉換說 明: 12 int %d 0x3 unsigned int %#x 'c' char %c 2.34E07 fouble %e '\040' char %c 7.0 float %f 6L long %ld 6.0L float %lf 0x53b6p12 float %a 7.寫出下列常量在聲明中使用的數據類型和在printf()中對應的轉換說明(假設int為16位):012 unsigned int 八進制 %#o2.9e05L float %lf'5' char %c100000 int %d'\n' char %c20.0f float %d0x44 unsigned int %#x-40 unsignedint %d8.假設程序的開頭有下列聲明: int imate = 2; long shot = 53456; char grade = 'A'; float log = 2.71828; 把下面printf()語句中的轉換字符補充完整: printf("The imate,odds against the %__ were %__ to 1.\n", shot); printf("A score of %__ is not an %__ grade.\n", log,grade); a.%d %ld b.%c %lf 9.假設ch是char類型的變量。分別使用轉義序列、十進制值、八進制字 符常量和十六進制字符常量把回車字符賦給ch(假設使用ASCII編碼值)。 char ch =‘\r’ char ch = 13 char ch = '015' char ch ='xd'10.修正下面的程序(在C中,/表示除以)。 void main(int) / this probgram is perfect / { cows, legs integer; printf("How many cow legs did you count?\n); scanf("%c", legs); cows = legs / 4; printf("That implies there are %f cows.\n", } 修改完正確的daima void main(int) /*this problom*/ { int corw, legs, integer; printf("How many cow legs did you count?\n); scanf("%d", &legs); printf("That implies there are %d cows.\n", cows);} 11.指出下列轉義序列的含義: a.\n 換行符合 b.\\ 反斜杠 c.\" 雙引號 d.\t 指標符編程練習 1.通過試驗(即編寫帶有此類問題的程序)觀察系統如何處理整數上 溢、浮點數上溢和浮點數下溢的情況。基本整形(int):一般占據2個或者4個字節,這都是由編譯系統決定的。在計算機中整型數據一般是按補碼的形式存儲的;短整型(short int):分配2個字節。存儲方式與基本整形相同,一個短整型的數據范圍是:-32768-32767,即 -215 ~ (215 - 1);長整型數據(long int):分配它4個字節,范圍為 -231 ~ (231 - 1);無符號長整型數據(unsigned long int):分配它4個字節,范圍為 0 ~ 4294967295,即 0 ~ (232 - 1);雙長整型(long long int):在vc中系統給它分配8個字節,這種數據類型一般比較少用。2.編寫一個程序,要求提示輸入一個ASCII碼值(如,66),然后打印 輸入的字符。 #include <stdio.h> int main (void) {unsigned int a;printf("Pleas input a value \n");scanf("%d",&a);printf("%c\n",a);return 0; }3.編寫一個程序,發出一聲警報,然后打印下面的文本: Startled by the "By the sudden sound, Great Pumpkin, Sally shouted, what was hat!"#include <stdio.h> int main (void) {printf("\aStartled by the sudden sound, Sally shouted,\n");printf("\"By the Great Pumpkin,what was that!\"\n");return 0; } 4.編寫一個程序,讀取一個浮點數,先打印成小數點形式,再打印成指 數形式。然后,如果系統支持,再打印成p記數法(即十六進制記數法)。 按以下格式輸出(實際顯示的指數位數因系統而異): Enter a floating-point value: 64.25 fixed-point notation: 64.250000 exponential 6.425000e+01 p notation: 0x1.01p+6#include<stdio.h> int main(void) {float i;printf("Enter a floating-point value :");scanf("%f",&i);printf("fixed-point notation:%f\n",i); //小數點形式printf("exponential notation:%e\n",i); //指數形式printf("p notation:%a\n",i);//p計數法return 0; } 5.一年大約有3.156×10 7 秒。編寫一個程序,提示用戶輸入年齡,然后顯 示該年齡對應的秒數 #include<stdio.h> int main(void) {double seconds = 3.156e7;unsigned age;printf("年齡:");scanf("%d",&age);printf("秒數是:%f\n",age * seconds);return 0; } 6.1個水分子的質量約為3.0×10 ?23 克。1夸脫水大約是950克。編寫一個 程序,提示用戶輸入水的夸脫數,并顯示水分子的數量。 #include <stdio.h>#define WATER 3.0e-23 //1個水分子的質量 #define DEHYDRATION 950 //1夸脫水的質量int main(ivoid) {float i, total; //total表示水分子的數量printf("please input:");scanf("%f", &i);total = i * DEHYDRATION / WATER;printf("%e\n", total);return 0; } 7.1英寸相當于2.54厘米。編寫一個程序,提示用戶輸入身高(/英 寸),然后以厘米為單位顯示身高 #include<stdio.h>#define INCH 2.54int main(void) {float i,height;printf("請輸入身高(英寸):");scanf("%f",&i);height = i*INCH;

十進制 %d
八進制 %#o
十六進制 %#x
int 4個字節
long 8個字節
short 2個字節
long long 8個字節
char 1個字節
double 8個字節
float?? 4個字節

轉義序列??????????? 含義
\a????????????????? 警報
\b????????????????? 退格
\f????????????????? 換頁
\n????????????????? 換行
\r????????????????? 回車
\t????????????????? 水平制表符
\v????????????????? 垂直制表符
\'????????????????? 單引號
\"????????????????? 雙引號
\?????????????????? 問號
\0oo??????????????? 八進制
\xhh??????????????? 十六進制
復習提
1.指出下面各種數據使用的合適數據類型(有些可使用多種數據類
型):
a.East Simpleton的人口 int
b.DVD影碟的價格? float
c.本章出現次數最多的字母 char
d.本章出現次數最多的字母次數 int

2.在什么情況下要用long類型的變量代替int類型的變量?
答:當變量范圍超過int范圍的時候。原因二:如果要處理更大的值,要使用一種在所有系統上都保證至少是32位的類型,可提高程序的可以執行
3.使用哪些可移植的數據類型可以獲得32位有符號整數?選擇的理由是
什么?
可以使用int32_t類型 要獲得可村住至少32位證書得到最小類型,

4.指出下列常量的類型和含義(如果有的話):
a.'\b'? char類型常量
b.1066? int類型常量
c.99.44 double類型的常量
d.0XAA? int類型常量十六進制的數組
e.2.0e30 都罷了類型的常量


5.Dottie Cawm編寫了一個程序,請找出程序中的錯誤。
include <stdio.h>
main
(
??? float g; h;
??? float tax,
??? rate;
??? g = e21;
??? tax = rate*g;
)

6.寫出下列常量在聲明中使用的數據類型和在printf()中對應的轉換說
明:
12??????? int? %d
0x3?????? unsigned int %#x
'c'?????? char %c
2.34E07?? fouble? %e
'\040'??? char %c
7.0?????? float %f
6L??????? long %ld
6.0L????? float %lf
0x53b6p12 float %a
7.寫出下列常量在聲明中使用的數據類型和在printf()中對應的轉換說明
? (假設int為16位):
? 012?? unsigned int 八進制 %#o
? 2.9e05L?? float? %lf
? '5'?? char %c
? 100000 int %d
? '\n'?? char %c
? 20.0f? float %d
? 0x44????? unsigned int %#x
? -40?? unsignedint %d

8.假設程序的開頭有下列聲明:
int imate = 2;
long shot = 53456;
char grade = 'A';
float log = 2.71828;
把下面printf()語句中的轉換字符補充完整:
printf("The imate,odds against the %__ were %__ to 1.\n", shot);
printf("A score of %__ is not an %__ grade.\n", log,grade);
a.%d %ld
b.%c %lf
9.假設ch是char類型的變量。分別使用轉義序列、十進制值、八進制字
符常量和十六進制字符常量把回車字符賦給ch(假設使用ASCII編碼值)。
char ch =‘\r’
char ch = 13
char ch = '015'
char ch ='xd'

10.修正下面的程序(在C中,/表示除以)。
void main(int) / this probgram is perfect /
{
cows, legs integer;
printf("How many cow legs did you count?\n);
scanf("%c", legs);
cows = legs / 4;
printf("That implies there are %f cows.\n",
}
修改完正確的daima
void main(int) /*this problom*/
{
int corw, legs, integer;
printf("How many cow legs did you count?\n);
scanf("%d", &legs);
printf("That implies there are %d cows.\n", cows);


}
11.指出下列轉義序列的含義:
a.\n? 換行符合
b.\\? 反斜杠
c.\"??? 雙引號
d.\t? 指標符

編程練習
1.通過試驗(即編寫帶有此類問題的程序)觀察系統如何處理整數上
溢、浮點數上溢和浮點數下溢的情況。

基本整形(int):一般占據2個或者4個字節,這都是由編譯系統決定的。在計算機中整型數據一般是按補碼的形式存儲的;

短整型(short int):分配2個字節。存儲方式與基本整形相同,一個短整型的數據范圍是:-32768-32767,即 -215 ~ (215 - 1);

長整型數據(long int):分配它4個字節,范圍為 -231 ~ (231 - 1);

無符號長整型數據(unsigned long int):分配它4個字節,范圍為 0 ~ 4294967295,即 0 ~ (232 - 1);

雙長整型(long long int):在vc中系統給它分配8個字節,這種數據類型一般比較少用。

2.編寫一個程序,要求提示輸入一個ASCII碼值(如,66),然后打印
輸入的字符。
#include <stdio.h>
int main (void)
{
?? ?unsigned? int a;
?? ?printf("Pleas input a value \n");
?? ?scanf("%d",&a);
?? ?printf("%c\n",a);
?? ?return 0;
}

3.編寫一個程序,發出一聲警報,然后打印下面的文本:
Startled by the "By the sudden sound, Great Pumpkin, Sally shouted, what was hat!"

#include <stdio.h>
int main (void)
{

?? ?printf("\aStartled by the sudden sound, Sally shouted,\n");
?? ?printf("\"By the? Great Pumpkin,what was that!\"\n");
?? ?return 0;
}
4.編寫一個程序,讀取一個浮點數,先打印成小數點形式,再打印成指
數形式。然后,如果系統支持,再打印成p記數法(即十六進制記數法)。
按以下格式輸出(實際顯示的指數位數因系統而異):
Enter a floating-point value: 64.25
fixed-point notation: 64.250000
exponential 6.425000e+01
p notation: 0x1.01p+6

#include<stdio.h>
int main(void)
{
?? ?float? i;

?? ?printf("Enter a floating-point value :");
?? ?scanf("%f",&i);
?? ?printf("fixed-point notation:%f\n",i); //小數點形式
?? ?printf("exponential notation:%e\n",i); //指數形式
?? ?printf("p notation:%a\n",i);//p計數法
?? ?return 0;
}
5.一年大約有3.156×10 7 秒。編寫一個程序,提示用戶輸入年齡,然后顯
示該年齡對應的秒數
#include<stdio.h>
int main(void)
{
??????? double seconds = 3.156e7;
??????? unsigned age;

??????? printf("年齡:");
??????? scanf("%d",&age);
??????? printf("秒數是:%f\n",age * seconds);
??????? return 0;
}
6.1個水分子的質量約為3.0×10 ?23 克。1夸脫水大約是950克。編寫一個
程序,提示用戶輸入水的夸脫數,并顯示水分子的數量。
#include <stdio.h>

#define WATER 3.0e-23? //1個水分子的質量
#define DEHYDRATION 950? //1夸脫水的質量

int main(ivoid)
{
??????? float i, total; //total表示水分子的數量
??????? printf("please input:");
??????? scanf("%f", &i);
??????? total = i * DEHYDRATION / WATER;
??????? printf("%e\n", total);
??????? return 0;
}
7.1英寸相當于2.54厘米。編寫一個程序,提示用戶輸入身高(/英
寸),然后以厘米為單位顯示身高
#include<stdio.h>

#define INCH 2.54

int main(void)
{
??? float i,height;
??? printf("請輸入身高(英寸):");
??? scanf("%f",&i);
??? height = i*INCH;
??? printf("height = %f\n",height);
??? return 0;
}
8.在美國的體積測量系統中,1品脫等于2杯,1杯等于8盎司,1盎司等
于2大湯勺,1大湯勺等于3茶勺。編寫一個程序,提示用戶輸入杯數,并以
品脫、盎司、湯勺、茶勺為單位顯示等價容量。思考對于該程序,為何使用
浮點類型比整數類型更合適?
#include <stdio.h>
#include <stdlib.h>

int main()
{
??? float cup, pint, ounce, spoon, teaspoon;
??? printf("請輸入杯數:");
??? scanf("%f", &cup);
??? pint = cup / 2;
??? ounce = 8 * cup;
??? spoon = 8 * cup * 2;
??? teaspoon = 8 * cup * 2 * 3;
??? printf("品脫:%f? 盎司:%f? 湯勺:%f? 茶勺:%f\n", pint, ounce, spoon, teaspoon);
??? return 0;
}

?

printf("height = %f\n",height);return 0; } 8.在美國的體積測量系統中,1品脫等于2杯,1杯等于8盎司,1盎司等 于2大湯勺,1大湯勺等于3茶勺。編寫一個程序,提示用戶輸入杯數,并以 品脫、盎司、湯勺、茶勺為單位顯示等價容量。思考對于該程序,為何使用 浮點類型比整數類型更合適? #include <stdio.h> #include <stdlib.h>int main() {float cup, pint, ounce, spoon, teaspoon;printf("請輸入杯數:");scanf("%f", &cup);pint = cup / 2;ounce = 8 * cup;spoon = 8 * cup * 2;teaspoon = 8 * cup * 2 * 3;printf("品脫:%f 盎司:%f 湯勺:%f 茶勺:%f\n", pint, ounce, spoon, teaspoon);return 0; }

總結

以上是生活随笔為你收集整理的c语言课后练习题第三章的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。