C语言选择题2题库 下载本文

A、scanf(\、scanf(\

C、scanf(\ D、scanf(\

187、若变量已正确定义,执行以下语句: x=5.16894; printf(“%f\\n”, (int)(x*1000+0.5)/(float)1000); 的输出结果是(D)

A、输出格式说明与输出项不匹配,输出无定值 B、5.17000 C、5.168000 D、5.169000

188、若w,x,y,z,m均为int型变量,则执行语句w=1;x=2;y=3;z=4; m=(w

189、设j为int型变量,则for(j=10;j>3;j--) {if (j%3) j--; --j;--j;printf(“%d ”,j); }的执行结果是( A )。 (2分)

A、7 4 B、4 7 C、5 6 D、1 3

190、程序 int i,sum; for(i=1;i<=3;sum++)sum+=i; printf(“%d\\n”,sum); 的执行结果是( C )。(2分)

A、6 B、3 C、不确定 D、0

191、不能正确为字符数组输入数据的是(A )。 (2分) A、char s[5]; scanf(\,&s); B、char s[5]; scanf(\,s); C、char s[5]; scanf(\,&s[0]); D、char s[5]; gets(s);

192、有说明:char *language[]={\VA\则表达式*language[1]>*language[2]比较的是( A )。(2分)

A、字符B和字符P B、字符串FORTRAN和字符串BASIC C、字符F和字符B D、字符串BASIC和字符串PASCAL 193、下面的函数是无参函数的是( A )。(2分)

A、main() B、int max(int x, int y) C、return(z) D、scanf(\194、以下正确的说法是(A )。(2分)

A、定义函数时,形参的类型说明可以放在函数体内 B、return后边的值不能为表达式 C、如果函数值的类型与返回值类型不一致,以函数值类型为准 D、如果形参与实参类型不一致,以实参类型为准

195、当说明一个共用体变量时系统分配给它的内存是(C )(2分) A、各成员所需内存量的总和。 B、第一个成员所需内存量。

C、成员中占内存量最大者所需的容量。 D、最后一个成员所需内存量。 196、下列正确定义一个文件指针pm的语句是(C )

A、FILE pm; B、file *pm; C、FILE *pm; D、file pm; 197、以下运算符中优先级最低的算符为(B)

A、&& B、 ?: C、!= D、|| 198、正确的标识符是: (D)

A、 ?a B、a=2 C、a.3 D、a_3 199、以下不是关键字的是(C)(2分)

A、continue B、char C、If D、default

200、设有定义:int x=10,y=3,z;则执行语句printf(\后输出结果是(D) A、1 B、0 C、4 D、3

201、执行下列语句int a;printf(\后,a的值是(C)(2分) A、 65 B、 20 C、 15 D、 10

202、若w=1,x=2,y=3,z=4,则条件表达式w

A、4 B、3 C、2 D、1

203、设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为( B ) 。 A、1 B、2 C、 D、4

204、对于程序段 int k=0; while(k=1)k++; while 循环执行的次数是( A)。 (2分) A、无限次 B、有语法错,不能执行 C、一次也不执行 D、 执行1次

205、while构成的循环int ks=0; while (ks=2) ks++;执行的次数是( A )。 (2分) A、无限次 B、有语法错误,不能执行 C、一次也不执行 D、执行一次

206、若已定义char s[10];在下面表达式中不能表示s[1]的地址的是( B )。 (2分) A、s+1 B、s++ C、&s[0]+1 D、&s[1]

207、对于某个函数调用,不用给出被调用函数的原形的情况是( C )。(2分) A、被调用函数是无参函数 B、被调用函数是无返回值的函数 C、函数的定义在调用处之前 D、函获得的定义在别的程序文件中 208、变量的指针,其含义是指该变量的(B)。(2分) A、值 B、地址 C、名 D、一个标志

209、下列打开文件的方式中,对二进制文件操作的是( D) A、r B、a C、w+ D、rb+

210、在C语言中,逻辑表达式的操作数为非0是,则表示为(A) A、真 B、假 C、0 D、1

211、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)(2分) A、 6.500000 B、 6 C、 5.500000 D、 6.000000 212、若执行以下程序段: int a=0, b=0, c=0;c=(a-=a-5), (a=b, b+3); printf(“%d,%d,%d\\n”,a, b, c); 其输出结果是(B)(2分)

A、0,0,-10 B、0,0,5 C、-10,3,-10 D、3,3,-10

213、对于程序 int a,b; scanf (\if(a>b)a=b; b=a; else a++; b++; printf(\正确的判断是( A )。(2分)

A、有语法错误不能通过编译 B、若输入4,5则输出5,6 C、若输入5,4则输出4,5 D、若输入5,4则输出5,5 214、下面有关for循环的正确描述是( D)。(2分) A、for循环只能用于循环次数已经确定的情况。 B、for循环是先执行循环体语句,后判断表达式。 C、在for循环中,不能用break语句跳出循环体。

D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来。 215、下列循环语句会进入死循环的是( C )。 (2分)

A、i=0; do { i++; }while(i = =100); B、for(i=0; i<100; i+=3.14); C、for(i=0; ; i+=2); D、k=1; do { k--;} while(k);

216、for(x=0,y=0;(y!=123)&&(x<4);x++);循环是( C )。(2分) A、无限循环 B、循环次数不定 C、执行4次 D、执行3次 217、以下正确的定义语句是( )。(2分)

A、int a[1][4]={1,2,3,4,5}; B、float x[3][]={{1},{2},{3}}; C、long b[2][3]={{1},{1,2},{1,2,3}}; D、double y[][3]={0}; 218、程序段int k,a[3][3]={1,2,3,4,5,6,7,8,9}; for (k=0;k<3;k++) printf(“%d”,a[k][2-k]); 输出结果是( C )。(2分)

A、3 5 7 B、3 6 9 C、1 5 9 D、1 4 7

219、C语言规定,数组名做实参时,它和对应形参之间的数据传递方式是( D )。(2分)

A、用户指定传递方式 B、无传递 C、单向值传递 D、地址传递 220、若有说明:int a[3][4]={0};则下面正确的叙述是( B )。(2分) A、只有元素a[0][0]可得到初值0 B、此说明语句不正确 C、数组a中各元素都可得到初值,但其值不一定为0 D、数组a中每个元素均可得到初值0 221、以下不正确的说法是( C )。(2分)

A、C语言规定实参可以是常量、变量或表达式 B、形参可以是常量、变量或表达式 C、实参可以是任意类型 D、形参应与其对应得实参类型一致 222、在定义语句int *f();中,标识符f代表的是( D )。(2分)

A、一个用于指向整型数据的指针变量 B、一个用于指向一维数组的行指针 C、一个用于指向函数的指针变量 D、一个返回值为指针型的函数名 223、已知:int a,*p=&a;则下列函数调用中错误的是( D )。(2分) A、scanf(\ B、scanf(\ C、printf(\ D、printf(\224、枚举类型首元素默认值和两个相邻元素之间默认的差值分别是(C )(2分) A、1,0 B、1,1 C、0,1 D、0,0

225、若要用fopen函数打开一个新的二进制文件,该文件既能读也能写,则文件打开方式为( B)(2分)

A、ab+ B、wb+ C、rb+ D、ab