文档库 最新最全的文档下载
当前位置:文档库 › TC题库

TC题库

TC题库
TC题库

试题内容选项A t为int类型,进人下面的循环之前,t的值为0

while( t=l )

{ ……}

则以下叙述中正确的是循环控制表达式的值为0

x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是 INPUT x、y 、z;

设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,

y的值为不定值 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的

值是6

以下叙述正确的是do-while语句构成的循环不能用其它语句构成的循环来代替。

若有定义和语句:

char s[10];s="abcd";printf("%s\n",s);

则结果是(以下u代表空格)输出abcd

____是C语言合法的变量说明float x=y=3.1

C语言程序是由( )组成的。主程序和子程序

C语言规定,调用一个函数时,实参变量和形参变量之间的数据传

递是( )。地址C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是void

C语言中用于结构化程序设计的三种基本结构是顺序结构、选择结构、循环结构

C语言中运算对象必须是整型的运算符是%=

int *p[4]与选择项( )中的说明等价。int p[4] s12和s2已正确定义并分别指向两个字符串。若要求:当s1所指串

大于s2所指串时,执行语句S;则以下选项中正确的是if(s1>s2)S

表达式:10!=9的值是( )true

表示关系X<=Y<=Z的c语言表达式为(X<=Y)&&(Y<= Z)

不能把字符串:Hello!赋给数组b的语句是( )char

b[10]={'H',' e','l','l',' o','!'};

当调用函数时,实参是一个数组名,则向函数传送的是数组的长度调用strlen("abcd\0ef\0g")的结果为( )4

定义int *swap()指的是( )指一个返回整型值的函数swap

关系式 x

函数调用:strcat(strcpy(str1,str2),str3)的功能是( )将串str1复制到串str2中后再连接到串str3之后

假定a和b为int型变量,则执行以下语句后b的值为( )

a=1; b=10;

do { b-=a; a++; }

while (b--<0);9

假定int类型变量占用两个字节,其有定义:int

x[10]={0,2,4};,则数组x在内存中所占字节数是3

假定x和y为double型,则表达式x=2,y=x+3/2的值是 3.5

假定有以下变量定义:

int k=7 ,x=12;

则能使值为3的表达式是( )x%=(K%=5)

结构化程序由三种基本结构组成,三种基本结构组成的算法可以完成任何复杂的任务

能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是a>=10 or a<=0

请读程序片段(字符串内没有空格字符):

printf("%d\n", strlen("ATS\n012\1\\"));

上面程序片段的输出结果是( )11

若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值

是-3

若I,j已定义为int类型,且内循环体不改变I,j的值,则以下程序段

中内循环体的总的执行次数是

for (I=5;I;I--)

for(j=0;j<4;j++){…}20

若k是int型变量,且有下面的程序片段:

int k = -2; if (k<=0) printf("####"); else

printf("&&&&");

上面程序片段的输出结果是( )####

若u=1,v=2,w=3,则表达式w==(v=-u)执行完后w 的值是( )。3

若x=0,y=1,则语句while(x==y){x++; break;}循环体执行次数

是( )。3

若x=2, y=2, z=2 则表达式 z+=++x+y++的值为( )5

若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10

的是abs(x-y)<10若x和y都是int型变量,x=100,y=200,且有下面的程序片段:

printf("%d\n",(x,y));

上面程序片段的输出结果是( )200

若x为int型变量,则执行以下语句后,x的值为

x=6;

x+=x-=x*x

36

若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述

是a的值是字符C 若变量c为char类型,能正确判断出c为小写字母的表达式是a'<=c<= 'z'

若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是for(i=1,p=1; i<=5;i++)

p*=I

若变量已正确定义并赋值,下面符合C语言语法的表达式是a:=b+1若定义 int a[4][6],则数组a是( )个元素。24

若定义:int a=511,*b=&a;, 则printf("%d\n",*b);的输出结果为无确定值

若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这

一关系的表达式为( )a=0若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是( )1若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是1

若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是函数调用可以作为独立的语句存在

若已知int a,x, 以下( )是正确的赋值语句a=(a[2]+a[2] /2)

若有int x=4,y=5;, 则执行完表达式x*=y-1后,x值为( )16若有int x=4,y=5;, 则执行完表达式x*=y-1后,x值为( )

。16若有定义 float a[5][4],则数组a可以有( )个元素。30

若有定义:int *p[3];,则以下叙述中正确的是定义了一个基类型为int的指针变量p,该变量具有三个指针

