C语言试题1Word格式.docx

上传人:b****5 文档编号:20513779 上传时间:2023-01-23 格式:DOCX 页数:31 大小:48.65KB
下载 相关 举报
C语言试题1Word格式.docx_第1页
第1页 / 共31页
C语言试题1Word格式.docx_第2页
第2页 / 共31页
C语言试题1Word格式.docx_第3页
第3页 / 共31页
C语言试题1Word格式.docx_第4页
第4页 / 共31页
C语言试题1Word格式.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

C语言试题1Word格式.docx

《C语言试题1Word格式.docx》由会员分享,可在线阅读,更多相关《C语言试题1Word格式.docx(31页珍藏版)》请在冰豆网上搜索。

C语言试题1Word格式.docx

如:

2.3478e2(表示2.3478*102)

3)字符常量的表示方法:

a)字符由‘’表示:

如‘A’、‘1’

b)字符串由“”表示:

如“ABC”

4)变量赋值:

a)实型赋给整型变量时,舍掉小数。

inta;

a=13.85;

printf(”a”)值为:

13

b)整型赋给实型变量时,值不变,整型变为小数形式。

floata;

a=13;

13.0

5)“/”:

两个整数相除,则结果为整数,舍小数部分;

若运算时有一个为实数,则结果为double型

6)强制类型转换:

利用强制类型转换运算符将一个表达式转换成所需要的类型

(float)a:

表示将a转换成float类型

(int)(x+y):

表示将x+y的值转换成整形

注意:

要在类型上加括号,在转换时将得到一个临时的中间变量,原来变量的类型不变。

7)赋值表达式:

a+=5(相当于a=a+5)

8)新增:

逗号运算符与逗号表达式

a)逗号运算符:

用它将两个表达式连接起来。

3+5,6+8先求解表达式1,再求解表达式2,整个逗号表达式的值为表达式2的值,

整个表达式的值为14。

又如:

a=3*5,a*4先求a=3*5=15,再求解a*4=15*4=60;

整个表达式的值为60

b)逗号表达式:

一个逗号表达式可以与另一个表达式组成一个新的逗号表达式,优先级最低

如:

(a=3*5,a*4),a+5整个表达式的值为20,想想是怎么计算的?

9)新增:

自增、自减运算符(作用是使变量的值+1或-1)

++i,--i(在使用i之前,先使i+1(i-1))如:

j=++i(i的值先变成4,再赋给j,j=4)

i++,i--(在使用i之后,先使i+1(i-1))如:

j=i++(i的值先赋给j,j=3,然后i变成4)

练习题:

1、若x、i、j和k都是int型变量,则计算表达式(x=(i=4,j=16,k=32))后,X的值为(c)

A、4B、16C、32D、52

2、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为(b)

A、7B、8C、6D、2

3、下列四组选项中,均是C语言关键字的是(c)

A、auto、enum、includeB、switch、typedef、continue

C、scanf、signed、elseD、if、strcut、type

4、下列四组选项中,均是不合法的用户标识符的是(c)

A、A、P_0、doB、float、La0、_a

C、b-a、goto、intD、_123、temp、INT

5、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符为(c)

A、必须为字母B、必须为下划线

C、必须为字母或下划线D、可以是字母、数字和下划线中任一种字母

6、在下面四个选项中,均是合法整型常量的选项是(a)

A、160、-0XFFF、011B、-0xcdf、01a、0xe

C、-01、986,012、0668D、-0x48a、2e5、0x

7、在下面四个选项中,均是不合法整型常量的选项是(d)

A、--0f1、-0XFFF、0011B、-0xcdf、017、12,456

C、-018、999、5e2D、-0x48eg、-068、03f

8、在下面四个选项中,均是不合法浮点数的选项是(b)

A、160.、0.12、e3B、123、2e4.2、.e5

C、-.18、123e4、0.0D、-e3、.234、1e3

9、在下面四个选项中,均是合法浮点数的选项是(b)

A、+1e+1、5e-9.4、03e2B、-.60、12e-4、-8e5

C、123e、1.2e-.4、+2e-1D、-e3、.8e-4、5.e-0

10、下面正确的字符常量是(c)

A、“C”B、’\\’C、‘W’D、‘’

11、下面不正确的字条串常量是(a)

A、‘abc’B、”12’12”C、”0”D、””

12、下面四个选项中,均是不正确的八进制或十六进制数的是(d)

