C语言期末复习资料
- 格式:docx
- 大小:17.62 KB
- 文档页数:4
选择题1、以下不是C语言基本数据类型的是D。
A.字符型B.C.整型D.构造类型2、以下B是八进制数。
A.1X12 B.123C.1001 D.01233、Turbo C中,char类型变量所占字节数是B。
A. 2 B. 1C. 3 D. 44、C语言提供的合法的数据类型关键字是B。
A.longer B.shortC.integer D.character5、C语言中运算对象必须是整型的运算符是A。
A.%= B.==C.+= D.*=6、下面关于字符串和字符常量的叙述中错误的是C。
A.字符常量由单引号括起来,字符串常量由双引号括起来B.字符常量只能是单个字符,字符串常量可以含一个或多个字符C.字符常量占一个字节的内在空间,字符串常量占的内在字节数为字符串中字符数D.可以将一个字符常量赋予一个字符变量,但不能将一个字符串常量赋予一个字符串变量7、以下程序的输出结果是D。
main(0{ int m = 10, n = 3;printf( " %d\n ", n = m / n ) ;}A.10 B.11C.13 D. 38、若以下变量均已正确说明为char类型,要给x、y和z输入数据,正确的是B。
A.scanf ( x, y, z );B.scanf ( "%c%c%c", &x, &y, &z ) ;C.scanf ( "%C%C%C", x, y, z ) ;D.scanf ( "%c%c%c", x, y, z ) ;9、以下程序的输出结果是C。
char c1, c2;c1=65; c2 = 65 + 32 + 1 ;printf ( "%c, %c ", c1, c2 ) ;A.a, B B.A, BC.A, b D.a, b10、以下程序的输出结果是C。
#include "stdio.h"#include "math.h"main(){ int a=3, b=9 ;float y, x=1.2 ;y= ( a+b ) / sqrt ( b ) * x ;printf ( "%\n", y ) ; }A. 1.000000 B. 1.400000C. 4.800000 D. 1.90000011、以下程序段的输出结果是7 6 7。
1.C程序的源程序由预处理命令和( )组成。
(A)函数(B) 语句(C) 保留字(D) 标识符2. 下面程序段中,与if(x%2)中的x%2所表示条件等价的是( )。
scanf("%d",&x);if(x%2) x++;(A)x%2==0 (B) x%2!=1 (C) x%2!=0 (D) x%2==13. 执行下面的C语句序列后,变量b的值是( )。
int a,b,c; a=b=c=1; ++a||++b&&++c;(A) 错误(B) 0 (C) 2 (D) 14. 设有C语句int a[3][4];,则每次移动过a数组一行元素的指针变量定义形式是( )。
(A)int *p; (B)int **p;(C)int (*p) [4]; (D)int *p[4];5.设有整型变量a, 实型变量f,双精度型变量x,则表达式10+'b'+x*f值的类型为( )。
(A) int (B) float (C) double (D) 不能确定6.C语言中规定,函数调用中用简单变量做实参时,它和对应形参之间的数据传递方式是( )。
(A)地址传递(B)单向值传递(C)有实参传给形参,再由形参传回给实参(D)由用户指定传递方式7.下面程序的输出是()。
#include <stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}(A)0 (B)1 (C)3 (D)不确定的值8.执行下面的程序段后,B的值为()。
int x=35;char z='A';int B;B=((x&15)&&(z<'a'));(A) 0 (B) 1 (C) 2 (D) 39.以下程序的输出结果为()。
#include <stdio.h>void main(){int i=0;for(;;)if(i++==5)break;printf("%d\n",i);}(A) 0 (B) 5 (C) 6 (D) 前3个选项都错10.已知:char s[4] = "cba"; char *p; 执行语句序列p =s;printf("%c\n",*p+1);后,其输出为()。
C语言知识点复习资料考试是难得的训练自己的机会,在特定的时间、特定的地点、特定的气氛下,你需要调动各方面的能力。
而在每一次考试中,我都下意识地应用自己摸索出来的“目标控制法”,做到了每次考试有有收获和进步。
每次考试前,我都会在一张白纸上写满通过本次考试要达到的目标:要注意克服哪些易犯的错误,尤其是要克服前几次考试中暴露出来的共性的失误;要积累哪些经验,应用哪些技巧,比如选择题中的特征值法;要在多长的时间内完成卷面各部分,比如,争取35分钟内完成数学试卷中的选择题和填空题;要培养锻炼哪些考试应试的心理素质等.也就是说,我们要把考试看成是一个完整的流程,包括考前准备、考场发挥和考后调整三个阶段。
同学中存在的误区往往是只注意考前的准备和考场的发挥两个阶段,对考后调整注意不够。
事实上,高考之前的每一次模拟考试,最重要的就是考试后的总结与反思,只有这样,才能认识到自己的薄弱环节,不断提高考试能力。
所以,有心的同学一定要注意做好健全的考后调整,不断提高自己的实力。
总体上必须清楚的:1.程序中基本的控制结构是三种:顺序结构、选择结构(分支结构)、循环结构。
2.读程序都要从main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数.3.计算机的数据在电脑中保存是以二进制的形式。
数据存放的位置就是它的地址。
4.bit是位是指为0 或者1。
byte 是指字节,一个字节 = 八个位。
5。
编译预处理不是C语言的一部分,不占运行时间,不要加分号。
(常考!)#define PI 3.1415926; 这个写法是错误的,一定不能出现分号。
6. 每个C语言程序中main函数是有且只有一个。
7。
用C语言编写的程序称为源程序,扩展名是。
c。
C程序必须经过编辑、编译、链接、运行四个步骤才可得到运行结果。
注意。
c和.obj 文件时无法运行的,只有。
exe文件才可以运行。
(常考!)8。
C语言书写格式是自由的,每行可以写多个语句,一条语句也可以写在多行.9. 一个C语言程序有且只有一个main函数,是程序运行的起点. 10。
C语言知识点复习资料考试就是难得得训练自己得机会,在特定得时间、特定得地点、特定得气氛下,您需要调动各方面得能力。
而在每一次考试中,我都下意识地应用自己摸索出来得“目标控制法”,做到了每次考试有有收获与进步。
每次考试前,我都会在一张白纸上写满通过本次考试要达到得目标:要注意克服哪些易犯得错误,尤其就是要克服前几次考试中暴露出来得共性得失误;要积累哪些经验,应用哪些技巧,比如选择题中得特征值法;要在多长得时间内完成卷面各部分,比如,争取35分钟内完成数学试卷中得选择题与填空题;要培养锻炼哪些考试应试得心理素质等。
也就就是说,我们要把考试瞧成就是一个完整得流程,包括考前准备、考场发挥与考后调整三个阶段。
同学中存在得误区往往就是只注意考前得准备与考场得发挥两个阶段,对考后调整注意不够。
事实上,高考之前得每一次模拟考试,最重要得就就是考试后得总结与反思,只有这样,才能认识到自己得薄弱环节,不断提高考试能力。
所以,有心得同学一定要注意做好健全得考后调整,不断提高自己得实力。
总体上必须清楚得:1.程序中基本得控制结构就是三种: 顺序结构、选择结构(分支结构)、循环结构。
2.读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。
3.计算机得数据在电脑中保存就是以二进制得形式、数据存放得位置就就是它得地址、4.bit就是位就是指为0 或者1。
byte 就是指字节, 一个字节 = 八个位、5、编译预处理不就是C语言得一部分,不占运行时间,不要加分号。
(常考!)#define PI 3、1415926; 这个写法就是错误得,一定不能出现分号。
6、每个C语言程序中main函数就是有且只有一个。
7、用C语言编写得程序称为源程序,扩展名就是、c。
C程序必须经过编辑、编译、链接、运行四个步骤才可得到运行结果。
注意、c与、obj文件时无法运行得,只有、exe文件才可以运行。
C语言期末考试全部知识点复习资料重点常考点C语言知识点复习资料考试就是难得的训练自己的机会,在特定的时间、特定的地点、特定的气氛下,您需要调动各方面的能力。
而在每一次考试中,我都下意识地应用自己摸索出来的“目标控制法”,做到了每次考试有有收获与进步。
每次考试前,我都会在一张白纸上写满通过本次考试要达到的目标:要注意克服哪些易犯的错误,尤其就是要克服前几次考试中暴露出来的共性的失误;要积累哪些经验,应用哪些技巧,比如选择题中的特征值法;要在多长的时间内完成卷面各部分,比如,争取35分钟内完成数学试卷中的选择题与填空题;要培养锻炼哪些考试应试的心理素质等。
也就就是说,我们要把考试瞧成就是一个完整的流程,包括考前准备、考场发挥与考后调整三个阶段。
同学中存在的误区往往就是只注意考前的准备与考场的发挥两个阶段,对考后调整注意不够。
事实上,高考之前的每一次模拟考试,最重要的就就是考试后的总结与反思,只有这样,才能认识到自己的薄弱环节,不断提高考试能力。
所以,有心的同学一定要注意做好健全的考后调整,不断提高自己的实力。
总体上必须清楚的:1.程序中基本的控制结构就是三种: 顺序结构、选择结构(分支结构)、循环结构。
2.读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。
3.计算机的数据在电脑中保存就是以二进制的形式、数据存放的位置就就是它的地址、4.bit就是位就是指为0 或者1。
byte 就是指字节, 一个字节 = 八个位、5、编译预处理不就是C语言的一部分,不占运行时间,不要加分号。
(常考!)#define PI 3、1415926; 这个写法就是错误的,一定不能出现分号。
6、每个C语言程序中main函数就是有且只有一个。
7、用C语言编写的程序称为源程序,扩展名就是、c。
C程序必须经过编辑、编译、链接、运行四个步骤才可得到运行结果。
注意、c 与、obj文件时无法运行的,只有、exe文件才可以运行。
一、填空题1.C语言所提供的基本数据类型包括:单精度、双精度、整型、字符型。
2.若定义int m=8,y=3;则执行y*=y+=m-=y;后y的值是64。
3.Ox10相当于八进制数20 。
4.%m.n表示数据输出的总宽度占M列,其中小数部分占N 列。
5.C语言提供的3种逻辑运算符是非、或者、与。
6.当m=3,n=4,a=5,b=1,c=2时,执行完d=(m=a!=b)&&(n=b>c)后,n的值为1,m 的值为1,d的值为0。
7. 在数组定义格式中,放括号中的元素个数是量。
8. 判断字符串a和b是否相等,应当使用strcmp函数。
9. 在C语言中不能被调用的函数是函数。
10、目前,有两种重要的程序设计方法,分别是面向对象和面向过程。
12、面向对象程序设计的三个特征:多态、继承和封装。
13、在一个C源程序中,注释部分两侧的分界符为___ * */ __ 。
14、do----while 语句至少执行____1____次循环体。
15、在C语言中,一个double型数据在内存中所占的字节数为__8___。
16、若s是unsigned int型变量且已赋初值,则表达式s%2+(s+1)%2的值是__1_______17、表达式3>4的值是___0________18、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后,x的值为11,n的值为6。
19、若x=0,y=0,z=0,则计算表达式x++||y++&&z++后,x的值为1,y的值为1,z的值为1。
二、单项选择题1、下列各高级语言中,(B)是面向对象的程序语言。
A)Basic B)C C)C++ D)Pascal2、一个C程序的执行是从( A )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束3、C语言规定,不同类型的数据占用存储空间的长度是不同的。
期末复习C语言知识点归纳一、概述1. 一个C 语言源程序可以由一个或多个函数组成,有且只有1 个main() 函数, 可以放在程序中的任何位置.2. 一个C 程序不论有几个函数,都是从main() 函数开始执行3. 标识符按照 C 语言所定义的规则来命名的符号。
规则: 由字母、数字、下划线组成,但第一个字符必须是字母或下划线。
例如: area 、a234 、_1234 为合法标识符456P 、a-b 、a+b 为非法标识符注意: 标识符区分大小写。
例如: PAGE 和page 是两个不同的标识符。
4. c 语言有32 个关键字,关键字不能用作用户标识符。
5. C 源程序文件的扩展名".c" 。
6. VC++6.0 下c 语言程序的完整实现过程包括4 个基本步骤:编辑源程序编译源程序构建(链接)形成可执行文件(.exe )运行可执行文件.、数据类型、表达式1.c 语言中,整型、字符型、实型是最基本的数据类型2. 常量指在程序运行中,其值不能被改变。
分为整型常量、实型常量、字符常量、字符串常量。
整型常量C 语言中主要有十进制、八进制、十六进制等。
十进制例如12、-3 、32767 等。
八进制用数字0 开头,由0-7 这8 个数字组成。
例如010 、016 为合法八进制数127 、018 为非法八进制数十六进制用数字0 和字母x 或X 开头,用0-9 表示前10 个数字,字母A-F(可小写)表示后6 个数字。
例如0xAF 、0x10 、0x34 为合法十六进制数100 、ABC 、0xAFH 为非法十六进制数注意: C 语言中只有十进制数可以为负数。
实型常量表示方式有两种: 小数形式和指数形式。
小数形式例如: 0.123 、.123、123. 都是合法形式。
指数形式例如: 2.3026 可用以下任何一种指数表示0.23026E1 、2.3026e0 、23.026E-1 但下面的指数形式为非法E3、.5e3.6 、2.3e -2(e 和-2 间有空格)符号常量用符号名来表示一个常量。
一、选择题(每小题2分)1、以下说法正确的是 C 。
A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分2、下列符号中,可以作为变量名的是 C 。
A)+a B)12345e C)a3B D)5e+03、在C 语言中,下列类型属于构造类型的是 D 。
A)整型B)指针类型C)实型D)结构体类型4、设d为字符变量,下列表达式正确的是 B 。
A)d=678 B)d=‟a‟C)d=”d”D)d=‟gjkl‟5、C语言中,运算对象必须是整型数的运算符是 A 。
A)% B)\ C)% 和\ D)**6、表达式(double)(20/3)的值为 A 。
A)6B)6.0 C)2D)37、若已知a=10,b=20,则表达式!a<b的值为 C 。
A)10 B)20 C)1 D)08、printf函数中用到格式符"%4s",其中数字4表示输出的字符串占用4列。
如果字符串长度大于4,则按原字符串长从左向右全部输出;如果字符串长度小于4,则输出方式为 B 。
A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字符,左补空格D)输出错误信息9、为了表示关系x>=y>=z,应使用C语言表达式 A 。
A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)C)(x>=y>=z) D)(x>=y)&(y>=z)10、以下不正确的i f 语句形式是 C 。
A)i f ( x > y && x != y ) ; B)i f ( x = = y ) x + = y ;C)if ( x != y ) scan f ( “%d”, &x) else scanf ( “%d”, &y); D)i f ( x < y ) { x++; y++;}11、程序段如下int k=1; while(!k==0) {k=k+1;printf("%d\n",k);} 说法正确的是 B 。
《C语言》课程综合复习资料
一、单项选择
1. 若有如下语句: int *p1,*p2; 则其中int所指的是()
A. p1的类型
B. *p1和*p2的类型
C. p2的类型
D. p1和p2所能指向变量的类型
2. 下列程序段的输出结果是() x=9; while(x>7) {printf(“*”);x--;}
A. ****
B. ***
C. **
D. *
3. 下列变量的定义及赋值正确的是()
A. int i=0;j;
B. char c=”A”;
C. double x,y,z; x=y=z=100;
D. float a=b=100;
4. 设有语句:int x=10; x = x -= x - x;,则执行语句后,x的值为()
A. 30
B. 20
C. 10
D. 40
5. 设有语句:float x=1,y; y=x 3/2; 则y的值是()
A. 1
B. 2
C. 2.0
D. 2.5
6. 设有如下定义和执行语句,其输出结果为()int a=3,b=3; a = --b + 1; printf(“%d %d”,a,b);
A. 3 2
B. 4 2
C. 2 2
D. 2 3
7. 设有两字符串“Beijing”、“China”分别存放在字符数组str1[10],str2[10]中,下面语句中能把“China”连接到“Beijing”之后的为()
A. strcpy(str1,str2);
B. strcpy(str1, “China”);
C. strcat(str1,“China”)
D. strcat(“Beijing”,str2);
8. 设有定义语句:char str[][20]={""Hello"",""Beijing""},*p=str; 则printf(""%d\n"",strlen(p+20)); 输出结果是()
A. 0
B. 5
C. 7
D. 20
9. 设有定义int a[ ]={1,5,7,9,11,13},*p=a 3;则*(p-2),*(a 4)的值是()
A. 5 11
B. 1 9
C. 5 9
D. 有错误
10. 设有定义:int x=0,y=1,z=1;则运行表达式:x=y >z--后,x,y,z的值分别是()
A. 1,1,1
B. 1,2,0
C. 0,1,1
D. 0,2,0
11. 设有定义:int x=12,n=5; 则表达式 x%=(n%2) 的值为()
A. 0
B. 1
C. 2
D. 3
12. 设有定义 int a=3,b=4,c=5; ,则以下表达式中,值为0的表达式是()
A. a&&b
B. a<=b
C. a||b c&&b-c
D. !((a<b)&&!c||1)
13. 设有定义 int a[ ]={1,5,7,9,11,13}, *p=a 3; 则*(p-2) , *(a 4) 的值是()
A. 5 11
B. 1 9
C. 5 9
D. 有错误
14. 设有定义 char *p=“abcde\0fghjik\0”; 则printf(“%d\n”,strlen(p));输出结果是()
A. 12
B. 15
C. 6
D. 5
15. 设有int x=11;则表达式(x *1/3)的值是()
A. 3
B. 4
C. 11
D. 12
16. 设a=3,b=4,c=-5,则逻辑表达式:a || b c && b==c 的值是()
A. 1
B. 0
C. 非0
D. 语法错
17. 若有以下定义:int a[10],*p=a; 则*(p+3)表示的是()
A. 元素a[3]的地址
B. 元素a[3]的值
C. 元素a[4]的地址
D. 元素a[4]的值
18. 若有以下定义:char s[20]= "programming",*ps=s;则不能代表字符g的表达式是()
A. ps 3
B. s[3]
C. ps[3]
D. ps =3,*ps
19. C语言中,函数返回值的类型是由()
A. return语句中的表达式类型决定
B. 调用函数的主调函数类型决定
C. 调用函数时的临时类型决定
D. 定义函数时所指定的函数类型决定
20. C语言提供的合法关键字是()
A. swicth
B. cha
C. Case
D. default
二、读程序题
1. "#include <stdio.h>
void main()
{ int a=4,x=3,y=2,z=1;
printf(""%d\n"",(a<x ? a : z<y ? z : x));
}"
2. "#include <stdio.h>
void main()
{ int x=12,y=0;
if(x>=0)
{ if(x>0) y=10; }
else y=-10;
printf(“y=%d\n”,y);
}"
3. "#include <stdio.h>
void main()
{ int k=1;
switch(k)
{ case 0: printf(""A""); break;
case 1: printf(""B"");
case 2: printf(""I"");
case 3: printf(""G""); break;
default: printf(""E"");
}
}"
4. "#include <stdio.h>
#define S(x) x*x
void main()
{int a,k=3,m=1;
a=S(k+m);
printf(""%d"",a);
}"
5. "#include <stdio.h>
int fun(int a, int b)
{ if(a>b) return(a);
else return(b);
}
void main()
{ int x=3, y=8, z=6, r;
r=fun(fun(x,y), 2*z);
printf(""%d\n"", r);
}"
6.#include <stdio.h&>
void main()
{ int k=4,n=0;
for(;n<k;)
{ n++;
if(n%3!=0) continue;
k- -;
}
printf(""%d,%d\n"",k,n);
}
三、编程题
1. 写一个判断素数的函数。
要求在主函数中输入一个整数并输出相应的判断信息。
2. 编程序计算 s=1!-2!+3!-4!+ …… -10!,并输出结果。
《C语言》课程综合复习资料参考答案
1. 答案:1
2. 答案:y=10
3. 答案:BIG
4. 答案:7
5. 答案:12
6.答案:3,3
三、编程题
1. 参考代码:
#include <stdio.h>
void main()
{intn,i;
printf(“please enter a integer number,n=?”);
scanf(“%d”,&n);
for(i=2;i<=n-1;i++)
if(n%i==0)break;
if(i<n) printf(“%d is not a prime number.\n”,n);
elseprintf(“%d is a prime number.\n”,n);
}
2.参考代码:
#include <stdio.h>
void main()
{inti,k=1,njie=1;
float sum=0;
for(i=1;i<=10;i++)
{njie=njie*i;
sum=sum+njie*k;
k=-1*k;
}
printf("%f\n",sum);
}。