C语言程序设计复习题
C语言程序设计期末考试复习题及答案[]
![C语言程序设计期末考试复习题及答案[]](https://img.taocdn.com/s3/m/1af47aac6137ee06eef91860.png)
C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是 ( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
C语言程序设计习题打印

程序设计基础复习题一、填空题1、C语言所提供的实型变量分为两种类型,它们是。
2、一个C源程序中至少应包含一个。
3.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=’a’+’8’-’3’的值为。
4.在标准C语言中,输入操作是由库函数完成的,输出操作是由库函数完成的。
5.对以下说明:int c[10] = {116, 125, 218, 312, 100, 40, 13, 67, 186};c[4]的值为。
6.在C语言中,引用数组元素时,引用数组元素时,其数组下标的数组类型允许是。
7.设y为int 型变量,请写出描述“y是偶数”的表达式。
8.设int i=0,j=1,k=2,a=3,b=4; 执行表达式(a=i<j)&&(b=j>k)的值为。
9.与表达式 a+=b 等价的另一书写形式是。
10.有以下定义和语句int a[3][2]={1,2,3,4,5,6,},*p[3];p[0]=a[1];则*(p[0]+1)所代表的数组元素是。
11.代表一个反斜杠字符“\”的转义字符是。
12.变量的指针就是变量的地址,存放变量地址的变量就是,它用来指向另一个变量。
13.++i和i++的不同之处在于。
14.设x、y和z是int 型变量,且x=3,y=4,z=5, 则表达式! ((x<y) && !z||1)值为。
15.已知函数int f(int k) { return ((k<0)?1:f(k-2)+2); }则 f(3)的值是。
16.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为。
17.计算表达式:x=(i=4, j=10, k=24)后,x的值为。
18.若a和b均是int型变量,且a和b的初值均为5,则计算表达式 a+=b++ 后,a的值为,b的值为。
19.设int a[10]={0,1,2,3,4,5,6,7,8,9}, *p=a; 则表达式*(p+8)的值是。
C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列关于数组的描述中,错误的是?A. 数组可以是多维的B. 数组的下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D5. C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. void答案:C6. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. externC. registerD. auto答案:A7. 下列关于C语言中文件操作的描述中,正确的是?A. 文件操作只能使用标准库函数B. 文件指针必须使用FILE类型C. 文件操作必须使用fclose函数关闭文件D. 文件操作不能使用缓冲区答案:B8. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. typedefC. enumD. struct答案:A9. 下列关于C语言中位运算的描述中,错误的是?A. & 表示按位与B. | 表示按位或C. ^ 表示按位异或D. ~ 表示按位取反答案:B10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的内存空间通常是______个字节。
答案:42. C语言中,使用______关键字可以定义一个无限循环。
答案:while3. C语言中,数组的元素默认初始化为______。
C语言程序设计复习题

C 语言程序设计复习题一、单项选择题1.以下关于C 程序的说法中错误的是( D )。
A )必须有一个且只能有一个主函数B )可以有任意多个不同名的函数C )必须用main 作为主函数名D )主函数必须放在其他函数之前2.以下叙述中正确的是(A )。
A )C 程序中注释部分可以出现在程序中任意合适的地方B )花括号“{”和“}”只能作为函数体的定界符C )构成C 程序的基本单位是函数,所有函数名都可以由用户命名D )分号是C 语句之间的分隔符,不是语句的一部分3.以下叙述中正确的是( C )。
A )C 程序的基本组成单位是语句B )C 程序中的每一行只能写一条语句C )简单C 语句必须以分号结束D )一个C 语句必须在一行内写完4. 下列关于C 程序的说法错误的是( B )。
A )一个程序必须有一个main 函数B )函数首部后面必须有分号C )可以使用“/* */”来注释一段代码D )每个语句的末尾必须有分号5. 下列关于C 程序的说法错误的是( D )。
A )stdio.h 是输入输出头文件B )一个C 语句必须以分号结束C )VC6.0中可以使用“//”来注释一行D )#define 命令不是预处理命令6.下面四个选项中,均是合法的标识符是( )。
A )abc A_4d _student xyz_abcB )auto 12a a_b ab5.xC )A_4d student xyz_abc ifD )abc a_b union scan7.按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是( C )。
A )大写字母B )数字字符C )-D )下划线8.C 语言提供的合法的数据类型关键字是( B )。
A )DoubleB )shortC )integerD )Char9.下列数据中,不合法的C 语言实型数据是( C )。
A )0.123B )123e3C )2.1e3.5D )789.010. 下列选项中,不能作为C 语言标识符的是( C )。
国家开放大学《C语言程序设计》复习资料

