c语言题库1

111、函数调用语句fun((exp1,exp2), (exp3,exp4,exp5))中实参的个数是( B )。 (2分) A、1B、2 C、4D、5

112、有程序 char s[]=”ABCD”, *P; for(p=s+1; p

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

B、第一个成员所需内存量。 C、成员中占内存量最大者所需的容量。 D、最后一个成员所需内存量。

114、系统的标准输入文件是指是(A )(2分) A、键盘B、显示器 C、软盘D、硬盘

115、下列运算符中,结合性为自左向右的是(B)(2分) A、?: B、, C、+=D、++

116、以下选项中正确的实型常量是(B)(2分) A、0 B、3.1415 C、0.03x10 D、.32

117、若变量c为char类型,能正确判断出c为小写字母的表达式是 (D)(2分) A、 'a'<=c<= 'z' B、 (c>= 'a')||(c<= 'z') C、 ('a'<=c)and ('z'>=c) D、 (c>= 'a')&&(c<= 'z') 118、若所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B)(2分) A、7 B、8 C、6D、2

119、若执行以下语句:int a;float b,c;scanf(“-?O”, &a, &b, &c); printf(“\\na=%d,b=%f,c=%f\\n”,a, b, c);在键盘上从第一列开始,输入9876543210(此处表示Enter),则程序的输出结果是(C)(2分)

A、a=98,b=765,c=4321B、a=10,b=432,c=8765 C、a=98,b=765.000000,c=4321.000000 D、a=98,b=765.0,c=4321.0

