2.11复习题
1.c语言的基本模块是什么?
C语言的基本模块:函数。函数是能够实现特定功能的语句块,当用户按照函数的特定格式完成这个基本模块后,可以在后续的开发中重复使用这个功能模块,从而提高开发效率。
2.什么是语法错误?写一个英语例子和一个c语言例子。
语法错误:是指在程序设计中语句的使用不符合C语言的语法规范而引起的错误。因为是不符合语法规范而引起的错误,所以编译器能够检测到大部分的语法错误。
C语言例子:printf(‘Hello , world!’):
其中语法错误有两处:
1.双引号误写为单引号,
2.分号误写为冒号。
3.什么是语义错误?
语言错误也称为逻辑错误,主要是指程序设计中的语句在语法上正确,但是在功能和逻辑含义的表达上存在错误,从而引起程序的功能或者结果出现错误。
C语言例子:n3 = n2 *n2
n3表示n的3次方,显然上述是错的
编译器无法检测语义错误,因为这并没有违反c语言原则,所以程序能运行但输出的值是错的。这类错误只能靠自己找咯。
4.代码纠正:
#include<stdio.h>
int main()//该程序打印一年有多少周
{
int s;
s = 52;
printf("There are % d weeks in a year .", s);
return 0;
}
6,在main. Int . function .char. =中,哪些是c语言的关键字?
关键字:int和 char
- main 是主函数的函数名,并不是关键字,但是由于主函数使用了该函数名,因此程序设计中不能使用该标识符,否则会产生标识符的冲突;
- = 是运算符,表示赋值;
- function 是未定义的标识符,程序设计中可以使用该标识符。
7,如何以下面的格式输出变量words和lines的值(这里,3020和350代表两个变量的值)?
#include<stdio.h>
int main()
{
int words, lines;
words = 3020;
lines = 350;
printf("There werre %d words and %d lines\n",words,lines);
return 0;
}
2.12编程练习
1.编写一个程序,调用printf函数,把姓名打在第一行,姓和名分别打印在2和3行,最后调用两次printf函数,把姓名打印在一行
审题要仔细啊!!!
#include<stdio.h>
#define 姓 "祝"
#define 名 "一涛"
int main()
{
printf("%s%s\n", 姓, 名);//一次一行
printf("%s\n%s\n", 姓, 名);//一次两行
printf("%s", 姓);
printf("%s", 名);//两次一行
return 0;
}
char只能存储一个字符汉字或者字符串需要用字符数组来存储,因为一个汉字占了2个字符,一个字符串是由一个或者多个字符组成的。
2.打印名字和地址:
#include<stdio.h>
#define 姓名 "祝一涛"
#define 地址 "浙江"
int main()
{
printf("%s\n",姓名);
printf("%s\n",地址);
return 0;
}
3.把年龄转换成天数,并显示两个值(不考虑闰年):
#include<stdio.h>
int main()
{
int ageyear;//用年表示年龄
int ageday;//用天表示年龄
ageyear = 18;
ageday = 365 * ageyear;
printf("%d\n%d",ageyear,ageday);
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>
void jolly();
void deny();
//定义上述函数
void jolly()
{
printf("For he's a jolly good fellow!\n");
}
void deny()
{
printf("Which nobody can deny!");
}
//主函数开始
int main()
{
jolly();
jolly();
jolly();
deny();
return 0;
}
5.编写一个程序,生成以下输出:
Brazil,Russia, India,China
India,China
Brazil,Russia
除了main ()以外,该程序还要调用两个自定义函数:
一个名为br (),调用一次打印一次“Brazil,Russia";
另一个名为ic(),调用一次打印一次“India,China”。
其他内容在main ()函数中完成。
#include<stdio.h>
void br();
void ic();
//声明两个函数,br()打印 Brazil,Russia ic()打印 India,China
//定义上述函数
void br()
{
printf("Brazil,Russia");
}
void ic()
{
printf("India,China");
}
//主函数开始
int main()
{
br();
printf(",");
ic();
printf("\n");
ic();
printf("\n");
br();
return 0;
}
6.编写一个程序,创建一个整型变量toes,并将toes 设置为10。程序中还要计算toes的两倍和toes的平方。
该程序应打印3个值,并分别描述以示区分。
#include<stdio.h>
int main()
{
int toes;
toes = 10;
printf("toes=%d\n", toes);
printf("toes的两倍=%d\n", 2 * toes);
printf("toes的平方=%d", toes*toes);//c语言中没有“toes^2”的表示方法(好垃圾啊)
return 0;
}
7.许多研究表明,微笑益处多多。编写一个程序,生成以下格式的输出:
Smile ! Smile ! Smile !
smile ! Smile !
smile !
该程序要定义一个函数,该函数被调用一次打印一次“Smile!”,根据程序的需要使用该函数。
#include<stdio.h>
void smile();
//定义上述函数
void smile()
{
printf("Smile!");
}
//主函数开始
int main()
{
smile();
smile();
smile();
printf("\n");
smile();
smile();
printf("\n");
smile();
return 0;
}
8.在C语言中,函数可以调用另一个函数:
调用一个名为one three ()的函数。该函数在一行打印单词“one",
再调用第2个函数two(),然后在另一行打印单词“three".
two()函数在一行显示单词“two"”。
main ( )函数在调用one_three()函数前要打印短语“startingnow :”,并在调用完毕后显示
短语“done ! ”。
因此,该程序的输出应如下所示:
starting now :
one
two
three
done !
#include<stdio.h>
void one_three();
void two();
//定义上述函数
void one_three()
{
printf("one\n");
two();
printf("three\n");
}
void two()
{
printf("two\n");
}
//主函数开始
int main()
{
printf("starting nonw:\n");
one_three();
printf("done!");
return 0;
}
快开学了,赶紧肝起来,接下来开始第三章qaq
2022/8/1
建军节快乐
完