C语言复习题
1、英语单词及关键字:
(1)char: 一个字节长的字符值; short: 短整数;
int : 整数; %d unsigned:无符号类型; long : 长整数;%ld float: 单精度实数;%f
double: 双精度实数;%lf struct:定义结构体的关键字;
(2) break:退出最内一层的循环(或switch语句). return: 返回到主调函数。
continue: 跳到下一轮循环; goto: 转移到标号指定的地方; (3) sizeof():运算符,计算表达式和类型的字节数。如: m=sizeof(float) ; m 值为4。 m=sizeof(double) ; m 值为8。 2、C语言的源程序文件要经过编译才能产生 *.exe可执行文件。集成化的工具环境已将编辑、编译、连接、调试工具集于一体。如我们用的Turboe C .
3、在C语言的环境中,*.h :是头文件; *.obj :是目标文件; *.bak:是备份文件; *.c:C程序的源文件。
4、C语言源程序都是从main函数开头, main函数叫主函数。所以任何可运行的C 源程序有且只能有一个main 函数。函数体用大括号(花括号)括起来。
5、C语言的函数的数据类型就是函数返回值数据的类型,它的形式参数叫形参。如函数:float average( float a,float b,float c) 则这个函数名为:average,函数的类型为float,即调用该函数后,返回一个 float 类型的值。形式参数为:a , b, c ,它们的类型为float类型。调用函数时它们分别与实际参数一一对应。函数与变量、数组等的区别为:不管函数有没有形式参数,函数名都有括号。
6、C语言的注释是用/* 和 */把注释内容包含起来。在源程序编译时不参加编译。只用来解释和说明程序。增强程序的可读性。
7、C语言的数据类型分为基本类型和构造类型和指针类型等。如以下定义的变量中哪个定义了结构体类型( b ) 哪个是指针类型 ( d )。
(A) long x; (B) struct stud_type a; (C) short y; (D) int *p; 8、C语言的字符是根据其ASCII码的值来存储的。如char x=97; printf(“%d, %c”,x,x);则输出的值为:c
(A) a 97 ; (B) 97 97; (C) 97 a; (D) a a。
9、整型数据可以用十进制,十六进制和八进制输入输出。如 % x %d %0分别表示:d
(A) 十进制,十六进制和八进制;(B) 十进制,八进制和十六进制; (B) 十六进制,八进制和十进制;(D)十六进制,十进制和八进制。
10、在输出时用到转义字符,来实现输出的格式。以下转义字符号中,表示换行的是( c ) 表示横向跳格的是:( b )
(A) \\r (B) \\t (C) \\n (D)\\b
11、标识符是C语言中为变量、常量、函灵敏、数组等取的名字。只能用字母或下划线开头,由字母、下划线和数字组成。以下各项中不合法的标识是( c )
(A) sum (B) t_345 (C) 5byte ( D) _3dfs
12、自反赋值运算符是C语言特有的,如:a+=2 等价于a = a+2;
a/=5等价于a = a/5
13、C语言的自加或自减运算要注意前缀形式带是后缀形式,前缀形式是先进行自加(或自减),再进行操作,后缀形式是先进行操作,后自加(或自减)。
如执行操作:z=x*(++y)等价于:( b ) 执行操作:z=x*(y++)等价于是( c )。
(A) z=x*y; y=y+1; (B) y=y+1; z=x*y; (C) z=x*y; y=y+1; (D) y=y+1; z=xy; 14、问号运算符使用: int x=5, y=7, z; z=x>y?a+y:a-y 则X的值为:d
(A) 5; (B) 7 ; (C) 12; (D) -2;
15、int a=2,b; char c=’A’; b=a (A) 0 ;(B) 1; (C) 2; (D) 97; 16、下列各表达式中哪个值为“真”。d (A) 7>10&&4>2; (B) 10>’A’&&2>0; (C)’a’<50||’a’>’b’;(D)0||1 17、if else 语句中的else是与它最近的if相配对。如 if(a>b) if(a esle x=3; 如a>b>c,则x=( c ) (A) 0 , (B) 1, (C) 2, (D) 3 18、填空:int x; lont y; char z; 则输入三个x,y,z的语句为: scanf(“% % %c”, &x, &y, ); d ld &z 19、填空:int x=3; lont y=891021; char z=‘A’; 输出三个x,y,z的语句为: printf(“% % %c”, x,y, );d ld &z 20、int x,y,z; x=y=z=0; ++x ||++y &&++z; 则x、y、z的值分别为:c (A) 000; (B)001; (C) 100; (D)111。 21、int x=5,y=0; printf(“%d,%d\\n”, a&&b,a||b); 输出值为:d (A) 5,0 (B) 1,5 (C) 1, 0 (D) 0,1 22、int a=5;b=3;x,y; x=a/b; y=a%b,则x 、y的值分别为:a (A) 1、2, (B) 2、3 (C) 3、 5 (D)2、5 23、 一个整型数int m=66; 如printf(”%d”,m) 则输出______;如printf(“%c”,m), 则输出______(注意:A的ASCII码值为65,B为66,C为67,以次类推)。如果用”%0”格式输出,说明是以_____进制输出;如果用”%x”格式输出,说明是以_____进制输出。 24、面向过程的程序设计的两大要一素是:算法和数据结构。 所以有:算法 + 数据结构 = 程序 25、程序设计的基本控制结构有:顺序结构、选择结构和循环结构。如下图中:顺序结构的是( a ),选择结构的是(b ) ,循环结构的是( c)。 成立 P 不成立 A (A) (B) (C) 26、判断下面函数的功能: ____________. double abstr(double x) { if(x<0.0) e=-x; else x=x; return(x); } 27、if...else 语句可以 嵌套使用。 else应与最近的if 相匹配。 28、下列函数的功能: double signed(double x) B C { int m; if(x>0) m=1; else if(x==0) m=0; else m=-1; return(m); } 29、循环型程序设计的方法有穷举法和迭代法。C语言中可以进行循环程序设计的语句有:while 语句、do...while语句、for语句。 30、while 语句与do while语句的区别为:while 是先判断,条件满足,则执行循环,否则退出;而 do while语句是先执行一次循环,再判断,如条件满足,则执行循环,否则退出。 31、下列是用while 语句实现对1至100的和。 Main() {int i=1,sum=0; while(i<=100) {sum=sum+i; i++; } printf(“sum = %d\\n”,sum); } 如用for语句,则: main() {int i,sum=0; for(i=0;i<=100;i++) sum=sum+i; printf(“sum=%d\\n”,sum); } 32、在程序中,在调用一个函数时,又调用另一个函数,这种调用叫函数的嵌套调用。一个函数直接或间接地调用自身,便构成了函数的递归调用。 33、在函数调用时,形参与实参各占一个独立的存储空。形参的存储空间只有在被调用时才分配的。函数返回时就被撤消。所以形参值不能传回给实参。子函数只能用return返回 一个值。 34、变量根据它的存储特点分为四种:register属性的叫寄存器变量,,auto属性的叫自动型变量,它们都是动态生存的局部变量,static属性的叫静态变量, exterm属性的叫外部变量。此二者都是永久存在的变量。 35、把3.14159265用宏替换,以PI为宏名的命令为:#define PI 3.14159265 36、文件包含的命令格式为:#include “文件名“,或者说#include <文件名> 37、文件包含命令和宏替换命令,因为不是C语言的语句,所以后面没有分号。 38、指针就是地址,指针变量中存放的就是所指变量的存储地址,所以,可以所以间接访问指针的方法间接地对变量进行操作。 39、设有一个变量x ,则&x 表示:变量X的地址值。 设p为指向整数的指针,则p 的定义形式为:int *p; 在计算式中,*p 表示:p 所指的变量值。也称为间接运算符。 40、程序: main() {int p1,p2,i1=10,i2=20; p1=&i1;p2=&i2; printf(“%d,%d\\n,*p1,*p2); p2=p1; printf(“%d,%d\\n”,*p1,*p2); } 则输出结果为:10 20 和 10,10 41、C语言中,基本的数据数据有int char float double等,构造数据类型有:结构体、 共用体和枚举型等。 42、 struct person { char name[20]; int age; float score; }; 这是一个结构体类型类型的定义。作为一种构造的数据类型,系统并不为该类型分配空间。只有定义了该类型的变量后,系统才为变量分配存储空间。注意的是,最后大括号后面必须加分号。 43、共用体数据类型:将不同的数据项存放于同一段内存单元的一种构造数据类型。它的关键字为: union;枚举型数据类型为这种类型的变量的值只能是指定的若干个名字之一。其关键字为enum. 44、结构体变量为struct stud_type{char name[20]; long num; char sex; float score;} student={“Wang Li”,80101,M,95.5}; student 变量的值输出的格式为: printf(“%s,%l,%c,%f\\n”,student.name,student.num,student.sex,student.score); 45、C语言的位运算有:按位取反、左移、右移、按位与、按位或、按位异或。六种运算。 46、用C语言编制一个三角形的打印九九表的函数。 47、编制求三个实数中最大数的程序(三个数排序),要求有输出有输出。(指针) 48、有一数组a[5]={1,3,5,7,9},请分别用下标法、地址法和指针法输出a数组的元素。 49、有100只马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,编程序求大、中、小马各为多少。得到只数以\的格式写入到文件design.dat中。 50、设计程序:计算表达式1+2!+3!+...+12!的值,并将计算结果以格式 \写入到文件design.dat中 51、编写程序,完成以下功能:对x=1,2,...,10,求函数f(x)=x-10*cos(x)-5*sin(x)的最大值,并将该数以格式\写入到新建文件design.dat。