C语言复习资料
   
第1章 C语言程序设计基础
1、程序是能被机器语言识别并执行的一系列的指令代码。程序设计语言一般分为机器语言、汇编语言和高级语言。
2、高级语言分为:面向过程的程序设计语言和面向对象的程序设计语言。如C语言和Pascal语言、Visual C++、Visual Basic等。
3、C语言的特点:
(1)语言简洁、紧凑,使用方便、灵活。(2)运算符丰富。(3)数据结构丰富,具有现代化语言的各种数据结构。(4)具有结构化的控制语句。(5)语法限制不太严格,程序设计自由度大。(6)C语言能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。(7)生产目标代码质量高,程序执行效率高。(8)程序可移植性好(与汇编语言比)。
4、main表示“主函数”。每个C语言程序都必须有一个(有且只有一个)main函数,它是每个C语言程序的执行起始点(入口点)。main()表示“主函数”main的函数头。
5、一个C源程序至少包含一个main函数,也就可以包含一个main函数和若干个其他函数。
  C程序中,所有语句都应该写在main中。(X)
5、源程序包含编辑、编译、链接与运行。编译就是将已编辑好的源程序(已存储在磁盘文件中)翻译成二进制的目标代码。后缀是.obj
6、C语言源程序文件后缀是_.c__。经过编译后生成文件的后缀是__.obj_,经过链接后生成文件的后缀是__.exe__。
第2章 C语言的数据类型与基本操作
1、字符串:用双撇号括起来的零个或多个字符系列。例:“A”是两个字节,‘A’是一个字节。“ ”表示一个空字符串,占用一个字节。
2、C语言主要关键字:(注意第一个字小写,可能会是考点)
  数据类型:char int float double void
  输入输出:scanf printf getchar putchar getch getche
  语句:if else switch case default break while for do continue goto return
  运算符:sizeof
3、关键字:由编译程序预定义的、具有固定的含义的、在组成结构上均由小写字母构成的标识符。
4、单目运算优先级最高
  单目运算:++、--、!、&
  双目运算:+、-、*、/、%、&&、||
  三目运算:a>b?a:b;
5、逻辑与(&&)运算表达式中,只要前面一个表达式被判定为“假”,系统不再判定其后表
达式,整个表达式的值为0.(同真则真)
  a=5;“0&&a++”;a=_5_
6、已定义“int x=4,b=5,y;”,执行语句;y=++x>b?x:b-->++x?++b:x后,x、b、y的值分别为__x=6,b=4,y=6_
7、分析下列逗号表达式的计算过程及结果
  (1)3+5,6*3    表达式的值是18。
  (2)a=(3+5,6*3)        a的值是18,此为赋值表达式。
  (3)a=3+5,6*3            a的值是8,表达式的值是18(先做赋值运算)
  (4)a=3+5,6*a            a的值是8,表达式的值是48。
  (5)(a=3+5,6*a),a+100  a的值是8,表达式的值是108。
8、当运算符的两端运算类型不一致的时候,储存值域窄的向值域宽的转换。
char ch;
int  i;
float f;
  (ch+i)/f的储存类型为:单精度
9、在C语言中,正确的int类型的常数是(D)
  A.-2U        B.059      C.3a      D.0xaf\
10、表达式5%(-3)的值是_2_,表达式-5%(-3)的值是_-2_(符号和左操作数相同)
11、执行下列语句后,a的值为 8 ; b的值为 8 ; c的值为10 。
int x=10,y=9;
int a,b,c;
a=(--x==y++)?--x:++y;
b=x++;
c=y;
12、P45(14、改编)有一下程序段,执行后k的值为___2___
int k=0,a=1,b=2,c=3;
k=a<b?b:a;
13、P46(6、改编)写出下列程序的输出结果。
main()
{  char c=65;
  printf(“%c,%d,%x\n”,c,c,c);
}
输出结果:A,65,41
第3章 顺序结构程序设计
1、为解决一个问题而采取的方法和步骤称为“算法”。
  C语言算法的特性:有穷性、确定性、有0个或多个输入(既可以没有输入,也可以有输入)、有1个或多个输出
  算法有两大要素:一是操作,另一是结构控制。
  结构控制三种基本结构:顺序结构、选择结构、循环结构。