若有定义:int a=8,b=5,C;,执行语句C=a/b+0.4;后,c的值为 1.4

若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均

已赋值(c大于0)

s=a;

for(b=1;b<=c;b++) s=s+1;

则与上述程序段功能等价的赋值语句是s=a+b;若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是 i=*p;若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是p=q;若有说明和语句:

int a=5;

int c=a++;

此处c的值是( )7

若有说明和语句:

int a=8;

int c=++a;

此处表达式c的值是( )7

若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是scanf("%d%d% d",&a,&b,d);

若有以下程序:

main()

{ int k=2,i=2,m;

m=(k+=i*=k);printf(“%d,%d\n”,m,i);

}

执行后的输出结果是 8,6若有以下程序段,

int c1=1,c2=2,c3;

c3=1.0/c2*c1;

则执行后,c3中的值是0

若有以下程序片段:

char str[]="abcd";

printf(%d\n",strlen(str));

上面程序片段的输出结果是( )3

若有以下定义:

int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};

char c='a',d,g;

则数值为4的表达式是( )a[g-c]若有以下定义:

char a; int b;

float c; double d;

则表达式a*b+d-c值的类型为( ) float 若有以下定义和语句:

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

则不能表示a数组元素的表达式是*p

若有以下类型说明语句

char w; int x; float y; double z;

则表达式 w*x+z-y 的结果是()类型。

float

若整型变量I的初值为5,则语句printf("%d,%d,%d,%d\n",I,I--,-

-I,I);输出的结果是 ( )5,4,3,5

若执行以下程序时从键盘上输入9,则输出结果是

main0

{ int n;

scanf("%d",&n);

if(n++<10) printf("%d\n",n);

else printf("%d\n",n--);

}11

设 int a=10,则执行完语句 a+=a-=a*a后,a的值是( )99

设 int x=1, y=1; 表达式(!x||y--)的值是0

设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2

、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值位为0

设a=1,b=2,c=3,d=4,则表达式:a

设a=3,b=4,c=5,d=6,则表达式:b

设k为整型变量,则下面while循环共执行( )次

k=2;

while(k!=0)printf("%d",k),

k--;

printf("\n");无限多

设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,

则不能正确执行的语句是k=*P1+*P2;设x,y,z,t均为int型变量,则执行以下语句后,t的值为( )

x=y=z=1;

t=++x||++y&&++z;不定值

设x.y.z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x

的值为( )4

设x=1, y=2, 执行表达式

(x>y)?x++:++y

以后x和y的值分别为( )。1和2

设x为int型变量,则执行以下语句后,x的值为( )

x=10; x=x+--x;10

设x为int型变量,则执行以下语句后,x的值为( )

x=10; x+=x-=x-x;10

设变量说明为

int a=2,b=3,c=7,d=10;

则表达式 d=a==b?++b:++C 的值是____。

10

设已定义k为int整型变量,则有下面while循环执行( )次

k=10;

while(k=0)k=k-1;执行10次设有 int x=11; 则表达式 (x++ * 1/3) 的值是3

设有 static char str[ ]="Beijing"; 则执行

printf("%d\n", strlen(strcpy(str, "China")));

后的输出结果为( )5

设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是printf(“

x=%d\n”,x);

设有如下程序段:

int x=2002, y=2003; printf("%d\n",(x,y));则以下叙述中正确的是输出语句中格式说明符的个数少于输出项的个数,不能正确输出

设有如下的变量定义:

int I =8,k ,a,b ;

unsigned long w=5; double x=1.42,y=5.2;

则以下符合C语言语法的表达式是( )a+=a-

=(b=4)*(a=3)

设有如下定义:

int (*ptr)();

则以下叙述中正确的是ptr是指向一维组数的指针变量

设有如下定义:

int a=1,b=2,c=3,d=4,m=2,n=2;

则执行表达式:(m=a>b)&&(n=c>d)后,n的值为( )1

设有数组定义: char array [ ]="China"; 则数组 array所占的空

间为 4个字节

设有说明语句:char a=’\72’;则变量a包含1个字符设有以下宏定义:

#define N 3

#define Y(n) ( (N+1)*n)

则执行语句:z=2 * (Y(4));后,z的值为 ( )出错

设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是

printf("%d,%d\n",x--,--y);10,3

数字字符0的ASCII值为48,若有以下程序

main()

