当前位置:文档之家› C语言程序设计形成性考核册参考答案

C语言程序设计形成性考核册参考答案

一、选择题1. 在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。

A.main B.MAIN C.name D.funtion2.C语言原程序文件的缺省扩展名为(A)。

A.cpp B.exe C.obj D.C3.由C语言目标文件连接而成的可执行的缺省扩展名为(B)。

A.cpp B.exe C.obj D.C4.程序运行中需要从键盘输入多于一个数据时,各数据之间应使用(D)符号作为分隔符。

A.空格或逗号 B.逗号或回车 C.回车或分号 D.空格或回车5.每个C语言程序的编译错误分为(B)类。

A.1 B.2 C.3 D.46.设x和y均为逻辑值,则x && y为真的条件是(A)。

A.它们均为真 B.其中一个为真 C.它们均为假 D.其中一个为假7.设有语句“int a=12;a+=a*a;”,则执行结束后,a的值为(C)。

A.12 B.144 C.156 D.2888.x>0 && x<=10的相反表达式为(A)。

A.x<=0 || X>10 B.x<=0 && x>10 C.x<=0 || x<=10 D.x>0 && x>10 9.字符串“a+b=12\n”的长度为(B)。

A.6 B.7 C.8 D.910.在下列符号常量定义中。

错误的定义语句格式为(C)。

A.const M1=10; B.const int M2=20; C.const M3 10 D.const char mark=’3’; 11.带有随机函数的表达式rand()%20的值在(C)区间内,A.1~19 B.1~20 C.0~19 D.0~2012.当处理特定问题时的循环次数已知时,通常采用(A)循环来解决。

A.for B.while C.do-while D.switch13.在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(B)语句。

A.for B.if C.do D.while14.for语句能够被改写为(D)语句。

A.复合 B.if C.switch D.while15.下面循环语句执行结束后输出的i值为(B)。

for(int i=0;i<n;i++)if(i>n/2){cout<<i<<endl;break;}A.n/2 B.n/2+1 C.n/2-1 D.n-116.在下面循环w语句中内层循环体S语句的执行次数为(D)。

for(int i=0;i<n;i++)for(int j=i;j<n;j++)S;A.n2 B.(n+1)/2 C.n(n-1)/2 D.n(n+1)/217.在下面的do循环语句中,其循环体被执行的次数为(A )。

int i=0;do i++;while(i*i<10);A.4 B.3 C.5 D.21. 在下面的一维数组定义中,(C)语句有语法错误。

A.int a[]={1,2,3}; B.int a[10]={0}; C.int a[]; D.int a[5];n 2.在下面的二维数组定义中,(C)语句是正确的。

A.int a[5][]; B.int a[][5]; C.int a[][3]={{1,3,5},{2}}; D.int a[](10)3.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为(C)。

A.2 B.4 C.6 D.84.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为(A)。

A.0 B.4 C.8 D.65.将两个字符串连接起来组成一个字符串时,选用(C)函数。

A.strlen() B.strcap() C.strcat() D.strcmp()1. 在下面的(C)函数声明语句存在语法错误。

A.AA(int a,int b); B.AA(int ,int) C.AA(int a;int b) D.AA(int a,int) 2.在下面的(C)不能作为函数的返回类型。

A.void B.int C.new D.long3.下面正确的函数原型语句是(B)。

A.int Function(void a); B.void Function(int);C.int Function(a); D.void int(double a);4.函数调用func(exp1,exp2),exp3*exp4-exp5)中所含实参的个数为(B)个。

A.1 B.2 C.4 D.55.下面的标识符中,(C)是文件级作用域。

A.函数形参 B.语句标号 C.外部静态类标识符 D.自动类标识符6.下面的标识符中,(B)具有全局级作用域。

A.函数形参 B.全局变量 C.内部静态类标识符 D.自动变量符7.假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大( C)字节。

A.1 B.2 C.4 D.88.假定a为一个字符数组名,则a[8]的地址比该数组的首地址大( B )个字节。

A.4 B.8 C.16 D.329.假定a为一个数组名,则下面的( B )表示有错误。

