您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 《C语言程序设计》复习题
共21页,第1页《C语言程序设计》复习题一、判断题(本大题共60个小题)1.C程序执行的入口是main()函数,所以main函数必须放在程序的开头。(B)2.定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。(B)3.注释内容太多会影响程序的执行效率。(B)4.变量要“先定义,后使用”。(A)5.字符常量'a'与字符串常量a没有区别。(B)6.数学公式y=-6xz+5[2(a-5)+3]写成C语言表达式是y=-6*x*z+5*[2*(a-5)+3]。(B)7.数学公式y=|x|+ab-c写成C语言表达式是y=fabs(x)+a*b-c。(A)8.表达式5/2+5.0/2+7%6的值为5.5。(A)9.设intb=7;floata=2.5,c=4.7;则表达式a+(int)(b/2*(int)(a+c)/2)%4的值为:4.5。(B)10.设inta=12;则表达式a/=a+a的值是0.5。(B)11.在C语言中,运算符!比&&的优先级高。(A)12.在C语言中,运算符的优先级最小的是逗号运算符。(A)13.scanf(%d,%d,&x,&y);的输入格式:3,4回车。(A)14.以下程序运行结果是:1,7,0(A)voidmain(){intx=1,y=1,z=10;if(z0)if(y0)x=3;elsex=5;printf(%d,,x);if(z=y0)x=3;elseif(y==0)x=5;elsex=7;printf(%d,%d,x,z);}15.该程序运行结果是:BCother(A)voidmain()共21页,第2页{charx=‘B’;switch(x){case‘A’:printf(“A”);case‘B’:printf(“B”);case‘C’:printf(“C”);default:printf(“other”);}}16.下面程序段运行时输出结果是a=2,b=8(B)voidmain(){intx=1,y=1,a=2,b=7;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;}printf(a=%d,b=%d\n,a,b);}17.下面程序,当输入为:abc?时,执行结果是:abc(A)voidmain(){charc;c=getchar();while(c!='?'){putchar(c);c=getchar();}}共21页,第3页18.该程序运行结果是:#(A)voidmain(){inti;for(i=1;i=5;i++){if(i%2)putchar(‘’);elsecontinue;putchar(‘’);}putchar(‘#’);}19.break语句可用于循环语句和if语句中。(B)20.continue语句不可用于循环语句中。(B)21.以下程序的功能是判断一个数是否是素数(A)#includemath.h#includestdio.hvoidmain(){intm,i;scanf(%d,&m);for(i=2;i=sqrt(m);i++)if(m%i==0)break;if(isqrt(m))printf(“%d是素数,m);elseprintf(“%d不是素数,m);}22.以下程序的功能是计算2+4+6+8+...+98+100。(B)voidmain(){inti,s;for(i=2;i=100;i+=2)s+=i;}(注意s的初始值)23.数组的下标是从1开始计数的。(B)24.若有ints[4]={1,2,3,4};,则s[s[0]+2*s[2]-s[3]]的值是4。(A)25.下面程序段运行时输出结果是:01524(A)voidmain(){inti=0,a[10];for(i=0;i=9;i++)a[i]=i*3;printf(%d%d%d,a[0],a[5],a[8]);}26.下面程序段运行时输出结果是:10334566(B)voidmain()共21页,第4页{inta[8]={1,0,1,0,1,0,1,0},i;for(i=2;i8;i++)a[i]+=a[i-1]+a[i-2];for(i=0;i8;i++)printf(“%d”,a[i]);}27.以下程序的功能是:将一个数组中的元素按逆序重新存放并打印交换后的数组。(A)#defineN7#includestdio.hvoidmain(){staticinta[N]={12,9,16,5,7,2,1},k,s;for(k=0;kN/2;k++){s=a[k];a[k]=a[N-1-k];a[N-1-k]=s;}printf(\n交换后的数组:\n);for(k=0;kN;k++)printf(%4d,a[k]);}28.若有定义inta[3][5];则排列在数组中的第9个元素是a[1][3]。(A)29.下面程序段运行时输出结果是:456(B)voidmain(){inta[][3]={1,2,3,4,5,6,7,8,9},i,k=2;for(i=0;i3;i++)printf(“%d”,a[k][i]);}30.下面程序段运行时输出结果是:AAAA(B)voidmain(){charch[3][5]={AAAA,BBB,CC};printf(\%s\,ch[1]);}31.strlen(Howareyou\n)的值是12。(A)32.C语言中字符串结束的标志是'\0'(A)33.strcmp(how,How)的值0。(A)34.以下程序的功能是:字符串a连接到字符串b,并显示字符串b。(B)voidmain(){chara[200]=”howareyou.”,b[200];inti=0;while(a[i]!='\0'){b[i]=a[i];i++;}b[i]='\0';printf(“新字符串是%s”,b);}35.当运行以下程序时,从键盘输入:AAAaaaAAAAbcd234abcAAaa,运行结果为:AaaAAAaaa。voidmain(){chars[80],c='a';inti=0;scanf(%s,s);(注意scanf遇到空格的处理,与gets的不同)while(s[i++]!='\0')if(s[i]==c)s[i]=s[i]-32;共21页,第5页elseif(s[i]==c-32)s[i]=s[i]+32;puts(s);}(A)36.下面程序段运行时输出结果是:6(B)voidmain(){int*p,a=5,b=1;p=&a;*p=10;a=*p+b;printf(“%d”,a);}37.下面程序段运行时输出结果是:135(A)voidmain(){inta[2][3]={1,3,5,7,9,11};intm,*ptr;ptr=&a[0][1];m=(*ptr)*(*(ptr+1))*(*(ptr+3));printf(%d,m);}38.下面程序段运行时输出结果是:-5,-12,-7(A)voidsub(intx,inty,int*z){*z=y-x;}voidmain(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf(%4d,%4d,%4d\n,a,b,c);}39.下面程序段运行时输出结果是:4(A)fun(char*s){char*p=s;while(*p)p++;return(p-s);}voidmain(){char*str=abcd;共21页,第6页inti;i=fun(str);printf(%d,i);}40.int*f();表示函数返回一个整型指针。(A)41.下面程序段运行时输出结果是:0,01,3(B)f(){intx=0;staticinty=0;printf(%d,%d,x,y);x++;y=y+3;}voidmain(){inti;for(i=0;i2;i++)f();}42.下面程序段运行时输出结果是2(A)intf(intn){ints;if(n==1||n==2)s=1;elses=n-f(n-1);returns;}voidmain(){printf(“%d”,f(3));}43.下面程序段运行时输出结果是7(B)voidfun(intx,inty,intz){z=x+y;}voidmain(){inta=3;fun(5,2,a);printf(%d,a);}44.在定义函数时,函数名后面的括号中的变量名称为实参。(B)45.为了保证被调用函数不返回任何值,其函数定义的类型应为void。(A)46.若定义的函数没有参数,则函数名后的圆括号可以省略。(B)47.函数的实参和形参可以是相同的名字。(A)48.函数调用中,形参与实参的类型和个数必须保持一致。(A)49.函数的函数体可以是空语句。(A)50.在调用一个函数的过程中又出现直接或间接调用该函数本身,称为函数的递归调用。(A)51.在函数内定义的变量是局部变量,在函数外定义的变量是外部变量。外部变量是全局变量。(A)52.变量的存储类别有自动型、静态型、寄存器型、和外部类型共4种,它们分别用auto、static、register、extern标识。(A)53.对10个数进行从小到大排序。要求排序在函数sort内完成,用起泡算法。main函数内进行数据输入、调用排序函数sort、并输出排序后的数据。判断以下程序是否正确:(B)voidsort(inta[],intn){inti,j,k;for(i=0;in-1;i++)for(j=0;jn-1-i;j++)共21页,第7页if(a[j]a[j+1]){k=a[j];a[j]=a[j+1];a[j+1]=k;}}voidmain(){inta[10],i,j,k;for(i=0;i10;i++)scanf(%d,&a[i]);printf(\n);sort(a[10],10);(注意数组作函数参数)for(i=0;i10;i++)printf(“%d,,a[i]);}54.预处理命令#include的作用是文件包含。55.结构体的成员不能是结构体变量。(A)56.“按位与”运算指两个运算数相应的二进制位中只要有一个为1,则该位结果值为1,比如0|0=0,1|0=1。(B)57.C语言库函数fgets(str,n,fp)的功能是从文件fp中读取n个字符串存入str指向的内存。(B)58.函数rewind的作用是使位置指针自动移至下一个字符位置。(B)59.函数fseek的作用是使位置指针移至第一个字符位置。(B)60.C语言中以w+方式打开文件后,可执行的文件操作是可任意读写。(B)二、单项选择题(本大题共45个小题)61.一个C语言程序总是从B开始执行。A.主过程B.主函数C.子程序D.主程序62.下面四个选项中,均是不合法的用户标识符的选项是C。A.BA、x_0、doB.float、1a0、_YC.x-y、goto、123D._123、tmp、CHAR63.C语言中,int型数据在内存中的存储形式是D。A.ASCII码B.原码C.反码D.补码64.下列属于C语言合法的字符常量的是C。A.‘\85’B.“n”C.‘\t’D.“\0”65.下面正确的字符串常量是C。A.'a'B.'376'C.\\nD.37666.不合法的常量是:D。A.‘\2’B.C.‘3’D.‘\483’67.字符串\\\123\\\的长度是B。共21页,第8页A.11B.7C.5D.368.存储字符串\\\'abc\376需要的字节数是D。A.11B.13C.)6D.)769.表达式'A'+4*25.0-'b'的正确结果是B。A.67B.67.0C.不确定D.67L70.下面哪个式子在a为奇数时结果为假C。A.a%2==1B.!(a%2==0)C.!(a%2)D.a%271.
本文标题:《C语言程序设计》复习题
链接地址:https://www.777doc.com/doc-7026302 .html