{

char a='1',b='2';

printf("%c,",b++);

printf("%d\n",b-a);

}

程序运行后的输出结果是

3,2

下列( )表达式不满足:当x的值为偶数时值为“真”,为奇

数时值为“假”。x%2==0

下列变量定义中合法的是short _a=1-.le-1;

下列程序的输出结果是

main()

{ char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;

printf("%d",*--p);

}非法

下列程序的输出结果是

main()

{ double d=3.2; int x,y;

x=1.2; y=(x+3.8)/5.0;

printf("%d \n", d*y);

}3

下列程序的运行结果是

#include

main()

{ int a=2,c=5;

printf("a=%d,b=%d\n",a,c); }a=%2,b=%5下列程序执行后的输出结果是

main()

{ int x='f'; printf("%c \n",'A'+(x-'a'+1)); }G

下列程序执行后的输出结果是(小数点后只写一位)

main()

{ double d; float f; long l; int i;

i=f=1=d=20/3;

printf("%d %ld %f %f \n", i,l,f,d);

} 6 6 6.0 6.0下列符号中可以作为函数名的是( )_sysf

下列关于C语言用户标识符的叙述中正确的是用户标识符中可以出现下划线和中划线(减号)

下列关于switch语句和break语句的结论中,只有( )是正确的break语句是switch语句的一部分

下列关于单目运算符++、--的叙述中正确的是它们的运算对象可以是任何变量和常量

下列函数定义中,会出现编译错误的是max(int

x,int y,int *z)

{ *z=x>y ? x:y; }

下列可作为C语言赋值语句的是( )x=3,y=5

下列条件语句中,功能与其他语句不同的是if(a)

printf("%d\n ",x); else printf("%d\n ",y)

下列选项中,不能用作标识符的是_1234_

下列选项中,合法的C语言关键字是VAR

下列语句中符合C语言语法的赋值语句是: ( )a=0x7bc=a7 ;

下面程序的输出结果是

main()

{ int a[ ]={1,2,3,4,5,6,7,8,9,0,},*p;

p=a;

printf("%d\n",*p+9);

}0下面的( )代表一个十六进制整数。'A'

下面能正确进行字符串赋值操作的语句是( )char

s[5]={"ABCDE F"};

下述标识符中,()是合法的用户标识符。A#C

选择出正确的说明语句( )int A[3.6];要求以下程序的功能是计算:s=1/10+1/9+1/8+...+1/2

main()

{ int n; float s;

s=1.0;

for(n=10;n>1;n--)

s=s+1/n;

printf("%6.4f\n",s);

}

程序运行后输出结果错误,导致错误结果的程序行是s=1.0;

一个C语言的程序是由一个主程序和若干个子程序组成

已定义ch为字符型变量,以下赋值语句中错误的是ch='\';已定义c为字符型变量,则下列语句中正确的是c='97';

已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是数组a和b的长度相同

已有定义:int i,a[10],*p;,则合法的赋值语句是p=100已知char c; 则下列语句中正确的是( ) c='a'

已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是scanf(“%2d% 2d%2d

”,&i,&j,&k) ;

已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用

八进制表示的字符常量‘\101’是字符A 已知定义:int b[]={1,2,3,4},y,*p=b;执行y=*p++后,y的值为(

)1

以下不能正确定义二维数组的选项是int

a[2][2]={{1} ,{2}}

以下不能正确进行字符串赋初值的语句是char

str[5]="good !";

以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出

每位学生的平均分并输出,程序如下:

main()

{ int n,k;

float score ,sum,ave;

sum=0.0;

for(n=1;n<=10;n++)

{ for(k=1;k<=4;k++)

{ scanf(“%f”,&score); sum+=score;}

ave=sum/4.0;

printf(“NO%d:%f\n”,n,ave);

}

}

上述程序运行后结果不正确,调试中发现有一条语句出现在程序中

的位置不正确。这条语句是 sum=0.0;以下程序的输出结果是

main()

{ int i, k, a[10], p[3];

k=5;

for (i=0;i<10;i++) a[i ]=i;

for (i=0;i<3;i++) p[i ]=a[i *(i+1)];

for (i=0;i<3;i++) k+=p[i] *2;

printf("%d\n",k);

}20

以下程序的输出结果是

fun(int x, int y, int z)

{ z=x*x+y*y; }

main()

{ int a=31;

fun(5,2,a);

printf("%d",a);

}0

以下程序的输出结果是

main()

