Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1270777
  • 博文数量: 160
  • 博客积分: 4132
  • 博客等级: 中校
  • 技术积分: 2086
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-06 21:56
文章分类

全部博文(160)

文章存档

2012年(25)

2011年(120)

2010年(15)

分类: C/C++

2011-02-22 18:54:56

3月26号是二级C的考试,而且通过毕设 发现自己c语言细节欠缺太多,
所以呢 趁考试之前这几天,打算把前些天书市上买的一本“C语言程序设计”看完。
主要目的是查漏补缺,熟悉细节吧。
这书不是谭老那本,是科学出版社的。下午兴致冲冲看完一章 写完一章的习题以后,发现网上居然没有答案……
本来不想看了,不过转念一想 反正只为复习 只为出结果,没有答案正好每道题到自己写呗。


一:
选择有个题问叙述错误的是:B.c语言关键字必须小写 D.c语言标识符必须小写
查了一下:所谓关键字只有32个,又叫保留字,都是库里定义好的 显然只有小写
  1. 由ANSI标准定义的C语言关键字共32个
  2. 1 数据类型关键字(12个):
  3. (1) char :声明字符型变量或函数
  4. (2) double :声明双精度变量或函数
  5. (3) enum :声明枚举类型
  6. (4) float:声明浮点型变量或函数
  7. (5) int: 声明整型变量或函数
  8. (6) long :声明长整型变量或函数
  9. (7) short :声明短整型变量或函数
  10. (8) signed:声明有符号类型变量或函数
  11. (9) struct:声明结构体变量或函数
  12. (10) union:声明联合数据类型
  13. (11) unsigned:声明无符号类型变量或函数
  14. (12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)
  15. 各种类型在内存中占的字节数有变化,如《c程序设计》第二版上说int 型占16比特数,但对于一个32位机来说,int型已经占32比特数了。
  16. (2)控制语句关键字(12个):
  17. A循环语句
  18. (1) for:一种循环语句(可意会不可言传)
  19. (2) do :循环语句的循环体
  20. (3) while :循环语句的循环条件
  21. (4) break:跳出当前循环
  22. (5) continue:结束当前循环,开始下一轮循环
  23. B条件语句
  24. (1)if: 条件语句
  25. (2)else :条件语句否定分支(与 if 连用)
  26. (3)goto:无条件跳转语句
  27. C开关语句
  28. (1)switch :用于开关语句
  29. (2)case:开关语句分支
  30. (3)default:开关语句中的“其他”分支
  31. D
  32. return :子程序返回语句(可以带参数,也看不带参数)
  33. 3 存储类型关键字(4个)
  34. (1)auto :声明自动变量 一般不使用
  35. (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量)
  36. (3)register:声明积存器变量
  37. (4)static :声明静态变量
  38. 4 其它关键字(4个):
  39. (1)const :声明只读变量
  40. (2)sizeof:计算数据类型长度
  41. (3)typedef:用以给数据类型取别名(当然还有其他作用
  42. (4)volatile:说明变量在程序执行中可被隐含地改变
所谓标识符是指常量、变量、语句标号以及用户自定义函数的名称。 Turbo C  
2.0标识符的定义十分灵活。作为标识符必须满足以下规则:  
1. 所有标识符必须由一个字母(a~z, A~Z)或(_)开头;  
2. 标识符的其它部分可以用字母、下划线或数字(0~9)组成;  
3. 大小写字母表示不同意义, 即代表不同的标识符;  
4. 标识符只有前32个字符有效;  
5. 标识符不能使用Turbo C2.0的关键字。  


二:程序题:
第一道是输出:一圈星号 里边是welcome world,这个略了吧

第二道是输入3个数,将最小的输出
  1. #include <stdio.h>

  2. int min(int x,int y,int z)
  3. {
  4.     int temp,temp1;
  5.     if (x>y) temp=y;
  6.     else temp=x;

  7.     if (temp>z) temp1=z;
  8.     else temp1=temp;

  9.     return temp1;
  10. }

  11. void main()
  12. {
  13.     int a,b,c,res;
  14.     printf("input 3 numbers\n");
  15.     scanf("%d,%d,%d",&a,&b,&c);
  16.     res=min(a,b,c);
  17.     printf("res=%d",res);

  18. }
写程序时 犯的错误:
1)main()的类型最初我没写,VC++强制要求成void,确实void严谨
2)else拼错了一次 编译出错才看出来……
3)scanf()地址符中间 有个逗号不小心按成句号了


继续下一章吧,这样多写几个程序没坏处,到写不出来了 再去翻谭老的书 更是一种收获




阅读(2973) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~

jeung2011-08-11 08:55:48

sillyboytao: 恩 跟谭老写的差挺远的,不过习题什么的还算是针对考试 我就当是为做课后题了,开学再去研究好的二级c的书 哈哈.....
你误会了,我说的“那种书”就是指谭浩强的那本
如果只是混2级看什么都无所谓,要是想学好推荐看K&R的那本

sillyboytao2011-02-23 19:57:52

jeung: 那种书说不上好,我觉得它根本就不能算是C语言的教材,只能算是编程启蒙.....
恩 跟谭老写的差挺远的,不过习题什么的还算是针对考试 我就当是为做课后题了,开学再去研究好的二级c的书 哈哈

jeung2011-02-23 19:16:39

那种书说不上好,我觉得它根本就不能算是C语言的教材,只能算是编程启蒙