120、有以下语句 int m=0,n=0; char c='a'; scanf(\ printf(\若从键盘上输入:10A10<回车>,则输出结果是(A)(2分) A、10,A,10 B、 10,a,10 C、 10,a,0 D、 10,A,0

121、执行下列语句int x=10,y=10;printf(\后的输出是(D)(2分) A、10 10 B、9 9 C、9 10 D、10 9

122、下列表达式中,( C )不满足“当x的值为偶数时值为真,为奇数时值为假”的要求。 A、x%2==0 B、!x%2!=0 C、(x/2*2-x)==0 D、!(x%2)

123、已知:int n,i=1,j=2;执行语句n=i

124、执行语句for(I=1;I++<4; );后变量I的值是( C )。(2分) A、3 B、4 C、5 D、不定

125、a和b为int型变量,则执行a=1;b=10;do {b- =a;a++; } while (b--<0);后b的值为( C )。 (2分)

A、9B、-2 C、-1D、8

126、有程序段char a[3],b[ ]=\ 则( C )。 (2分)

A、运行后将输出China B、运行后将输出Ch C、编译出错 D、运行后将输出Chi 127、不能正确为字符数组输入数据的是( 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);

9

128、程序段char s[]=\ (\的输出结果是( A )。(2分) A、9 B、12 C、13D、14

129、已知:char s[20]=\则不能引用字母o的表达式是 ( A )。 (2分)

A、ps+2 B、s[2] C、ps[2] D、ps+=2,*ps

130下列关于文件打开方式“w”和“a”的描述中,错误的是(D )(2分) A、它们都可以向文件写入数据。

B、以“w”方式打开的文件从头写入数据。 C、以“a”方式打开的文件从尾写入数据。 D、它们都不清除原文件内容。 131、C语言程序的注释是(A)(2分)

A、由\开头,\结尾B、由\开头,\结尾C、由\开头D、由\或\开头

133、若有以下类型说明语句:char w; int x; float y; double z;则表达式 w*x+z-y 的结果类型是(D)(2分)

A、float B、char C、int D、double 134、以下选项中属于C语言的数据类型是(C)(2分) A、 复数型 B、 逻辑型 C、 双精度型 D、 集合型

`135、若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是 (c)(2分) A、 1 B、 2 C、 2.0 D、 2.5

137、对于程序段 int a,b=1,c=2; a=b+c,a+b,c+3; c=(c)?a++:b--; printf(\正确的说法是( A )。(2分)

A、无错误B、第三句有错误C、第四句有错误D、第五句有错误

138、对于条件表达式(k)?(i++):(i--)来说,其中的表达式k等价于( C )。(2分) A、k==0 B、k==C、k!=0D、k!=1 139、以下描述正确的是( C )。(2分)

A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。

B、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号。 C、在do-while循环体中,一定要有能使while后面表达式的值变成零(“假”)的操作。 D、do-while循环中,根据情况可以省略while

140、若使用一维数组名作函数实参,则以下正确的说法是( A )。(2分) A、 必须在主调函数中说明此数组的大小 B、实参数组类型与形参数组类型可以不匹配 C、在被调函数中,不需要考虑形参数组的大小 D、实参数组名与形参数组名必须一致 141、函数从形式上可分为(B )两类。(2分) A、嵌套函数和被嵌套函数 B、无参函数和有参函数 C、标准函数和自定义函数 D、调用函数和被调用函数

142、已知:char b[5],*p=b;则正确的赋值语句是( D )。 (2分) A、b=\ B、*b=\ C、p=\ D、*p=\

143、设有说明语句“struct stu{ int a; float b;}stutype;”,则叙述不正确的是(D )(2分) A、stuct是结构体类型的关键字。 B、struct stu是用户定义的结构体类型。

10

C、stutype是用户定义的结构体类型名。 D、a和b都是结构体成员名。

144、以“w+”方式打开一个文件,下列描述中正确的是( C)(2分)

A、文件打开时,原有文件内容不被删除,位置指针移动文件末尾,可进行写和读操作。 B、文件打开时,原有文件内容不被删除,位置指针移动文件开头,可进行重写和读操作。 C、文件打开时,原有文件内容被删除,可进行写和读操作。 D、以上说法都不正确。

145、若变量已正确定义并赋值,下面符合C语言语法的表达式是(B)(2分) A、 a:=b+1 B、 a=b=c+2 C、 int 18.5%3 D、 a=a+7=c+b

146、为表示“x大于等于y, y大于等于z”,应使用C语言表达式(A)(2分) A、(x>=Y)&&(Y>=z)

B、(x>=Y)AND(y>=z) C、(x>=Y>=z) D、(x>=Y)&(Y>=z)

147、若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句是(C)(2分) A、a=a+b, b=a-b, a=a-b; B、t=a; a=b; b=t; C、a=t; t=b; b=a;D、t=b; b=a; a=t;

148以下语句char c='a';if('a'

149、程序段 int a=1,b=2, c=3, t; while (a

150若二维数组a有m列,则在a[i][j]前面的元素个数为( 不 )。(2分) A、j*m+iB、i*m+j C、i*m+j-1D、i*m+j+1 151、以下不正确的定义语句是( B )。(2分) A、double x[5]={2.0,4.0,6.0,8.0,10.0};

B、int y[5]={0,1,3,5,7,9}; C、char c1[]={‘1’,’2’,’3’,’4’,’5’}; D、char c2[]={‘\\x10’,’\\xa’,’\\x8’};

152、若有说明:int a[][4]={0,0};则下面正确的叙述是( )。(2分) A、数组a中每个元素均可得到初值0

B、二维数组a的第一维大小为1 C、因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1

D、只有元

素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0 153 表示指向结构体变量的指针的运算符是(C )(2分) A、>>B、<< C、-> D、:

155、若执行以下程序段: 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

156、程序段char a[7]=”abcdef”; char b[4]=”ABC”; strcpy(a,b); printf(“%c”,a[5]); 输出结果是( D )。(2分)

A、一个空格 B、\\0 C、e D、f

157在C语言中,若对函数类型未加明显式说明,则函数的隐含类型是( C )类型。(2分) A、void B、double C、int D、char

158、对于某个函数调用,不用给出被调用函数的原形的情况是( C )。(2分) A、被调用函数是无参函数

B、被调用函数是无返回值的函数 C、函数的定义在调用处之前

11

D、函获得的定义在别的程序文件中

5、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(A)(2分) A、 2.500000 B、 2.750000 C、 3.500000 D、 0.000000 160、以下运算符中,运算对象必须是整型的是 (B)(2分) A、 / B、 %= C、 != D、〈=

7、若变量已正确说明为float类型,要通过语句scanf(\给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:(B)(2分)

A、 10<回车>22<回车>33<回车>B、 10.0,22.0,33.0<回车>C、 10.0<回车>22.0 33.0<回车> D、 10 22<回车>33<回车>

161、若有定义:int a=3,b=2,c=1;并有表达式:①a%b,②a>b>c,③b&&c+1,④c+=1,则表达式值相等的是( C )。(2分)

A、①和②B、②和③C、①和③D、③和④

162、在C语言中,一位数组的定义方式为:类型说明符 数组名(A)。(2分) A、[常量表达]B、整型表达式C、[整型常量]或[整型表达式] D、[整型常量] 163、若用数组名作为函数调用的实参,传递给形参的是( A )。(2分)

A、数组的首地址B、数组第一个元素的值C、数组中全部元素的值D、数组元素的个数 164、能正确进行字符串赋值的是( B )。 (2分) A、char s[5]={'a','e','i','o','u'};

B、char s[5]; s=\、char s[5]=\ D、char s[5]; s[ ]=\

165、C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为( D )。 (2分) A、该数组的长度 B、该数组的元素个数 C、该数组中各元素的值D、该数组的首地址 166、已知:int a[10],*p=a;则下面说法不正确的是 ( A )。(2分) A、p指向数组元素a[0] int a[10],*p=&a[0];与上述语句等价 D、以上均不对

167、下列关于文件指针的描述中,错误的是(D )(2分) A、文件指针是由文件类型FILE定义的。

B、文件指针是指向内存某个单元的地址值。 C、文件指针是用来对文件操作的标识。 D、文件指针在一个程序中只能有一个。

168C语言程序能够在不同的操作系统下运行,这说明C语言具有很好的(B)(2分) A、适应性B、移植性 C、兼容性D、操作性 169、以下叙述不正确的是(D)(2分) A、在C程序中,逗号运算符的优先级最低

B、在C程序中,APH和aph是两个不同的变量 C、若a和b类型相同,在执行了赋值表达式a=b后b的值将放入a中,而b的值不变

D、当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值 170、逻辑运算符两侧运算对象的数据类型可以是( D )。(2分) A、只能是0或1B、只能是0或非0正数 C、只能是整型或字符型数据 D、可以是任何类型的数据

171、设int a=3,b=4,c=5,则下面表达式中,值为0的表达式是( D )。 (2分) A、'a'&&'b'B、a<=b C、a||b+c&&b-cD、!((a

172、有int n=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3);此处循环的结束条件是( D )。(2分)

B、数组名a表示数组中第一个元素的地址 C、

12

联系客服:779662525#qq.com(#替换为@)