计算机c练习100-1题

更新时间:2024-05-05 19:47:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机C语言练习100-1题(xingweimin@sina.com) 1.下列中,可以作为“字符串常量”的是( )

A) ABC B) \2.在以字节存储字符的系统中,'\\n '在内存占用的字节数是( ) A)1 B)2 C)3 D)4 3.字符串\在内存占用的字节数是( )

A)3 B)4 C)6 D)8 4.在下列中,合法的长整型常数是( )

A) 0L B) 4567310 C) 0.03476843 D) 2.1869el0 5.一个char型数据,它的值在内存中存放的是( )

A)ASCll代码值 B)BCD代码值 C)内码值 D)十进制代码值 6.设变量 m,n,a,b,c,d均为0,以执行(m=a==b)||(n=c==d)后,m,n的值是( ) A)0,0 B)0,1 C)l,0 D)1,1 7.设a为5,执行下列计算后,b的值不为2的是( )

A) b=a/2 B) b=6-(--a) C) b=a%2 D) b=a>3?2:2 8.执行语句“x=(a=3,b=a- -);”后,x,a,b的值依次为( ) A)3,3,2 B)2,3,2 C)3,2,3 D)2,3,3

9.设整型变量m,n,a,b,c,d均为1,执行“( m=a>b)&&(n=a>b)”后m,n的值是( )

A)0,0 B)0,l C)1,0 D)1 ,l

10.设有代码“int a=3;”,则执行了语句“a+=a-= a*a;”后,变量a的值是( ) A)3 B) 0 C) 9 D) -12 11.在下列一组运算符中,优先级最高的运算符是( ) A)<= B)= C)% D)&& 12.设整型变量i的值为3,则计算表达式i---i后表达式的值为( ) A)0 B)1 C)2 D)表达式出错 13.设整型变量 a、b、c均为2,表达式 a+++b+++c++ 的结果是( ) A)6 B)9 C)8 D)表达式出错

14.若已定义 x和 y为double类型,则表达式: x=l,y=x+3/2的结果是( ) A)l B)2 C)2.0 D)2.5

15.设a=1,b=2,c=3,d=4则表达式a< b?a:c< d?a:d的结果为( )

计算机C语言练习100-1题(xingweimin@sina.com) A)4 B)3 C)2 D)1

16.设a为整型变量,下列C表达式中,不能表达数学关系式:10<a<15的是( ) A)10<a<15 B)a==11||a==12|| a==13|| a==14 C)a>10&&a<15 D)!(a<=10)&&!(a>=15) 17.下列表达式中,正确的C赋值表达式是( )

A)a=7+b+C=a+7 B) C=7+b++=a+7 C)a=(7+b,b++,a+7) D) a=7+b,c=a+7

18.若有以下定义: char a;int b;float c; double d;则表达式a*b+d-c值的类型为( )

A)float B) int C) char D) double 19.表达式“9!=7”的值是( )

A)true B)非0值 C)0 D)1

20.设 a,b和 c都是int型变量,且a=3,b=4,c=5,则下面的表达式中值为 0的是( )

A)'a'&&'b' B)a<=b C)a||b+c&&b-c D)!((a

22.设 a=3,b=4执行“printf(\%d,%d\,(a,b),(b,a));”的输出是( ) A)3,4 B)4,3 C)3, 3 D)4,4

23.使用“scanf(\,y=%f\,&x,&y)”,要使 x,y均为1.25,正确的输入是( ) A)1.25,1.25 B)1.25 1.25 C)x=1.25,y=1.25 D)X=1.25 y=1.25

24.设有int i=010,j=10;则执行“printf(\%d\n\,++i,j--);”的输出是( ) A)ll, 10 B) 9,10 C) 010, 9 D) 10, 9

25.设a,b为字符型变量,执行 “scanf(\=%c,b=%c\,&a,&b)”后使a为'A',b为

'B',从键盘上的正确输入是( )

A)'A\,'B' C)A=A,B=B D)a=A,b=B 26.设x、y、z、t均为int型变量,则执行以下语句后,t的值为( ) x=y=z=1;t=++x||++y&&++z;

计算机C语言练习100-1题(xingweimin@sina.com) A)不定值 B)2 C)l D)0 27.设x、y、z均为int型变量,则执行以下语句后,x、y, z的值为( ) x=1; y=0; z=2; y++&&++z ||++ x;