A、016、0x8f、018B、0abc、017、0xa

C、010、-0x11、0x16D、0a12、7ff、-123

13、下面四个选项中,均是正确的八进制或十六进制数的是(c)

A、-10、0x8f、-011B、0abc、-017、0xc

C、0010、-0x11、0xf1D、0a12、-0x123、-0xa

14、下面四个选项中,均是正确的数值常量或字符常量的是(d)

A、0.0、0f、8.9e、’&

’B、”a”、3.9e-2.5、1e1、’\”’

C、’3’、011、0xff00、0aD、+001、0xabcd、2e2、50.

15、若有代数式

,则不正确的C语言表达式是(c)

A、a/b/c*e*3B、3*a*e/b/c

C、3*a*e/b*cD、a*e/b/c*3

16、已经各变量的类型说明如下:

以下不符合C语言语法的表达式是(a)

Intk,a,b;

A、x%(-3)B、W+=-2

Unsignedlongw=5;

C、K=(a=2,b=3,a+b)’

Doublex=1.42;

D、a+=a-=(b=4)*(a=3)

17、已经各变量的类型说明如下:

以下符合C语言语法的表达式是(b)

Inti=8,k,a,b;

A、y=float(i)B、x%(-3)

C、a=a*3=2

Doublex=1.42,y=5.2;

18、以下不正确的叙述是(d)

A、在C程序中,逗号运算符的优先级最低

B、在C程序中,APH和aph是两个不同的变量

C、若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b的值不变

D、当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

19、以下正确的叙述是(d)

A、在C程序中,每行中只能写一条语句

B、若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数

C、在C程序中,无论是整数还是实数,都能被准确无误的表示

D、在C程序中,%是只能用于整数运算的运算符

20、已知字母A的ASCII码为65,且c2为字符型,则执行语句c2=’A’+’6-‘3’后,c2的值为(a)

A、DB、68C、不确定的值D、C

21、在C语言中,要求运算数必须是整型的运算符是(d)

A、/B、++C、!

=D、%

22、若有说明语句:

charc=’\72’;

则变量c(a)

A、包含1个字符B、包含2个字符C、包含3个字符D、值不确定

23、若有以下定义,则能使值为3的表达式为(d)

INTk=7,x=12;

A、x%=(k%=5)B、x%=(k-k%5)C、x%=k-k%5D、(x%=k)-(k%=5)

24、设以下变量均为INT型,则值不等于7的表达式是(c)

A、(x=y=6,x+y,x+1)B、(x=y=6,x+y,y+1)

C、(x=6,x+1,y=6,x+y)D、(y=6,y+1,x=y,x+1)

25、若有intm=5,y=2;

则表达式y+=y-=m*=y后y的值为(-16)。

26、在C语言中的实型变量分为两种类型,它们是(float)和(double)。

27、若s是int型变量,且s=6,则s%2+(s+1)%2=

(1)。

28、若a是整型变量,则(a=4*5,a*2),a+6的值为(26)。

29、若x和a均是int变量,计算表达式

(1)后的x的值为(12),计算表达式

(2)后x的值为(4)

(1)x=(a=4,6*2)

(2)x=a=4,6*2

30、若a、b、c均为int变量,则计算a=(b=4)+(c=2)后,a的值为(6),b的值为(4),

c的值为

(2)。

31、若a为int变量,且a的初值为6,则计算a+=a—=a*a后,a的值为(-60)。

32、若a为int变量,则计算a=25/3%3后,a的值为

(2)。

33、若x和n为int变量,且x和n的初值为5,则计算x+=n++后,x的值为(10),n的值为(6)。

34、若有定义:

inta=2,b=3;

floatx=3.5,y=2.5;

则计算(float)(a+b)/2+(int)x%(int)y的值为(3.5)。

35、若有定义:

charc=’\010’,则变量c中包含的字符个数为

(1)。

36、若有定义:

intx=3,y=2;

floata=2.5,b=3.5,则(x+y)%2+(int)a/(int)b的值为(0)。

37、若所有变量均为整型,则(a=2,b=5,a++,b++,a+b)的值为(9)。

38、已知字母a的ASCII码为97,且设ch为字符变量,则ch=’a’+’8’-‘3’的值为(f)。

39、表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为(整型)。

40、C语言中的标识符只能由三种字符组成,它们是(字母),(数字)和(下划线)。