{ char c='z';

printf("%c",c-25);

}a

以下程序的输出结果是

main()

{ int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};

printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]; )

}650

以下程序的输出结果是

main()

{ int a=3;

printf("%d\n",(a+a-=a*a) );

}-6

以下程序的输出结果是

main()

{ int i, a[10];

for(i=9;i>=0;i--) a[i]=10-i;

printf("%d%d%d",a[2],a[5],a[8]);

}258

以下程序的输出结果是

main()

{ int i, x[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++) printf("%d,",x[i][2-i]);

}1,5,9以下程序的输出结果是

main()

{ char cf[3][5]={"AAAA","BBB","CC"};

printf("\"%s\"\n",ch[1]);

}

"AAAA"以下程序的输出结果是

main()

{ int a=4,b=5,c=0,d;

d=!a&&!b||!c;

printf("%d\n",d);

}

1

以下程序的输出结果是

main()

{ int a=5,b=4,c=6,d;

printf("%d\n",d=a>b?(a>c?a:c):(b));

}

5

以下程序的输出结果是( )

main()

{int a=10,b=10;

printf("%d %d\n",--a,b--);

}10 10以下程序的输出结果是( )

main( )

{ int a=12,b=12;

printf("%d%d\n",--a,++b);

}10 10以下程序段的输出结果是

char s[]="\\141\141abc\t";

printf ("%d\n",strlen(s));9

以下程序段的输出结果是

int a=1234;

printf("%2d\n",a);12

以下程序输出结果是( )

main ()

{int m=5;

if (m>5 ) printf ("%d\n",m);

else printf ("%d\n",m--);

}7

以下程序运行后,输出结果是( )

main( )

{ char *s="abcde";

s+=2;

print("%ld \n",s);

}cde

以下程序执行后sum的值是

min()

{ int i , sum;

for(i=1;i<6;i++) sum+=i;

printf("%d\n",sum);

}15

以下的for循环 ( )

for(x=0,y=0; (y!=123)&&(x<4); x + + );是无限循环

以下定义语句中,错误的是 int

a[]={1,2};

以下定义语句中正确的是char

a='A'b='B'

以下对i, j, k进行说明并赋值的方法中, 只有( )是错误的。 int

i=j=k=1;

以下非法的赋值语句是n=(i=2,++i);以下函数值的类型是

fun ( float x )

{ float y;

y= 3*x-4;

return y;

}int

以下合法的赋值语句是x=y=100

以下能正确定义二维数组的是int a[][3]

以下能正确定义数组并正确赋初值的语句是int

N=5,b[N][N];

以下能正确定义一维数组的选项是int

a[5]={0,1,2, 3,4,5}

以下能正确定义一维数组的选项是

int num[]

以下述叙正确的是在C程序中,main函数必须位于程序的最前面

以下数组定义中不正确的是 int

a[2][3];

以下说法中正确的是( )以下说法中正确的是( )

以下所列的C语言常量中,错误的是0xFF

以下所列的各函数首部中,正确的是 void

play(var

:Integer,var b:Integer)

以下叙述正确的是 C语言比其他语言高级

以下叙述中不正确的是( )在不同的函数中可以使用相同名字的变量

以下叙述中正确的是C程序中注释部分可以出现在程序中任意合适的地方

以下选项中,非法的字符常量是 '\t'

以下选项中,与k=n++完全等价的表达式是k=n,n=n+1以下选项中不合法的用户标识符是()。abc.c

以下选项中非法的表达式是0<=x<100

以下选项中合法的用户标识符是long

用C语言编写的代码程序可立即执行有定义语句:int x, y;,若要通过scanf("%d,%d",&x,&y);语句使

变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误

的是11 12<回车>

#define N 2

#define M N+1

#define NUM 2*M+1

#main()

{ int i;

for(i=1;i<=NUM;i++)printf(“%d\n”,i);

}

该程序中的for循环执行的次数是5

有如下程序

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);

}

该程序的输出结果是0

有如下程序

main( )

{ int i,sum;

for(i=1;i<=3;sum++) sum+=i;

printf(“%d\n”,sum);

}

该程序的执行结果是6

有如下程序

main( )

{ int n=9;

while(n>6) {n--;printf(“%d”,n);}

}

该程序段的输出结果是987

有如下程序

main( )

{ int x=1,a=0,b=0;

switch(x){

case 0: b++;

case 1: a++;

case 2: a++;b++;

}

printf(“a=%d,b=%d\n”,a,b);

}

