C语言分章节知识点及典型试题

更新时间:2023-11-29 12:47:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

程序设计语言C复习 第一章 数据类型与表达式

一.知识点

1.C语言的特点:①语言简洁、紧凑,使用方便、灵活; ②运算符丰富;

③数据结构丰富; ④具有结构化控制语句; ⑤语法限制不太严格,程序设计自由度大;

⑥可以进行位操作,能实现汇编语言的大部分功能,能直接对硬件进行操作; ⑦生成的目标代码质量高,程序执行效率高; ⑧程序的移植性好。 2.C程序的组成:

⑴C程序是由函数构成的;

⑵一个函数包括函数的首部(即函数的第一行)和函数体(即花括号部分); ⑶函数体一般包括声明部分和执行部分;

⑷一个C程序总是从main函数开始执行,从main函数结束;

⑸C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上; ⑹每个语句和数据定义的最后必须有一个分号;

⑺C语言本身没有输入输出语句,是通过函数实现输入输出的; ⑻可以用/*??*/对C程序的任何部分作注释。

3.C语言程序的运行:源程序文件的扩展名为.c,目标程序文件的扩展名为.obj,可执行程序文件的扩展名为.exe。

4.C的数据类型:基本、构造、指针和空类型,char、int、short、long、unsigned、float、double、enum、struct、union、typedef。

5.常量与变量的概念,注意符号常量的定义与使用;

6.整型、实型、字符型常量的表示,注意整型常量的十进制、八进制、十六进制的书写。 7.变量的定义,C的标识符包括关键字、预定义标识符、用户定义标识符;用户定义标识符的可用字符为字母、数字、下划线,第一个字符为字母或下划线。

8.常见数据类型的取值范围,int为-32768~+32767,unsigned int为0~65535。 9.转义字符:\\n、\\t、\\b、\\r、\\f、\\\\、\\?、\\”、\\ddd、\\xhh

10.不同数值型数据的混合运算,低级类型转换为高级类型运算 11.C的运算符:注意结合方向和运算的优先级

12.算术运算符:+、-、*、/、%、++、--,注意自加、减运算符分前缀和后缀两种方式。其中前缀方式为先自加、减,后引用;后缀方式为先引用,后自加、减;运算符%要求运算量为整数,运算结果也为整数。注意除运算时,若运算量为整型时,其运算结果也是整型的规则。

13.赋值类运算符:=、+=、-=、*=、/=、%=,注意含义和数据类型的转换。 14.逗号运算符的使用,注意逗号运算符的运算规则。

二.练习 ㈠.填空题:

1.在TURBO C环境中用RUN命令运行一个C程序时,所运行的程序的后缀是 .exe 。 2.C语言源程序文件的后缀是 .c ,经过编译后,生成文件的后缀是 .obj ,经过连接

第 1 页 共 39 页

程序设计语言C复习 后,生成文件的后缀是 .exe 。

3.结构化程序由 顺序、 选择(分支) 、 循环 三种基本结构组成。 4.若k为整型变量且赋值11。请写出运算k++后表达式的值 11 和变量的值 12 。 5.若x为double型变量,运算x=3.2,++x后表达式的值 4.2 和变量的值 4.2 。 6.函数体由符号 { 开始,用符号 }结束。函数体的前面是 定义 部分,其后是 执行 部分。

7.C语言中的标识符可分为 关键字、 用户标识符 和预定义标识符三类。

8.在C语言程序中,用关键字 int 定义基本整型变量,用关键字 float定义单精度实型变量,用关键字 double 定义双精度实型变量。

9.把a1、a2定义成单精度实型变量,并赋初值1的定义语句是 float a1=1.0,a2=1.0;。 10.C程序中定义的变量,代表内存中的一个 存储空间。 11.表达式3.5+1/2的计算结果是 3.5。 12.写出数学表达式

a?b三个等价的C语言表达式 a*b/(c*d)、a /(c*d)*b、b/(c*d)*a。 c?d13.通常一个字节包含 8 个二进制位。