A)2、l、3 B)2、0、3 C)2、l、3 D)2、1、2 28.假定所有变量均已正确定义,下列程序段运行后x的值是( ) a=b=c=0; x=35;

if(!a)x--; else if(b);if(c)x=3;else x=4; A)34 B) 4 C) 35 D) 3 29.下面的程序段所表示的数学函数关系是( ) y=-l; if( x!= 0)

if(x>0)y=l; else y=0 ;

??1当(x?0)?1当(x?0)?? A)y=?0当(x?0) B) y=??1当(x?0)

?0当(x?0)?1当(x?0)???0当(x?0)??1当(x?0)?? C) y=??1当(x?0) D) y=?1当(x?0)

?1当(x?0)?0当(x?0)??30.下列语句中,句法错误的是(不考虑语义)( )

A) while(x=y)5 ; B) do x++ while(x==10) ; C)while(0); D)do 2;while(a==b); 31.循环语句“for(x=0,y=0;(y!=123)||(x<4);x++);”的循环执行( ) A)无限次 B)不确定次 C)4次 D)3次 32.若i、j已定义为int类型,则以下程序段中的内循环体的执行次数是( ) for( i=5; i; i--)

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

A)20 B) 24 C) 25 D) 30 33.假定a和b为int型变量,则执行以下语句后b的值为( ) a=1; b=10; do

计算机C语言练习100-1题(xingweimin@sina.com) {b-=a; a++;

}while<(b- -<0);

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

34.设x和y为int型变量,则执行下面的循环后,y的值为( ) for(y=1, x=1;y<=50; y++)

{if(x>=10) break;

if(x%2==1){ x+=5; continue;} x -= 3; }

A)2 B)4 C)6 D)8 35.在C语言中,下列说法中正确的是( ) A)不能使用“do语句while(条件)”的循环

B)“do语句While(条件)”的循环中必须使用“break”语句退出循环 C)“do语句while(条件)”的循环中,当条件非0时将结束循环 D)“do语句while(条件)”的循环中,当条件为0时将结束循环

36.若有以下程序段,w和k都是整型变量,则不能与该程序段等价的循环语句是( w= k;

LB: if(w==0) gotO LE; w - -; printf(\; goto LB; LE: ??

A)for(w=k;w!=0;w--)printf(\; B) w= k;

while(w--!=0) Prinif(\;w++; C) w= k;

do{w--; prinif(\); } while( w!= 0);

D) for(w=k;w;--w) printf(\*\);

)计算机C语言练习100-1题(xingweimin@sina.com) 37.若有下列说明,则数值为4的表达式是( )

int a[12]={ l,2,3,4,5,6,7,8,9,10,11,12 }; char c='a',d, g;

A)a[g-c] B)a[4] C)a['d'-'c'] D)a['d'-c]

38.设有定义:\s[12]={\则printf(\,strlen(s));的输出是( ) A) 6 B) 7 C)11 D) 12 39.下列语句中,正确的是( )

A) char a[3][]={'abc','1'}; B) char a[][3]={'abc','1'}; C)char a[3][]={'a',\; D)char a[][3]={\; 40.合法的数组定义是( )

A)int a[]={\ C)char a={\41.语句 “printf(\”的输出结果是( ) A)11 B)10 C) 9 D) 8 42.设有如下定义,则正确的叙述为( ) char x[]={\;

char y[]={'a','b','c','d','e','f','g'};

A)数组x和数组y等价 B)数组x和数组y长度相同 C)数组x的长度大于数组y的长度 D)数组x的长度小于数组y的长度

43.设有定义“int a=3, b,*p=&a;”,则下列语句中使 b不为3的语句是( A) b=*&a; B) b=*p; C) b=a; D) b=*a;

44.设指针x指向的整型变量值为25,则 “printf(\,++*x);”的输出是( A) 23 B) 24 C) 25 D) 26

45.若有说明:“ int i,j= 7,*p=&i;”,则与“ i=j;”等价的语句是( A)i=*p; B)*p=*&j; C)i==&j; D)i=**p;

46.若有说明语句“int a[10],*p=a;”,对数组元素的正确引用是( ) A)a[p] B)p[a]

) ) )

计算机C语言练习100-1题(xingweimin@sina.com) C)*(p+2) D)p+2

47.下面各语句中,能正确进行赋字符串操作的语句是( )

