K&R C
(Kernighan和Ritchie合写的C语言)
转义符 | 意义 |
---|---|
\a | 警告字符 |
\b | 退格键 |
\f | 进纸字符 |
\n | 换行符 |
\r | 回车符 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ddd | 三位八进制数字 |
\xddd | 两位十六进制 |
编程练习:
1.
编写一个程序,它由3个函数组成,每个函数分别保存在一个单独的源文件中。函数increment接受一个整形参数,它的返回值是该参数的值加1.。increment函数应该位于文件increment.c中。第2个函数称为negate,它也接受一个整形参数,它的返回值是该参数的负值(例如,若参数是25,函数返回-25;若参数是-612,函数返回612)。最后一个函数是main,保存于文件main.c中,它分别用参数10,0和-10调用另外两个函数,并打印出结果。
程序如下:
//increment函数
#include<stdio.h>
int increment(int x)
{
return x+1;
}
//negate函数
#include<stdio.h>
int negate(int y)
{
return -y;
}
//main函数
#include <stdio.h>
int increment(int x);
int negate(int y);
int main(){
printf("%d ",increment(10));
printf("%d ",increment(0));
printf("%d\n",increment(-10));
printf("%d ",negate(10));
printf("%d ",negate(0));
printf("%d\n",negate(-10));
return 0;
}
运行结果:
注: 每个程序分别保存在一个单独的源文件中。
2
编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确地成对出现。注意:你不必担心注释内部、字符串常量内部和字符常量形式的花括号。
代码如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int ch;
int braces= 0;
//逐字符读取程序
while ((ch = getchar()) != EOF)
{ //{始终合法
if (ch == '{')
braces++;
//}只有当它和一个{匹配时才合法
if (ch == '}')
{ if(braces==0)
printf("Extra closing brace!\n");
else
braces--;
}
//无更多输入,验证不存在任何未被匹配的{
if(braces>0)
printf("%d unmatched opening brace(s)!\n",braces);
return EXIT_SUCCESS;
}
}
运行结果:
注: 这里的左右大括号需要用英文输入。
最开始接触编程的时候觉得Dev比VC++6.0好用太多
现在才慢慢意识到,学校实验室电脑上安装VC++6.0也是有其一定道理的
当然,若要论炫酷拉风界面观感,VS肯定是要更胜一筹了。