第一章_C语言基础新
- 格式:ppt
- 大小:632.00 KB
- 文档页数:83
《C语言程序设计》教学基本知识点第一章C语言基本知识1.C源程序的框架尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。
2.C语言源程序的书写规则:(1)C源程序是由一个主函数和若干个其它函数组成的。
(2)函数名后必须有小括号,函数体放在大括号内。
(3)C程序必须用小写字母书写。
(4)每句的末尾加分号。
(5)可以一行多句。
(6)可以一句多行。
(7)可以在程序的任何位置加注释。
3.语句种类语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。
(1)流程控制语句流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。
其中后两种结构要用特定的流程控制语句实现。
(2)表达式语句表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。
表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。
最常见的表达式语句是赋值语句。
(3)函数调用语句函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。
(4)空语句空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。
(5)复合语句复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。
注意复合语句中最后一个语句末尾的分号不能少。
复合语句右大括号后面没有分号。
4.运算符用来表示数据各种操作的符号称为运算符。
运算符实际上代表了一种类型数据的运算规则。
不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。
第一章C语言基础知识一,选择题1 答案是AA正确课本第2页11行B {}可以作为复合语句的标志C main 函数不是用户命名的D 分号是语句结束的标志,肯定是语句的一部分做这个题目需要对书上的概念透彻的理解2 答案是AA 错误课本第4页关于用户标识符是这样介绍的---命名时,标识符的选择由用户自定,但是不能与关键字相同,所以A选项错误。
这个题目考察用户标识符3 答案是B用户标识符是标识符,所以可以是有下划线,但是中划线不属于字母,数字,下划线其中一种。
这个题目考察用户标识符的概念。
4 答案是Bdefine 是预定义标识符,而预定义标识符可以是用户标识符,所以define可以是用户标识,if 是关键字,而关键字不能是用户标识符,所以if不可以是用户标识符5 答案是Dsizeof 是关键字,参照附录二注:6--13 考察用户标识符概念6 答案是DD答案以数字2开头了,不符合标识符定义7 答案是CC答案以数字开头了8 答案是Dint 是关键字9 答案是B答案A 是关键字,答案C是以数字开头了,不符合概念,答案D出现了小数点10 答案是A答案A出现了小数点11 答案是C答案C 以数字开头了12 答案是AB答案中float 是关键字,C答案中3c以数字3开头了,D答案中-5d中- 不属于字母,数字,下划线中一种13 答案是AB答案中-max中-错误,C答案中3COM以字母3开头了,D答案中int 是关键字,不是用户标识符14 答案是BA答案中15. 后面不应该有点,C答案中出现了逗号,D中字母B有问题15 答案是B16 答案是BB中出现了8,而八进制只能有0到7组成17 答案是D答案D中开头是0不是o18 答案是C答案A中E后面是整数,0.5是小数答案B 中E后面不能为空答案D中E前面不能为空本题目考察指数的表示形式19 答案是C答案A中2.0有问题,不能为小数形式答案B中E前面不能为空答案D中E后面不能为空本题目考察指数的表示形式20 答案是AB中八进制中不能出现数字8,C中e后面不能是小数,D中e后面不能为空21 答案是BB中0.4是小数,不正确22 答案是CC中0.5是小数,不正确23 答案是D3.6-5/2+1.2+5%2=3.6-2+1.2+1=3.8本题目考察算术运算符,需要注意整数除以整数结果只能是整数24 答案是D%不能用于实型的计算25 答案是DD答案中$不属于字母,数字,下划线26 答案是AA答案是逗号表达式,B答案中x+1=y是赋值表达式,左边只能是变量,而这里是x=1, 同理答案C中x+10也是错误的,在D答案中,考察的是强制类型转换,正确的是(double)x/1027 答案是A本题考察的是注释需要注意的地方,具体解答见课本第2页中间部分28 答案是B答案A中n2没有定义,答案C中在定义f之前不能使用它,答案D 中E后面必须是整数29 答案是C考察的是强制类型转换,正确的是k%(int)f30 答案是D解题方法是要抓住++m,--n,--m,表达式的值是变量变化之后的值,而n--表达式的值是变量n变化之前的值31 答案是B本题目考察的是负整数与无符号正整数在计算机中存放的格式的一样的,但表示的不同的两个数32 答案是CA答案中%运算对象不能为实型,26.8错误,B答案中考察的赋值运算符,赋值运算符左边必须是变量,所以赋值运算符左边1+2错误,同理答案D错误33 答案是C增量运算符的运算对象只能是变量,而在C答案中++(i+1)中,i+1是表达式34 答案是B本题目考察的是整数除以整数结果是整数,在B答案中1/2结果是0,导致整个表达式的值是0,明显是错误的35 答案是D36 答案是A本题目主要考察n++表达式的值是n变化之前的值,然后使n的值增加137 答案是Bc=a/b+0.4 c=8/5+0.4 c=1+0.4 c=1.4 因为c 是int 型的,所以n的值是1 ,做此题目需要仔细阅读题目38 答案是D(int)a+b/b=(int)5.5+2.5/2.5=5+1.000000=b=6.000000同样a,b的类型是double型的39答案是D40 D41 D42 A二,填空题1 位、0或123 84 八进制、十进制、十六进制5 课本第8页整型变量和第11页实型变量的介绍6 5+3.6/2=5+1.8=6.87 a++表达式的值是a变化之前的值,当然a本身增加了18 把10赋给变量B。
第一章C语言基础知识考点 1 C语言程序的结构认识本节通过一个简单的c程序例子,介绍c语言的基本构成、格式、以及良好的书写风格,使读者对c语言有个初步认识。
例1 计算两个整数之和的c程序:#include<stdio.h>main(){int a,b,sum; /*定义变量a,b,sum为整型变量*/a=20; /*把整数20赋值给整型变量a*/b=15; /*把整数15赋值给整型变量b*/sum=a+b; /*把两个数之和赋值给整型变量sum*/printf(“a=%d,b=%d,sum=%d\n”,a,b,sum);/*把计算结果输出到显示屏上*/}重点说明:1、任何一个c语言程序都必须包括以下格式:main(){ }这是c语言的基本结构,任何一个程序都必须包含这个机构。
括号内可以不写任何内容,那么该程序将不执行任何结果。
2、main()----在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c 程序总是从main函数开始执行,main函数后面的一对圆括号不能省略。
3、被大括号{ }括起来的内容称为main函数的函数体,这部分内容就是计算机要执行的内容。
4、在{ }里面每一句话后面都有一个分号(;),在c语言中,我们把以一个分号结尾的一句话叫做一个c语言的语句,分号是语句结束的标志。
5、printf(“a=%d,b=%d,sum=%d\n”,a,b,sum); ----通过执行这条c语言系统提供给我们直接使用的屏幕输出函数,用户即可看到运行结果,本程序运行后,将在显示器上显示如下结果:a=20,b=15,sum=356、#include<stdio.h>注意:(1)以#号开头(2)不以分号结尾这一行没有分号,所以不是语句,在c语言中称之为命令行,或者叫做“预编译处理命令”。
7、程序中以/*开头并且以*/结尾的部分表示程序的注释部分,注释可以添加在程序的任何位置,为了提高程序的可读性而添加,但计算机在执行主函数内容时完全忽略注释部分,换而言之就是计算机当做注释部分不存在于主函数中。
第一章 C 语言基础知识 第一节C 语言的基本格式一、C 语言源程序或C 程序 .c 例:求两数和程序 #include "stdio.h" main() { int a,b,sum;a=10; b=20; sum=a+b;printf("sum=%d",sum);} 说明: 1.主函数:一个C 源程序有且仅有一个main 函数,程序总是从main 函数开始,从main 函数结束。
main 必须小写,且其后紧跟一对小括号,中间无空格。
2. 函数体:告诉计算机要做什么事情。
3.int 是C 中的关键字(表示特殊含义的一些符号)必须小写;变量 变量名(规则)变量类型 变量名,变量名; ;是C 中语句结束的标志。
4. 开头:#开头,无分号 printf include 是预定义标识符 5.注释:可放在程序的任意位置,以/*和*/来界定。
但要注意:命令行,编译预处理命令行主函数定义语句 变量赋值语句 函数体总结:二、标识符:用于标识名字的有效字符序列 命名规则:①字母、数字、下划线②第一个字母必须是字母或下划线 ③大小写字母有区别 标识符分为三类:#include "stdio.h" main() { int a=0,b=0; a=10; /*给a 赋值 b=20; 给b 赋值*/ sum=a+b; printf("a+b=%d",a+b);}#include "stdio.h" main() { int a=0,b=0; a=10; sum=a+b; printf("a+b=%d",a+b); }main() { 定义部分;(前) 执行部分;(后) }变量先定义后使用,定义变量放在程序的定义部分 语句后加;程序可以从任一列开始书写,一行内可写多个语句① 关键字:具有特定含义,专门用为说明C 语言特定成分的一类标识符;必须小写如:int,float double 等② 预定义标识符:库函数名 编译预处理命令名(define 、include )预定义标识符可作为用户标识符使用,此时预定义标识符就失去原来的意思;但用户标识符不可作预定义标识符③ 用户标 识符:一般给变量、函数、数组或指针等命名,由用户根据需要定义的标识符 a. 不与关键字相同 b. 遵循起名规则 c. 见名知义例1.2 可在C 语言中用作用户标识符的一组标识符是:() A ) and B) Void C) Hi D) int_2007 y-m-d Dr.Tom Big1 例1.3 以下不合法的用户标识符是:() A)j2_KEY B) Double C) 4d D) _8 三、常量:程序运行过程中,值不改变的量整型 实型 字符常量 字符串常量数值型:值的形式出现★符号常量:用标识符命名①遵循命名规则②见名知义例:计算圆面积的C语言程序宏定义命令行,符号常量大写PI 3.14159#define Array {float r,area;r=12.5;area=PI*r*r;printf("area=%f\n",area);}定义了符号常量后,不可以再通过赋值语句改变该符号常量的值。
第一章C语言基础知识(C语言概述、算法、数据类型运算符表达式、位运算)一、判断题R1.在C语言中,逗号运算符的优先级最低。
2.在C语言可执行程序的开始执行点是程序中第一个函数。
3.“5ch”是合法的变量名。
R4.C语言程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。
5.当输入数据时,必须指明变量的地址,如scanf("%f",&f)N6.表达式i++与++i在任何场合功能完全相同。
7.在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。
Float a; int b=1;a=b;R8.C语言程序中,语句以逗号结尾。
()9.在 C 程序中,APH 和aph 代表不同的变量。
( )10. a-=7等价于a=a-7。
( )N11. printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按原字符长从左向右全部输出。
( )12.如果x>y为真或a<b为真,表达式(x>y)&&(a<b)就为真。
()13.C语言程序的变量必须先定义再使用。
( )14.若a和b是同类型变量,在执行了赋值语句a=b;后b中的值将放入a中,b中的值将丢失。
( )15.程序的执行总是从main函数开始,在程序的最后一个函数中结束。
( )N16.变量的三个属性是指变量的名字、变量的值和变量在内存中的地址。
()17. 运算符优先顺序:赋值运算符<逻辑运算符<关系运算符<算术运算符()18.对应float类型的变量,也可以用等号“==”进行数值的判断。
()19.表达式:1 && 3.14 和 1 & 3 的值一样大。
()01&11=120. 为了正确计算表达式既要考虑运算符的优先级,也要考虑其结合性。
()21.任何C程序都是从main函数开始和结束;22. 在C程序中,使用分号“;”表示语句的结束。
C语言各章节知识点总结C语言是一种通用的高级编程语言,广泛应用于计算机软件开发。
下面是C语言各章节的知识点总结:第一章:C语言简介-C语言起源和发展-C语言的特点和优势-C语言的应用领域-C语言的编译和执行过程-编写第一个C语言程序第二章:C语言基础-C语言的基本数据类型-变量和常量-运算符和表达式- 控制语句(if语句、switch语句、for循环、while循环)-输入和输出-函数的定义和调用第三章:C语言数组-数组的定义和初始化-一维数组和多维数组-数组的应用(排序、查找、统计)- 字符串处理函数(strlen、strcpy、strcat)-字符串的输入和输出第四章:C语言指针-指针的概念和作用-指针变量和指针的运算-指针和数组的关系-指针作为函数参数-动态内存分配第五章:C语言函数高级特性-递归函数-函数指针和回调函数-变量的作用域和存储类别-预处理指令-多文件程序设计第六章:C语言结构体和共用体-结构体的定义和初始化-结构体的嵌套和数组-共用体的定义和应用-枚举类型的定义和使用- typedef的使用第七章:C语言文件处理-文件的概念和分类-文件的打开和关闭-文件的读取和写入-文件的定位和修改-错误处理和异常处理第八章:C语言位运算和位字段-位运算的概念和操作-位掩码和位移操作-位字段的定义和使用-位字段的对齐和优化-位操作的应用第九章:C语言高级编程技术-内存管理和动态内存分配-系统调用和库函数的使用-异常处理和错误处理-多线程编程和进程间通信-嵌入式系统开发技术总结:C语言是一门基础且强大的编程语言,掌握C语言的各章节知识点对于学习和使用C语言是非常重要的。
掌握C语言基础知识可以编写简单的程序,掌握指针和数组等知识可以处理更加复杂的数据结构和算法,掌握高级特性可以编写更加高效和模块化的程序。
通过学习C语言,可以为后续学习其他编程语言打下坚实的基础。
第一章 C语言基础知识1.1 选择题1. 以下不是C语言的特点的是()。
A.语言简洁紧凑B.能够编制出功能复杂的程序C.C语言可以直接对硬件操作D.C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。
A.abc123 B.no.1 C._123_ D._ok 3. 正确的C语言标识符是()。
A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。
A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。
A.\\ B.\0xAA C.\t D.\06. 不属于C语言关键字的是()。
A.int B.break C.while D.character 7. 是C语言提供的合法关键字的是()。
A.Float B.signed C.integer D.Char8. 以下不能定义为用户标示符的是()。
A.scanf B.Void C._3com_ D.int9. 一个C程序是由()。
A.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成10. C语言程序的基本单位是()。
A.程序行 B.语句 C.函数 D.字符11. 下列说法中,错误的是()。
A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数12. 以下说法中正确的是()。
A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main( )函数中定义C.C语言程序总是从main( )函数开始执行D .C 语言程序中的main( )函数必须放在程序的开始部分13. C 编译程序是( )。
第一章C语言基础知识一、选择题1.计算机能直接执行的程序是( )A.源程序B.目标程序C.汇编程序D.可执行程序2.用户自定义标识符正确的是( )A.3abB.intC.fa2_aD.sin(x)3.可用于C语言用户标识符的是( )A.void,defineB.2c,DOC.For,-abcD.as_b3,_1234.下列为C语言保留字的是( )A.realB.longC.pointerD.integer5.下列不.属于保留字的是()A. defaultB. printfC. structD.unsigned6.下列用户自定义标识符正确的是()A. 4aB. b_1C. -&D. *p7.以下正确的C语言自定义标识符是()A._la B.2a_ C.do D.a.128.合法的用户标识符是()A. defaultB. #defineC. a+bD. book9.自定义标识符正确的是()A.5d_mB.constC.x4yD.book-110.以下属于C语言保留字的是()A.fopen B.include C.get D.unsigned11.以下选项中,能用作用户标识符的是()A.voidB.8_8C._0_D.unsigned 12.可以作为自定义标识符的是()A.2 B.break C.m-n D.m_n13.以下选项中合法的标识符是( )A. 1_1B.1―1C._11D.1_ _14.以下C语言用户标识符中,不合法的是( )A._1B.AaBcC.a_bD.a--b15.可以用作C程序标识符的一组是()A.printB.i\amC.PxqD.Cppoodb one-half line# powaBc 3pai His.age while16.下列不属于C语言保留字的是( )A. charB. whileC. forD. look17.C语言的保留字是( )A. defineB. scanfC. doD. include18.错误..的实型常数是( )A. .0B. 0.E0C. 0.0D.0E+0.019.以下选项中不能作为C语言合法常量的是()A.‘cd' B.0.1e+6 C."\a" D. ‘\011'20.正确的C语言字符常量是( )A.‘\\’B.‘65’C.“A”D.‘/n’21.下列不.能作为常量的是()A. 0582B. 0xa5C. ‘\n’D. 2.5e-222.不.属于字符型常量的是()A. ″s″B. ‘8’C. ‘A’D. ‘\n’23.在C语言中,错误..的int类型的常数是()A.1E5 B.0 C.037 D.0xaf24.在C语言中,错误..的常数表示是()A.0L B.-0x6a C.′6′D.1.234E3.525.以下选项中,能用作数据常量的是()A.o115B.0118C.1.5e1.5D.115L 26.在C语言中,′a′和″a″存储所占用的字节数分别是()A.1,1 B.1,2 C.2,1 D.2,2 27.正确的变量定义是()A.long d=1000L; B.float m1=m2=10.0;C.char c1=‘A’,c2=A; D.double for=0.618;28.表达式的值为0的是()A.5/5%5 B.5>2 C.!4 D.0x7&&729.主函数头中的“main”是()A.常量名B.函数名C.变量名D.类型名30.下列运算符中优先级最高的是()A.?:B.&&C.D.!31.下列运算符的操作数必须是整型的是( )A./B.!C.%D.=32.下列转义字符中,错误..的是()A.′\n′B.′\\′C.′\108′D.′\xbb′33.在C语言中,整型常量的书写形式不.包括()A.二进制B.八进制C.十进制D.十六进制34.以下选项中正确的定义语句是()A.double a;b;B.double a=b=7;C.double a=7,b=7;D.double,a,b;35.设有定义:int x=2;,以下表达式中,值不为6的是()A.x*=x+1B.x++,2*xC.x*=(1+x)D.2*x,x+=236.以下关于C语言数据类型使用的叙述中错误的是()A.若要准确无误差的表示自然数,应使用整数类型B.若要保存带有多位小数的数据,应使用双精度类型C.若要处理如"人员信息"等含有不同类型的相关数据,应自定义结构体类型D.若只处理"真"和"假"两种逻辑值,应使用逻辑类型37.若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是()A.1B.0C.2D.不知道a的值,不能确定38.若有定义语句:int x=10;,则表达式x-=x+x的值为( )A.-20B.-10C.0D.1039.表达式0&&3||4和2&&1的值分别是()A.4和0B.4和1C.1和0D.1和140. 设char c=’A’;int i=l, j;,执行j=!c&&i++;后,i和j的值分别是()A. 1和0B. 1和1C. 2和0D. 2和l41. 设int a;,执行表达式(a=1,2,3),a+1后,a和表达式的值分别是()A. 1和2B. 2和3C. 3和4D. 4和542.设int a=0,b=1;,下列语句错误..的是( )A.a=b=10;B.a++;C.b+=a;D.(a+b)++;43.能正确表达数学关系式0≤x<20的C语言表达式是( )A.0<=x<20B.x>=0||x<20C.x>=0&&x<20D.!(x<=0)&&x<2044.设double x=5.168;,执行printf(“%5.3f\n”,(int)(x*10+0.5)/10.0);后的输出结果是( )A.5.218B.5.210C.5.200D.5.16845.设char ch=‘a’;,执行printf(“%d,%c\n”,ch,ch+2);后的输出结果是( )A.97,cB.97,99C.a,cD.a,a+246.设int i=8,a,b;double x=1.42,y=5.2;,正确的表达式是( )A.a+=(b=4)*(a=3)B.a=a*3=2C.x%(-3)+y* *3D.y=float(i)47.表达式:(int)((double)9/2)-(9)%2的值是( )A、0B、3C、4D、548. 设char k=’a’;float j=2.0;,执行k+=5/j;printf(“%c”, k);后,输出结果是()A. aB. bC. cD. d49.设char c=′A′;int i=1,j;,执行语句j=!c&&i++;后,i和j的值分别是( )A.0和1B.1和0C.1和65D.2和6650.设int x=6;,执行语句x+=x-=x*x;后,x的值是( )A.-60B.0C.6D.3651.设int i=3,j=3;,表达式i+++j的值是( )A.6B.7C.8D.952.设int a=2,b=6,c=8;,表达式(a,b),(c,10)的值是( )A.2B.6C.8D.1053.下列表达式值为0的是()A.6%2B.2&&5C.!2||5D.2||554. 设int a,b;,则表达式(b=2, a=5, b++, a+b)的值是()A. 2B. 5C. 7D. 855.以下关于C语言的叙述中正确的是( )A.C语言中的注释可以夹在变量名或关键字的中间B.C语言中的变量必须在使用之前进行定义C.在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D.C语言的数值常量中夹带空格不影响常量值的正确表示56.设函数中有整型变量n,为保证在未赋初值的情况下初值为0,应选择的存储类别是A.autoB.registerC.staticD.auto或register57.执行以下程序段后,w的值为( )int w='A',x=14,y=15;w=((x||y)&&(w<'a'));A.-1B.NULLC.1D.058.若有表达式(w)?(--x):(++y),则其中与w等价的表达式是( )A.w==1B.w==0C.w!=1D.w!=059. 设int a=7; float x=2.5, y=4.7;, 则表达式x+3%(int)(x+y)/4的值是()A. 2.75B. 3.5C. 2.5D. 0.060. 设char cl; , 则cl中为小写英文字母字符的正确表达式为()A. ‘a’<=c1=‘z’B. (cl>=‘a’)&&(cl<=‘z’)C. (cl>=a)&&(c1<=z)D. (‘a’<=c1)||(‘z’>=c1)61.设static int a;,执行表达式(a= =1)&&(a=-1)&&(a=2)后,a的值是()A.-1B.0C.1D.262.若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是( )A.a=a++,i++;B.i=(a+k)<=(i+k);C.i=a%11;D.i=!a;63.main(){ int k=011; printf("%d\n",k++); }程序运行后的输出结果是( )A.12B.11C.10D.964.以下叙述中正确的是( )A.C程序的基本组成单位是语句B.C程序中的每一行只能写一条语句C.简单C语句必须以分号结束D.C语句必须在一行内写完65.以下不能正确表示代数式的C语言表达式是( )A.2*a*b/c/dB.a*b/c/d*2C.a/c/d*b*2D.2*a*b/c*d66.C源程序中不能表示的数制是( )A.二进制B.八进制C.十进制D.十六进制67.设int a,b;,与a+=b++;等价的是()A.a=b++;B.a=++b;C.a=a+b++;D.a=a+++b;68.设int a=l,b=2,c=3;,执行表达式(a>b)&&(c=1)后c的值是( )A.0B.1C.2D.369. 已知字符‘A’的ASCII码值是65,且char cl=‘A’, c2=‘D’;则执行语句printf(″%d,%d\n″,cl,c2-2);后的输出结果是()A. A, DB. A, BC. 65, 68D. 65, 6670. 若有下列程序段:int x=l, y=2;x=x+y;y=x-y;x=x-y;则执行后x和y的值分别为()A. 1和2B. 2和2C. 2和1D. 1和171. 设int a=3,b=4;,则printf(“%d,%d,”(a,b),(b,a));的输出结果是()A. 3,4B. 4,3C. 3,4,4,3D. 4,3,3,472.设int x=2,y=4;,值为非0的表达式是()A. 1/x*yB. 1/(x*y)C. 1.0/x/yD. 1/x/ (double)y73.设int a=2,b=5;,结果为0的表达式是()A. a%bB. a&&bC. a=bD. a==b74.设int a=0;错误..的语句是()A. ++a;B. a++;C. a=-a;D. (-a)++;75.设int a=1,b=2,c=3,d=4,f;,执行语句f=(a!=b)?c++:d++;后f的值是()A. 2B. 3C. 4D. 576.下列运算符优先级最高的是()A. +=B. ,C. !D. ?: 77.设int a=1,b=2;,则执行a=b+2,a++,a+b;后a和b的值分别是()A.1和2 B.3和2 C.4和7 D.5和278.设int a=2,b=3,c=4;,则表达式a>b&&b<c||b的值是()A.-1 B.0 C.1 D.279.设int a,x=2;执行语句a=x>0?3*x:(x=10);后,变量x的值是()A.1 B.2 C.6 D.1080.设有以下程序段:int x=2,y=2,z=0,a; a=++x||++y&&z++;printf(″%d,%d,%d\n″,x,y,z);执行后输出的结果是()A.2,2,0 B.3,3,1 C.3,2,0 D.3,2,181.逗号表达式a=2*6,a*3,a+5的值是()A.12 B.17 C.36 D.4182.在C语言中,下列运算符中结合性属于自右向左的是()A.&& B.-- C.* D.( )83.设int x=10, a=0, b=25;,条件表达式x<1?a+10︰b的值是()A.0 B.1 C.10 D.2584.C语言中,下列运算符优先级最高的是()A.! B.% C.( ) D.== 85.设有以下程序段:int a=1, b=10, c=1, x; x=a&&b||++c;printf(″%d, %d\n″,x,c);执行后输出的结果是()A.0,0 B.0,1 C.1,0 D.1,186.在C语言中,运算符″=″和″==″的功能分别是()A.关系运算和赋值运算 B.赋值运算和关系运算C.都是关系运算D.都是赋值运算87.若main()函数带参数,参数个数最多是()A.0 B.1 C.2 D.388.设char a='\70';则变量a中()A.包含1个字符B.包含2个字符C.包含3个字符D.是非法表示89.设int i=10;,表达式30-i<=i<=9的值是()A.0B.1C.9D.2090.以下不能..看作一条C语句的是()A.{;}B.a=5,b=5,c=5;C.if(x>=0&&y=0);D.if(x==0)a=5;b=10;91. 下列关于C语言的叙述错误..的是( )A. 英文字母大小写不加以区分B. 不同类型的变量可以出现在同一个表达式中C. 在赋值表达式中赋值号两边的类型可以不同D. 某些运算符在不同的场合可以有不同的含义92. 下列转义字符中错误..的是( )A. ′\000′B. ′\14′C. ′\x111′D. ′\2′93. 设float a=2,b=4,c=3;以下C语言表达式与代数式(a+b)c计算结果不一..致.的是( )A. (a+b)*c/2B. (1/2)*(a+b)*cC. (a+b)*c*1/2D.c/2*(a+b)94. 设int a=10, b=20, c=30;条件表达式a<b? a=5∶c的值是( )A. 5B. 10C. 20D. 3095. 设int a=9, b=6, c;,执行语句c=a/b+0.8;后c的值是( )A. 1B. 1.8C. 2D. 2.396.设int a;,则逗号表达式a=2,4,a+1的值是( )A.1B.2C.3D.497.设int i; float f; double d; long int e;,则表达式10+′a′+i*f-d/e结果的类型是( )A. doubleB.longC. intD. float98.设int a=0,b=0,m=0,n=0;,则执行(m=a= =b)‖(n=b= =a)后m和n的值分别是( )A.0,0B.0,1C.1,0D.1,1二、填空题1.表达式4&&5+3||1的值是。
《C语言基础教案》word版教案章节:第一章C语言概述一、教学目标1. 了解C语言的历史和发展背景2. 掌握C语言的特点和优势3. 理解C语言的基本语法和结构4. 学会使用C语言编写简单的程序二、教学内容1. C语言的历史和发展背景2. C语言的特点和优势3. C语言的基本语法和结构4. C语言的编译和运行过程三、教学方法1. 讲授法:讲解C语言的历史、特点、优势和基本语法2. 示例法:展示经典的C语言程序示例3. 实践法:让学生动手编写简单的C语言程序四、教学步骤1. 导入:介绍C语言的历史和发展背景2. 讲解:讲解C语言的特点、优势和基本语法3. 示例:展示经典的C语言程序示例4. 实践:让学生动手编写简单的C语言程序五、教学评价1. 课堂问答:检查学生对C语言历史、特点、优势和基本语法的理解程度2. 课后作业:布置相关的编程练习题,巩固所学知识教案章节:第二章数据类型、运算符和表达式一、教学目标1. 掌握C语言的数据类型2. 熟悉C语言的运算符和表达式3. 学会编写含有数据类型、运算符和表达式的C语言程序二、教学内容1. C语言的数据类型2. C语言的运算符和表达式3. 复合赋值运算符和类型转换三、教学方法1. 讲授法:讲解数据类型、运算符和表达式的概念及用法2. 示例法:展示含有数据类型、运算符和表达式的C语言程序示例3. 实践法:让学生动手编写含有数据类型、运算符和表达式的C语言程序四、教学步骤1. 导入:回顾第一章所学内容,引出本章主题2. 讲解:讲解C语言的数据类型、运算符和表达式的概念及用法3. 示例:展示含有数据类型、运算符和表达式的C语言程序示例4. 实践:让学生动手编写含有数据类型、运算符和表达式的C语言程序五、教学评价1. 课堂问答:检查学生对数据类型、运算符和表达式的理解程度教案章节:第三章控制语句一、教学目标1. 掌握C语言的控制语句2. 学会使用条件语句和循环语句编写C语言程序3. 理解关系运算符和逻辑运算符的使用方法二、教学内容1. 条件语句2. 循环语句3. 关系运算符和逻辑运算符三、教学方法1. 讲授法:讲解条件语句和循环语句的概念及用法2. 示例法:展示使用条件语句和循环语句的C语言程序示例3. 实践法:让学生动手编写使用条件语句和循环语句的C语言程序四、教学步骤1. 导入:回顾第二章所学内容,引出本章主题2. 讲解:讲解条件语句和循环语句的概念及用法3. 示例:展示使用条件语句和循环语句的C语言程序示例4. 实践:让学生动手编写使用条件语句和循环语句的C语言程序五、教学评价1. 课堂问答:检查学生对条件语句、循环语句、关系运算符和逻辑运算符的理解程度教案章节:第四章函数和数组一、教学目标1. 掌握C语言的函数和数组的概念及用法2. 学会使用函数和数组编写C语言程序3. 理解函数的参数传递和返回值二、教学内容1. 函数的概念和声明2. 函数的参数传递和返回值3. 一维数组和多维数组三、教学方法1. 讲授法:讲解函数的概念、声明、参数传递和返回值的用法2. 示例法:展示使用函数和数组的C语言程序示例3. 实践法:让学生动手编写使用函数和数组的C语言程序四、教学步骤1. 导入:回顾第三章所学内容,引出本章主题2. 讲解:讲解函数的概念、声明、参数传递教案章节:第四章函数和数组(续)四、讲解:续讲函数的概念、声明、参数传递和返回值的用法5. 示例:展示使用函数和数组的C语言程序示例6. 实践:让学生动手编写使用函数和数组的C语言程序五、教学评价1. 课堂问答:检查学生对函数、数组的理解程度2. 课后作业:布置相关的编程练习题,巩固所学知识教案章节:第五章指针一、教学目标1. 理解指针的概念和作用2. 学会使用指针操作内存地址3. 掌握指针与数组、函数的关系二、教学内容1. 指针的概念和声明2. 指针的赋值和取值3. 指针与数组4. 指针与函数三、教学方法1. 讲授法:讲解指针的概念、声明、赋值和取值的用法2. 示例法:展示使用指针的C语言程序示例3. 实践法:让学生动手编写使用指针的C语言程序四、教学步骤1. 导入:回顾第四章所学内容,引出本章主题2. 讲解:讲解指针的概念、声明、赋值和取值的用法3. 示例:展示使用指针的C语言程序示例4. 实践:让学生动手编写使用指针的C语言程序五、教学评价1. 课堂问答:检查学生对指针的理解程度2. 课后作业:布置相关的编程练习题,巩固所学知识教案章节:第六章结构体和联合体一、教学目标1. 理解结构体和联合体的概念和作用2. 学会使用结构体和联合体编写C语言程序3. 掌握结构体和联合体的内存分配和访问方法二、教学内容1. 结构体的概念和声明2. 结构体的使用和内存分配3. 联合体的概念和声明4. 联合体的使用和内存分配三、教学方法1. 讲授法:讲解结构体和联合体的概念、声明、内存分配和访问方法的用法2. 示例法:展示使用结构体和联合体的C语言程序示例3. 实践法:让学生动手编写使用结构体和联合体的C语言程序四、教学步骤1. 导入:回顾第五章所学内容,引出本章主题2. 讲解:讲解结构体和联合体的概念、声明、内存分配和访问方法的用法3. 示例:展示使用结构体和联合体的C语言程序示例4. 实践:让学生动手编写使用结构体和联合体的C语言程序五、教学评价1. 课堂问答:检查学生对结构体和联合体的理解程度2. 课后作业:布置相关的编程练习题,巩固所学知识教案章节:第七章文件操作一、教学目标1. 理解文件操作的概念和作用2. 学会使用文件操作编写C语言程序3. 掌握文件的打开、读写、关闭等操作方法二、教学内容1. 文件操作的概念和作用2. 文件打开、读写、关闭等操作的函数和方法3. 文件的错误处理和文件指针三、教学方法1. 讲授法:讲解文件操作的概念、作用、函数和方法的用法2. 示例法:展示使用文件操作的C语言程序示例3. 实践法:让学生动手编写使用文件操作的C语言程序四、教学步骤1. 导入:回顾第六章所学内容,引出本章主题2. 讲解:讲解文件操作的概念、作用、函数和方法的用法3. 示例:展示使用文件操作的C语言程序示例4. 实践:让学生动手编写使用文件操作的C语言程序五、教学评价1. 课堂问答:检查学生对文件操作的理解程度2. 课后作业:布置相关的编程练习题,巩固所学知识教案章节:第八章标准库函数一、教学目标1. 了解标准库函数的概念和作用2. 学会使用标准库函数编写C语言程序3. 掌握常用标准库函数的功能和用法二、教学内容1. 标准库函数的概念和作用2. 常用标准库函数的功能和用法3. 标准库函数的分类和调用方式三、重点和难点解析一、教学内容讲解环节在“一、教学内容”部分,对于每章的主要知识点和概念进行了简要概述。
c语言程序设计教程第二版课后习题答案第一章:C语言基础1. 以下为C语言的特点:- C语言是一种结构化编程语言,可以通过模块化的方式构建复杂的程序。
- C语言具有较高的可移植性,可以在不同的操作系统和硬件平台上运行。
- C语言提供了丰富的库函数,方便开发者进行程序开发。
- C语言对指针的支持较好,可以进行底层的内存操作。
2. C语言中的标识符规则:- 标识符由字母、数字和下划线组成,且第一个字符不能是数字。
- 标识符区分大小写,因此变量名"num"和"Num"是不同的。
- 标识符不能与关键字重名,如"if"、 "for"等。
- 标识符长度一般不超过32个字符。
3. 在C语言中,预处理指令的作用是在程序编译之前对代码进行处理,包括宏展开、文件包含等。
预处理指令以"#"开头,常见的预处理指令有:- #include:用于包含头文件,将头文件中的内容插入到当前文件中。
- #define:用于定义宏,将宏名称替换为指定的值或代码片段。
- #ifdef、#ifndef、#endif:用于条件编译,根据条件是否成立来选择性地编译代码。
4. C语言中的数据类型分为基本数据类型和派生数据类型两种。
基本数据类型包括整型、浮点型、字符型和布尔型,派生数据类型包括数组、指针、结构体和共用体。
5. C语言中的运算符主要分为算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符等。
算术运算符用于执行加减乘除等基本算术操作,关系运算符用于比较两个值的大小关系,逻辑运算符用于组合多个条件的判断结果,位运算符用于对二进制位进行操作,赋值运算符用于将右侧的值赋给左侧的变量。
第二章:C语言程序结构1. C语言程序结构由函数、语句和注释组成。
每个C语言程序至少包含一个main()函数,作为程序的入口。
2. 以下为C语言程序的基本结构:```c#include <stdio.h>int main() {// 程序代码return 0;}```3. C语言中的控制语句包括条件语句和循环语句。
第一章 C语言基础知识一、选择题1.C语言规定,必须用作为主函数名。
A)Function B)include C)main D)stdio 2.一个C程序可以包含任意多个不同名的函数,但有且仅有一个,一个C程序总是从开始执行。
A)过程B) 主函数C)函数 D)include 3.是C程序的基本构成单位。
A)函数 B) 函数和过程 C) 超文本过程 D) 子程序4.下列说法正确的是。
A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B)一个函数的函数体必须要有执行部分,可以没有变量定义C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D)以上都不对5.下列说法正确的是。
A)main函数必须放在C程序的开头B)main函数必须放在C程序的最后C)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的6.下列说法正确的是。
A)在执行C程序时不是从mian函数开始的B)C程序书写格式严格限制,一行内必须写一个语句C)C程序书写格式自由,一个语句可以分写在多行上D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号7.在C语言中,每个语句和数据定义是用结束。
A)句号 B)逗号 C)分号 D)括号8.下列字符串是标识符的是。
A)_HJ B)9_student C)long D)LINE 1 9.以下说法正确的是。
A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分10.不是C语言提供的合法关键字。
A)switch B)print C)case D)default 12.C语言提供的合法关键字是。
A)continue B)procedure C)begin D)append13. C语言规定: 在一个源程序中, main函数的位置。
第一章 C语言基础知识一、选择题1.算法具有五个特性,以下选项中不属于算法特性的是______。
A)有穷性B)简洁性C)可行性D)确定性【答案】B【解析】本题考查的是算法的特性。
一个算法应当具有以下5个特性:有穷性;确定性;可行性;有零个或多个输入:由一个或多个输出。
简洁性不属于这5个特性,所以本题应该选择B。
2.以下叙述中错误的是A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中,大、小写字母代表不同标识【答案】A【解析】本题考查C语言中标识符的概念。
用用户标识符是由字母、数字和下划线组成,并且第一个字符必须为字母或下划线,并且不能与C语言关键字相同。
所以本题应该选择A。
3. 以下4组用户定义标识符中,全部合法的一组是()A)_main B)If C)txt D)intenclude -max REAL k_2sin turbo 3COM _001【答案】A【解析】本题考核的知识点是C语言中的标识符命名规则。
标识符是以字母或下划线开头,由字母、数字或下划线组成的字符序列(例如,-max含非法字符-),并且用户标识符不能与C语言中的32个关键字同名(例如,int是关键字,不是合法的用户标识符)。
选项B中-max不是字母、数字或下划线组成的字符序列,故选项B不正确;选项C中3COM 不是由字母或下划线开头,故选项c不正确;选项D中int为C语言中的关键字,故选项D不正确;选项A中全部为合法的标识符,所以,4个选项中选项A符合题意。
4. 以下选项中,合法的一组c语言数值常量是( )A)028 B)12. C).177 D)0x8a.5e-3 0Xa23 4e1.5 10,000-0xf 4.5e0 0abc 3.e5【答案】B【解析】本题考查的知识点是:数值常量。
数值常量分为整型和实型两类。
其中,整型有十进制、八进制和十六进制三种表示法;实型有小数形式和指数形式两种表示法。