41、求下面算术表达式的值。

(1)x+a%3*(int)(x+y)%2/4设x=2.5,a=7,y=4.7

2.5

(2)(float)(a+b)/2+(int)x%(int)y设a=2,b=3,x=3.5,y=2.5

3.5

42、写出程序运行结果。

main()

{inti,j,m,n;

i=8,j=10;

m=++i;

n=j++;

printf(”%d,%d,%d,%d”,i,j,m,n);

}9,11,9,10;

43、写出下面表达式运算后a的值,设原来a=12。

设a和n已定义为整型变量,

(1)a+=a

24

(2)a—=2

10

(3)a*=2+3

60

(4)a/=a+a

0

(5)a%=(n%=2),n的值为5

(6)a+=a—=a*=a0

第三章输入、输出函数

(1)字符输入输出函数putchar()和getchar(),只能输入或输出一个字符或一个字符变量。

(2)输入输出函数printf()和scanf(),可输入或输出若干个任意类型的数据。

(3)格式控制符:

(格式说明总是由“%”字符开始)

①d格式符,用来输出十进制整数。

有以下几种用法:

(︼代表空格)★★★(常用)

a、%d,按实际长度输出

b、%md,m为输出字段的宽度。

若数据位数<

m,则左端补空格,若>

m则按实际长度

printf(”%4d,%4d”,a,b)若a=123,b=12345,则输出结果为:

︼123,1234

c、%1d,输入长整型数据。

longa=135790,printf(”1d”,a);

由于整型数据范围为-32768-32767,所以若数据为

长整型数据,则要用%1d格式输出。

如printf(”81d”,a),输出结果:

︼︼135790

o格式符,以八进制数形式输出

x格式符,以十六进制数形式输出

c格式符,输出一个字符

⑤s格式符,输出一个字符串(︼代表空格)★★★(常用)

a、%ms,输出的字符串占m列。

若字符串长度>

m,则全部输出,如:

printf(”%3s”,“CHINA”);

输出结果:

CHINA

若<

m则左边补空格,如:

printf(”%6s”,“CHINA”);

︼CHINA

b、%-ms,输出的字符串占m列。

printf(”%-3s”,“CHINA”);

m则右边补空格,如:

printf(”%-6s”,“CHINA”);

CHINA︼

c、%m.ns,输出m列,但只取字符串左端的n个字符,n个字符输出在右侧,左边补空格

printf(”%7.2s”,“CHINA”);

︼︼︼︼︼CH

若n>

m,则m自动取n值,即保证n个字符正常输出:

printf(”%3.4s”,“CHINA”);

CHIN

若只指定了n,没指定m,自动使m=n:

printf(”%.3s”,“CHINA”);

CHI

d、%-m.ns,输出m列,但只取字符串左端的n个字符,n个字符输出在左侧,右边补空格,

printf(”%-7.2s”,“CHINA”);

CH︼︼︼︼︼

⑥f格式符,用来输出实数。

a、%m.nf,输出m列,其中有n位小数;

若数值长度<

m,则左端补空格。

floatf=123.456;

printf(”%5.2f”);

123.46(最后一位四舍五入)

floatf=123.456;

printf(”%10.2f”);

︼︼︼︼123.46

b、%-m.nf,与%m.nf基本相同,只是输出的数值向左端靠,右端补空格。

printf(”%-10.2f”);

123.46︼︼︼︼

(4)printf函数的几点说明:

a、除X、G、E外,其他格式字符必须用小写,如%d不能写成%D

b、如果想输出字符%,则应该在“格式控制”字符串中连续用两个%%表示。

printf(“%f%%”,1.3);

输出结果:

1.3%

c、可以在“格式控制”字符串内包含“转义字符”。

转义字符及其含义

字符形式

含义

\n

换行

\\

反斜杠字符“\”

\t

水平制表

\’

单撇号字符

\b

退格

\”

双撇号字符

\r

回车

\ddd

1-3位8进制数所代表的字符

\f

换页

\xhh

1-2位16进制数所代表的字符

d、输入数据时不能规定精度。

scanf(”%7.2f”,&

a);

×

(5)scanf函数的几点说明:

a、输入时可以指定输入数据所占列数,系统自动按它截取所需数据

scanf(”%3d%3d”,&

a,&

b);

输入:

123456,系统自动将123赋给a,456赋给b