A.a[i] B.*a++ C.*a D.*(a+1)10.用calloc函数创建具有10个整型元素的一维数组的正确语句是( C )。

A.int *p=calloc(10,2); B.int *p=callo(10;C.int *p=calloc(10,4); D.int *p=malloc(10);11.假定变量m定义为“int m=7;”,则定义p的正确语句为( B )。

A.int p=&m; B.int *p=&m; C.int &p=*m; D.int *p=m;12.假定k是一个double类型的变量,则定义指向k的[电脑商场特别版1] 变量p的正确语句为( B )。

A.double p=&k; B.double *p=&k;C.double &p=*k; D.char *p=”Thank you!”;13.假定一条定义语句为“int a[10],x,*pa=a;”,若要把数组a中下标为3的元素赋值给x,则不正确的语句为( D )。

A.x=pa[3]; B.x=*(a+3); C.a=a[3]; D.x=*pa+3;14.假定有定义“int b[10];int *pb;”,则不正确的赋值语句为( C )。

A.pb=b; B.pb=&b[0]; C.pb=b+2; D.pb=b[5];15.假定指针变量p定义为“int *p=new int(100);”,要释放p所指向的动态内存,应使用语句( D )。

A.delete[p]; B.delete *p; C.delete &p; D.delete []p;16.假定指针变量p定义为“int *p=calloc(30,sizeof(int));”,要释放p所指向的动态内存,应使用语句( D )。

A.delete[p]; B.deldete(p); C.free[]p; D.free(p);1. 假定有“struct BOOK{char title[40];float price;};struct BOOK *book;”,则不正确的语句为(A)。

A.struct BOOK *x=malloc(book); B.struct BOOK x={“C++ Programming”,27.0}; C.struct BOOK *x=malloc(sizeof(BOOK)); D.struct BOOK **x=&book;2. 假定有“struct BOOK{char title[40];float price;} book;”,则正确的语句为(B)。

A.struct BOOK x=&book; B.struct BOOK *x=&book;C.struct BOOK x=calloc(BOOK); D.struct BOOK *x=BOOK;3.表示文件结束的符号常量为(C)。

A.eof B.Eof C.EOF D.feof4.C语言中系统函数fopen()是(D)一个数据文件的函数。

A.读取B.写入C.关闭D.打开5.从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。

A.gets() B.fgets() C.getc() D.fgetc()6.向一个二进制文件写入信息的函数fwrite()带有(D)参数。

A.1 B.2 C.3 D.4二、填空题1.C语言中的每条简单语句以___;_______作为结束符。

2.C语言中的每条复合语句以___}_______作为结束符。

3.在C语言程序的每个程序行后面或单独一行的开始使用注释的标记符为___//___。

4.单行或多行注释的结束标记符为__*/_____。

5.在一个C程序文件中,若要包含另外一个头文件或程序文件,则应使用以__#include___标识符开始的预处理命令。

6.在#include命令中所包含的头文件,可以是系统定义的头文件,也可以是__用户___定义的头文件。

7.一个函数定义由__函数头______和函数体两部分组成。

8.用于输出表达式的标准输出函数是_printf( )_________。

9.当不需要函数返回任何值时,则应使用__void_______标识符定义函数类型。

10.执行“printf(“%d-%d=%d”,43,18,43-18);”语句后得到的输出结果为__43-18=25_______。

11.每个C程序文件在编译时可能出现有警告性错误,其对应的标识符为__warning______。

12.每个C程序文件在编译时可能出现有致命性错误,其对应的标识符为__error______。

13.十进制数25表示成符合C语言规则的十六进制数为___0x19___。

14.在C语言中,转义字符序列___\n___表示一个换行符。

15.执行“printf(“%c”,’F’-2);”语句后得到的输出结果为__D___。

16.已知’A’~’Z’的ASCII码为65-90,当执行“int x=’C’+5;”语句所x的值为___72___.17.假定一个枚举类型的定义为“enum RB{ab,ac=3,ad,ae}x=ad;”,则x的值为___4___. 18.char类型的大小为__1__个字节。

相关主题