1、C语言期末考试复习试题单选题1、C语言中运算对象必须是整型的运算符是( )。【答案】C【分数】1分【选项】A、/B、+C、%D、!=2、假设所有变量均为整型,则执行运算x=(a=2,b=5,b+,a+b)后, x的值是( )。【答案】B【分数】1分【选项】A、7B、8C、6D、23、在下列字符序列中,属于C语言合法标识符的是( )。【答案】B【分数】1分【选项】A、P12.aB、stud_100C、$water.1D、88sum4、在下列语句选项中,只有一个在功能上与其他三个语句不等价(其中s1和s2表示某个C语句),这个不等价的语句是( )。【答案】D【分数】1分【选项】A、if (a) s
2、1; else s2;B、if (!a) s2; else s1;C、if (a!=0) s1; else s2;D、if (a=0) s1; else s2;5、若二维数组定义为amn,则在aij之前的元素个数为( )。【答案】B【分数】1分【选项】A、j*m+iB、i*m+jC、i*m+j-1D、j*m+i-16、以下程序的运行结果是( )。void fun(int *n) static int m=2; *n*=m-1; m+=2;void main() static int m=1; int i; for(i=1;it.a2);B、printf(%cn,(*p).a2);C、print
3、f(%cn,p-a3);D、printf(%cn,(*p).t.a2);16、以下程序将输出的字符是( )。#include stdio.hmain() char c; char (*p)3; char s23 =a,b,c,d,e,f; p=&s0; c=*(p1+1); printf(%c,c);【答案】C【分数】1分【选项】A、bB、dC、eD、f17、以下关于枚举的程序,其运行结果是( )。#include stdio.h main() enum weekday sun,mon,tue=5,wed,thu,fri,sat a,b,c,d; a=sun; b=mon; c=tue; d=
4、wed; printf(%d %d %d %dn,a,b,c,d); 【答案】C【分数】1分【选项】A、0 0 5 0B、1 2 5 4C、0 1 5 6D、0 1 5 318、设有程序段 char k;while (k0) k+; printf(%dn,k);则程序输出结果为( )。【答案】C【分数】1分【选项】A、-127B、256C、-128D、12819、函数调用语句:fseek(fp,-20L,2);的含义是( )。【答案】C【分数】1分【选项】A、将文件位置指针移到距离文件头20个字节处B、将文件位置指针从当前位置向后移动20个字节C、将文件位置指针从文件末尾处后退20个字节D、将
5、文件位置指针移到距离当前位置20个字节处20、以下程序的输出结果为( )。int a=2;int f(int *a) return(*a)+;void main() int s=0; int a=5; s+=f(&a); s+=f(&a); printf(%d %dn,a,s);【答案】C【分数】1分【选项】A、2 7B、2 10C、3 7D、3 1121、以下程序输出的字符序列是( )。#include stdio.hmain() char a=language,*p; p=a; while(*p!=u) printf(%c,*p-u+U);p+;【答案】C【分数】1分【选项】A、LANGU
6、AGEB、languageC、LANGD、LANGuage22、以下程序的输出结果是( )。#include int main() char str100=ABCDEFG, *p=str; int i; for(i = 0; *p != 0; p+,i+); printf(%dn,i); return 0;【答案】A【分数】1分【选项】A、7B、8C、99D、10023、字符串ax44nbcd102a的长度是( )。【答案】C【分数】1分【选项】A、12B、17C、9D、1124、以下程序的输出结果是()。main( ) int n; (n=6*4,n+6),n*2; printf(n=%dn
7、,n);【答案】B【分数】1分【选项】A、30B、24C、60D、4825、以下程序的输出结果是( )。main( ) int w=4,x=3,y=2,z=1;if(xy&!(z=w) printf(%dn,(wx?w:zx?w:zy?z:x); 【答案】A【分数】1分【选项】A、1B、2C、3D、426、以下程序的输出结果是( )。main()int a=1,b=0; switch(a)case 1: switch (b) case 0:printf(*0*);break; case 1:printf(*1*);break; case 2:printf(*2*);break; 【答案】B【分
8、数】1分【选项】A、*0*B、*0*2*C、*0*1*2*D、有语法错误27、以下是求两个正整数的最大公约数的函数fun( ), 下划线处应填入的正确语句为( )。 int fun(m,n) int m,n; int r;if(mn) r=m;m=n;n=r; if(n= =0) return(m); do r=m%n; if (r!=0) m=n;n=r; while (_); return(n); 【答案】A【分数】1分【选项】A、r!=0B、r=0C、n!=0D、n=028、以下程序的输出结果是( )。main()int a=0,j;for(j=0;j4;j+)switch(j) cas
9、e 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5; printf(%dn,a);【答案】D【分数】1分【选项】A、20B、13C、10D、3629、以下程序功能为输入1个正整数n, 计算并输出s的前n项的和:s=1/2-2/3+3/4-4/5+ (-1)n/(n+1),下划线处应填入的正确语句为()。#include stdio.hvoid main( ) int k, flag=1, n; float s=0; scanf(%d, &n); for (k=1; k=n; k+) s=s+_; flag=-flag; printf(sum=
10、%fn, s);【答案】A【分数】1分【选项】A、1.0*k/(k+1)* flagB、flag*n/(n+1)C、-k/(k+1)D、1.0*k/(k+1)30、以下程序的输出结果是( )。main() int i,j,x=0;for (i=0;i2;i+) x+;for(j=0;j3;j+) if (j%2) continue;x+;x+; printf(x=%dn,x); 【答案】B【分数】1分【选项】A、x=4B、x=8C、x=6D、x=1231、以下程序的输出结果是( )。main( ) char ch25= 6937,8254,*p2; int i,j,s=0; for(i=0;i
11、2;i+)pi=chi; for(i=0;i 0;j+=2) s=10*s+pij- 0; printf(%dn,s);【答案】C【分数】1分【选项】A、69825B、63825C、6385D、69382532、下列程序片段的输出结果是( )。printf(%dn,strlen(ATSn0l22);【答案】C【分数】1分【选项】A、l1B、10C、9D、833、在C程序中有如下语句:char *func(int x,int y); 它是( )。【答案】C【分数】1分【选项】A、对函数func的定义B、对函数func的调用C、对函数func的原型说明D、不合法的34、下列程序运行后的输出结果是(
12、 )。 fun(int a, int b) if(ab) return(a); else return(b);main() int x=3, y=8, z=6, r; r=fun(fun(x,y), 2*z); printf(%dn, r);【答案】D【分数】1分【选项】A、3B、6C、8D、1235、有如下程序,该程序的输出结果是( )。 long f(int n) if(n2) return(f(n-2)+f(n-3); else if(n=2) return(2); else return(1); main() printf(%dn,f(5); 【答案】C【分数】1分【选项】A、2B、3
13、C、4D、536、在C语言中,函数的隐含存储类别是( )。【答案】C【分数】1分【选项】A、autoB、staticC、externD、无存储类别37、以下程序的运行结果是( )。#include stdiohmain() int a=1,2,3,4,5,6,7,8,9,10,11,12; int *p=a+5,*q=NULL; q=p+5; printf(%d %dn,*p,*q);【答案】B【分数】1分【选项】A、运行后报错B、6 11C、6 12D、5 538、以下选项中,能定义s为合法的结构体变量的是( )。【答案】B【分数】1分【选项】A、typedef struct abc dou
14、ble a; char b10; s;B、struct abc double a; char b10; s;C、struct ABC double a; char b10; ABC s;D、typedef ABC double a; char b10; ABC s;39、以下程序运行后的输出结果是( )。 #include struct NODE int num; struct NODE *next; ; main() struct NODE *p,*q,*r; p=(struct NODE*)malloc(sizeof(struct NODE); q=(struct NODE*)malloc
15、(sizeof(struct NODE); r=(struct NODE*)malloc(sizeof(struct NODE); p-num=10; q-num=20; r-num=30; p-next=q; q-next=r; printf(%dn ,p-num+q-next-num); 【答案】D【分数】1分【选项】A、10B、20C、30D、4040、下列程序的输出结果是( )。struct student int a, b, c; ; main() struct student stu2=2,3,4,5,6,7; int t; t=stu0.a+stu1.b%stu0.c; prin
16、tf(%d n,t); 【答案】C【分数】1分【选项】A、0B、1C、4D、541、若a是整型变量,表达式(aa)等价于( )。【答案】C【分数】1分【选项】A、aB、1C、0D、242、若以下程序所生成的可执行文件名为filel.exe ,当输入命令行:FILE1 CHINA BEIJING SHANGHAI ,执行该程序时,程序的输出结果是( )。main(int argc,char * argv ) while(argc1) +argv;printf(%s ,*argv);【答案】A【分数】1分【选项】A、CHINA BEIJING SHANGHAIB、FILE1 CHINA BEIJI
17、NGC、C B SD、F C B43、下列选项中属于不正确的赋值语句的是( )。【答案】D【分数】1分【选项】A、t;B、k=i=j;C、t1=t2=t3=3;D、t1=1,t2=2;44、若有定义:int a,b;char x,y;并有以下输入数据: 12 13 AaBb(回车)则能给a赋整数12,给b赋整数13,给x赋字符a,给y赋字符b的正确程序段是( )。【答案】D【分数】1分【选项】A、scanf(“%d”,&a); scanf(“%d”,&b); x=getchar();y=getchar();B、scanf(“%d%d %c %c”, &a, &b,&x,&y);C、scanf(
18、“%d %d %c %c”, &a,&b,&x,&x,&y,&y);D、scanf(“%d %d %c%c%c%c”,&a,&b,&x,&x,&y,&y);45、在PC16位机环境下,以下程序的运行结果是( )。 main() unsigned int a ;int b=-2;a=b;printf(“%u”,a);【答案】B【分数】1分【选项】A、-2B、65534C、32768D、-3276846、语句printf(“%dn”,strlen(“xyztxab3”);的输出结果是( )。【答案】C【分数】1分【选项】A、9B、11C、7D、847、语句:printf(“%d”,!0);的输出结
19、果是( )。【答案】A【分数】1分【选项】A、1B、0C、有语法错误 ,不能执行D、!048、当a=2,b=3,c=4,d=5时, 执行下面一段程序后x的值为( )。if(ad)x=1 ;else if(ac) if(bd)x=2 ; else x=3 ; else x=4 ;else x=5 ;【答案】C【分数】1分【选项】A、2B、3C、4D、549、若x是int型变量,且有下面的程序片段:for(x=5;x8;x+) printf(x/2)?(“*%d”):(“#%d”),x); 该程序片段的输出结果是( )。【答案】A【分数】1分【选项】A、*5*6*7B、#5*6#7*8C、*5#6*7D、*5#6*7#850、有以下程序段: int a=0,b;do scanf(“%d”,&a);b+; while(a!= 10 | bj) 语句共执行的次数是( )。main() int i=0,j=14,k=2,s=0; for(;) i+= k ; if(ij) printf(“%d”,s); break ;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1