14.当计算机用两个字节存放一个整数时,能存放的最大(十进制)整数是216-1(65535)、最小(十进制)整数是 -215(-32768) 。

15.在C语言中整数可用 十 进制数、 八 进制数和 十六 进制数三种数制表示。

16.C语言中,int型数据占 2 个字节,long型数据占 4 个字节,unsigned int型数据占 2 个字节,short型数据占 2 个字节, float型数据占 4 个字节,double型数据占 8 个字节,char型数据占 1 个字节。

㈡.选择题:

1.组成C语言程序的是( )(C)。

A.子程序 B.过程 C.函数 D.主程序和子程序 2.以下叙述中正确的是( )(C)。

A.在C程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表示。 B.C程序由主函数组成。 C.C程序由函数组成。

D.C程序由函数和过程组成。

3.以下选项中正确的整型常量是( )(B)。

A.12. B.-20 C.1,000 D.4 5 6 4.以下选项中正确的实型常量是( )(D)。

A.0 B.3. 1415 C.0.329╳102 D..871 5.以下选项中不合法的用户标识符是( )(C)。

A._123 B.printf C.A$ D.Dim 6.C语言中运算对象必须是整型的运算符是( )(A)。 A.% B./ C.! D.*

7.可在C程序中用作用户标识符的一组标识符是( )(B)。

第 2 页 共 39 页

程序设计语言C复习 A.void B.as_b3 C.For D.2c define _123 -abc DO WORD If case SIG

8.若变量已正确定义并赋值,符合C语言语法的表达式是( )(B)。

A.a=a+7; B.a=7+b+c,a++ C.int(12.3%4) D.a=a+7=c+b 9.不合法的八进制数是( )(B)。

A.0 B.028 C.077 D.01 10.不合法的十六进制数是( )(A)(零X)。

A.oxff B.0Xabc C.0x11 D.0x19 ㈢.程序设计题:

1.编写一个C程序,输入a、b、c三个数,输出其中最大者。 #include void main() {int a,b,c,max;

printf(“input 3 num:\\n”);

scanf(“%d%d%d”,&a,&b,&c); max=a;

if(b>max)max=b; if(c>max)max=c; printf(“%d”,max); }

第二章 算法与顺序结构

一.知识点

1.算法:为解决一个问题而采取的方法和步骤。 2.算法的分类:数值算法、非数值算法。

3.算法的特点:有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性。

4.算法描述方法:自然语言、流程图、改进流程图、N—S流程图、伪代码、计算机语言。 5.C语句的类型:控制语句、函数调用语句、表达式语句、空语句、复合语句。 6.输入输出的概念:输入输出是相对主机而言,C语言是由函数来实现输入输出的。 7.字符数据的输入/输出:getchar()、putchar() 8.格式输入/输出:scanf()、printf()

9.printf的格式符:d、i,o,x、X,u,c,s,f,e、E,g、G;l,m,n,-。

10.scanf的格式符:d、i,o,x、X,u,c,s,f,e、E,g、G;l,m,*;&。注意输入数据时数据流的分隔符,系统默认的分隔符为空格、tab键和回车。 11.顺序结构的设计思想:声明变量、输入数据、处理、输出结果。

二.练习 ㈠.填空题:

第 3 页 共 39 页

程序设计语言C复习 1.以下程序段执行后的输出结果是:⑴ -200 2500 ⑵ i=-200,j=2500⑶ 。

int i=-200,j=2500; printf(“⑴ %d %d”,i,j); printf(“⑵ i=%d,j=%d\\n”,i,j); printf(“⑶ i=%d\\n j=%d\\n”,i,j);

2.复合语句在语法上被认为是 一条语句。空语句的形式是 ; 。 3.C语句的最后用 ;结束。

4.以下程序段的输出结果是 x= 127,x= 177,x= 7f,x= 127 。

int x=0177;printf(“x=m,x=%6o,x=%6x,x=%6u\\n”,x,,x,x,x);

5.以下程序段的输出结果是 a=513.789215,a= 513.79,a=513.78921500,a= 531.78921500。

