收藏 分享(赏)

C程序设计复习资料44955.doc

上传人:dreamzhangning 文档编号:2687244 上传时间:2018-09-25 格式:DOC 页数:15 大小:150KB
下载 相关 举报
C程序设计复习资料44955.doc_第1页
第1页 / 共15页
C程序设计复习资料44955.doc_第2页
第2页 / 共15页
C程序设计复习资料44955.doc_第3页
第3页 / 共15页
C程序设计复习资料44955.doc_第4页
第4页 / 共15页
C程序设计复习资料44955.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、C 程序设计复习要点第一章 概述1. C 程序的构成与结构特点2. C 程序上机调试过程与流程第二章 数据类型、运算量与表达式1. 数据类型的种类(基本数据类型和构造数据类型)2. 常量的数据类型及其表示(表示方法、存储字节数与表数范围)整、实、字符、字符串和转义字符3. 变量的命名、定义方法与赋初值4. 各种表达式及其运算规则优先级、结合性、类型自动转换与强制转换 算术运算符、表达式及其构造(注意“/”和“%”特殊性) 自增、自减运算符及其简单表达式运算 赋值运算符及其表达式(注意复合赋值运算符的运算方法) 逗号运算符及其表达式第三章 流程控制1. 赋值语句的一般形式、赋值过程及赋值规则(注

2、意左右数据类型的一致或兼容)2. 输入和输出函数的格式、功能及用法(只要求常用的格式控制符 d, f, c, s),提醒注意: 格式输出中域宽和小数位数的控制 格式输入与输出中普通字符的原样输入和输出问题 熟悉并区别以下函数:putchar()、printf()、puts() ;getchar() 、scanf()、gets()3. 关系运算符及其表达式、逻辑运算符及其表达式和条件运算符及其表达式的运算规则(优先级、结合性)4. 关系表达式与逻辑表达式的构造(根据已知条件写表达式)5. if 语句的三种形式:if 语句、if else 语句、 if 语句的嵌套 if 语句的格式与用法:简单 i

3、f、嵌套 if、并列 if 逻辑关系与执行过程 嵌套规则(重点掌握 if else if else if else)6. switch 语句的格式与用法7. *熟练使用 if 和 switch 语句阅读和编写较为简单的选择结构程序8. 三种循环语句:while() 、do while()、for() 的格式、执行过程及其用法 循环变量初始化、循环条件构造、循环体所要实现的任务和控制变量修改 注意循环期间与结束时循环控制变量的取值问题9. 结合例题理解和区别 break 与 continue 语句的作用及其用法10. 本章涉及的主要算法:累加(计数)、累乘、递推、穷举、判素数、求最大公约与最小公

4、倍等11. *熟练使用三种循环语句并结合以上算法阅读和编写较为简单的循环结构及其嵌套程序第四章 复杂数据类型1. 一维、二维数组的定义、初始化及其引用方法(数据输入、输出、存储与处理)2. 字符数组的定义、初始化及其引用(字符串输入、输出、存储与处理)3. 常用字符串处理函数:gets()、puts() 、strlen()、strcmp() 、strcpy()4. 数组涉及的主要算法:排序、极值、逆序、回文和字符串的连接、复制、求长度等5. *熟练使用数组并结合以上算法阅读和编写较为简单的程序6. 指针的概念:指针、指针变量、指针运算(、 B)x=n%2.5; C)x+n=j; D)x=5=4

5、+1;12. 设有定义:int k=0; 以下选项的四个表达式中与其他三个表达式的值不相同的是 【 】A)k+ B)k+=1 C)+k D)k+113. 若有代数式:以下错误的 C 语言表达式是 【 】A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*314. 设变量 a 是整型,f 是实型,i 是双精度型,则表达式 10+a+i*f 值的数据类型为 【 】A)int B)float C)double D)不确定15. 若 p 和 x 已经正确定义,x 已赋值,并且 p= B)printf(“%s“,str);C)printf(“%s“,str); D