A)char s[5] ={\ C) char *s;s=\; D) char *s;scanf(\, &s); 48.若有以下定义,则不能表示a数组元素的表达式是( ) int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

A)*p B) a[10] C)*a D) a[p-a] 49.若有以下定义,则值为3的表达式是( )

int a[]= {1,2,3,4,5,6,7,8,9,10},*p=a; A)p+=2,*(p++) C)p+=2,*++p C)p+=3,*p++ D) p+=2,++*p

50.设有定义“char a[10]={\*p=a;”,则*(p+4)的值是( ) A)\ C)'\\0' D)不能确定

51.设有定义语句 “int(*ptr)[10];”,其中的ptr是( ) A)10个指向整型变量的指针 B)指向10个整型变量的函数指针

C)一个指向具有10个元素的一维数组的指针 D)具有10个指针元素的一维数组

52.若有以下定义,则数值为4的表达式是( )

int w[3][4]={{0,1},{2,4},{5,8}},(*p)[4]= w;

A)*w[1]+1 B)p++,*(p+1) C)w[2][2] D)p[1][1] 53.若有如下定义和语句,则输出结果是( ) int **pp, *p,a=10,b=20;

pp=&p; p=&a; p=&b; printf(\,*p,**pp); A)10, 20 B) 10, 10 C) 20, 10 D) 20, 20

54.若有以下定义和语句,则对w数组元素的非法引用是( ) int w[2][3],(*pw)[3]; pw= w;

A) *(w[0]+2) B)*pw[2]

计算机C语言练习100-1题(xingweimin@sina.com) C)pw[0][0] D)*(pw[1]+2)

55.用十进制数表示表达式“12|012”的运算结果是( ) A)1 B)0 C) 14 D) 12

56.设字符型变量 a=3,b=6,计算表达式 c=(a^b)<< 2后c的二进制值是( ) A) 00011100 B)00000111 C) 00000001 D) 00010100 57.设有无符号短整型变量i、j、k,i值为013,j值为 OX13。 计算表达式“k=~i|j>> 3”后,k的值是( )

A) 06 B) 0177776 C) 066 D) 0177766 58.下列程序的输出结果( ).

A) 10 10 B)12 12 C)11 12 D) 11 13

main()

{ int a=12,b=12;

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

59.以下的for循环( )

for(x=0,y=0;(y!=123)&&(x<4);x++)x++;

A)是无限循环 B)循环次数不定 C)执行2次 D)执行3次 60.以下程序的输出结果是( )

main( ) {

int a,b,d=057;

a=d/5%9;

b=(-1)&&(-1);

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

A)0,1 B)2,1 C)0,0 D)2,0

61.下面程序的输出结果是( )

main( )

{ int i=2,p; p=f (i,i+1); printf (\%d\,p); }

int f (a,b) int a,b; { int c;

c=a;

if(a>b) c=1; else

if(a= =b) c=0; else c=-1;

计算机C语言练习100-1题(xingweimin@sina.com) return(c);

}

A)-1 B)0 C)1 D)2

62.阅读程序, 下面程序的输出结果是( )

A)720 B)120 C)24 D)6

f (int b[ ],int n) { int i,r;

r=1;

for(i=0;i<=n;i++) r=r*b[i]; return r; } main( )

{ int x,a [ ]={2,3,4,5,6,7,8,9}; x=f (a,3); printf(\%d\\n\,x); }

63.若有以下定义和语句,则输出结果是( )

A)2,M B)3,E C)2,e D)输出项与对应的格式控制不一致,输出结果不确定

char c1 ='b',c2='e'; printf(\%d,%c\\n\,c2-c1,c2-'a'+'A');

64.下列程序执行后,输出的结果是( )。 A)0 B)1 C)6 D) 无定值 fun(int a,int b,int c) { c=a*b;} main() { int c;

fun(2,3,c);

printf(\%d\\n\,c); }

65.以下程序的功能是统计字符串中有效字符的个数。请填空( ) f (char *s) { char *p=s;

while (*p!='\\0') p++; ; }

main( )

{ printf(\%d\\n\,f(\ABCDEF\));}

A) return (p-s) B)enter(p-s) C) putchar(p) D) getchar(p)

66.次运行下面的程序,如果从键盘上分别输入7和5,则输出的结果是( )。

main( )

