C与指针——基本概念

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肯定是要更胜一筹了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值