6、)putchar(str);18. 有输入语句:scanf(“%d,%d“,为使变量 a、b 分别为 5 和 3,从键盘输入数据的正确形式为 【 】A)5 3 B)5,3 C)a=5 b=3 D)a=5,b=319. 定义如下变量和数组:int j;int x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是 【 】for(j=2; j=0; j-)printf(“%2d“,xj2-j);A)1 5 9 B)1 4 7 C)7 5 3 D)3 6 920. 执行下面程序后,a 的值是 【 】#define SQR(x) x*xvoid main( ) int a=10,k=2,m

7、=1;a=SQR(k+m);printf(“%dn“,a);A)10 B)5 C)2 D)121. 简单 if 语句的基本形式:if(表达式)语句。其中“表达式” 【 】A)必须是逻辑表达式 B)必须是关系表达式C)必须是逻辑表达式或关系表达式 D)可以是任意合法的表达式22. 在嵌套使用 if 语句时,C 语言规定 else 总是 【 】A)和之前与其具有相同缩进位置的 if 配对 B)和之前与其最近的 if 配对C)和之前与其最近的且不带 else 的 if 配对 D)和之前的第一个 if 配对23. 下列叙述中正确的是 【 】A)break 语句只能用于 switch 语句B)在 swi

8、tch 语句中必须使用 defaultC)break 语句必须与 switch 语句中的 case 配对使用D)在 switch 语句中,不一定使用 break 语句24. 有以下程序段:x=-1;dox=x*x;while(!x);执行时,循环体执行的次数为 【 】A)0 B)1 C)2 D)不确定25. 以下不正确的 if 语句形式是 【 】A)if(xy B)if(x=y) x+=y;C)if(x!=y) scanf(“%d“, D)if(x6) n-;printf(“%3d”,n);以上程序段输出结果是 【 】A)10 9 8 B)9 8 7 C)10 9 8 7 D)9 8 7 64

9、6. 若 i,j 已定义为 int 型,则以下程序段中内循环总的执行次数是 【 】for (i=5; i0; i-)for (j=1; j,错误的描述是 【 】A)它是 C 语言的预编译命令 B)在程序中该行尾部不需要分号C)用于将 math.h 包含进来 D)math.h 是一个函数51. 下列 C 程序段的输出结果是 【 】int a=0;switch(a) case 0: printf(“a=0”);case 1: printf(“a=1”);default: printf(“default”);A)a=0 B)a=0default C)a=0a=1default D)default52

10、. 已知:int a, x, y; 有语法错误的 C 语句是 【 】A)while(x) y+; B)while(x+y=0) a+;C)while(xstruct ord int x,y; dt2=1,2,3,4;void main() struct ord *p=dt;printf(“%d,”,+p-x); printf(“%dn”,+p-y);程序的运行结果是 【 】A)1,2 B)2,3 C)3,4 D)4,158. 设有以下定义:union data int d1; char d2; demo;则下面叙述中错误的是 【 】A)变量 demo 与成员 d2 所占的内存字节数相同B)变量

11、 demo 中各成员的地址相同C)变量 demo 和各成员的地址相同D)若给 demo.d1 赋 99 后, 则 demo.d2 中的值也是 9959. 设 fp 为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof(fp)的返回值为 【 】A)EOF B)非 0 值 C)0 D)NULL60. 读取二进制文件的函数调用形式为:fread(buffer,size,count,fp); 其中 buffer 代表的是 【 】A)一个文件指针,指向待读取的文件B)一个整型变量,代表待读取的数据的字节数C)一个内存块的首地址,即读入数据存放的地址D)一个内存块的字节数61. C 语言编译系统

12、对宏命令的处理是【 】进行的。A)在程序运行时 B)与源程序中的其他语句同时C)在程序连接时 D)在对源程序中的其它成分正式编译之前62. 若要用 fopen 函数打开一个新的二进制文件,既能读也能写,则打开方式是 【 】A)rb+ B)wb+ C)ab+ D)ab二、填空题1. 赋值表达式 x*=y+5 的另一种书写形式为_。2. 已知 a=10,b=20,c=3,则表达式!ab | c 的值为_。3. 表达式(int)(double)(5/2)+2.5)的值是_。4. 若 j=3,则表达式 (+j)+(j+)的值为_。5. 若 a 的原值为 4,则表达式“a*=a-=3”运算后,a 的值是

