单选题1 .在C语言中,下列类型属于构造类型的是(D )A整型B .字符型C .实型D .数组类型2.下列字符串不是标识符的是( D )A.sumB. AverageC. Day_nightD. M.D.JOHN3.在C语言中,回车换行符是(A )A. nB. tC. vD. b4.在C语言中,语句和数据定义是用(C )作为结束标记的A句号B .逗号C .分号D .括号5. 设有如下定义:int x=10,y=5,z;则语句printf( “%dn”,z= (x+=y,x/y));的输出结果是( C )A.0 B.1 C.3 D.46. 10 .以下程序的输出结果是( B )main( ) {char c1= '8',c2= '2';printf( “%c,%c,%d,%d”n ,c1,c2,c1 -c2,c1+c2);}精选文库A.因输出格式不合法,输出出错信息B.8,2,6,106 C . 8,2,6,10 D . 825,97.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是(A)mai n() {int x;seanf( “ %d,&x);if(x++>5) printf( “%dn ,x);else prints “%dn ,x --);A. 7 禾R 5 B . 7 禾R 4 C . 6 禾R 4 8.表达式(int)2.1416 的值时(A )A. 2B. 2.1C. 0D. 39.下列运算符优先级最高的是(B )A. >B. +C. &&D. !=10.C语言容许函数值类型缺省定义,此时该函数值隐含的类型时(B )A. float 型B. Int 型C. Long 型D. Double 型11、C程序的基本构成单位是(C)A子程序B、过程C、函数D、文件12、C语言中要求操作数都为整型数据的算术符是( C )精选文库A / B、! C、%D、=13、若int x=1 ,y=1 ;则表达式(!x||y--)的值是(B )。
A 0 B、1 C、2 D、一 114、能正确表示逻辑关系:a> 10或a<0的C语言表达式(D )A a>=10 or 3<=0B 、3>=0国<=10C a>=10 && a<=0 D、a>=10||av=0 15、double x , y;表达式x=1, y=x+3/2 的值是(C )。
A 1 B、2 C、2.0 D、2.516、运行C源程序的命令是(D)A ALT+F5 B、ALT+F9C CTRL+F5D CTRL+F917、运行完C程序后,查看C程序运行结果的命令是(A )A ALT+F5 B、ALT+F9C CTRL+F5D CTRL+F9 18.若有程序段:int i=2,j;j=i++;printf( “ %d,%d ++i,j);该程序段的输出结果是:(D)A 3, 2 B、4, 3 C、3, 3 D、4, 219 设int a=12; 表达式a+=a-=a*=a 的值是(C )。
A 12B 144C 0D 132精选文库20、若给定条件表达式(M )?(a++):(a--),则其中表达式M 和(D )等价。
A M==0B M=1C M!=1D M!=021、在C 语言中,if 语句后的一对圆括号中,用以决定分支流程的表达式为 (D )OA 只能是逻辑表达式B 只能是关系表达式C 只能是逻辑表达式或关系表达式D 可以是任意表达式22、下列选项中,(A )给变量赋初值是错误的。
A int a=b=3;B int a,b,c=5;C int a=3,b,c二a; D float f=3.56;23、在C 语言中,一个字符变量在内存中占用(A )个字节。
24、int a=12,b=13,c; c=(a<b)?a:b; A 12 B 13 C 25 D 125、设有 int i ;则表达式 i=1,++i,++i||++i,i A.1B.2C. 3D. 430以下程序段中与语句k=a>b?(b>c?1:0):0 ;功能等价的是(A )A) if((a>b)&&(b>c)) k=1;则c 的值是(A )。
的值为(C )精选文库B)if((a>b)||(b>c)) k=1 else k=0;C)if(a<=b) k=0;D)if(a>b) k=1;else if(b<=c) k=1; else if(b>c) k=1;else k=0;31、算法具有五个特性,以下选项中不属于算法特性的是(B)(A)有穷性(B)简洁性(C)可行性(D)确定性32以下选项中可作为C语言合法常量的是(A)(A)-80. (B)-080 (C)-8e1.0 (D)-80.0e33、以下叙述中正确的是(C)(A)用C语言实现的算法必须要有输入和输出操作(B)用C语言实现的算法可以没有输出但必须要有输入(C)用C程序实现的算法可以没有输入但必须要有输出(D)用C程序实现的算法可以既没有输入也没有输出33、以下选项中,不能作为合法常量的是(B)(A)1.234e04 (B)1.234e0.4 (C)1.234e+4 (D)1.234e0 34、有以下程序精选文库mai n() int i=1,j=2,k=3;if(i++==1 &&(++j==3||k++==3)) prin tf("%d %d %dn ",i,j,k);程序运行后的输出结果是 (D )(A)1 2 3 (B)2 3 4 (C)2 2 3 (D)2 3 335、判断变量ch 中的字符是否为数字字符,正确表达式是A ) ch>=0&&chv=9B )' O ' <二chv 二'9' C )ch>=' 0' ||ch<= ' 9' D ) ch>=' O ' &&chv= 9'36、若执行以下程序时从键盘上输入9,则输出结果是_B.A )11B )10C )9D )main ()if(n++v1O) prin tf("%d n" else printf("%dn" ,n--);37、若 w=1, x=2, y=3,z=4;则条件表达式 w>x?w yvz?y : z 的结果是 __B{ intn ; scanf("%d",&n);,n );精选文库A) 4 B) 3 C) 2 D) 138、以下非法的赋值语句是(C )A) n=(i=2,++i); B)j++; C) ++(i+1); D)x=j>0;39、设a和b均为double型变量,且a=5.5、b=2.5 , 则表达式(int)a+b/b的值是(D)A) 6.500000 B)6 C) 5.500000 D) 6.00000040、已知i、j、k为int型变量,若从键盘输入:1,2,3<回车〉,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是(C)A) sea nf( “ ---”,&i,&j,&k);B) scanf( “%d %d %d,&i,&j,&k);C) scanf( “%d,%d,%”,&i,&j,&k);D) scanf( “i=%d,j=%d,k=%d” ,&i,&j,&k);41、若有以下程序:mai n(){ int k=2,i=2,m;m=(k+=i*=k);printf( “%d,%dn ,m,i);执行后的输出结果是(C)A) 8,6 B) 8,3 C) 6,4 D) 7,4精选文库printf(“x=%f,i=%d ” ,x,i);已有定义:int x=3,y=4,z=5 ;,则表达式!(x+y)+z-1 && y+z/2 的值是(D)A) 6 B) 0 C) 2D) 143以下选项中,与k二n++完全等价的表达式是(A)A) k二n,n 二n+1 B) n=n+1,k=n C) k=++n D) k+=n+139、若有说明:int i,j=7, *p=&i;,则与i=j;等价的语句是BA)i= *P; B)* P二* &J; C)i=&j; D)i=* *p;40、若有以下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},* p=a;则数值为6的表达式是CA)* p+6 B)* (p+6) C)* p+=5 D)p+5填空题1.C 语言是通过 库函数 来进行输入和输出的。
2.C 语言的数据类型有四大类,他们是 基本类型、构造类型、指针类型和空类型。
4 .下面程序的运行结果是 3.600000,3 mai n() {float x; int i;x=3.6;i=(i nt)x;42、精选文库5.数组名定义规则和变量名相同,遵守标识符命名规则。
6、main() {char c1,c2,c3;c2=' c';c1=c2-1;c3=c2+1;printf( “%c,%d,%cn ,c1,c2,c3);程序的运行结果是:b,99,d7、main() {int a=5,b=6,c;c=a;if(a>b) c=1;else if(a= =b) c=0;else c= — 1 ;printf( “c=%dn ,c);程序的运行结果是:-1精选文库printf(“x=%df' ,x);x=1;11.设x 的值为15, n 的值为2,则表达式x%=(n+=3)运算后,x 的值为0 。
12.设int a=7,b=9,t; 执行完表达式t=(a>b)?a:b 后,t 的值是9。
14 .求100〜200间的全部素数。
# in elude vstdio.h> mai n() { int m,k,i ,n=0;for(m=101;mv=200;m+=2) { if(n二=0) prin tf(" n");k=sqrt(m);for(i= 2 ;i<=k;i++) if(m%i==0) break ;if(i== k )—{ printf("%d ",m); n++;}15、main() { int x,y=1,z=10;if(y!=0) x=5;if(zvO) if(y>0) x=3;else x=5;printf( “x=%dn ,x);if(z=yvO) x=3;else if(y==O) x=5;else x=7;精选文库printf( “x=%df' ,x);printf( “z=%dn ,z);写出程序的运行结果:x=5 x=1 x=7 z=016、百马百担问题:有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问大、中、小马各多少匹?mai n() { int hb,hm,hl, n=0;for(hb=0;hbv=100;hb+二 3 )_for(hm=0;hmv=100-hb;hm+二2丄{ hl=100-hb-hm_;精选文库prin tf("%d ",a[i]);if(hb/3+hm/2+2* hl ==100) { n++;prin tf("hb=%d,hm=%d,hl=%d n",hb/3,hm/2,2*hl);prin tf(" n=%dn", n);17、写出程序运行结果,并简述功能(运行结果5分,功能描述3分,共8分) #i nclude <stdio.h> mai n() { int i,t;int a[10]={2,4,6,8,10,1,3,5,7,9};for(i=0;i<=4;i++) t=a[i];a[i]=a[9-i];a[9-i]=t;for(i=0;i<=9;i++)9 7 5 3 1 10 8 6 4 2功能描述:将整型数组a以逆序形式显示出来18、有以下语句段int n1 = 10, n2=20;printf( “ n1=%dnn2=%d ,n1,n2);要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。