C Primer Plus(5)


1、如果把字符串中的字符放入数组中,需要先创建一个数组,还要在末尾加\0。
2、 字符串常量“X”和字符常量‘X’不同,区别之一再与‘X’是基本类型(char),而“X”是派生类型(char数组);区别之二是“X”实际上由两个字符组成:‘X’和空字符\0.3、字符串是以空字符结尾的。

3、字符串是以空字符结尾的。Strlen()函数可用于获得字符串的长度(末尾的空字符不计算在内)。

 4、Sizeof运算符以字节为单位返回类型或值的大小,在何时使用圆括号取决于运算对象是类型还是特定量,当运算对象是类型时,圆括号必不可少,但是对于特定量,可有可无。尽管如此,建议所有情况下都用圆括号。

 5、#define指令可以创建明示常量。在使用常量时,可以用C预处理#define先声明一个变量,然后将该变量设置为所需的常量,通用格式为#define NAME value 末尾不加分号,变量名大写。另外#define还可以定义字符和字符串常量。

 6、Const限定符,声明的是变量而不是常量。

 7、 请求printf()函数打印数据指令要与待打印数据的类型相匹配。例如打印整数时使用%d,打印字符时使用%cprintf()的返回值可以作为赋给变量,也可以用于计算,也可以作为参数传递。

 8、scanf()输入函数,用来读取不同格式的数据。使用scanf()读取基本变量类型的值,在变量名前加上一个&,如果是把字符串读入字符数组中,不要使用&scanf()函数中的转换说明是%s时,可读取一个单词。

9、 课后习题7
#include
<stdio.h>
#include
<float.h>
int
main(void)
{
 float ot_f = 1.0 / 3.0;
 double ot_d = 1.0 / 3.0;
 printf(" float values: ");
 printf("%.4f %.12f %.16f\n", ot_f,
ot_f, ot_f);
 printf("double values: ");
 printf("%.4f %.12f %.16f\n", ot_d,
ot_d, ot_d);
 printf("FLT_DIG: %d\n", FLT_DIG);
 printf("DBL_DIG: %d\n", DBL_DIG);
 return 0;
}

10、课后习题8

#include
<stdio.h>
#include
<string.h>
#define
GALLON 3.785    //1 gallon = 3.785 L
#define
MILE 1.609      //1 mile = 1.609 km
int
main()
    {
        system("color 0A");
        float mile;                 //里程数
        float gallon;                  //汽油量
        printf("\n\tPlease enter the mileage of the trip:\n");
        printf("\t请输入旅行的里程km:");
        scanf("\t%f",&mile);
        printf("\n\tPlease enter the amount of petrol you need to consume:\n");
        printf("\t请输入消耗的汽油量L:");
        scanf("\t%f",&gallon);
        printf("\n\tThe oil consumption is %.1f mile /gallon\n",mile / gallon);
        printf("\t油耗为%.1f英里/加仑\n",mile / gallon);
        printf("\n\tLitre per 100km:%.1fL\n",gallon*GALLON/(mile*MILE)*100);
        printf("\t百公里消耗为:%.1f升\n",gallon*GALLON/(mile*MILE)*100);
            return 0;
    }
疑问:不明白第二行的输出?空格生成前导空格,为什么这么用,而且加不加这个空格输出结果都一样呀。






#include <stdio.h>
int main(void)
{
   
printf("%x %X %#x\n", 31, 31, 31);
   
printf("**%d**% d**% d**\n", 42, 42, -42);
   
printf("**%5d**%5.3d**%05d**%05.3d**\n", 6, 6, 6, 6);
    
   
return 0;
}


全部评论

相关推荐

盖茨伯爵:一样兄弟,我从4月开始发到现在了,都三四百个了
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务