第二章、C语言概述

C程序结构:

1、预处理指令

2、main()函数

3、函数调用

4、注释

函数:

1、函数是C的基本模块

2、函数的结构

3、函数体和语句块

声明:

1、变量及其声明

2、变量的赋值

3、标识符

调试和错误:

1、调试

2、语法错误

3、语义错误

关键字:

1、体统保留特定用途的词汇

C程序的基本结构:

        预处理指令中的#include<>表示对头文件的引用。头文件内一般包含编译器创建可执行程序时要用的信息(标准库函数信息、预定义常量及其其它与编译代码信息)

        预处理:C语言在编译源代码时会提前对这些代码进行相关处理。

        函数是C程序的基本模块。函数可以提高开发效率,实现可重用的代码。这些函数具备特定的功能,并且能够被程序员在编程过程中重复调用。

        main()函数是整个可执行程序的入口。

特定格式:int main(){}

        int main(){}中:int类型表示函数的返回值类型,

        int main(){}的圆括号:表示参数列表,

        int main(){}的花括号:表示main函数的功能代码块。

变量:

        变量是C语言中用于表示存储在内存中的特定数据单元,在给一些变量命名时可以使用一些有意义的名称,这种名称也叫做标识符。

        使用变量之前必须先进行变量及类型的声明。

例如

        int a;

        int是C语言的关键字,不能用作标识符

标识符:

        由大小写字母、数字、下划线组成。(标识符的第一个字符必须是字母或者下划线,不能是数字)

        语句是程序设计中表达具体含义的最小单位,通常使用分号作为结尾。

语法错误和语义错误:

1、语法错误:

        编程时候没有遵循C语言的语法规范而造成的错误。

2、语义错误

        即在语法上是正确的,但是其表达的含义和逻辑关系存在错误。

C语言的基本模块是什么:

C语言的基本模块是函数。函数是能够实现特定功能的语句块,当用户按照函数的特定格式完成这个基本模块后,就可以在后续的开发中重复使用这个功能模块,从而提高开发效率。

经典例题:

1、将2英寻转换为英尺
#include<stdio.h>
int main(void)
{
    int feet, fathoms;
    fathoms = 2;
    feet = 6 * fathoms;
    printf("There are %d feet in %d fathoms!\n", feet, fathoms);
    printf("Yes,I said %d feet!\n",6*fathoms);
    return 0;
}

运行结果:

There are 12 feet in 2 fathoms!
Yes,I said 12 feet!
2、编写一个程序
调用一次printf()函数,把你的名字和姓打印在一行,
调用一次printf()函数,把你的名字和姓分别打印在两行,
调用两次printf()函数,把你的名字和姓分别打印在一行。
#include<stdio.h>
#define NAME "Gustav"
#define SURNAME "Mahler"
int main(void)
{
	printf("%s %s\n", NAME, SURNAME);
	printf("%s\n%s\n", NAME, SURNAME);
	printf("%s", NAME);
	printf("%s\n",SURNAME);
	return 0;
}

运行结果:

Gustav Mahler
Gustav
Mahler
GustavMahler
3、编写一个程序,打印你的姓名和地址
分析:
程序要求打印姓名和地址,因此可以通过调用printf()函数实现这个功能。
姓名和地址可以使用预编译指令定义,这样可以简化程序中函数的调用方式。
#include<stdio.h>
#define NAME "老六"
#define ADDRESS "内蒙古自治区鄂尔多斯市东胜区"
int main(void)
{
	printf("%s\n", NAME);
	printf("%s\n", ADDRESS);
	return 0;
}

运行结果:

老六
内蒙古自治区鄂尔多斯市东胜区
4、编写一个程序,将年龄转换成天数,并显示年龄和天数,这里不用考虑闰年问题
#include<stdio.h>
#define DAYS_PER_YEAR 365
//使用预编译指定一年的天数
int main(void)
{
	int age = 0;
	int days=0;
	printf("Please input your age:");
	scanf("%d", &age);
	days = age * DAYS_PER_YEAR;
	printf("Your age is %d,and It is %d days.\n", age, days);
	return 0;
}

运行结果:

Please input your age:24
Your age is 24,and It is 8760 days.
5、编写一个程序,生成以下输出:
Baby for you!
Baby for you!
Baby for you!
I love you!
除了main()函数外,该程序还要调用两个自定义函数,一个名为jolly(),用于打印前3条消息,
调用一次打印一条;另一个函数名为deny(),用来打印最后一条消息。
分析:
程序的功能是通过两个函数jolly()和deny(),分别打印4条消息,
其中前3条消息是用jolly()函数3次打印的,
最后一条消息是调用deny()函数打印的。
即jolly()函数只打印一条Baby for you!
deny()函数只打印I love you!
#include<stdio.h>
int jolly();
int deny();
int main(void)
{
	//调用函数
	jolly();
	jolly();
	jolly();
	deny();
	return 0;
}
int jolly(void)
{
	printf("Baby for you!\n");
	return 0;
}
int deny(void)
{
	printf("I love you!\n");
	return 0;
}

运行结果:

Baby for you!
Baby for you!
Baby for you!
I love you!
6、编写一个程序生成以下输出:
France,England,china,America
china,America
France,England
除main()函数外,该程序还要调用两个自定义函数:一个名为br(),调用一次打印一次"France,England"
另一个名为ic(),调用一次打印一次"china,America"
#include<stdio.h>
int br(void);
int ic(void);
int main(void)
{
	br();
	printf(", ");
	ic();
	printf("\n");
	ic();
	printf(", \n");
	br();
	printf("\n");
	return 0;
}
int br(void)
{
	printf("France,England");
	return 0;
}
int ic(void)
{
	printf("china,America");
	return 0;
}

运行结果:

France,England, china,America
china,America,
France,England
7、编写一个程序,创建一个整型变量toes,并将toes设置为10,程序中还要计算toes的两倍和toes的平方。
该程序应打印3个值,并分别描述以示区别。
分析:
程序的功能是分别计算并打印一个变量、变量的2倍和变量的平方。C语言中的变量应当声明再使用。
在使用printf()函数打印时可以直接使用乘法算式,也可以先计算结果,并保存在变量中,然后再打印.
#include<stdio.h>
int main(void)
{
	int toes;
	toes = 10;
	printf("The Variable toes = %d.\n", toes);
	printf("double toes = %d\n", 2*toes);
	printf("toes square = %d.\n", toes * toes);
	return 0;
}

运行结果:

The Variable toes = 10.
double toes = 20.
toes square = 100.
8、很多研究表明微笑益处多多。编写一个程序,生成以下格式的输出。
Smile!Smile!Smile!
Smile!Smile!
Smile!
该程序要定义一个函数,调用该函数打印一次"Smile!",根据程序的需要使用该函数
分析:
程序功能是实现指定格式的打印,考虑到函数调用一次只能打印一个"Smile!",
输出格式中一行内的"Smile!"个数不相同,因此换行需要在main()函数中单独控制
int smlie(void);
#include<stdio.h>
int main(void)
{
	smlie(); smlie(); smlie();
	printf("\n");
	smlie(); smlie();
	printf("\n");
	smlie();
	printf("\n");
	return 0;
}
int smlie(void)
{
	printf("Smile!");
	return 0;
}

运行结果:

Smile!Smile!Smile!
Smile!Smile!
Smile!
9、在C语言中,一个函数可以调用另一个函数。编写一个程序,用于调用一个名为one_three()的函数,
该函数打印一行"One",再调用另一个函数two(),然后在另一行打印单词"three"。
two()函数打印一行"two",
main()函数在调用one_three()函数前要打印短语"Staring now:",并在调用完毕后显示短语"Done!"
输出如下:
Staring now:
one
two
three
Done!
分析:
除main()函数之外,程序内还有两个函数——one_three()和two()。two()函数只打印单词"two",
one_three()函数内通过调用two()函数,打印one、two、three这3个单词。其它部分在main()函数内实现。
#include<stdio.h>
int one_three(void);	//函数的声明
int two(void);
int main(void)
{
	printf("Staring now:\n");
	one_three();
	printf("Done!");
	return 0;
}
int one_three(void)
{
	printf("one\n");
	two();
	printf("three\n");
	return 0;
}
int two(void)
{
	printf("two\n");
	return 0;
}

运行结果:

Staring now:
one
two
three
Done!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄金圣手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值