《C语言程序设计a》期末复习题一、单选题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( A )。
A. mainB. MAINC. nameD. function2.每个C语言程序文件的编译错误分为( B )类。
A.1B.2C.3D.43. 字符串"a+b=12\n"的长度为( B )。
A. 6B. 7C. 8D. 94. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为( B )语句。
A. forB. ifC. doD. while5. 在下面的do-while循环语句中,其循环体语句被执行的次数为( D )。
int i=0; do i++; while(i<10);A. 4B. 3C. 5D. 106. 将两个字符串连接起来组成一个字符串时,选用的函数为( C )。
A. strlen()B. strcap()C. strcat()D. strcmp()7. 若用数组名作为函数调用的实参,传递给形参的是( A )。
A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大( C )个字节。
A. 4B. 8C. 16D. 329. 假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s 所指向的字符串,则p应定义为( A )。
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. cppB. exeC. objD. c12. 设有两条语句为“int a=12; a+=a*a;”,则执行结束后,a的值为( C )。
A. 12B. 144C. 156D. 28813. 带有随机函数调用的表达式rand()%20的值在( C )区间内。
A.1~19B.1~20C.0~19D.0~2014. for循环语句“for(i=0; i<n; i+=2) S;”中循环体S语句被执行的次数为( A )。
A. (n+1)/2B. n/2+1C. n/2-1D. n-115. 在下列的字符数组定义中,存在语法错误的是( D )。
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. 40B. 30C. 70D. 1019. 若要使p指向二维整型数组a[10][20],则p的类型为( D )。
A. int *B. int **C. int *[20]D. int(*)[20]20. 表示文件结束符的符号常量为( C )A. eofB. EofC. EOFD. feof21. 程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用( D )符号作为分隔符。
A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车22. 逻辑表达式(x>0 && x<=10)的相反表达式为( A )。
A. x<=0 || x>10B. x<=0 && x>10C. x<=0 || x<=10D. x>0 && x>1023. 当处理特定问题时的循环次数已知时,通常采用( A )循环来解决。
A. forB. whileC. do-whileD. switch24. 假定i的初值为0,则在循环语句“while(i<n) {s+=i*i; i++;}”中循环体被执行的总次数为( B )。
A. n-1B. nC. n+1D. n/225. 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为( C )。
A. 2B. 4C. 6D. 826. 在下列选项中,不正确的函数原型格式为( C )。
A. int Function(int a);B.void Function (char);C. int Function(a);D.void int(double* a);27. 假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大( C )个字节。
A. 1B. 2C. 4D. 828. 假定有定义为“int m=7, *p;”,则给p赋值的正确表达式为( B )。
A. p=mB. p=&mC. *p=&mD. p=*m29. 假定指针变量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. 打开31.C 语言程序中的基本功能模块为(D )。
A 表达式 B标识符 C 语句 D函数32. 循环体至少被执行一次的循环语句为(C )。
A forB whIleC do-whileD 任一种循环33. 假定n 的值为6. 则表达式n + + 的值为(A )。
A 6B 5C 4D 734. 假定一个函数原型为" char *func(int n)" ,则该函数的返回类型为( D)。
A int C charB int* D char*35.假定a 为一个字符数组名,则元素a[i]的指针访问方式为(B )。
A a+iB *( a + i )C &a+iD *a+ i36. 假定有语句为" int * p= calloc( 20 , stzeof( int)) ," ,则p所指向的动态数组中所包含的元素个数为( C)。
A 10B 40C 20D 8037.十进制数50 表示成符合C 语言规定的八进制数为(D )。
A 20B 32 C62 D 06238. 若要以读和写两种操作方式打开一个二进制文件,当文件不存在时返回打开失败信息,则选用的打开方式字符串为(C )。
A "r+" C"rb+"B “ab十" D "wb+"39. C语言源程序文件的缺省扩展名为( D)。
A. cppB. ExeC. OBJD. c40. 设x 和y 均为逻辑值,则x && y 为真的条件是(A )。
A.它们均为真B.其中一个为真C. 它们均为假D. 其中一个为假41. 在下列的符号常量定义中,正确的定义格式为(C )。
A. # define Ml C. #define M3 10B. canst int M2 20 D. canst char mark42. for 循环语句能够被改写为(D )语句。
A. 复合B.ifC. switchD. while43. 在下面的一维数组定义中,错误的定义格式为(C )。
A. int a[]= {l ,2, 3} ; C. int a[];B. int a[10]={0}; D. int a[5];44. 在下面的画数原型声明中,存在语法错误的是( C)A. int AA(int a ,int b); C. int AA(int a; int b;);B. int AA(i nt,int); D. int AA (int a. int);45. 假定a 为一个数组名,则下面存在错误的表达式为( B).A. a[i] C. *aB. *a+ + D. *( a+1)46. 假定有定义为"int a [10].x , *pa=a;" ,若要把数组a中下标为3的元素值赋给x,则不正确的赋值为(D ).A. x=pa[3]B. x= *(a+3)C. x=a[3]D. x= *pa+347. 字符串"y = % d\n"的长度为(A)A. 5 C.4B. 6 D.348. 向一个二进制文件中写人信息的画数为(D )。
A. fgets( )B. Fputs( )C. fread( )D. Fwrite( )49.程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用(D )符号作为分隔符。
A. 空格或逗号B. 逗号或回车c.逗号或分号D.空格或回车50. 逻辑表达式(x>O && x<=10)的相反表达式为( A)。
A. x<=O ||x>10 C. x<=O|| x<=10B. x<=0 && x>10 D. x>0 && x>1051. 当处理一个问题时的循环次数已知时,最好采用( A)循环来解决。
A. for C. do-whileB. while D. switch52. 在下列选项中,不正确的函数原型格式为( C)。
A. int Function Cint a) ; C. int Function(a);B. void Function (char); D. void int(double *a) ;53. 假定p 是一个指向float 类型的数据指针,则p+l 所指向的数据的地址比p 所指向的数据的地址大( C)个字节。
A. 1B. 2 C 4 D. 854. 假定有一条定义语句为"int m=7 , *p;" ,则给p 赋值的正确表达式为(B )。