13、 _。6. 若 a=5、b=3、c=1,则表达式“abc”的值为_。7. 若有定义:int a=7;float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2/4 的值为_。8. 整数 m 既能被 3 整除又能被 4 整除的逻辑表达式为_。9. 写出代数式 0void main( ) char ch;ch=getchar( );if (_) ch+=32;printf(“%c”, ch);2. 下面程序的功能是:求 1100 间的偶数和。#include void main( ) int num, sum=0;for (num=2; numvoid main( ) in

14、t i, n;scanf(“%d”,for (i=2; _; i+)if (n%i=0) break;if (_)printf(“%d is a prime number.n”, n);elseprintf(“%d is not a prime number.n”, n);5. 如下程序实现字符串逆序。#include #include void main() char *p1, *p2, c, s50;scanf(“%s”, s);p1=s, p2=s+strlen(s)-1;for(; ; p1+, p2-);printf(“The new string is %sn”, s);6. 如下

15、程序判断字符串是否回文。#include #include void main() char *p1, *p2, c, s50;gets(s);p1=s;p2=_;for(; p1void main( ) int temp, m, n, x;printf(“Enter two numbers:n“);scanf(“%d,%d“, if (m#include void main( ) _;char str20;printf(“请输入字符串:n“);scanf(“%s“, str);_;printf(“排序结果:n“);puts(str );void sort(char *s) int i, j,

16、 n;char c;n=_;for(i=0; ivoid main()int i,data20=0,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,0 ;int count10=_;for(i=0; ivoid main()int a10,x,*p,*q;printf(“请输入十个整数:n“);for(p=a;pvoid main( ) char ch;int cnt1=0,cnt2=0;while (ch=getchar( )!=n)if (ch=aint a=0,1,2,3,4,5,6,7,8,9;for(i=0, j=9; i#include void main(

17、 ) char str1=“good“,str2=“morning“;int i, j;for(i=strlen(str1),j=0;str2j!=0; i+, j+)str1i=str2j;str1i=0;printf(“string1=%s“,str1);运行结果:_4. #include void main( ) int i, j, pos;float val, a10;for(i=0; ival) val=aj, pos=j;printf(“Max=%f,position:%d“, val, pos);本程序的功能是:_5. #include float average(int x,

18、int n) int i;float sum=0;for(i=0;ivoid main( ) char grade;scanf(“%c”, switch (grade) case A: printf(“85100n“); break;case B: printf(“7084n“); break;case C: printf(“6069n“); break;case D: printf(“void main( ) int a5=2,5,3,7,6, i, j, t;for (i=0; iaj) t=ai, ai=aj, aj=t;for (i=0; ivoid fun( )auto int b=

19、0;static int c=4;b+, c+;priintf(“b=%d c=%dn“, b, c);void main( )int i;for (i=0; i#include void main() char *p1, *p2, c, s50;gets(s);p1=s; p2=s+strlen(s)-1;for(; p1void main() int fun(char *p);char str80;gets(str);printf(“LEN=%dn”, fun(str);int fun(char *p) int n=0;while(*p+) n+;return(n);此程序的功能是:_五、

20、按要求编程1. 编程计算 1!+2!+3!+20!。2. 统计由键盘输入的任一字符串中字母、数字和空格的个数。3. 编写程序找出 1100 之间的素数,并统计素数的个数。4. 从键盘输入 10 个数,找出最大值与最小值,并计算它们的平均值。5. 将键盘输入的任意字符串进行逆序并输出。6. 判断由键盘输入的字符串是否为回文。7. 找出所有三位数中的水仙花数(各位数字的立方和恰好是本数)。8. 已知 Fibonacci 数列的前两项为 1,其后各项为前两项之和。用递归函数输出此数列的前 20 项,每行输出 10 个数。9. 写一个函数求两个整数的最小公倍数,函数原型为:int gb(int m, int n),在主函数中从键盘输入两个整数,然后调用 gb()函数,并输出结果。10. 打印杨辉三角形(10 行)。要求:使用二维数组和循环语句实现。11 11 2 11 3 3 1

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报