调试程序
编写一个简单的 C 程序时,可能会犯一些简单的错误。程序的错误通常叫做 bug,找出并修正错误的过程叫做调试(debug)。
简单的C程序格式
#include <stiod.h>
int main(void) {
语句
return 0;
}
(大部分语句都以分号结尾。)
c程序的函数调用
#include <stdio.h>
void jolly(void); /* ANSI/ISO C函数原型 */
void deny(void);
int main(void){
jolly(); /* 函数调用 */
jolly();
jolly();
deny();
return 0;
}
void jolly(void){ /* 函数定义开始 */
printf("For he's a jolly good fellow!\n");
return ;
}
void deny(void){
printf("Which nobody can deny!\n");
return ;
}
课后复习题
1.C语言的基本模块是什么?
函数
2.什么是语法错误?写出一个英语例子和C语言例子。
语法错误违反了组成语句或程序的规则。这是一个有语法错误的英文 例子:Me speak English good.。这是一个有语法错误的C语言例子: printf"Where are the parentheses?";。
3.什么是语义错误?写出一个英语例子和C语言例子。
语义错误是指含义错误。这是一个有语义错误的英文例子:This sentence isexcellent Czech.[1] 。这是一个有语义错误的C语言例子: thrice_n = 3 + n;[2] 。
4.假设下面的4个例子都是完整程序中的一部分,它们都输出什么结 果?
a. printf("Baa Baa Black Sheep."); printf("Have you any wool?\n");
b. printf("Begone!\nO creature of lard!\n");
c.printf("What?\nNo/nfish?\n");
d.int num; num = 2; printf("%d + %d = %d", num, num, num + num);
a.Baa Baa Black Sheep.Have you any wool?(注意,Sheep.和Have之间 没有空格)
b.Begone!
O creature of lard!
c.What?
No/nfish? (注意斜杠/和反斜杠\的效果不同,/只是一个普通的字符,原样打印)
d.2 + 2 = 4 (注意,每个%d与列表中的值相对应。还要注意,+的意思是加法,可 以在printf()语句内部计算)
5.在main、int、function、char、=中,哪些是C语言的关键字?
关键字是int和char(main是一个函数名;function是函数的意思;=是一个运算符)。
6.如何以下面的格式输出变量words和lines的值(这里,3020和350代表 两个变量的值)?
There were 3020 words and 350 lines.
printf("There were %d words and %d lines.\n", words, lines);