{ int x;

scanf(\%d\,&x);

if(x++>6) printf(\%d\,x); else printf(\%d\\n\,x--);

计算机C语言练习100-1题(xingweimin@sina.com) }

A)7,5 B)8,5 C) 7,6 D)8,6 67.下面程序的输出是( )。

main()

{ int x=0x23;

printf(\%d\\n\,--x); }

A)23 B)22 C)35 D)34

68.若a,b为int型变量,则执行以下语句后,b的值为( )

a=1;b=10; do{ b-=a;

a++;

}while(b--<0);

A)8 B)-3 C) 0 D) -1

69.下面程序的输出是( ) main( )

{ char c1='a';

printf(\%c %d\\n\,c1,c1+1);

}

A) a 98 B)a 65 C)b 97 D) b 98

70.若执行下面的程序时从键盘上输入4和3,则输出是( main( )

{ int a,b,s;

scanf (\%d%d\,&a,&b); s=b;

if(a

printf (\%d\\n\,s); }

A)9 B)16 C)12 D)没有输出

71.下面程序的输出是( ) main( )

{ int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int (*p)[4]=a,i,j,k=0; for (i=0;i<3;i++) for(j=2;j<4;j++)

k=k+*(*(p+i)+j);

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

A)60 B)144 C)84 D) 145

72.下面程序执行后输出的结果是( )

) 计算机C语言练习100-1题(xingweimin@sina.com) int d=1; fun(int p) { int d=5; d+=p++;

printf(\%d\,d); }

main( ) { int a=3; fun (a); d+=a++;

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

}

A) 8 5 B)9 5 C)8 4 D) 9 4

73.下面程序的输出是( )。 main( )

{ int b=0x40;

printf(\%u\\n\,b); }

A)64 B)98 C)80 D)不确定

74.下列计算机语言中,CPU能直接识别的是( )

A) 自然语言 B) 高级语言 C) 汇编语言 D) 机器语言 75.在64位高档微机中,一个字长所占的二进制位数为( ) A) 8 B) 16 C) 32 D) 64 76.与十进制511等值的十六进制数为( )。

A )1FF B) 2FF C )1FE D) 2FE 77.下列描述中,正确的是( )。

A)CPU可以直接执行外存储器中的程序。 B)RAM是外部设备,不能直接与CPU交换信息。 C)外存储器中的程序只有调入内存后才能运行。 D) 软盘驱动器和硬盘驱动器都是内存储设备。

78.在Internet中,用于在计算机之间传输文件的协议是( )。

A) TELNET B) BBS C) FTP D) WWW

79.下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为bi.dat的新文

件中。请选择填空( )。 #include \void main()

{

FILE *fp; char ch;

if( (fp=fopen ( _________ )) ==NULL)exit(0); while ((ch=getchar( )) !='@') fputc (ch,fp);

fclose(fp); }

A) \bi.dat\ B) \bi.dat\,\w\ C) \bi.dat, w\ D) \bi.dat+wt\

计算机C语言练习100-1题(xingweimin@sina.com) 80.下面程序段是输出两个字符串对应相等的字符。请选择填空( )。

void main(void) {

char x[]=\Programming\; char y[]=\Fortran\; int i=0;

while (x[i] != '\\0' && y[i] != '\\0') if (x[i] == y[i]) printf(\ else i++; }

A) x[i++] B) y[i++] C) x[i] D) y[i]

81.下面的程序的输出是( )。

main()

{ struct cmplx { int x;int y;} cnum[2]={1,3,2,7}; printf(\

}

A )0 B) 1 C) 3 D) 6

82.下面的的程序用来统计文件中字符的个数,请填空( )。 #include \stdio.h\ main()

{ FILE *fp; long num=0;

if((fp=fopen(\ {printf(\'topen file! \\n\ while ( ______ ) {fgetc(fp); num++;} printf(\ fclose(fp); }

A) !feof(fp) B) !fp C) feof(fp) D) 1 83.以下程序的输出结果是( )。

A)11 B)12 #include \

C)13

D)15

#define F(x) 2.84+x

#define PR(y) printf(\#define PR1(y) PR(y);putchar('\\n') main()

{ int a=2; PR1(F(5)*a); }

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

A)7 B)35 C)1 #define M(x,y) (x)<(y)?(x):(y)

D)5

计算机C语言练习100-1题(xingweimin@sina.com) main()

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

z=7*M(x,y);

printf(\

}

