已打印中央电大C语言考试题库(c语言小题+编程)_c语言考试题库含答案
已打印中央电大C语言考试题库(c语言小题+编程)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言考试题库含答案”。
C语言程序设计课程期末复习练习
一、单选题
1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。A.main B.MAIN C.name D.function 2.每个C语言程序文件的编译错误分为(B)类。A.1 B.2 C.3 D.4 3.字符串“a+b=12n”的长度为(B)。A.6 B.7 C.8 D.9 4.在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(B)语句。
A.forB.ifC.doD.while 5.在下面的do-while循环语句中,其循环体语句被执行的次数为(D)。int i=0;do i++;while(i
A.char *p=s;B.char *p=&s;C.char *p;p=*s;D.char *p;p=&s;10.从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。A.gets()B.fgets()C.getc()D.fgetc()11.由C语言目标文件连接而成的可执行文件的缺省扩展名为(B)。A.cpp B.exe C.obj D.c 12.设有两条语句为“int a=12;a+=a*a;”,则执行结束后,a的值为(C)。A.12 B.144 C.156 D.288 13.带有随机函数调用的表达式rand()%20的值在(C)区间内。A.1~19 B.1~20 C.0~19 D.0~20 14.for循环语句“for(i=0;i
A.char a[20]=“abcdefg”;B.char a[]=“x+y=55.”;C.char a[15]={'1','2'};D.char a[10]='5';16.若有一个函数原型为“double *function()”,则它的返回值类型为(B)。A.实数型 B.实数指针型 C.函数指针型 D.数组型
17.在C语言中,所有预处理命令都是以(B)符号开头的。A.* B.# C.& D.@ 18.假定整数指针p所指数据单元的值为30,p+1所指数据单元的值为40,则执行*p++后,p所指数据单元的值为(A)。
A.40 B.30 C.70 D.10 19.若要使p指向二维整型数组a[10][20],则p的类型为(D)。A.int * B.int ** C.int *[20] D.int(*)[20] 20.表示文件结束符的符号常量为(C)A.eof B.Eof C.EOF D.feof 21.程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用(D)符号作为分隔符。A.空格或逗号 B.逗号或回车 C.逗号或分号 D.空格或回车 22.逻辑表达式(x>0 && x
A.x10 B.x10 C.x0 && x>10 23.当处理特定问题时的循环次数已知时,通常采用(A)循环来解决。A.forB.whileC.do-while D.switch 24.假定i的初值为0,则在循环语句“while(i
A.intFunction(int a);B.void Function(char);C.intFunction(a);D.voidint(double* a);27.假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大(C)个字节。A.1 B.2 C.4 D.8 28.假定有定义为“int m=7, *p;”,则给p赋值的正确表达式为(B)。A.p=m B.p=&m C.*p=&m D.p=*m 29.假定指针变量p定义为“int *p=malloc(sizeof(int));”,要释放p所指向的动态存储空间,应调用的函数为(A)。
A.free(p)B.delete(p)C.free(*p)D.free(&p)30.C语言中的系统函数fopen()是(D)一个数据文件的函数。A.读取 B.写入 C.关闭 D.打开
二、填空题
1.C语言中的每条简单语句以_;(或分号)作为结束符。2.C程序中的所有预处理命令均以___#___字符开头。
3.当不需要函数返回任何值时,则应使用void 标识符来定义函数类型。4.十进制数25表示成符合C语言规则的十六进制数为0x19
5.假定不允许使用逻辑非操作符,则逻辑表达式a>b|| b==5的相反表达式为a
6.执行“typedefintDataType;”语句后,在使用int定义整型变量的地方也可以使用______DataType____来定义整型变量。
7.假定一维数组的定义为“char* a[8];”,则该数组所占存储空间的字节数为_____32___。8.假定二维数组的定义为“double a[M][N];”,则该数组的列下标的取值范围在_____0~N-1____之间。9.存储一个空字符串需要占用____1 ____个字节。
10.strcpy函数用于把一个字符串_____拷贝(复制)___到另一个字符数组空间中。11.程序的编译单位是一个_____程序文件_____。
12.假定a是一个一维数组,则a[i]的指针访问方式为___*(a+i)_____。
13.执行int*p=malloc(sizeof(int))操作得到的一个动态分配的整型对象为___*p_____。14.执行“printf(“%c”,'A'+2);”语句后得到的输出结果为___ C_____。15.shortint类型的长度为____2 ____。
16.用类型关键字表示十进制常数3.26f的类型为___ float _____。17.假定y=10,则表达式++y*3的值为____ 33____。
18.逻辑表达式(x==0&& y>5)的相反表达式为_(x!=0 || y
21.使用“typedef char BB[10][50];”语句定义___ BB_____为含有10行50列的二维字符数组类型。22.字符串“a:xxk数据”的长度为__11______。23.假定p所指对象的值为25,p+1所指对象的值为46,则*++p的值为___46 _____。24.假定一个数据对象为int*类型,则指向该对象的指针类型为___int**____。
25.假定一个结构类型的定义为“struct A{inta,b;A* c;};”,则该类型的长度为_____12 ___。26.假定要访问一个结构对象x中的数据成员a,则表示方式为_____x.a _______。27.用于输出表达式值的标准输出函数的函数名是___printf_____。
28.每个C语言程序文件在编译时可能出现有致命性错误,其对应的标识符为__ error ______。29.已知'A''Z'的ASCII码为6590,当执行“int x='C'+3;”语句后x的值为___70_____。30.表达式(int)14.6的值为_14_______。
31.假定不允许使用逻辑非操作符,则关系表达式x+y>5的相反表达式为___x+y
36.在C语言中,一个函数由函数头和____函数体______这两个部分组成。37.假定p所指对象的值为25,p+1所指对象的值为46,则执行表达式*(p++)后,p所指对象的值为____46____。38.假定p是一个指向整数对象的指针,则用___&p _____表示指针变量p的地址。39.与结构成员访问表达式p->name等价的访问表达式为_____(*p).name _______。
五、按题目要求编写程序或函数
1.编写一个程序,输出50以内(含50)的、能够被3或者5整除的所有整数。#include void main(){ int i;for(i=3;i
#include intn,i=1;double sum=0;void main(){ scanf(“%d”,&n);while(i
2105.编写一个程序,计算1+3+3+...+3的值并输出,假定分别用i,p,s作为循环变量、累乘变量和累加变量的标识符。
#include void main(){ int i;int p=1;int s=1;for(i=1;ix1)x1=a[i];if(a[i]