2、常用的算法表示方法有自然语言、传统流程图、结构化流程图、N-S流程图、PAD图、伪代码及计算机语言。
3、
    起止框        处理框        判定框      输入输出框      流程线
4、常用方法自顶向下、逐步细化的设计过程
5、关于格式符号s的用法举例。
  main()
  {  printf(“%s\n”,“happyman”);
      printf(“%10s\n”,“happyman”);
      printf(“%-10s\n”,“happyman”);
      printf(“%8.5s\n”,“happyman”);
      printf(“%-8.5s\n”,“happyman”);
      return 0;
  }
程序运行结果如下:
  happyman    (一般格式输出)
switch函数用法举例
    happyman  (输出宽度10,在左端补2个空格)
  happyman    (输出宽度10,在右端补2个空格)
        happy  (取左端5个字符,输出宽度8,在左端补3个空格)
  happy        (取左端5个字符,输出宽度8,在右端补3个空格)
6、输入流数据分隔。scanf函数是从输入数据流中接收到非空的字符,再转换成格式项描述的格式,传送到与格式项对应的地址中去。
  根据格式字符的含义从输入流中取得数据。
  根据格式中指定的域宽分割出数据项
  用分隔符。空格、跳格符(‘\t’)、换行符(‘\n’)都是C语言认定的数据分割符
7、putchar()一般调用格式是:putchar(ch);
  功能:将变量ch的值输出到终端(显示器)设备上。
  getchar()函数一般调用格式是: getchar()
  功能:从终端(或制定输入设备)获取一个输入字符。
考题:将变量值输出到终端设备上的函数是putchar(ch);从终端获取一个输入字符的函数是 getchar()
8、x,y,z被定义为int,若从键盘给x,y,z输入数据,正确的输入语句是(B)
A、INPUTx、y、z                B、scanf(“%d%d%d”,&x,&y,&z);
C、scanf(“%d%d%d”,x,y,z);    D、read(“%d%d%d”,&x,&y,&z);
9、在scanf()函数的格式控制中,各式说明的类型与输入项的类型应该一一对应匹配,如果类型不匹配时,系统()。
A、不予接受            B、并不给出出错信息,但不可能得到正确数据
C、能接受正确输入      D、给出出错信息,不予接收输入
10、P71(15、改编)已知在ASCII码字符集中,字母A的序号为65,则下面程序输出结果为A,65
  #include“stdio.h
  main
  {  char c=‘A’
      printf(“%c,%d\n”,c,i);
      return 0;
}
11、P72(1、改编)下列语句的输出结果是:(1)  123.46,123 (2)1.23456E2
(1)float a=123.456;
printf(“%8.2f,%d\n”,a,(int)a);
(2)float a=123.456;
printf(“%e\n”,a);
12、P73(3、改编)分析程序的运行结果
main()
  int x=97;
  printf(%c,%s\n,...);
}
输出结果:a,...
第四章 选择结构程序设计
1、if(表达式)语句
2、if语句的嵌套:在if语句中又包含一个或多个if语句称为if语句的嵌套。
  if语句可以内嵌在if子句子中,也可以内嵌在else子句子中。应当注意if与else的配对关系,else总是与它上面最近的if配对。
3、switch语句执行时,系统首先求解表达式的值,当表达式的值与某个case后的常量表达式的值相等时,就开始执行该case后面的语句,而不再进行判断。如果所有的case后面的常量表达式的值都和表达式的值不匹配,系统就执行default后面的语句,如果省略了default语句,那将不做任何处理。
4、输入三个整数,输出最大数和最小数。
#include“stdio.h
  main()
{  int a,b,c,max,min;
    printf(请输入a,b,c的值\n);
    scanf(“%d,%d,%d”,&a,&b,&c);
    if(a>b)
  { 
    max=a;
    min=b;
  }
else
  {
    max=b;
    min=a;
  }
  if(max<c)
  {
    max=c;
  }
else
  {
    if(min>c)
  {
    min=c;
  }
  }
printf(max=%d\nmin=%d,max,min);
return 0;
}
5、以下关于switch语句和break语句的描述中,只有(B)是正确的。
A、在switch语句中必须使用break语句
B、在switch语句中,可以根据需要使用或不使用break语句
C、break语句只能用于switch语句中

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。