栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

<C和指针> | 【02】基本概念,附电子书免费啊!!!!

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

<C和指针> | 【02】基本概念,附电子书免费啊!!!!

前言

以下练习是在阅读《C和指针》第二章基本概念的时候整理的,仅供大家参考,若有误,希望能在评论区中指出,谢谢

文章目录
    • 前言
      • 1. 在C语言中,注释不允许联套。用注释来“注释掉”一段语句会导致什么结果?
      • 2. 把一个大型程序放入一个单一的源文件中有什么优点?有什么缺点?
      • 3.你需要用printf打印出下面这段文本(包括两边的双引号)。你应该使用什么样的字符串常量参数?
      • 4. 40的值是多少?100、x40、x100、123、x0123 的值又分别是多少?
      • 5. 下面这条语句的结果是什么?
      • 6. 下面的声明存在什么错误(如果有的话)?
      • 7. 是非题:因为C(除了预处理指令之外)是一种自由形式的语言,唯一规定程序应如何编写的规则就是语法规则,所以程序实际看上去的样子无关紧要。
      • 8. 假定你有一个C程序,它的main函数位于文件main.c, 它还有一些函数位于文件list.c和report.c。在编译和链接这个程序时,你应该使用什么命令?
      • 9. 接上题,如果你想使程序链接到 parse 函数库,你应该对命令作何修改?
      • 10. 假定你有一个C程序,它由几个单独的文件组成,而这几个文件又分别包含了其他文件,如果你对单独一个源文件进行修改,则应该用声明命令来进行重新编译,如何对头文件进行修改又该用什么命令来进行编译?
      • 11. 编写一个程序,它从标准输入读取 C源代码,并验证所有的花括号都正确地成对出现。注意:你不必担心注释内部、宇符串常量内部和字符常量形式的花括号
      • end. 电子书下载链接

1. 在C语言中,注释不允许联套。用注释来“注释掉”一段语句会导致什么结果?

会导致程序出错无法运行。

2. 把一个大型程序放入一个单一的源文件中有什么优点?有什么缺点?

优点:

  • 1.连接时间短;
  • 2.避免了重复定义的错误;
  • 3.避免了声明;

缺点

  • 1.难以阅读与维护;
  • 2.对文件的一点改动,都需要重新编译这个大文件,这时比分成几个小文件后,只重新编译有改动的文件的编译时间长
3.你需要用printf打印出下面这段文本(包括两边的双引号)。你应该使用什么样的字符串常量参数?
"Blunder??!??"
#include
#include

void main(){
	char *arr = "Blunder??!??";

	printf(""%s"n", arr);
	getchar();
}
4. 40的值是多少?100、x40、x100、123、x0123 的值又分别是多少?
#include
#include

void main(){
	printf("40n");		// 空白
	printf("100n");		// @
	printf("x40n");		// 空白
	// printf("x100n");	// 过于庞大无法打印
	printf("123n");		// 3
	// printf("x0123n");	// 过于庞大无法打印
}


5. 下面这条语句的结果是什么? 6. 下面的声明存在什么错误(如果有的话)?
int Case, If, While, stop, stop;

标识符不能于关键字重名;

7. 是非题:因为C(除了预处理指令之外)是一种自由形式的语言,唯一规定程序应如何编写的规则就是语法规则,所以程序实际看上去的样子无关紧要。

否。需要保持程序的可读性,便于后期的维护,甚至有时候为了可读性可牺牲程序的效率;

8. 假定你有一个C程序,它的main函数位于文件main.c, 它还有一些函数位于文件list.c和report.c。在编译和链接这个程序时,你应该使用什么命令?

gcc main.c list.c report.c -o main

9. 接上题,如果你想使程序链接到 parse 函数库,你应该对命令作何修改?

gcc main.c list.c report.c -lparse -o main

10. 假定你有一个C程序,它由几个单独的文件组成,而这几个文件又分别包含了其他文件,如果你对单独一个源文件进行修改,则应该用声明命令来进行重新编译,如何对头文件进行修改又该用什么命令来进行编译?
  • Borland C/C++编译器的Windows集成开发环境在各个文件中寻找这些关系并自动只编译那些需要重新编译的文件。
  • UNIX系统有一个称为make的工具,用于执行相同的任务。但是,要使用这个工具,你必须创建一个 makefile ,它用于描述各个文件之间的关系。
11. 编写一个程序,它从标准输入读取 C源代码,并验证所有的花括号都正确地成对出现。注意:你不必担心注释内部、宇符串常量内部和字符常量形式的花括号

#include
#include
#include
#include



int main(int argc, char *argv[]){
	if(argc < 1){
		std::cout << "input error" << std::endl;
		exit(-1);	
	}
	char r_arr[100] = {0};
	int i=0;
	
	FILE *fp = fopen(argv[1], "r");
	char ch;
	while((ch = fgetc(fp)) != EOF){
		if(ch == '{'){
			r_arr[i] = '{'; // }
			std::cout << "出现一次左边 i=" << i << std::endl;
			i++;
		}
		if(ch == '}'){
			if(r_arr[i-1] == '{'){ // }
				r_arr[i-1] = 0;
				std::cout << "出现一次右边 i=" << i << std::endl;
				i--; 
			}
		}
	}
	std::cout << "ret: " << i << "len:" << strlen(r_arr) << std::endl;
	return 0;
}

end. 电子书下载链接
链接:https://pan.baidu.com/s/1rdALCEEzwVHEhPCzKJgZfA 
提取码:o3i9 
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/311567.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号