今天,学习了C Primer Plus的第二章,对C语言中的一些必要语句有所认识。虽然本章的程序以及练习都较为简单,但还是要脚踏实地,一步一步把基础打好。
现将知识点总结如下:
- stdio.h是C编译器软件包的标准部分,提供键盘输入和屏幕输出的支持。
- 调用函数:在程序中使用函数
- 头文件:C程序顶部的信息集合
- #include中的#符号表明,C预处理器在编译器接手之前处理这条指令
- 函数时C程序的基本模块
- 所有C函数都使用花括号标记函数体的开始和结束
- 花括号还可用于把函数中的多条语句合并为一个单元或块
- 标识符:一个变量、函数或其他实体的名称
- 关键字:语言定义的单词,不能用作其他用途(如:对函数或变量的命名)
- 命名:用小写字母、大写字母、数字和下划线(_) 注:第一个字符必须是字符或下划线,不能为数字
- 实参:传递给函数的特定值 形参:函数中用于存储值的变量
- C语言是通过赋值运算符而不是赋值语句完成赋值操作,C语言并没有所谓的“赋值语句”,其实际上是表达式语句
- 转义序列用于代表难以表示或无法输入的字符
- printf()函数名中的f提醒用户,这是一种格式化打印函数
- 程序由一个或多个函数组成,必须有main()函数
- 函数由函数头和函数体组成;函数头包括函数名、传入该函数的信息类型和函数的返回类型;函数体由一系列语句、声明组成
- C标准中没有函数调用语句,函数调用本身是一个表达式
- 函数原型(函数声明):告知编译器在程序中要使用该函数
- void add(void)第一个void:该函数没有返回值 第二个void:该函数不带参数
- 程序状态:在程序执行过程中某给定点上所有变量值的集合
- 保留标识符包括以下划线字符开头的标识符和标准库函数名
- 变量名是一种标识符
- 关键字是C语言的词汇
- 语法:一套规则,用于管理语言中各有效语句组合在一起的方式
- 语义:语句要表达的意思
为了对所学知识加深印象并加以应用,现做练习如下:
1.编写一个程序,调用一次printf()函数, 把你的名和姓打印在一 行。再调用一次printf ()函数, 把你
的名和姓分别打印在两行。然后,再调用两次printf()函数,把你的名和姓打印在一行。
代码:
#include <stdio.h>
#include <stdlib.h>
int main(){
printf("Qin qianyu\n");
printf("Qin\nqianyu\n");
printf("Qin");
printf(" qianyu\n");
system("pause");
return 0;
}
运行结果:
2.打印姓名和地址
代码:
#include <stdio.h>
#include <stdlib.h>
int main(){
printf("Qin qianyu\n");
printf("Shanxi xi'an\n");
system("pause");
return 0;
}
运行结果:
3.把年龄转换成天数,并显示这两个值(不考虑闰年)
代码:
#include <stdio.h>
#include <stdlib.h>
int main(){
int age = 20;
int day = age * 365;
printf("I am %d years,It's %d days.\n", age, day);
system("pause");
return 0;
}
运行结果:
4.
编写一个程序,生成以下输出:
For he's a jolly good fellow!
For he's a jolly good fellow!
For he's a jolly good fellow!
Which nobody can deny!
除了main()函数以外,该程序还要调用两个自定义函数:一个名为jolly(),用于打印前3条消息,调用一次打印一条;另一个函数名为deny(),打印最后一条消息。
代码:
#include <stdio.h>
#include <stdlib.h>
void jolly(){
printf(" For he's a jolly good fellow!\n");
}
void deny(){
printf(" Which nobody can deny!\n");
}
int main(){
jolly();
jolly();
jolly();
deny();
system("pause");
return 0;
}
运行结果:
5.编写一个程序,生成以下输出:
Brazil, Russia, India, China
India, China,
Brazil, Russia
除了main()以外,该程序还要调用两个自定义函数:一个名为br(),调用一次打印一次“Brazil,Russia”;另一个名为ic(),调用一次打印一次“India, China”。其他内容在main()函数中完成。
代码:
#include <stdio.h>
#include <stdlib.h>
void br(){
printf("Brazil,Russia");
}
void ic(){
printf("India,China");
}
int main(){
br();
printf(",");
ic();
printf("\n");
ic();
printf(",\n");
br();
printf("\n");
system("pause");
return 0;
}
运行结果:
6.编写一个程序,创建一个整型变量toes,并将toes设置为10。程序中还要计算toes的两倍和toes的平方。该程序应打印3个值,并分别描述以示区分。
代码:
#include <stdio.h>
#include <stdlib.h>
int main(){
int toes = 10;
printf("toes的值为10\n");
printf("toes的两倍为%d\n", 2*toes);
printf("toes的平方为%d\n", toes*toes);
system("pause");
return 0;
}
运行结果:
7.许多研究表明,微笑益处多多。编写一个程序,生成以下格式的输出:
Smile!Smile!Smile!
Smile!Smile!
Smile!
该程序要定义一个函数, 该函数被调用一次打印一次 “Smile!",根据程序的需要使用该函数。
代码:
#include <stdio.h>
#include <stdlib.h>
void Smile(){
printf("Smile!");
}
int main(){
Smile();
Smile();
Smile();
printf("\n");
Smile();
Smile();
printf("\n");
Smile();
printf("\n");
system("pause");
return 0;
}
运行结果:
8.在C语言中,函数可以调用另一个函数。编写一个程序,调用一个名为one_ three() 的函数。该函数在一行打印单词“one”,再调用第2个函数two(),然后在另一行打印单词“three”。two()函数在一行显示单词“two”。 main()函数在调用one_ three() 函数前要打印短语“starting now:”,并在调用完毕后显示短语“done!”.。因此,该程序的输出应如下所示:
starting now:
one
two
three
done !
代码:
#include <stdio.h>
#include <stdlib.h>
void one_three(){
printf("one\n");
}
void two(){
printf("two\n");
}
int main(){
printf("starting now:\n");
one_three();
two();
printf("three\n");
printf("done!\n");
system("pause");
return 0;
}
运行结果: