1 / 28

C 语言程序设计 复习 (1)

C 语言程序设计 复习 (1). 一、C语言概述. C 程序特点: 所有的C程序都是由一个或多个函数组成的程序模块构成。 程序中,只有一个名为 main( ) 的主函数。 不论 main( ) 函数放在程序的任何位置,程序总是从 main( ) 开始执行。. C程序开发和运行:. 编辑:使用一个文本编辑器编辑C语言源程序,其文件扩展名为“ .c” 。 编译:使用一个C语言编译系统对源程序进行语法检查和翻译,生成同名的“ .obj” 目标文件。 链接:将目标文件和库函数等链接在一起形成一个“ .exe” 可执行文件。

maggy-howe
Download Presentation

C 语言程序设计 复习 (1)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. C语言程序设计复习 (1)

  2. 一、C语言概述 C程序特点: • 所有的C程序都是由一个或多个函数组成的程序模块构成。 • 程序中,只有一个名为main( )的主函数。 • 不论main( )函数放在程序的任何位置,程序总是从main( )开始执行。

  3. C程序开发和运行: • 编辑:使用一个文本编辑器编辑C语言源程序,其文件扩展名为“.c”。 • 编译:使用一个C语言编译系统对源程序进行语法检查和翻译,生成同名的“.obj”目标文件。 • 链接:将目标文件和库函数等链接在一起形成一个“.exe”可执行文件。 • 执行:脱离C语言编译系统,可在操作系统下键入文件名直接运行。

  4. 二、C程序基础 1、标识符   由字母、数字和下划线组成;   由字母或下划线开头;   不能与关键字同名,大小写敏感。

  5. 2、基本数据类型 整型:     长度(字节)    长度(字节) int 2 unsigned int 2 short 2 unsigned short 2 long 4 unsigned long 4

  6. 例: int a,b,c; unsigned long d; a=123; /*十进制*/ b=045; /*八进制*/ c=0x3D8; /*十六进制*/ d=0773L; /*八进制长整型*/

  7. 实型:       长度(字节) float 4 double 8 字符型: char 1个字节 常用转义字符: ‘\n’ 换行 ‘\t’ 跳到下一个制表位 ‘\\’ 字符\ ‘\’’ 字符 ‘

  8. \“ 字符 \ddd 1到3位八进制数所代表的字符 \xhh 1到2位十六进制数所代表的字符 字符常量与字符串常量的区别: 例:‘a’ 与 ”a”

  9. 3、基本运算符和表达式 逻辑“非” ! 按位取反 ~ 优先级: 高 低 算术运算符:*/ % +- 位运算符:<< >> 关系运算符:< <= > >= == != 位运算符:& ^ | 逻辑运算符:&& ,|| 条件运算符:? : 赋值运算符  = 逗号运算符  ,

  10. 自增1,自减1运算符“++”,“--” 运算对象只能是整型、字符型和指针型。 例: int x=5, y ; y=x++; y为5,x为6 y=++x; y为6,x为6

  11. 三、输入输出与顺序结构程序设计 1、输入输出语句 printf( ); scanf();putchar();getchar(); 需使用:#include “stdio.h” 或 #include <stdio.h> 2、格式控制字符 printf(“格式控制字符”,变量);

  12. %m() ; m表示宽度,m>0,右对齐 m<0,左对齐m < 实际长度,原样输出;m >=实际长度,左或右填充空格; %mc 输出一个字符;a=‘x’; printf(‘%3c”,a); %md 十进制整型; b=15, printf(“%3d”,b); %mo 八进制整型; printf(“%o”,10); %mx(%mX) 十六进制整型;printf(“%4x,15”,); %mf 小数形式的单双精度数;printf(“%4f”,3.2); %mu 无符号十进制整型;printf(“%u”,-12); %ms 字符串; printf(“%4s”,”asdfgs”); %me 以指数形式表示实数。printf(“%.2e”,12.45);

  13. %m.n( ) m表示同前,n表示精度 %m.nf :取n位小数表示。 printf(“%8.3f\n”,123.45); printf(“%8.1f\n”,123.45); %m.ns :取字符串的前n位。 printf(“%5.4s”, “abcdefg”); %m.ne:小数部分取n位。 printf(“%.2e”,123.45);

  14. 3、scanf函数注意事项 • 数据输入规则: scanf(“%d%d%d”,&a,&b,&c); 输入数据以空格、回车键或 tab键分隔。 • 附加格式 %ld,%lo,%lx 用于输入长整型数据; %lf用于输入double型数据。 • 输入数据不能指定精度。 scanf(“%7.2f ”.&a); 不正确。

  15. 四、选择结构程序设计 双分支if语句 if(表达式) 语句1; else 语句2; • 单分支if语句 if(表达式) 语句; 多分支if语句 if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3; …… else if(表达式n) 语句n; else 语句n+1;

  16. if语句的嵌套 if (表达式1) if (表达式2) 语句1; else 语句2; else if(表达式3) 语句3; • 条件表达式 c=(a>b) ? a:b; c=a>b?a:b>2?b:4;

  17. switch语句 switch(表达式) { case 常量表达式1:语句1; case 常量表达式2:语句2; …… case 常量表达式n:语句n; default: 语句n+1; } 注意break的用法。

  18. 例题: 1、以下正确的C语言标识符是()。 A.%x B. a+b C.a123 D.test! 答案:C 2、C语言源文件的后缀是______,经过编译后生成文件的后缀是______,经过链接后生成的文件后缀是______。 答案:.C .obj .exe

  19. 3、设char ch,以下正确的赋值语句是()。 A. ch=‘123’ B. ch=‘\xff’ C. ch=‘\08’ D. ch=“\” 答案:B 4、若a=1, b=2, c=3, d=4,则条件表达式a<b?a:c<d?c:d的值为()。 A. 1 B. 2 C. 3 D. 4 答案:A

  20. 5、设 int m=1, n=2,则++m==n的结果是()。 A . 0 B. 1 C. 2 D.3 答案:B 6、int a=13; 求~a的值。 答案:-14

  21. 7、int a1, a2; char c1, c2; scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2); 若要求a1,a2,c1,c2的值分别为10、20、A、B,正确的数据输入是()。 A . 10A 20B<CR> B . 10 A 20 B<CR> C . 10 A20B<CR> D . 10A20 B<CR> 答案:A

  22. 8、改错 main() { int a; long b; scanf(“%d”, a); b=a*a*a*a; printf(“%d^4=%d\n”, a, b); } 答:scanf(“%d”,&a); printf(“%d^4=%ld\n”,a,b);

  23. 9、main() { int a; char b; a=123;b='b'; printf("%d\n",b>a); } 答:0假98>123

  24. 答: B -1 x<0 0 x=0 1 x>0 • y=-1; • if(x!=0) • if(x>0) y=1; • else y=0; 10、能够完成如下函数计算的程序段是()。 y= B.if(x>=0) if(x>0) y=1; else y=0; else y=-1; C. y=0; if(x>=0) if(x>0) y=1; else y=-1; D. y=-1; if(x>0) y=1; else y=0;

  25. 11、以下程序的执行结果是_______。 #include <stdio.h> main() { int a=2,b=7,c=5; switch(a>0) { case 1: switch(b<0) { case 1: printf(“@”);break; case 2: printf(“!”);break;} case 0: switch(c==5) {case 0: printf(“*”);break; case 1: printf(“#”);break; default: printf(“$”);break; } default:printf(“&”);} printf(“\n”);} 答:#&

  26. 、#include “stdio.h” • main() • { int a,b,c,d,x; • a=c=x=0; • b=1; • d=20; • if(a) d=d-10; • else if(!b) • if(!c) x=15; 答:d=20,x=0 else x=25; printf(“d=%d,x=%d”,d,x); }

  27. 13、设a=2,b=3,c,d,e; 执行 c=(a++>=--b); d=(a==++b); e=(a*=2+(b-=4);后, a,b,c,d,e的值分别为多少? 答:a=3,b=-1,c=1,d=1,e=3

  28. 14、设 int a=1,b=2,c=3;写出执行 a++||--b||++c后表达式的值和a,b,c的值。 答:表达式的值为1,a=2,b=2,c=3

More Related