书签 分享 收藏 举报 版权申诉 / 8
上传文档赚钱

类型《C语言程序设计》课程重点、难点及例题分析参考模板范本.doc

  • 上传人(卖家):林田
  • 文档编号:5360067
  • 上传时间:2023-03-29
  • 格式:DOC
  • 页数:8
  • 大小:36KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《《C语言程序设计》课程重点、难点及例题分析参考模板范本.doc》由用户(林田)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    C语言程序设计 语言程序设计 课程 重点 难点 例题 分析 参考 模板 范本
    资源描述:

    1、C语言程序设计课程重点、难点及例题分析第一章 重点:(1)算法的特性;(2)简单算法的设计;(3)c程序的基本结构。难点:算法设计以及表示方法是本章的难点。算法在程序设计中占有重要的地位,是程序设计的灵魂。算法设计师程序设计必不可少的步骤。结构化的程序设计方法在其中起着重要的作用。用结构化程序设计方法设计算法可使编写的程序结构清晰,易于调试和修改。算法的表示有流程图、N-S图、PAD图以及伪代码等,图形表示使得程序的控制结构清晰。伪代码不能在计算机上执行。例题:1.1 C语言源程序的最小单位是: A 程序行B 语句C 函数D 字符【分析】程序行、语句和函数都是由字符构成的,字符是C语言最小单位

    2、。正确答案:【D】1.2 C语言源程序文件的后缀是 ,经过编译后生成文件的后缀是 ,经过连接后生成的文件后缀是 。【分析】文件的后缀即是文件的冠名,主要用来标示该文件的类型。C语言源程序文件的扩展命为”c”;经过编译后生成目标程序,其文件的扩展名为”obj”,目标程序必须经过连接生成可执行程序才能运行,其扩展名为”exe”,本题的答案分别是”c”、 ”obj”、 ”exe”。第二章 重点:(1)标示符的正确使用;(2)变量和常量的定义与应用;(3)C语言的各种基本数据类型及其标示方法;(4)C语言的各种运算符的优先级和结合性;(5)C语言表达式的运算以及计算过程的类型转换; 难点:数据类型的概

    3、念;各种类型的数据在内存中的存储方式;运算符对运算对象类型的要求和限制,这涉及到运算对象类型的自动转换和牵制转换的概念;C语言表达式的运算,特别是自增/自减运算等。例题:2.1 不是C语言基本数据类型的是: 。 A 指针类型B 整型C 无符号长整型D 单精度型【分析】c语言的数据类型分为两大类,基本类型和构造类型。指针类型即不是基本类型也不是构造类型。正确答案:【A】2.2 表达式!2+12&15%5+2的值是: A0 B1 C2 D3【分析】本题是考核对运算符优先级的掌握程度,注意逻辑运算符“!”的优先级高于所有的算数运算符,而“&”和“|”的优先级则低于所有的关系运算符。正确答案 :【A】

    4、2.3 执行下面的程序断后,输出结果为: int x=1,y=1,z=1; x=x+y+z+; printf(“%d,%d,%d”,x,+y,z+); A4,3,2 B3,3,2 C3,3,3 D3,2,2【分析】语句x=x+y+z+;可以改写成x=(x+)+(y+)+(z+),执行此语句后,得到结果x=4,y=2,z=2,在执行printf语句,注意printf语句中变量y是一个自增(前缀)运算,所以输出的y的值是3,变量z是一个后缀的自增运算,输出的z的值为2。正确答案:【A】第三章 重点:(1)顺序、选择、循环三种结构的设计与使用;(2)格式输入/输出函数的各种使用方法;(3)条件的表示

    5、方法与运算策略;(4)if 语句的执行过程:三种形式的if 语句的正确使用方法;(5)switch语句的流程控制;(6)分支嵌套的执行过程以及嵌套的使用;(7)循环语句while、dowhile 、for的构成、区别与转换;(8)循环前套的执行过程与前套的使用;(9)break、continue、goto语句的使用方式。(9)难点:运用三种基本结构实现简单算法是本章的重点。因此下面的内容需要注意:格式输入/输出函数中的各种格式控制形式的变化与使用,例如精度的使用等;在构成选择条件时的逻辑表达式设置形式;ifelse 语句的匹配原则(不以形式上相邻,而从最内层开始);if语句的嵌套;switch

    6、语句的嵌套以及switch语句break的正确使用;For 语句表达式的各种省略方式、处理方法;多重循环初始值的设置值与设置点; break、continue、goto三个语句的区别和联系。例题:3.1 已知:int x;float y;语句scanf的调用格式为:scanf(“x=%d,y=%f”,&x,&y);则为了将数据10和66.6分别赋给x和y,正确的输入应当是( )。 Ax=10,y=66.6 B. 10,66.6C. 1066.6 D. x=10y=66.6【分析】本题考察的使scanf函数的输入格式,在scanf函数中,如果格式字符串中除了格式字符外还有其他字符,则在输入数据时

    7、,其他字符应原样输入。本题中格式字符中由” x=”、”,”、”y=”等字符,这些字符在输入时应原样输入。正确答案:A3.2 下面程序的执行的结果为: #include main() int x=5;int y=x,z;int x=10;z=x;printf(“%d,%d,%dn”,x,y,z);【分析】x在开始和后面的复合语句块中分别被定义,它们被赋予了不同的初值.在复合语句块中x等于5的值赋给了y,接着在重新定义x的同时将10赋给了它,所以z的值为10。最后的输出结果为x=10,y=5,z=10。3.3 下面程序的执行的结果为: #include main() int a,b;for (a=

    8、1,b=1;a=20) break;if (b%3= =1) b+=3;continue;b=-5; printf(“%dn”,a);【分析】for语句的表达式1是一个逗号表达式,这是for语句很有用的一个特性,可一次完成对多个变量的赋初值的功能,应学会使用。循环体中有一条break语句和一条 continue语句,分析程序时要注意它们的作用:当b=20时,执行break语句直接跳出循环体而执行最后一条printf语句;当b%3= =1时,b+=3后,执行continue语句跳出此次循环,进行下一次循环处理。所以最后的输出结果为8。3.4程序的功能是统计用09之间不同的三个数字构成一个三位数的

    9、个数。请填空。 #include main() int a,b,c,count;for (a=1;a9;a+)for(b=0;b=9;b+)if( 【1】 ) continue;for(c=0;c=9;c+)if ( 【2】 ) count+;printf(“%d”,count);【分析】构成三个数字不同的一个三位数的采用三重循环处理,百位上的数字的取值范围在19之间;十位数字和个位数字的取值范围是:09。不同的条件是百位、十位、个位上的数不能相等。正确答案: 【1】a= =b 【2】c!=a&c!=b 第四章 重点:(1)库函数的正确调用(头文件的正确包含);(2)函数的定义;(3)函数的声

    10、明与return语句使用;(4)函数的调用与参数传递原则(传值/传址);(5)函数的嵌套调用与递归调用;(6)变脸个存储类型及其特性。难点:函数定义、声明、调用三者之间的联系和区别;函数的调用(无值/带值);参数传递过程中传值与传址之间的区别与正确使用方法;递归函数的构建(条件及形式)和动态执行过程;不同函数中变量的适用范围;变量的生存期和作用域。递归和递推、迭代之间色区别和联系。正确包含库函数的头文件,不同的库函数可能头文件不同;例题:4.1 以下函数值的类型是 。fun( float x) float y; y=3*x-4; return y;【分析】本题考察函数返回值的应用。当使用ret

    11、urn语句返回的值的类型与函数定义时规定的返回值类型不一致时,应意定义时的类型为准。将return语句返回时的值的类型转换为定义是规定的类型,定义函数时如果没有给出返回值的类型,则默认类型为int。所以正确答案应为int类型。4.2 对于C语言的函数,下列说法正确的是: A 函数的定义不能嵌套,但函数的调用可以嵌套。B 函数的定义可以嵌套,但函数的调用不能嵌套。C 函数的调用和定义都不能嵌套。D 函数的定义和调用都可以嵌套【分析】C语言不允许嵌套定义,但是允许嵌套调用。正确答案:【A】4.3 下面程序的执行的结果为: #include main()int x=2,p;p=f(x,+x);pri

    12、ntf(“%d”,p);int f(int a,int b)int c;if(ab) c=1;elseif (a= =b) c=0;else c=-1;return(c);【分析】在程序中的第四行有p=f(x,+x);语句,它的作用是将一个函数调用的结果赋给变量p中。在函数体f(a,b)中,a和b所对应的实参为2和3,通过函数体内的条件语句进行判断可知执行的是c=-1这条语句,所以返回值为-1。最后的输出结果为-1。第五章 重点:(1)一维数组的定义、引用和初始化;(2)二维数组的定义、引用和初始化;(3)字符数组(字符串)的定义、引用和初始化;(4)各类数组的存储方式;(5)字符串库函数的调

    13、用和使用。难点:利用数组解决实际问题。c语言的数组必须先定义后使用,不允许动态定义;对数组的存储方式按行存储的理解;二维数组初始化的不同形式;字符数组与字符串之间的关系,字符数组与字符串初始化的区别;字符串库函数的正确使用。例题:5.1 以下正确的数组定义为: A int a13=1,2,3,4;B float b3 =1,2,3,4;C long c24=1,2,3,1,2,3,4;D double t 2=0;【分析】如果二维数组在说明的同时进行初始化,则一维长度可以省略,但不允许省略二维长度,初始化的数据个数不允许超过二维数组定义的数组元素的个数。正确答案:【D】5.2 若有以下的数组定

    14、义: char a =“12345”; char b =1,2,3,4,5; 则正确的描述是: Aa 数组和b数组的长度相等Ba 数组的长度大于b数组的长度Ca 数组的长度小于b数组的长度D两个数组中存放相同的内容【分析】可以利用字符串常量给字符数组赋初值,但是要注意:在存储一个字符串时,系统自动在其末尾加一个字符串结束标志“0”。虽然字符串的长度为5,但在内存占6个字节,因此数组a的长度应该为6,而数组b赋的初值是字符常量,在内存中分配5个字节。正确答案:【B】5.3 设有下列程序段,执行后的输出结果是: char a =“ ”An%d%c” ; printf(“%dn” ,strlen(s

    15、tract(a,“good” ); A5 B6 C11 D12【分析】函数strlen的功能是求字符串参数的长度并返回,stract函数的功能是进行两个字符串的合并,即将一个字符串追加到另一个字符串的结尾处。需要注意的是:a =“ ”An%d%c”中的%d%c不是输入输出函数的格式控制符,而是字符串中的4个普通字符;另外这两个函数实现过程中是不对字符串的结束标志进行处理的,所以在函数stract(a,“good” )执行后,a的值为“ ”An%d%cgood”对该字符串求长度,结果为12。5.4 下面findmax函数将返回数组a中最大元素的下标,数组元素的个数由x传入。请填空。findmax

    16、(int a ,int x) int k,p;for (p=0,k=p;pak) 【1】 ;return (k);【分析】函数的功能是返回数组中最大的元素的下标,函数中用于返回的变量是k,所以k就是记录最大数组元素下标的变量,在程序中,应对其赋值。for循环中,当apak时,元素ap的值为本次循环中的最大值,应该记录p的值到k中。正确答案:【1】k=p第六章 重点:(1)指针的概念;(2)指针与指针变量的区别;(3)指针变量的引用与指针运算;(4)指针处理一维数组;(5)指针处理字符串;(6)指针作为参数进行函数的传址调用。难点:指针变量的概念、利用指针传址调用以及一维数组的数组名/起始地址与

    17、指针变量的关系。指针变量与内存地址的关系;指针变量与指针所指向变量的区别和联系;指针运算的不同表示方式;函数指针的处理。 例题:6.1 下面程序段运行的结果是: 。 char *s=“abcde” ;s+=1;printf(“%d” ,s);A bcdeB 字符b的地址C 字符c的地址D 字符b的ASCII码【分析】定义一个指针类型变量指向一个字符串,该变量的值即为该字符串的首地址。语句s+=1执行后地址值改变,s的值是指向字符串中字符b所在单元的地址,通过printf函数输出变量s的值,即输出的是字符b所在单元的地址。正确答案:【B】6.2 选择下面程序运行后的结果是: 。#include

    18、stdio.h.main()int x=10,*p;*p=x;printf(“%d,%d”,x+,+*p);A.11,11 B.10,11 C.10,10 D.有错误,无确定值【分析】本题出现了一种典型的致命错误。本题中定义p是一个int 型的指针变量,而后没有为指针变量p赋初值(注意不是间接引用),就直接做*p=x;这个动作,这样的p的值是不定的,所以*p的存储地址就不是一个确定的存储地址,这样*p将可能覆盖任何区域,这种错误上致命的错误,甚至可能引起整个系统的瘫痪,所以在使用指针时,一定要先定义完后,对其本身赋值,使其有一个具体的指向。在本题中,*p=x;语句之前要增加一条p=&x;语句才

    19、能保证程序正确。正确答案:【D】6.3 下面程序的输出结果 。 #include main() int a=10,20,30,40,50; int *p=&a3;printf(“%d”,*-p);【分析】本题主要考察对指针引用与自减运算以及一维数组在内存中的存放方式的理解。C语言中,自减运算(-)与取内容运算(*)的优先级为同一级别,即先执行p操作,使指针迁移一个位置,然后再取指针p当前指向位置的内容。本题中,p首先指向了a3,迁移一个为之后指向a2,取p指向的内容既a2的值,因此数出结果为30。第七章 重点:(1)结构体类型的定义;(2)结构体类型变量的定义;(3)结构体类型变量的引用方式;

    20、(4)结构体类型数组的定义、初始化、应用;(5)结构与指针。难点:结构体类型定义与结构体类型变量定义之间的区别;通过指向结构体的指针引用结构体成员的方法以及通过操作符“.”引用成员的方法;结构体变量与公用体变量在内存中不同存储方式。例题:7.1 设有以下说明语句,则下面的叙述不正确的是_struct abc int m; float n; stype;A、struct是结构体类型的关键字B、abc是用户定义的结构体类型名C、m和n都是结构体成员名D、stype是用户定义的结构体变量名【分析】本题重点考察对结构体类型的概念掌握情况。Struct时一个关键字,在定义结构体类型的同时可以定义结构体变

    21、量, stype是结构体变量名,结构体中可以包含有各种类型的成员,m和n分别是结构体成员名,在定义结构体类型时,Struct后面跟的是结构体的标识符而不是结构体类型名。正确答案:B7.2 当定义一个结构体变量时系统分配给它的内存是_A、结构中第一个成员所需的内存量B、结构中最后一个成员所需的内存量C、结构体成员中占内存量最大者所需的容量D、结构体中各成员所需内存量的总和【分析】本题重点考察对结构体类型变量所占内存大小的理解。结构体类型变量所占内存空间的大小由其所有成员的内存空间的总和组成,是所有成员的内存量的总和。正确答案:D第八章 重点:(1)宏定义的形式及使用要求;(2)文件包含的作用及使

    22、用要求;(3)编译预处理命令在程序中的实际使用。难点:带参数宏定义的替换过程;宏调用与函数调用的不同。第九章 重点:(1)位运算的语义及应用;(2)位运算的实际应用。难点:位运算的实际应用以及段位的概念及使用。第十章 重点:(1)文件的概念与分类;(2)文件的操作过程;(3)有关文件库函数的使用。难点:二进制文件与文本文件的区别;有关文件库函数的使用;文件的读/写方式。例题:10.1 以下叙述正确的是_ _。AC语言的文件有记录组成 BC语言的文件由数据组成CC语言的文件由数据块组成 DC语言的文件由字符序列组成【分析】C语言将文件看作是一个字符(字节)的序列流,既有一个一个字符的数据顺序组成,文件的基本单元时字符(或字节)。正确答案:D10.2 若fp已正确定义并指向某个问津,当未遇到该文件迭数标志时函数feof(fp)的值是 。【分析】函数feof(fp)用来检测文件是否结束。若结束返回非0值,否则返回0值。因此正确答案应为0。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《C语言程序设计》课程重点、难点及例题分析参考模板范本.doc
    链接地址:https://www.163wenku.com/p-5360067.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库