答案第二章 C语言程序设计的初步知识
- 格式:doc
- 大小:102.50 KB
- 文档页数:8
基本知识点:标识符标识符包括:关键字、预定义标识符、用户标识符标识符只能由数字、下划线、字母3者组成,第一个字符不能是数字。
标识符是用来表示变量名、符号常量名、函数名、数组名和文件名的有效字符序列(区分大小写)。
标识符长度有一定的限制(前八个字符有效)。
常量与变量※常量包括:整型常量、实型常量、字符常量、和字符串常量等类型。
*整形常量包括:1. 基本整型(int 分配4字节)2. 短整型(short int 分配2字节)3. 长整型(long int 分配4字节)4. 无符号型(unsigned)等*实型常量包括:1. 小数形式(必须要有小数点)2. 指数形式(*字母e或E前必须要有数字*字母e或E后面的指数必须为正数*在字母e或E的前后以及数字之间不得插入空格)如12.34E+9, ﹣5.453e﹣10是合法的实数表示,如果写成e2、.6E3.5、.e2、e、E等都是不合法的指数形式。
※变量包括:整型变量、实型变量又称数值型常量*整型变量分为:基本型、短整型、长整型、无符型*实型变量分为:1. 单精度型(float 分配4字节)2. 双精度型(double 分配8字节)算数表达式※基本的算数运算符①+、-、*、/与一般数学运算相同,其中“-”可作一元运算符使用,表示取负。
②优先级为:先*、/、%,后+、-。
③两个整型数相除,取商的整数部分。
例如:8/5 结果为1,5/8结果为0两实型数相除,结果为实型数,例如: 8.0/5.0结果为1.6④%用于求两个整数相除的余数(两边必须为整数)例如:8%5 为3,而10%5 为0⑤参加运算的两个操作数的类型不同时,按由低到高规则转换后计算。
⑥注意与圆括号的结合。
※赋值表达式1. 赋值符“=”与数学中的等号“=”外观相同,但含义、作用不同,如i=i+1,在数学中是不成立的,但在C语言中是正确的。
它的含义是将i当前值加1再赋给变量i。
2. 赋值符“=”左边必须是变量,右边既可以是常量,变量,也可以是函数调用或表达式。
c语言《程序设计基础》课后习题参考答案与解析《程序设计基础》习题参考答案与部分解析第1章 C 语言概述一、填空a) C源程序的基本单位是函数。
b) 一个C程序中至少应包括一个 main函数。
c) 在C语言中,输出操作是有库函数 printf( )函数完成。
二、单选题1、A2、C3、B解析:第1题答案:A 。
因为一个C程序总是从main函数开始执行的,而不论main函数在程序中的位置。
且到main函数结束。
第2题答案:C 。
因为 main函数没有限制必须位于程序的最前面。
C程序书写自由,一行内可写几个语句。
在对一个C 程序进行编译的过程中,无法检查注释当中的拼写错误。
不过C语言本身并没有输入输出语句,输入输出是由函数完成的。
第3题答案:B。
因为一个C语言程序是由若干个函数组成的。
但至少包含一个main 函数,且main函数的位置不限。
三、编程题1、编写一个输出“Welcome to C!”信息的小程序。
解:程序如下#include “stdio.h”main( ){1printf(“Welcome to C!”) ;}2、已知三角形的三边长分别为3,4,5,试用海轮公式编程求其面积。
海伦公式为:S?= ,其中s= (a+b+s)/2 ;解:程序如下#include “math.h”#include “stdio.h”main( ){int a , b , c ; /* a ,b,c 3个整型变量表示三角形的3条边。
*/float s ,s1 ; /* s1作为面积变量,s 作为中间变量是都应该是实形*/a=3 ; b= 4; c=5 ;s= (a+b+c)/2.0 ;s1= sqrt(s*(s-a)*(s-b)*(s-c)); /* sqrt函数完成开平方根功能。
*/printf(“area=%f\n”,s1);}2第2章程序设计基础知识一、单选题1、C2、A3、C4、A5、C6、C7、D8、C9、D 10、A 11、D 12、A 13、C 14、C 15、B A 16、B 17 D解析:1. 答案:C。
目录第一章C语言基础知识 (1)第二章C语言程序设计的初步知识 (2)第二章答案 (25)第三章顺序结构程序设计 (3)第四章选择结构程序设计 (4)第五章循环结构程序设计 (6)第六章数组 (7)第六章答案 (26)第七章函数 (9)第七章答案 (27)第八章指针 (12)第八章答案 (28)第九章结构体与共用体 (14)第九章答案 (28)第十章文件 (16)第十章答案 (29)模拟试题 (17)模拟试题答案 (25)第一章C语言基础知识考点:1.C语言的特点。
2.C语言的基本结构、字符集、标识符、关键字。
3.算法的概念和描述方法。
一、选择题1. A 是C程序的基本构成单位。
A)函数B) 函数和过程C) 超文本过程D) 子程序2.下列说法正确的是 C 。
A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B)一个函数的函数体必须要有执行部分,可以没有变量定义C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D)以上都不对3.下列说法正确的是C。
A)在执行C程序时不是从mian函数开始的B)C程序书写格式严格限制,一行内必须写一个语句C)C程序书写格式自由,一个语句可以分写在多行上D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号4.下列标识符正确的是C。
A)x+y123 B)4_student C)a456 D)U.S5.以下说法正确的是C。
A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分6.B不是C语言提供的合法关键字。
A)char B)scanf C)case D)default7.C语言提供的合法关键字是C。
A)ELSE B)INT C)case D)printf8. 一个C语言程序是由B。
A)一个主程序和若干个子程序组成;B)函数组成, 并且每一个C程序必须且只能由一个主函数;C)若干过程组成;D)若干子程序组成.9. 以下叙述中错误的是(C )A.C语言是一种结构化程序设计语言。
第2章C语言概述2.1C语言基础知识2.1.1C语言概述(1)结构紧凑、使用方便、程序执行效率高的编程语言。
(2)有9种控制语句、32个关键字和34种运算符。
(3)数据结构丰富,可实现链表、树、栈等复杂的运算。
(4)语法不太严格,程序设计自由度大。
(5)程序可直接访问物理地址、对硬件操作。
移植性好。
2.1.2C语言的构成(1)源程序由函数构成,每个函数完成相对独立的功能。
(2)每个源程序中必须有且只能有一个主函数,可以放在任何位置,但程序总是从主函数开始执行。
(3)函数体:在函数后面用一对花括号括起来的部分。
(4)每个语句以分号结束,但预处理命令、函数头之后不能加分号。
(5)注释:括在“/*”与“*/”之间,没有空格,允许出现在程序的任何位置。
(6)预处理命令:以“#”开头的语句。
2.2常量、变量和数据类型2.2.1标识符1.标识符的命名规则●只能由字母、数字或下划线组成。
●第一个字符必须是字母或下划线,不能是数字。
●区分字母的大小写。
2.标识符的分类C语言的标识符可以分为3类。
(1)关键字:C语言规定的专用的标识符,它们有着固定的含义,不能更改。
(2)预定义标识符:和“关键字”一样也有特定的含义。
●有库函数的名字、预编译处理命令两种类别。
●用户可以更改预定义标识符的作用,但这将失去系统规定的原来意思,不建议修改。
(3)用户标识符:由用户根据需要定义的标识符。
●命名应注意做到“见名知义”。
●不能与关键字相同。
2.2.2常量定义:在程序运行中,其值不能被改变的量。
常量的类型:整型常量、实型常量、字符常量、字符串常量和符号常量。
1.整型常量(1)表示形式:十进制整型常量、八进制整型常量和十六进制整型常量。
(2)书写形式。
●十进制整型常量:基本数字范围为0~9。
●八进制整型常量:以0开头,基本数字范围为0~7。
●十六进制整型常量:以0x开头,基本数字范围为0~15,其中10~15写为A~F或a~f。
2.实型常量(1)表示形式:小数形式和指数形式。
《C语言程序设计》(邱晓红主编)课后习题参考答案第1章C语言及程序设计概述1.单选题(1)A (2)B (3)A (4)B (5)C2.填空题(1)//,/*…*/(2)scanf()(3)printf()3.判断题(1)对(2)错(3)错(4)对1.4简答题①概述C语言和C语言程序的主要特点。
答:1.C语言是高级语言。
它把高级语言的基本结构和语句与低级语言的实用性结合起来。
2。
C语言是结构式语言。
结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。
这种结构化方式可使程序层次清晰,便于使用、维护以及调试。
①C语言功能齐全。
具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。
②C语言适用范围大。
适合于多种操作系统,如Windows、DOS、UNIX、LINUX等等;也适用于多种机型。
②请编程,在计算机屏幕上显示:“您好,欢迎进入C语言世界!”解:#include<stdio.h>void main(){printf("您好,欢迎进入c预言世界!");}第二章:数据类型运算符与表达式1.单选题(1)C (2)D (3)C (4)B (5)C (6)A (7)B (8)D (9)A (10)B(11)C (12)C (13)D (14)A (15)B (16)C (17)A (18)A (19)B (20)C (21)C (22)D (23)C (24)A (25)D (26)B (27)C (28)B (29)B (30)A 2.填空题(1)sqrt(pow(y,x)+log10(y)) (2)36(3)6 (4)3 3(5)6 (6)36(7)int x=8,y=8; (8)1(9)E (10)7,9,6,8)(11)6 (12)66,96(13)240 (14)1,1,-1,-1(15)5,2,6 (16)1(17)!(18)2(19)(a>0&&a<101)&&(a%3==0||a%7==0)(20)A3.程序分析题(1)2 7 (VC++环境下,其它编译环境可能有不一样的结果)2 74 94 412 12(2)3 1 4 01 -616(3)100 d 68 D97 a 49 1(4)0 1 0 1(5)2 4 6 7-0.5800000 7.00000046.5800007.500000(6)33 12 113 13 082 32(7)618 30181(8)1 1 0 04.改错题(1)①无初始赋值,不能输出②数据精度丢失③少“;”号④单字符变量不能保存字符串常量⑤不能连续初始化⑥非法标识符(2)short i=38000溢出PI=3.1416 常量不能修改值Printf(“%d”,x%y) %必须是整数a*=(b+c)/=d复合赋值左边不能是表达式5、(1)#include <stdio.h>int main(){int H;float v,L1,L2,L,T,s1,M;printf("请输入开始里程数,单位为千米:\n");scanf("%f",&L1);printf("请输入结束里程数,单位为千米:\n");scanf("%f",&L2);printf("请输入时间,格式为时,分,秒\n");scanf("%d,%f,%f",&H,&M,&s1);T=H+M/60.0+s1/3600.0;//将时间折算成小时;L=L2-L1;//计算出这段时间走的路程,以千米计;v=L/T;printf("%f\n",v);return 0;}(2)#include <stdio.h>#define PI 3.14int main(){double r=2.5,h=5,V;V=(PI*r*r*h)/3;printf("%f\n",V);return 0;}第三章:算法概念与顺序结构程序设计1.选择题(1)D (2)D (3)D (4)B (5)C (6)A (在16位机答案为D)(7)B (8)C (9)B (10)D2.填空题.(1)一条语句;(2)小于左右(3)%%(4)输出项列表输出控制符(5)取地址取a的地址(6)从盘获取一个字符(7)大括号(8)f=68.000000(9)n1=%d\n n2=%d(10)7,5,c=33.程序分析题.(1)i=100,c=a,f=1.234000(2)i=65535,j=65536(10)1234,123.5,12345.53.4 编程题①编写一个程序,交换两个数的值。
第二章 C语言程序设计的初步知识一、选择题1.在C 语言中,下列类型属于构造类型的是 D 。
(0级)A)整型B)字符型C)实型D)数组类型2.在C 语言中,下列类型属于构造类型的是D 。
(0级)A)空类型B)字符型C)实型D)共用体类型3.在C 语言中,下列类型属于构造类型的是 D 。
(0级)A)整型B)指针类型C)实型D)结构体类型4.在C 语言中,下列类型属于基本类型的是 A 。
(0级)A)整型、实型、字符型B)空类型、枚举型C)结构体类型、实型D)数组类型、实型5.下列类型属于基本类型的是 C 。
(0级)A)结构体类型和整型B)结构体类型、数组、指针、空类型C)实型D)空类型和枚举类型6.下列字符串属于标识符的是 A 。
(0级)A)INT B)5_student C)2ong D)!DF7.下列字符串属于标识符的是 A 。
(0级)A)_WL B)3_3333 C)int D)LINE 38.下列字符串不属于标识符的是 D 。
(0级)A)sum B)average C).day_night D)M.D.JOHN9.下列字符串不属于标识符的是 D 。
(0级)A)total B)lutos_1_2_3 C)_night D)$ 12310.下列字符串不属于标识符的是D 。
(0级)A)_above B)all C)_end D)# dfg11.C语言中不能用来表示整常数的进制是 D 。
(0级)A)十进制B)十六进制C)八进制D)二进制12.C语言中能用来表示整常数的进制是 A 。
(0级)A)十进制、八进制、十六进制B)十二进制、十进制C)六进制、八进制D)二进制、十进制13.在C语言中,回车换行符是 A 。
(0级)A)\n B)\t C)\v D)\b14.在C语言中,退格符是 D 。
(0级)A)\n B)\t C)\v D)\b15.在C语言中,反斜杠符是 D 。
(0级)A)\n B)\t C)\v D)\ \16.在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII 码 A 。
(0级)A)大32 B)大64 C)小32 D)小6417.设d为字符变量,下列表达式不正确的是 C 。
(0级)A)d=97 B)d=‟a‟C)d=”a”D)d=‟g‟18.设d为字符变量,下列表达式正确的是 B 。
(0级)A)d=678 B)d=‟a‟C)d=”d”D)d=‟gjkl‟19.10+‟a‟+1.5-567.345/‟b‟的结果是 B 型数据。
(0级)A)long B)double C)int D)unsigned float20.语句int i=3;k=(i++)+(i++)+(i++);执行过后k的值为 A ,i的值为。
(0级)A)9,6 B)12,5 C)18,6 D)15,521.如果i=3,则k=(i++)+(++i)+(i++)执行过后k的值为 A ,i的值为。
(1级)A)12,6 B)12,5 C)18,6 D)15,522.如果i=3,则k=(++i)+(++i)+(i++)执行过后k的值为 A ,i的值为。
(1级)A)15,6 B)12,5 C)18,6 D)15,523.如果i=3,则k=(++i)+(++i)+(++i)执行过后k的值为 C ,i的值为。
(1级)A)9,6 B)12,5 C)18,6 D)15,524.如果int i=3,则printf(“%d”,-i++)的结果为 A ,i的值为。
(1级)A)-3,4 B)-4,4 C)-4,3 D)-3,325.如果int i=3,int j=4,则k=i+++j执行之后k,i和j的值分别为 C 。
(1级)A)7,3,4 B)8,3,5 C)7,4,4 D)8,4,526.已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为 B 。
(1级)main(){char x,y;x=‟0‟;y=‟9‟;printf(“%d,%d\n”,x,y);}A)因输出格式不合法,输出错误信息B)48,57C)0,9 D)48,5827.已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为 C 。
(1级)main(){char c=‟A‟;int i=10;c=c+10;i=c%i;printf(“%c,%d\n”,c,i);}A)75,7 B)75,5C)K,5 D)因存在非图形字符,无法直接显示出来28.已知在ASCII集中,字母A的序号为65,下面程序的输出结果为 B 。
(1级)main(){char c1=‟B‟,c2=‟Y‟;printf(“%d,%d\n”,++c1,--c2);}A)输出格式不合法,输出错误信息B)67,88C)66,89 D)C,X29.C语言中最简单的数据类型包括 B 。
(1级)A)整型,实型,逻辑型B)整型,实型,字符型C)整型,字符型,逻辑型D)整型,实型,逻辑型,字符型30.C语言中,运算对象必须是整型数的运算符是A 。
(1级)A)% B)\ C)% 和\ D)* 31..下列常数中,合法的C 常量是 A 。
(1级)A)-0. B)‟105‟C)‟AB‟D)3+5 32.下列常数中,合法的C 常量是 A 。
(1级)A)”x-y”B)‟105‟C)‟Be‟D)7ff33.下列常数中,合法的C 常量是 A 。
(1级)A)‟\n‟B)e-310 C)‟DEF‟D)‟1234‟34.下列常数中,不合法的C 常量是 B 。
(1级)A)-0x2al B)lg3 C)‟[‟D]”CHINA”35.下列常数中,不合法的C 常量是 B 。
(1级)A)-0x3bl B)123e+2.3 C)‟}‟D)6e+7 36.下列符号中,可以作为变量名的是 C 。
(1级)A)+a B)12345e C)a3B D)5e+0 37.下列符号中,可以作为变量名的是 C 。
(1级)A)+c B)*X C)_DAY D)next day 38.下面程序的输出结果是 A 。
(1级)main(){int x;x=-3+4*5-6;printf(“%d”,x);x=3+4%5-6; printf(“%d”,x);x=-3*4%-6/5; printf(“%d”,x);x=(7+6)%5/2; printf(“%d”,x);}A)11 1 0 1 B)11 –3 2 1C)12 –3 2 1 D)11 1 2 139.下面程序的输出结果是 B 。
(1级)mian(){int x=2,y=0,z;x*=3+2; printf(“%d”,x);x*=y=z=4; printf(“%d”,x);}A)8 40 B)10 40C)10,4 D)8,440.下面程序的输出结果是 A 。
(1级)main(){int x=2,y=0,z;x+=3+2; printf(“%d”,x);x*=y=z=4; printf(“%d”,x);}A)7 28 B)无法计算C)7,4 D)8,441.下面程序的输出结果是 B 。
(1级)main(){int x=4,y=0,z;x*=3+2; printf(“%d”,x);x*=y= =(z=4); printf(“%d”,x);}A)14 40 B)20 0 C)20 4 D)14 442.下面程序的输出结果是 A 。
(1级)main(){int i,j;i=16;j=(i++)+i;printf(“%d”,j);i=15;printf(“%d %d”,++i,i);}A)32 16 15 B)33 15 15C)34 15 16 D)34 16 1543.在C语言中,以下合法的字符常量是BC 。
(1级)A)'\084' B)'\x43' C)'0' D)"\0"44.若已定义X和Y为double类型,则表达式:x=1,y=x+3/2的值为 C 。
(1级)A)1 B)2 C)2.0 D)2.545.下列程序的执行结果是B 。
(1级)#include<stdio.h>#define sum 10+20main(){int b=0,c=0;b=5;c=sum*b;printf("%d",c);}A)100 B)110 C)70 D)15046..下列程序的执行结果是 D 。
(1级)#include<stdio.h>#define sum(10+20)mian(){int a=0,b=0,c=0;a=sum;b=5;c=sum*b;printf("%d",c);}A)100 B)110 C)70 D)15047.表达式(int)2.1416的值为 A 。
(1级)A)2 B)2.1 C)0 D)348.表达式(double)(20/3)的值为 B 。
(1级)A)6 B)6.0 C)2 D)349. 在下面几组数据类型中, 全是基本数据类型是哪一组 A 。
(02~03第一学期试题)A)整型实型字符型B)整型数组指针C)数组结构体共用体D)指针逻辑型空类型50. 以下说法正确的是 C 。
(02~03第一学期试题)A)在C程序中, 每行只能写一条语句.B)在C程序中, 无论是整数还是实数, 其存放形式都一致.C)在C程序中, %是只能用于整数运算的运算符.D)在C程序中, 变量可以不必先定义就可使用.51. 假设所有变量均为整型, 则表达式( a=5, b=2, a++, a+b ) 的值是 A 。
(02~03第一学期试题)A)8 B)7C)6 D)552. 若有以下定义, 则正确的赋值语句为 A 。
(02~03第一学期试题)int a, b ;float x;A)a=1, b=2, B)b++;C)a=b=5 D)b= int (x) ;53. .C语言规定标识符由 A 等字符组成. (01~02第二学期试题)A)字母数字下划线B)中划线字母数字C)字母数字逗号D)字母下划线中划线54. 若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式:(float)(a+b)/2+(int)x%(int)y的值是 B 。
(01~02第二学期试题)A)2.500000 B)3.500000 C)4.500000 D)5.00000055. 以下表达式: 2+‟a‟+i*f, 其中i为整型变量,f为float型变量,则表达式的最终数据类型为 D 。
(01~02第二学期试题)A)int B)float C)char D)double56. 若有:int a,b=2;则a=(b*100+1.5,100)则a的值是 A 。