该程序的输出结果是 a=2,b=1

main( )

{ int x=23;

do

{ printf(“%d”,x--);}

while(!x);

}

该程序的执行结果是321有如下程序

main( )

{ int y=3,x=3,z=1;

printf(“%d %d\n”,(++x,y++),z+2);

}

运行该程序的输出结果是 3 4有如下程序段

int *p,a=10,b=1;

p=&a; a=*p+b;

执行该程序段后,a的值为12

有如下程序段

int a=14,b=15,x;

char c=’A’;

x=(a&&b)&&(c<’B’);

执行该程序段后,x的值为

ture 有以下程序

#define P 3

void F(int x){return(P*x*x);}

main()

{printf("%d\n",F(3+5));}

程序运行后的输出结果是

192有以下程序

main()

{

char a[7]="a0\0a0\0"; int i,j;

i=sizeof(a); j=strlen(a);

printf("%d %d\n",i,j);

}

程序运行后的输出结果是

2 2

main()

{

int i=1,j=2,k=3;

if(i++==1&&(++j==3||k++==3))

printf("%d %d %d\n",i,j,k);

}

程序运行后的输出结果是

1 2 3

有以下程序

main()

{

int a,b,d=25;

a=d/10%9;b=a&&(-1);

printf("%d,%d\n",a,b);

}

程序运行后的输出结果是

6,1

有以下程序

main()

{

int m,n,p;

scanf("m=%dn=%dp=%d",&m,&n,&p);

printf("%d%d%d\n",m,n,p);

}

若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的

值为789,则正确的输入是m=123n=456p=

789

有以下程序 A

main()

{

int m=12,n=34;

printf("%d%d",m++,++n); printf("%d%d\n",n++,++m);

}

程序运行后的输出结果是

12353514

有以下程序 main() { int m[][3]={1,4,7,2,5,8,3,6,9}; int

i,j,k=2; for(i=0;i<3;i++) { printf("%d ",m[k][i]); } } 执

行后输出结果是 4 5 6

有以下程序

#include

main()

{ char *p=“abcde\0fghjik\0”;

printf(“%d\n”,strlen(p));

}

程序运行后的输出结果是12

#include

#define F(X,Y) (X)*(Y)

main()

{ int a=3, b=4;

printf("%d\n", F(a++, b++));

}

程序运行后的输出结果是

12有以下程序

#include

main()

{ printf("%d\n",NULL); }

程序运行后的输出结果是0

有以下程序

fun(int a, int b)

{ if(a>b) return(a);

else return(b);

}

main()

{ int x=3, y=8, z=6, r;

r=fun(fun(x,y), 2*z);

printf("%d\n", r);

}

程序运行后的输出结果是3

有以下程序

int f(int n)

{ if (n==1) return 1;

else return f(n-1)+1;

}

main()

{ int i,j=0;

for(i=1;i<3;i++) j+=f(i);

printf(“%d\n”,j);

}

程序运行后的输出结果是4

有以下程序

main()

{ char a[ ]={‘a’,‘b’,‘c’,‘d’, ‘e’, ‘f’, ‘g’,

‘h’,‘\0’}; int i,j;

i=sizeof(a); j=strlen(a);

printf(“%d,%d\b”i,j);

}

程序运行后的输出结果是9,9

main()

{ char s[]="\n123\\";

printf("%d,%d\n",strlen(s),sizeof(s));

}

执行后输出结果是赋初值的字符

串有错

有以下程序

main()

{ int a; char c=10;

float f=100.0; double x;

a=f/=c*=(x=6.5);

printf("%d %d %3.1f %3.1f\n",a,c,f,x);

}

程序运行后的输出结果是

1 65 1 6.5有以下程序

main()

{ int a=1,b=2,m=0,n=0,k;

k=(n=b>a)||(m=a

printf("%d,%d\n",k,m);

}

程序运行后的输出结果是

0,0

有以下程序

main()

{ int a=5,b=4,c=3,d=2;

if(a>b>c)

printf("%d\n",d);

else if((c-1>=d)==1)

printf("%d\n",d+1);

else

printf("%d\n",d+2);

}

执行后输出的结果是2

有以下程序

main()

{ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};

int i,s=0

for(i=0;i<4;i++) s+=aa[i][1];

printf(“%d\n”,s);

}

程序运行后的输出结果是11

相关文档
相关文档 最新文档