85.当定义一个结构体变量时系统分配给它的内存是( )。 A)结构体中第一个成员所需的内存量 B)结构体中最后一个成员所需的内存量 C)结构体成员中占内存量最大者所需的内存量 D)结构体中各成员所需内存量的总和 86.在对typedef的叙述中错误的是( )。

A)用typedef可以定义各种类型的别名,但不能用来定义变量的别名 B)用typedef可以增加新类型

C)用typedef只是将已存在的类型用一个新的标识符来代表 D)使用typedef有利于程序的通用和移植

87.设有以下说明语句,则下面的叙述不正确的是( )。

struct abc

{int m; float n;}stype;

A)struct是结构体类型的关键字 B)abc是用户定义的结构体名 C)m和n都是结构体成员

D)stype是用户定义的结构体变量名

88.根据下面的定义,能输出字符串\Li\的语句是( )。

struct person {char name[10]; int age;

}class[10]={\

A)printf(\ B)printf(\ C)printf(\ D)printf(\

89.下面程序的运行结果是( )。

main()

{struct cmplx

{int x;int y;}cm[2]={1,2,3,4};

printf(\

A) 5 B)2 C)3 D)4 90.以下程序输出结果是( )。 A)Zhang

B)Zhao C)Wang D)18

struct stu {

int num;

char name[10];

计算机C语言练习100-1题(xingweimin@sina.com) int age; };

void fun(struct stu *p)

{ printf(\main() {

struct stu students[3]={ {9801,\ {9802,\ {9803,\ fun(students+2); }

91.设有以下定义和语句,则下面对结构体成员的引用不正确的是( )。

struct student

{int num; int age;};

struct student stu[3]={{1001,20},{1002,19},{1003,20}}; main() {

struct student *p; p=stu; }

A)(p++)->num B)p++->age C)(*p).num D)p=&stu.age 92.以下对C语言中共用体类型数据的叙述正确的是 ( )。 A)可以对共用体变量名直接赋值

B)一个共用体变量中可以同时存放其所有成员 C)一个共用体变量中不能同时存放其所有成员

D)共用体类型定义中不能出现结构体类型的成员

93.设有以下定义和语句,则下面对共用体变量a的引用正确的是( )。

A)a=5; B)a={1,'x',5.0}; C)a.i=10;printf(\ D)n=a(5);

union data {

int i; char c; float f; }a; int n;

94.以下程序的输出结果是 ( ) 。 A)8,8 B)8,16

main() {

int x=4,y=1,z; z=fun(x,y);

printf(\ z=fun(x,y);

C)8,17

D)8,20

计算机C语言练习100-1题(xingweimin@sina.com) printf(\}

fun(int a,int b) {static int x,c=2; c+=x+1; x=a+b+c; return x; }

95.以下程序的输出结果是( )。 void main(void)

{ int a = 4, b = 5, c = 0, d; d = !a && !b || !c; printf(\%d\\n\, d);

}

A) 1 B) 0 C) 非0的数 D)

96.以下程序的输出结果是( )。 A) 1 B) 0 C) 15 D) –1 #include int f(void)

{ static int i = 0; int s =1;

s += i; i++; return (s);

}

void main(void) {int i, a = 0;

for (i=0; i<5; i++) a += f(); printf(\%d\\n\, a);

}

97.以下程序的输出结果是( )。 #include void main(void) { int a = 0, i;

for (i=1; i<5; i++){ switch (i) { case 0:

case 3: a += 2; case 1:

case 2: a += 3; default: a += 5; } }

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

1 –计算机C语言练习100-1题(xingweimin@sina.com) }

A) 31 B) 13 C) 10 D) 20 98.以下程序中,while 循环的次数是( )。

A) 1 B) 死循环,不能确定次数 C) 6 D) 10 #include void main(void) { int i = 0;

while (i<10) {

if (i<1) continue;

if (i==5) break; i++; }

}

99.对以下程序段,while 循环执行的次数是( )。

int k=0;

while (k=1) k++;

A) 无限次 B) 有语法错,不能执行 C) 一次也不执行 D) 执行1次 100.执行以下程序后的输出结果是( ) #include void main(void) {

int x = 10;

printf(\%d %d %d\\n\,++x, --x, -x++);

}

A) 11 10 -10 B) 10 10 -10 C) 10 11 -11 D) 11 11 -10

本文来源:https://www.bwwdw.com/article/uf2g.html

Top