b、若%后有一个“*”附加说明符,表示跳过它指定的列数

scanf(”%2d︼%*3d︼%2d”,&

12︼345︼67

将12赋给a,%*3d表示读入3位整数但不赋给任何变量,然后再读入2位整数67赋给b,也就是说第2个数据“345”被跳过。

c、输入数据时,注意各数之间的分隔符

scanf(”%d,%d”,&

b);

scanf(”%d︼%d”,&

3,4输入:

3︼4(或3↙(回车)4)

1、putchar函数可以向终端输出一个(d)。

A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值

2、以下程序的输出结果是(d)。

(注:

︼表示空格)

main()

{printf(”\n*s1=%15s*”,”chingbeijing”);

printf(”\n*s2=%-5s*”,”chi”);

}

A、*s1=chinabeijing︼︼︼*B、*s1=chinabeijing︼︼︼*

*s2=**chi**s2=chi︼︼*

C、*s1=*︼︼chinabeijing*D、*s1=︼︼︼chinabeijing*

*s2=︼︼chi**s2=chi︼︼*

3、printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。

如果字符串长度大于5,则输出按方式(b);

如果字符串长度小于5,则输出按方式(c)。

A、从左起输出该字符串,右补空格B、按原字符长度从左向右全部输出

C、右对齐输出该字符串,左补空格D、输出错误信息

4、已有定义inta=-2,和输出语句:

printf(“%81x”,a);

以下正确的是(b)。

A、整型变量的输出格式符只有%d一种

B、%x是格式符的一种,可以适用于任何一种类型数据

C、%x是格式符的一种,其变量的值按十六进制输出,但%81x是错误的

D、%81x不是错误的格式符,其中数字8规定了输出字段的宽度

5、以下C程序正确的运行结果是(d)

main()

{inty=2456;

printf(“y=%3o\n”,y);

printf(“y=%8o\n”,y);

A、y=︼︼︼2456B、y=︼︼︼4630

y=︼︼︼︼︼︼︼︼2456y=︼︼︼︼︼︼︼︼4630

C、y=2456D、y=4630

y=︼︼︼︼2456y=︼︼︼︼4630

6、已有定义intx;

floaty;

且执行scanf(”%3d%f”,&

x,&

y);

语句时,输入:

12345︼678↙,

则x的值(【1】b),y的值(【2】b)。

【1】A、12345B、123C、45D、345

【2】A、无定值B、45.000000C、678.000000D、123.000000

7、已有程序段和输入数据形式,程序中输入语句的正确形式为(c)(注<

CR>

代表回车)

main()

{inta,floatf;

A、scanf(“%d,%f”,&

f);

Printf(“\ninputnumber:

”);

\B、scanf(“%f,%d”,&

输入语句C、scanf(“%d%f”,&

Printf(“\nf=%f,a=%d\n”,f,a);

D、scanf(“%f%d”,&

}

Inputnumber:

4.5︼︼2<

8、根据定义和数据的输入方式,输入语句的正确形式为(b)

已有定义:

floatf1,f2;

A、scanf(“%f,%f”,&

f1,&

f2);

数据的输入方式:

4.52B、scanf(“%f%f”,&

3.5C、scanf(“%3.2f,%2.1f”,&

D、scanf(“%3.2f%2.1f”,&

9、阅读以下程序,当输入数据的形式为:

25,13,10<

,正确的输出结果为(d)

main()A、x+y+z=48

{intx,y,z;

B、x+y+z=35

scanf("

%d%d%d"

&

y,&

z);

C、x+z=35

printf("

x+y+x=%d"

x+y+z);

}D、不确定值

10、根据题目中已给出的数据的输入和输出形式,程序中输入输出语句的正确内容是(b)

main()A、scanf(“%d,%f”,&

y);

{intx,floaty;

printf(“\nx+y=%4.2f”,x+y)

printf(“enterx,y:

”)B、scanf(“%d%f”,&

输入语句printf(“\nx+y=%4.2f”,x+y)

输出语句C、scanf(“%d%f”,&

}printf(“\nx+y=%6.1f”,x+y)

输入形式:

enterx,y:

23.4D、scanf(“%d%3.1f”,&

输出形式:

x+y=5.40printf(“\nx+y=%4.2f”,x+y)

11、以下说法正确的是(d)

A、输入项可以为一个实型变量,如scanf(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1