C primer plus 第二章

本文介绍了C语言的基础知识,包括函数、语法错误、语义错误的概念,以及如何通过编程练习来加深理解。文章提供了一系列的C语言代码示例,如打印姓名、年龄转换、字符串输出等,同时强调了函数的使用和调用。此外,还展示了如何通过自定义函数实现特定输出格式,进一步巩固了函数在程序设计中的应用。
摘要由CSDN通过智能技术生成

在这里插入图片描述

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
建军节快乐

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值