《最新C语言程序设计试题及答案解析.doc》由会员分享,可在线阅读,更多相关《最新C语言程序设计试题及答案解析.doc(76页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品资料C语言程序设计试题及答案解析.C语言程序设计试题及答案解析C语言程序设计试题及答案解析C语言程序设计试题一、选择题1、 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:()A、 任意 B、 第一个函数必须是主函数,其他函数任意C、 必须完全按照执行的顺序排列D、 其他函数可以任意,主函数必须在最后2、 下列四个叙述中,正确的是:()A、 C程序中的所有字母都必须小写B、 C程序中的关键字必须小写,其他标示符不区分大小写C、 C程序中的所有字母都不区分大小写D、 C语言中的所有关键字必须小写3、 下列四个叙述中,错误的是:()A、 一个C源程序必须有且只能有一个主函数B、 一
2、个C源程序可以有多个函数C、 在C源程序中注释说明必须位于语句之后D、 C源程序的基本结构是函数4、 下面不是C语言合法标识符的是:()A、abc B、5n C、_4m D、x35、 以下叙述不正确的是:()A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定非用main来表示6、 C语言中允许的基本数据类型包括:()A. 整型、实型、逻辑型 B. 整型、实型、字符型C. 整型、字符型、逻辑型 D. 整型、实型、逻辑型、字符型7、 C语言中能用八进制表示的数据类型为:()A、字符型、整型 B、整形、实型C、字符型、实型、双精度型 D、
3、字符型、整型、实型、双精度型8、 下列属于C语言合法的字符常数是:()A、97 B、”A” C、t D、”0”9、 在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:() A、charint=long int =floatdoubleB、char=intlong int =floatdoubleC、charintlong int=float=doubleD、char=int=long int =floatdouble10、 在C语言中(VC环境),一定是长整型常数的是:() A、0L B、4962710 C、0412765 D、0xa34b7fe11、 若有以下定义语句cha
4、r c1=b, c2=e; printf(“%d,%cn”,c2-c1,c2-a+A);则输出结果是:() A、2,M B、3,E C、2,E D、输出项与相应的格式控制不一致,输出结果不确定12、 以下合法的赋值语句是:() A、x=y=100 B、d-; C、x + y D、c = int(a+b);13、 设变量t为int型,下列选项中不正确的赋值语句是:() A、+t; B、n1=(n2=(n3=0); C、k=i=m; D、a=b+c=1;14、 在以下一组运算符中,优先级最高的是:() A、=10 or a=0 B、a=0 C、a=10 | a=10 & a=016、 下列只有当整
5、数x为奇数时,其值为“真”的表达式是:() A、x%2=0 B、!(x%2=0) C、(x-x/2*2)=0 D、!(x%2)17、 设a为整型变量,不能正确表达数学关系10a15的C语言表达式是:() A、1 0 a 15 B、!(a=15) C、a10 & a15 D、!(a=15)18、 已知x=43, ch=A,y=0;则表达式(x=y&ch8)D #include 以下不是C语句的是:()Aa=8; Ba+; Cif(a8);Dfor(i=1;i x -2 )|(4 x 8)B!( x 2 )&( x 8 )C( x = -2 )&( x 4 )&( x -2 )&( x 4 )|(
6、 x 8 )&( x 10;后,t的值为0 29. ( )若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变30. ( )在C程序中,%是只能用于整数运算的运算符31. ( )在C语言中,逻辑“真”等价于不等于0的数32. ( )C语言中字符型、整型、实型都能用八进制表示33. ( )在VC语言中,5种基本数据类型的存储空间长度的排列顺序为:charintlong int floatdouble34. ( )变量的三要素是:变量名、变量类型、变量的值。 第4章 顺序结构一、选择题1、下面程序的输出是:() main() int k=11; printf(k=%d,k
7、=%o,k=%xn,k,k,k); A) k=11,k=12,k=13 B) k=11,k=13,k=13C) k=11,k=013,k=oXb D) k=11,k=13,k=b2、以下合法的C语言赋值语句是:() A)a=b=58 B)k=int(a+b) ; C)a=58,b=58 D)- i;3、以下程序的输出结果是:() main() int x=10,y=3;printf(“%dn”,y=x/y); A)0 B)1 )3 D)不确定4、若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是:() A)read (a,b,c); B)scanf(“%d%d%d”,a
8、,b,c);C)scanf(“%D%D%D”,%a,%b,%c); D)scanf(“%d%d%d”,&a,&b,&b);5、执行下面程序段后,c3中的值是:()int c1=1 , c2=2 , c3;c3=c1/c2; A)0 B)1/2 C)0.5 D)16、若执行以下程序段,其输出结果是:()int a=0 , b=0 , c=0;c=(a-=a-5) , (a=b,b+3) ;printf(“%d , %d , %dn” , a,b,c); A)0,0,0 B)0,0,5 C)5,0,5 D)-10,0,-107、以下程序段的输出是:()float a=57.666;printf(“
9、*%2.2f*n”, a);A)*57* B)*58* C)*57.66* D)*57.67*8、若有以下定义和语句:() int a=5,b b=a+;此处b的值是:()A) 7 B) 6 C) 5 D) 49、若有以下定义和语句:() char c1=b,c2=e; printf(%d,%cn,c2-c1,c2-a+A)则输出结果是:()A) 2,M B) 3,E C) 2,e D) 输出结果不确定10、以下程序的输出结果是:() main() int x=10,y=10; printf(%d%dn,x-,-y); A) 10 10 B) 9 9 C) 9 10 D) 10 911、在C语
10、言中,如果下面的变量都是int类型,则输出结果是:() sum=pad=5; pad=sum+,pad+,+pad; printf(%dn,pad);A) 7 B) 6 C) 5 D) 412、以下程序的输出结果:() #include main() int i=010,j=10; printf(%d,%dn,+i,j-); A) 11,10 B) 9,10 C) 010,9 D) 10,913、在C语言中,short类型数据的范围是-3276832767,下面程序段的输出结果是:() short i =65536; printf(%dn,i);A) 65536 B) 0C) 1 D)超出取值
11、范围,无输出结果14、已知字符A的ASCII码为十进制的65,下面程序的输出是:() main() char ch1,ch2; ch1=A+5-3; ch2=A+6-3; printf(%d,%cn,ch1,ch2); A) 67,D B) B,CC) C,D D) 不确定的值15、若有定义和语句: char s; s=abcd; printf(%dn,s);则结果是:()A) 输出 97 B) 输出 aC) 输出 adcb D) 编译不能通过16、若有定义:int x,y; char a,b,c; 并有以下输入数据(此处代表换行,V代表空格): 1V2 AVBVC 则能给x赋整数1,给y赋数
12、2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是:() A) scanf(x=%d y=%d,&x,&y); a=getchar(); c=getchar(); B) scanf(%d%d,&x,&y); a=getchar(); b=getchar(); c=getchar(); C) scanf(%d%d%c%c%c,&x,&y,&a,&b,&c);D) scanf(%d%d%c%c%c%c%c%c,&x,&y,&a,&a,&b,&b,&c,&c);17、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是:() main() int x; scanf(%d,&x); i
13、f (x+5) printf(%d,x) else printf(%dn,x-); A) 7和5 B) 6和3 C) 7和4 D) 6和418、若执行下面的程序从键盘输入3和4,则输出是:() main() int a,b,s; scanf(%d%d,&a,&b); s=a; if (ab) s=b; s=s*s; printf(%dn,s); A) 14 B) 16 C) 18 D) 2019、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值scanf(i=%d,f=%f,&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为:()A) 100765.
14、12 B) i=100,f=765.12C) 100765.12 D) x=100,y=765.12 20、以下程序的输出结果是:() #include main() int n; printf(%dn,n); A) -1 B) 0 C) 1 D) 不确定二、判断题1( )在C语言中,实型数据在内存都中占4个字节。 2( )在C语言中,参加算术(+,-,*,/,%)运算的数据可以是任何类型的数据。 3( )若有定义和语句:int a;char c;scanf(%d,%c,&a,&c);当通过键盘输入:10,A之后,则变量a中存放的是10,变量c中存放的是A。 4( )C语言中,变量名只能是小写
15、字母表示,符号常量名可用大写表示 5( )在C语言中,变量可以不要定义,直接使用 6( )一个C语言程序总是从主函数开始执行的 7( )注释语句必须用/*和*/括起来,且只能位于某一语句的后面8( ) “a”和a均是占用1个字节的内存空间的数据 第5、6章选择与循环结构一、选择题1. 有以下程序 main( ) int i; for ( i=0; ibc) printf(%dn, d); else if ( (c-1 = d) =1) printf(%dn, d+1); else printf(%dn, d+2); 执行后输出结果是:() A)2 B)3 C)4 D)编译时有错,无结果4. 有
16、以下程序 main() int i=0,s=0; do if (i%2) i+; continue; i+; s += i; while( ib?(ac?a:c):(b); A) 5 B) 4 C) 6 D) 不确定6. 以下程序中,while循环的循环次数是:() main() int i=0; while(i10) if(i1) continue; if(i=5) break; i+; A) 1 B) 10 C) 6 D) 死循环,不能确定次数7. 以下程序的输出结果是:() main( ) int a=0,i; for(i=1;i5;i+) switch(i) case 0: case
17、3: a+=2; case 1: case 2: a+=3; default: a+=5; printf(%dn,a); A) 31 B) 13 C) 10 D) 208. 以下程序的输出结果是:() main() int a=4,b=5,c=0,d; d=!a & !b | !c; printf(%dn,d); A) 1 B) 0 C) 非0的数 D) -19. 以下程序的输出结果是:() #include main() int i=0,a=0; while(i20) for( ; ; ) if(i%10)=0) break; else i-; i+=11; a+=i; printh(%dn
18、,a); A) 21 B) 32 C) 33 D) 1110. 阅读以下程序:( ) main() int x; scanf(%d,&x); if(x-5) printf(%dx); else printf(%dx+); 程序运行后,如果从键盘上输人5,则输出结果是:()A)3 B) 4 C) 5 D) 611. 假定w、x、y、z、m均为int型变量,有如下程序段: w=1; x=2; y=3; z=4; m=(wx)?w : x; m=(my)?m : y; m=(mz)?m: z;则该程序运行后,m的值是:()A) 4 B) 3 C) 2 D) 112. 以下程序的输出结果是:() ma
19、in() int a, b; for(a=1, b=1; a=10) break; if (b%3=1) b+=3; continue; printf(%dn,a); A) 101 B) 6 C) 5 D) 413. 若执行以下程序时从键盘上输入9,则输出结果是:() main() int n; scanf (%d,&n); if(n+10) printf (%dn,n); elseprintf(%dn,n-); A) 11 B) 10 C) 9 D) 814. 有以下程序段 int k=0while(k=1)k+; 则while 循环执行的次数是:() A) 无限次 B) 有语法错,不能执行
20、 C) 一次也不执行 D) 执行1次 15. 以下程序执行后sum的值是:() main() int i , sum; for(i=1;i6;i+) sum+=i; printf(%dn,sum); A)15 B)14 C) 不确定 D)016. 有以下程序段 int x=3 do printf (%d,x -=2);while (!(-x); 其输出结果是:() A) 1 B) 3 0 C) 1 -2 D) 死循环17. 若变量c为char类型,能正确判断出c为小写字母的表达式是:() A) a=c= a)|(c= z) C) (a=c) D) (c= a)&(c1) & (z8;y=i ) printf(“%d %d ”,x-,y); A)10 1 9 2 B)9 8 7 6 C)10 9 9 0 D)10 10 9 020. 以下程序的输出结果是:() main() int i; for(i=1;i=6;i+) if(i%2) printf(“#”);continue; printf(“*”); printf(“n”); A)#*#*# B)# C)*