double a=513.789215; printf(“a=%8.6f,a=%8.2f,a=.8f,a=.8lf\\n”,a,a,a,a); 6.以下程序段的输出结果是 8,3 。

a=3+5,a*4;x=11/3;printf(“%d,%%d\\n”,a,x);

7.以下程序输入三个整数值给a、b、c,程序把b中的值给a,把c中的值给b,把a中的值给c,交换后输出a、b、c的值。请填空:

#include main()

{ int a,b,c, m ; printf(“Enter a,b,c:”); scanf(“%d,%d,%d”, &a,&b,&c); m=a ;a=b;b=c; c=m ; printf(“a=%d,b=%d,c=%d\\n”,a,b,c);}

8.以下程序不借助任何变量把a、b中的值进行交换。请填空:

#include main() { int a,b; printf(“Input a,b:”); scanf(“%d,%d”, &a,&b); a+= b ;b=a- b ;a=a- b ; printf(“a=%d,b=%d\\n”,a,b);}

㈡.选择题:

1.若a、b、c、d都是int型变量且初始值为0,下列不正确的赋值语句是( )(C)。 A.a=b=c=100; B.d++; C.c+b; D.d=(c=22)-(b++); 2.以下选项中不是C语句的是( )(C)。 A.{int i;i++;printf(“%d\\n”,i);} B.; C.a=5,c=10 D.{ ;}

第 4 页 共 39 页

程序设计语言C复习 3.以下合法的C语言赋值语句是( )(D)。 A.a=b=58 B.k=int(a+b); C.a=58,b=58 D.--i; 4.以下程序的输出结果是( )(C)。

A.0 B.1 C.3 D.不确定的值

main()

{ int x=10,y=3; printf(“%d\\n”,y=x/y);}

5.若变量已正确说明为int类型,要给a、b、c输入数据,正确的输入语句是( )D。 A.read(a,b,c); B.scanf(“%d%d%d”,a,b,c); C.scanf(“%D%D%D”,&a,&b,&c); D.scanf(“%d%d%d”,&a,&b,&c); 6.若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是( )C。 A.a=a+b,b=a-b,a=a-b; B.t=a,a=b,b=t; C.a=t;t=b;b=a; D.t=b;b=a;a=t;

7.若变量已正确定义,以下程序段的输出结果是( )D。 A.输出格式说明与输出项不匹配,输出无定值

B.5.1700 C.5.16800 D.5.16900

x=5.16894;printf(“%f\\n”,(int)(x*1000+0.5)/(float)1000); 8.执行以下程序段后,c3中的值是( )A。

A.0 B.1/2 C.0.5 D.1

int c1=1,c2=2,c3;c3=c1/c2;

9.执行以下程序段后,其输出结果是( )B。

A.0,0,-10 B.0,0,3 C.-10,3,-10 D.3,3,-10

int a=0,b=0,c=0; c=(a-=a-5),(a=b,b+3); printf(“%d,%d,%d\\n”,a,b,c); 10.以下程序的输出结果是( )D。

A.a=%2,b=%5 B.a=2,b=5 C.a=%%d,b=%%d D.a=%d,b=%d

main()

{ int a=2,b=5; printf(“a=%%d,b=%%d\\n”,a,b);} 11.若int型占两个字节,以下程序段的输出是( )D。

A.-1,-1 B.-1,32767 C.-1,32768 D.-1,65535

int a=-1;printf(“%d,%u\\n”,a,a); 12.以下程序段的输出结果是( )C。

A.|3.1415| B.| 3.0| C.| 3| D.| 3.|

float a=3.1415;printf(“|%6.0f|\\n”,a); 13.以下程序段的输出结果是( )B。

A.9 8 B.8 9 C.6 6 D.以上三个都不对

#include main()

{ double a=-3.0,b=2; printf(“%3.0f %3.0f\\n”,pow(b,fabs(a)),pow(fabs(a),b));}

第 5 页 共 39 页

本文来源:https://www.bwwdw.com/article/pxjt.html

Top