选择题1.下列字符序列中,不可用作C语言标识符的是()。
A.abc123 B.no.1 C._123_ D._ok2.请选出可用作C语言用户标识符的一组标识符()。
A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof3.不属于C语言关键字的是()。
A.int B.break C.while D.character4.以下不能定义为用户标示符的是()。
A.scanf B.V oid C._3com_ D.int5.C语言程序的基本单位是()。
A.程序行B.语句C.函数D.字符6.以下说法中正确的是()。
A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main( )函数中定义C.C语言程序总是从main( )函数开始执行D.C语言程序中的main( )函数必须放在程序的开始部分7.以下选项中,合法的用户标识符是()。
A.long B._2abc C.3dmax D.A.dat8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量’\101’是()。
A.字符A B.字符a C.字符c D.非法的常量9.以下选项中,正确的字符常量是()。
A.”F”B.’\\’’C.’W’ D.’’10.下列变量定义中合法的是A.short _a=1-.le-1; B.double b=1+5e2.5;C.long do=0xfdaL; D.float 2_and=1-e-3;11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。
A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if12.下列运算符中优先级最高的是()。
A.< B.&& C.+ D.!=13.判断char型变量s是否为小写字母的正确表达式是()。
A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’)C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)14.已知x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。
A.0 B.语法错C.1 D.“假”15. 有一函数:⎪⎩⎪⎨⎧>=<-=010001x x x y ,以下程序段中不能根据x 值正确计算出y 值的是()。
A .if (x>0) y=1;else if (x==0) y=0;else y= -1;B .y=0;if (x>0) y=1;else if (x<0) y= -1;C .y=0;if (x>=0)if(x>0) y=1;else y= -1;D .if (x>=0)if (x>0) y=1;else y=0;else y= -1;16. 已知int a=1,b=2,c=3; 以下语句执行后a,b,c 的值是()。
if(a>b)c=a; a=b; b=c;A .a=1, b=2, c=3B .a=2, b=3, c=3C .a=2, b=3, c=1D .a=2, b=3, c=217. 以下程序的运行结果是()。
#include ”stdio.h ”main(){ int a=1;if (a++>1) printf(”%d\n ”, a);else printf(”%d\n ”, a --);}A .0B .1C .2D .3 18. 执行以下程序段后,变量x,y,z 的值分别为()。
int a=1,b=0, x, y, z;x=(--a==b++)?--a :++b;y=a++;z=b;A .x=0,y=0,z=0B .x= -1,y= -1,z= 1C .x=0,y=1,z=0D .x= -1,y= 2, z= 119. 以下程序的输出结果是()。
#include ”stdio.h ”main(){int a=5, b=4, c=6, d;printf(”%d\n”, d=a>b? a>c?a:c :b);}A.5 B.4 C.6 D.不确定20.执行下列程序,输入为3的数出结果是()。
#include ”stdio.h”main(){int k;scanf(”%d”, &k);switch(k){ case 1: printf(”%d\n”, k++);case 2: printf(”%d\n”, k++);case 3: printf(”%d\n”, k++);case 4: printf(”%d\n”, k++);break;default: printf(”Full!\n”);}}A.3 B.4 C.3 D.45421.有如下程序,写出该执行结果()。
#include ”stdio.h”main(){float x=2.0, y;if (x<0.0) y=0.0;else if (x<10.0) y=1.0/x;else y=1.0;printf(”%f\n”,y);}A.0.000000 B.0.250000 C.0.500000D.1.000000 22.运行以下程序后,如从键盘上输入china#,则输出为()。
#include ”stdio.h”main(){int v1=0,v2=0;char ch;while ( (ch=getchar()) !=’# ’)switch (ch){ case ’a’:case ’h’:default: v1++;case ’o’: v2++;}printf(”%d,%d\n”, v1,v2);}A.2,0 B.5,0 C.5,5 D.2,523.有以下程序,程序运行后的输出结果是()。
#include ”stdio.h”main(){int a=15, b=21, m=0;switch (a%3){ case 0: m++; break;case 1: m++;switch (b%2){ default: m++;case 0: m++; break;}}printf(”%d\n”,m);}A.1 B.2 C.3 D.424.在下列选项中,没有构成死循环的程序段是()。
A.int i=100;while (1){i=i%100+1;if(i>100) break;}B. for ( ;;);C.int k=1000;do {++k;}while (k>=10000);D.int s=36;while (s) ;--s;25.下面程序的运行结果为()。
main(){ int n;for(n=1;n<=10;n++){ if(n%3==0)continue;printf("%d",n);}}A.12457810B.369C.12D.1234567891026.在以下给出的表达式中,与do-while(E)语句中的(E)不等价的表达式是()。
A.(!E==0)B.(E>0||E<0)C.(E==0)D.(E!=0)27.下列程序的输出是()。
#include<stdio.h>main(){ int i;char c;for(i=0;i<=5;i++){c=getchar();putchar(c);}}程序执行时从第一列开始输入以下数据,<CR>代表换行符。
u<CR>w<CR>xsta<CR>A.uwxstaB.uC.uD.uw w wx xs xsta28.在C语言中,为了结束while语句构成的循环,while后一对圆括号中表达式的值应该为()。
A.0B.1C.trueD.非029.在C语言中,为了结束由do-while语句构成的循环,while后一对圆括号中表达式的值应为()。
A.0B.1C.trueD.非030.下列程序的输出为()。
#include<stdio.h>main(){int i=0,j=0,a=6;if((++i>0)||(++j>0))a++;printf("i=%d,j=%d,a=%d\n",i,j,a);}A.i=0,j=0,a=6B.i=1,j=1,a=7C.i=1,j=0,a=7D.i=0,j=1,a=731.下列程序段的输出结果为()。
main(){int x=3;do{ printf("%3d",x-=2);}while(!(--x));}A.1B.3 0C.1 -2D.死循环32.以下程序运行后,输出结果是( )。
main(){int n[5]={0,0,0},i,k=2;for(i=0;i<k;i++) n[i]=n[i]+1;printf("%d\n",n[k]);}A. 不确定的值B. 2C. 1D. 033.以下程序运行后,输出结果是( )。
main(){int a[10], a1[ ]={1,3,6,9,10}, a2[ ]={2,4,7,8,15},i=0,j=0,k;for(k=0;k<4;k++)if(a1[i]<a2[j]) a[k]=a1[i++];else a[k]=a2[j++];for(k=0;k<4;k++) printf("%d",a[k]);}A. 1234B. 1324C. 2413D. 432134.以下程序运行后输出结果是( )。
main( ){int n[3],i,j,k;for(i=0;i<3;i++)n[i]=0;k=2;for (i=0;i<k;i++)for (j=0;j<k;j++)n[j]=n[i]+1;printf("%d\n",n[1]); }A. 2B. 1C. 0D. 335.若有以下的定义:int t[5][4];能正确引用t数组的表达式是( )。
A. t[2][4]B. t[5][0]C. t[0][0]D. t[0,0]36.下述对C语言字符数组的描述中错误的是( )。
A. 字符数组可以存放字符串B. 字符数组中的字符串可以整体输入、输出C. 可以在赋值语句中通过赋值运算符"="对字符数组整体赋值D. 不可以用关系运算符对字符数组中的字符串进行比较37.下述对C语言字符数组的描述中正确的是( )。