7.在一维数组的定义语句中,数组名前为元素类型关键字。(√) 8.假定二维数组的定义语句为 “double a[M][NJ;" ,则每个数组元素的列下标取值范围在 0-N-i 之间。 (√) 9.一个二维字符数组 a[10][20 」中存储每个字符串的最大长度为 190(√) 10.假定 a 是一个一维数组,则表达式, (a+i) 所对应的元素为 a[i-1],(×) 11.进行动态存储分配的。alloc() 函数带有两个参数。(√) 12.对于标识为 static 属性的变量,若没有对它进行初始化,则默认的初值为 10(×) 13.在 C 语言中一个结构类型的长度等于所含的所有数据成员类型的长度之和。(√) 14.在结构成员访问运算符中,点运算符和箭头运算符的左边均为结构变量。(×) 15.当向字符文件输出一个换行符时,实际将输出的是回车符或换行符。(×) 16.在 C 语言字符集中,一个大写英文字母和它的小写英文字母被视为不同的字符。( √ ) 17.一个 C 语言程序能够包含多个用户头文件。( √ ) 18.在定义一个变量时,不能够同时给它赋初值。( × ) 19. 表达式 (int)14.6%5 的值为 40 ( √) 20.若 x=5 , y=10 ,则 x>y 逻辑值为真。( × ) 21.当循环次数确定时, while 循环语句能够转换为 for 循环语句。( √ ) 22.在一维数组的定义语句中,数组名后带有一对中括号。( √ ) 23.在二维数组的定义语句中,不能给数组中每个元素赋初值。( × ) 24.对于一个长度为 n 的字符串,存储它的字符数组的长度至少为 no ( × ) 25.假定一个数据对象为 int *类型,则指向该对象的指针类型为 int *祷。( √ ) 26.进行动态存储分配的 malloc( )函数带有两个参数。( × ) 27.函数定义格式中的参数表被称为实参表。( × ) 28.在同一个结构类型的定义中,各数据成员名必须不同。( √ ) 29.在结构成员访问运算符中,点运算符(.)为双目运算符。( √ ) 30. 在一个磁盘数据文件的文件名中,文件主名和扩展名都是必须的,不可省略。( × ) 31.在 C 语言程序中,只有一种使用注释语句的方法。( × ) 32.常数 3. 26 是双精度定点数。( √ ) 33. 表达式(f!oat)25/4 的值为 6 0 ( × ) 34. 已知 x= 一 25 ,则 fabsCx) 的值为一 25.0 0 ( × ) 35.while 循环是先判断循环条件,当条件为真时执行循环体。( √ ) 36.在一维数组的定义语句中,数组名后带有一对中括号。( √ ) 37.字符串允许为空,并且其长度为 0 0 ( √ ) 38. 一个二维字符数组 a[10][20] 中存储每个字符串的最大长度为 20 0 ( × ) 39.假定 a 是一个一维数组,则进行 a++ 运算是不允许的。 ( √ ) 40.在一个函数定义中,函数体是一条简单语句。 ( × ) 41,在 C 语言程序中,对于递归函数和非递归函数,其函数头部有区别标志。 ( × ) 42.在结构类型的定义中,结构类型的作用域范围,与它的定义位置有关。( √ ) 43.在结构成员访问运算符中,点运算符和箭头运算符的左边均为结构指针变量。 ( × ) 44.在一个磁盘数据文件的文件名中,文件主名是必须的,扩展名可任选使用。( √ ) 45. 对二进制文件进行读和写操作将使用不同的系统函数。( √ )
(完整)C语言程序设计试题题库

第一章基础知识一.填空1.每个C程序都必须有且仅有一个________ 函数。
2。
C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。
3。
软件是程序,以及______、使用和维护所需要的所有文档。
4.国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。
5.程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。
6.C语言是由________组成的.7。
C语言的函数可分为主函数main、标准库函数和_________。
8.一个函数是由两部分组成的,即:________和函数体。
9。
编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。
10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。
不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________. 11。
机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。
12。
与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。
13。
在编译程序之前,凡以____开头的代码行都先由预处理程序预处理.14. C程序的执行均是由执行_________开始。
15。
函数体即为包含在{ }内的部分.它分为________和为完成功能任务由若干个C语句组成的执行部分。
16.C语言程序中一条简单语句是以________字符作为结束符的。
17.C语言是结构化、________的程序设计语言.18.由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序",将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。
c语言程序设计试题及答案

c语言程序设计试题及答案C语言程序设计试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable-2答案:C2. 以下哪个语句不是C语言中的输入语句?A. scanf("%d", &x);B. printf("%d", x);C. gets("string");D. getchar();答案:B3. C语言中,以下哪个不是标准库函数?A. printf()B. malloc()C. strcpy()D. main()答案:D4. 以下哪个选项是C语言中正确的数组声明?A. int array[];B. int [10] array;C. int array[10];D. int [10] = array;答案:C5. 以下哪个是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello World"答案:C6. C语言中,以下哪个是正确的函数声明?A. int function();B. void myFunction(int x, int y);C. int myFunction(int x, int y) {}D. int myFunction(int x, int y) { return x + y; }答案:B7. 在C语言中,以下哪个是正确的条件语句?A. if (x = 5)B. if (x == 5)C. if (x = 5) { x++; }D. if (x == 5) { x++; }答案:D8. 在C语言中,以下哪个是正确的循环语句?A. for (int i = 0; i <= 10; i++) {}B. for (int i = 0; i < 10; i--) {}C. while (x != 0) { x--; }D. do { x++; } while (x != 0);答案:D9. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. *int ptr;C. int ptr*;D. int * ptr;答案:A10. C语言中,以下哪个不是运算符?A. +B. -C. :D. *答案:C二、简答题(每题5分,共30分)1. 请简述C语言中数组和指针的区别。
C语言程序设计期末考试复习题及答案

C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C语言程序设计》复习题一、判断题(本大题共60个小题)1.C程序执行的入口是main()函数,所以main函数必须放在程序的开头。
2.定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。
3.注释内容太多会影响程序的执行效率。
4.变量要“先定义,后使用”。
5.字符常量'a'与字符串常量"a"没有区别。
6.数学公式y=-6xz+5[2(a-5)+3]写成C语言表达式是y=-6*x*z+5*[2*(a-5)+3]。
7.数学公式y=|x|+ab-c写成C语言表达式是y=fabs(x)+a*b-c。
8.表达式5/2+5.0/2+7%6 的值为5.5。
9.设int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/2*(int)(a+c)/2)%4 的值为:4.5。
10.设int a=12; 则表达式a/=a+a的值是0.5。
11.在C语言中,运算符!比&&的优先级高。
12.在C语言中,运算符的优先级最小的是逗号运算符。
13.scanf("%d,%d",&x,&y);的输入格式:3,4<回车>。
14.以下程序运行结果是:1,7,0void main(){int x=1,y=1,z=10;if(z< 0)if(y> 0) x=3;else x=5;printf(" %d," ,x);if(z=y< 0) x=3;else if(y==0) x=5;else x=7;printf(" %d,%d" ,x,z);}15.该程序运行结果是:BCothervoid main(){ char x=‘B’;switch(x){case ‘A’: printf(“A”);case ‘B’: printf(“B”);case ‘C’: printf(“C”);default: printf(“other”);}}16.下面程序段运行时输出结果是a=2,b=8void main(){int x=1,y=1,a=2,b=7;switch(x){case 1: switch(y){ case 0: a++;break;case 1: b++;break;}case 2: a++;b++;break;case 3: a++;b++;}printf("a=%d,b=%d\n",a,b);}17.下面程序,当输入为:"abc?" 时,执行结果是:abcvoid main(){ char c;c=getchar();while (c!='?' ) { putchar(c); c=getchar();}}18.该程序运行结果是:< > < > < > #void main(){ int i;for(i=1;i<=5;i++){if(i%2) putchar(‘<’);else continue;putchar(‘>’);}putchar(‘#’);}19.break语句可用于循环语句和if语句中。
20.continue语句不可用于循环语句中。
21.以下程序的功能是判断一个数是否是素数#include<math.h>#include <stdio.h>void main( ){ int m,i;scanf(" %d" ,& m);for(i=2;i< =sqrt(m);i++) if(m%i==0) break;if(i> sqrt(m)) printf(“%d 是素数" ,m);else printf(“%d 不是素数" ,m); }22.以下程序的功能是计算2+4+6+8+...+98+100。
void main() { int i,s ; for(i=2;i< =100;i+=2 ) s+=i; } (注意s的初始值)23.数组的下标是从1开始计数的。
24.若有int s[4]={1,2,3,4};,则s[s[0]+2*s[2]-s[3]]的值是4。
25.下面程序段运行时输出结果是:0 15 24void main() { int i=0,a[10]; for(i=0;i< =9;i++) a[i]=i*3; printf(" %d %d %d" ,a[0],a[5],a[8]); } 26.下面程序段运行时输出结果是:1 0 3 3 4 5 6 6void main(){ int a[8]={1,0,1,0,1,0,1,0},i;for(i=2;i< 8;i++) a[i]+= a[i-1] + a[i-2];for(i=0;i< 8;i++) printf(“%d ”,a[i]); }27.以下程序的功能是:将一个数组中的元素按逆序重新存放并打印交换后的数组。
#define N 7#include < stdio.h>void main(){ static int a[N]={12,9,16,5,7,2,1},k,s;for (k=0;k< N/2;k++) { s=a[k]; a[k]=a[N-1-k]; a[N-1-k] =s; }printf(" \n交换后的数组:\n" ); for(k=0;k< N;k++)printf(" %4d" ,a[k]); }28.若有定义int a[3][5];则排列在数组中的第9个元素是a[1][3]。
29.下面程序段运行时输出结果是:456void main() { int a[][3]={ 1,2,3,4,5,6,7,8,9},i,k=2; for(i=0;i< 3;i++) printf(“%d”,a[k][i]); }30.下面程序段运行时输出结果是:"AAAA"void main() { char ch[3][5]={ "AAAA" ,"BBB" ,"CC" }; printf(" \"%s\" " ,ch[1]); }31.strlen("How are you\n")的值是12 。
32.C语言中字符串结束的标志是'\0'33.strcmp("how","How")的值>0 。
34.以下程序的功能是:字符串a连接到字符串b,并显示字符串b。
void main(){ char a[200]=”how are you.”, b[200]; int i=0;while(a[i] !=' \0' ) {b[i]=a[i]; i++; } b[i]=' \0' ;printf(“新字符串是%s”,b); }35.当运行以下程序时,从键盘输入:AAAaaaAAA Abcd234abc AAaa,运行结果为:AaaAAAaaa。
void main(){ char s[80], c='a';int i=0;scanf("%s",s); (注意scanf遇到空格的处理,与gets的不同)while(s[i++]!='\0')if(s[i] == c) s[i]=s[i]-32;else if(s[i]==c-32) s[i]=s[i]+32;puts(s);}36.下面程序段运行时输出结果是:6void main() { int *p,a=5,b=1; p=& a; *p=10; a=*p+b; printf(“%d”,a); } 37.下面程序段运行时输出结果是:135void main(){ int a[2][3]={1,3,5,7,9,11}; int m,*ptr;ptr=& a[0][1];m=(*ptr)*(*(ptr+1))*(*(ptr+3));printf(" %d" ,m); }38.下面程序段运行时输出结果是:-5, -12, -7void sub(int x,int y,int *z){ *z=y-x; }void main(){int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%4d,%4d,%4d\n",a,b,c);}39.下面程序段运行时输出结果是:4fun(char *s){ char *p=s;while (*p) p++;return(p-s);}void main(){ char *str="abcd";int i;i=fun(str);printf("%d",i);}40.int *f();表示函数返回一个整型指针。
41.下面程序段运行时输出结果是:0,0 1,3f() { int x=0; static int y=0; printf(" %d,%d " ,x,y); x++; y=y+3; }void main() { int i; for(i=0;i< 2;i++) f(); }42.下面程序段运行时输出结果是2int f(int n) { int s; if(n==1||n==2) s=1; else s=n-f(n-1); return s; }void main() { printf(“%d”,f(3));}43.下面程序段运行时输出结果是7void fun(int x,int y,int z) {z=x+y;}void main() { int a=3; fun(5,2,a); printf("%d",a); }44.在定义函数时,函数名后面的括号中的变量名称为实参。
45.为了保证被调用函数不返回任何值,其函数定义的类型应为void 。
46.若定义的函数没有参数,则函数名后的圆括号可以省略。
47.函数的实参和形参可以是相同的名字。
48.函数调用中,形参与实参的类型和个数必须保持一致。
49.函数的函数体可以是空语句。
50.在调用一个函数的过程中又出现直接或间接调用该函数本身,称为函数的递归调用。