c语言课后练习题第三章 您所在的位置:网站首页 0×78是什么进制的常量 c语言课后练习题第三章

c语言课后练习题第三章

2024-07-12 04:32| 来源: 网络整理| 查看: 265

十进制 %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 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 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 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 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 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 #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 #define INCH 2.54 int 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 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 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 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 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 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

#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

#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 #include

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 #include 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; }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有