文档库 最新最全的文档下载
当前位置:文档库 › C语言习题及参考答案

C语言习题及参考答案

C语言习题及参考答案
C语言习题及参考答案

C语言习题集

习题一

一.填空题

1.C程序是由(函数)构成的,一个C程序中至少包含(main函数)。因此,( 函数) 是C程序的基本单位。

2.C程序注释是由( /*) 和( */ ) 所界定的文字信息组成的。3.函数体一般包括( 变量声明) 和( 语句) 。

二.判断题

1.一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。【错】

2.main函数必须写在一个C程序的最前面。【错】

3.一个C程序可以包含若干的函数。【对】

4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。但是可以增加程序的可读性。【对】

5.C程序的注释只能是一行。【错】

6.C程序的注释不能是中文文字信息。【错】

8.可以使用Visual C++ 6.来编译和连接一个C程序。【对】

9.可以使用Visual C++ 6.来运行一个C程序。【对】

10.可以使用Visual C++ 6.来实时调试(即动态调试)一个C程序。【对】三.简答题

1.写出一个C程序的基本结构。

2.简要叙述使用Visual C++ 6.0编译和运行一个程序的步骤。

四.编程题

1.提高题:参照课本例1.1,试编写一个C程序,输出如下信息。(提示:使用键盘上的一些符号)。

2.提高题:试编写一个C程序,输出如下信息。

**********************

*** @ @ ***

*** @ ***

**********************

试试看,可以输出其他组合图案吗?

习题二

一.选择题

1、合法的字符常量是(ACD)。

A)…\t?B) “A” C)…a?D)?\x32?

2、合法的字符常量是( D) 。

A)…\084?B) …\84? C)…ab?D)?\x43?

3、(B)是C语言提供的合法的数据类型关键字。

A)Float B)signed C)integer D)Char

4、在以下各组标识符中,合法的标识符是((4))。

(1)A)B01 B)table_1 C)0_t D)k%

(2)A)Fast_ B)void C)pbl D)

(3)A)xy_ B)longdouble C)*p D)CHAR

( 4 ) A) sj B) Int C)_xy D)w_y23

5、属于合法的C语言长整型常量的是(BD)。

A)5876273 B)0L C)2E10 D)(long)5876273

6、下面选项中,不是合法整型常量的是(B )。

A)160 B)-0xcdg C)-01 D)-0x48a

7、判断int x = 0xaffbc;x的结果是(D)。

A)赋值非法B)溢出C)为affb D)为affbc

8、下面选项中,均是合法浮点数的是(B)。

A)+1e+1 B)-.60 C)123e D)-e3

A)5e-9.4 B)12e-4 C)1.2e-.4 D).8e-4

A)03e2 B)-8e5 C)+2e-1 D)5.e-0

9、在C语言中,要求参加运算的数必须时整数的运算符是(C)。

A)/ B)* C)% D) =

10、在C语言中,字符型数据在内存中以(D)形式存放。

A)原码B)BCD码C)反码D)ASCII码

11、下列语句中,符合语法的赋值语句是(C)。

A)a=7+b+c=a+7;B)a=7+b++=a+7;

C)a=(7+b,b++,a+7);D)a=7+b,c=a+7;

12、是非法的C语言转义字符(B )。

A)…\b?B)…\0xf? C)…\037? D)… \??

13、对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,( B )是正确的。A)语法错误B)f为5.0 C)f为0.0 D)f为2.0

14、与代数式(x*y)/(u*v) 不等价的C语言表达式是(A )。

A)x*y/u*v B)x*y/u/v C)x*y/(u*v) D)x/(u*v)*y

15、在C语言中,数字029是一个(D)。

A)八进制数B)十六进制数C)十进制数D)非法数

16、C语言中整数-8在内存中的存储形式为(A)。

A)1111111111111000 B)100000000001000

C)000000000001000 D)1111111111110111

17、对于char cx=? \039?;语句,正确的是(A )。

注:在VC++环境是正确的。这里强调的是ANSI C。

A)不合法B)cx的ASCII值是33

C)cx的值为四个字符D)cx的值为三个字符

18、若int k=7,x=12;则能使值为3的表达式是(D)。

A)x%=(k%=5) B)x%=(k-k%5)

C)x%=k-k%5 D)(x%=k)-(k%=5)

19、为了计算s=10!(即10的阶乘),则s变量应定义为(C)。

A)int B)unsigned C)long D)以上三种类型均可

20、以下所列的C语言常量中,错误的是(B)。

A)0xFF B)1.2e0.5 C)2L D)?\72?

21、假定x和y为double型,则表达式x=2,y=x+3/2的值是(D)。A)3.500000 B)3 C)2.000000 D)3.000000

22、设变量n为float型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是(D)。

A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0

C)n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.0

23、以下合法的赋值语句是(A)。

A)x=y=100;B)d―― ;C)x+y ;D)c=int(a+b);

24、下选项中不属于C语言的类型是(D)。

A)signed short int B)unsigned long int

B)unsigned int D)long short

25、设以下变量均为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)

26、在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是(D )。

A)a=20000+20000;B)a=4000*10;

C)30000+10000;D)a=4000L*10L;

二.填空题

1.在C语言中(以16位PC机为例),一个char数据在内存中所占字节数为1,其数值范围为-128~127 ;一个int数据在内存中所占字节数为2,其数值范围为-32768~32767 ;一个long数据在内存中所占字节数为4,其数值范围为-2147483648~2147483647;一个float

数据在内存中所占字节数为 4 ,其数值范围为 1038 。

2.C 语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为 字母 。

3.字符常量使用一对 单引号 界定单个字符,而字符串常量使用一对 双引号 来界定若干个字符的序列。

4.在C 语言中,不同运算符之间运算次序存在 优先级 的区别,同一运算符之间运算次序存在 结合性 的规则。

5.设x,i,j,k 都是int 型变量,表达式x=(i=4,j=16,k=32)计算后,x 的值为 32 。

6.设x=2.5,a=7,y=4.7, 则x+a%3*(int)(x+y)%2/4为 2 。

7.设a=2,b=3,x=3.5,y=2.5,则(float)(a+b)/2+(int)x%(int)y 为 3.5 。

8.数学式子 的C 语言表达式为 (a*a+b) /(a+5*b) 。

9.已知:char a=?a?,b=?b?,c=?c?,i;则表达式i=a+b+c 的值为 38 。 10.已知int a=12,n=5;则:表达式运算后a 的值各为 。 a+=a 24 a-=2 10 a*=2+3 60 a/=a+a 0 n%=(n%=2) 0 a+=a-=a*=a 0

12.设int a; float f; double i ;则表达式10+?a?+i*f 值的数据类型是 double 。

13.若a 为int 型变量,则表达式 (a=4*5,a*2) , a+6的值为 26 。

14.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为 10 。 15.已知a,b,c 是一个十进制数的百位,十位,个位,则该数的表达式是 100*a+10*b+c 。

16.定义:double x=3.5,y=3.2;则表达式(int)x*0.5的值是 1.500000 ,表达式y+=x++的值是 6.700000 。

17.定义:int m=5, n=3;则表达式m/=n+4的值是 5 ,表达式m=(m=1,n=2,n-m)的值是 1 ,表达式m+=m-=(m=1)*(n=2)的值是 -2 。 18.表达式5%(-3)的值是 2 ,表达式-5%(-3)的值是 -2 。

19.若a 是int 变量,则执行表达式a=25/3%3后,a 的值是 1 。

20.数学式子的C 语言表达式为: 3*a*b/(a+b*b) 。

三.判断题

1.在C 程序中对用到的所有数据都必须指定其数据类型。【 对 】

a 2+b

a+5b 3ab

a+b 2

2.一个变量在内存中占据一定的存储单元。【对】

3.一个实型变量的值肯定是精确的。【错】

4.对几个变量在定义时赋初值可以写成:int a=b=c=3;【错】

5.自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。

【对】6.在C程序的表达式中,为了明确表达式的运算次序,常使用括号“()”。

【对】

7.%运算符要求运算数必须是整数。【对】

8.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数。【错】

9.在C程序中,逗号运算符的优先级最低。【错】

10.C语言不允许混合类型数据间进行运算。【错】

四.简答题

1.为什么C语言的字符型可以进行数值运算?

2.简述…a?和“a”的区别。

.程序:int m=12; m=15;为什么整型变量m的值在运算后不是当初的12,而是15?

4.将下面各数用八进制和十六进制数表示:

十进制32 -1 -32768 2002 -128 0

八进制

十六进制

6.华氏温度F与摄氏温度c的转换公式为:c=(F-32)*5/9 ,则float c, F; c=5/9*(F-32)是其对应的C语言表达式吗?如果不是,为什么?

五.程序阅读题

1.写出以下程序运行的结果。

main ( )

{

char c1=?a?,c2=?b?,c3=?c?,c4=?\101?,c5=?116?;

printf(“a%c b%c\tc%c\tabc\n”,c1,c2,c3);

printf(“\t\b%c %c”,c4,c5);

}

运行结果:

aa bb cc abc

A 6

2.写出以下程序运行的结果。

main ( )

{

int i,j,m,n;

i=8;

j=10;

m=++i;

n=j++;

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

}

运行结果:

9,11,9,10

六.编程题

1.假设m是一个三位数,则写出将m的个位,十位,百位反序而成的三位数(例如:123反序为321)的C语言表达式。

2.已知int x=10,y=12;写出将x和y的值互相交换的表达式。

习题三

一.选择题

1.C语言的程序一行写不下时,可以(C)。

A)用逗号换行B)用分号换行

C)在任意一空格处换行D)用回车符换行

2.putchar ( )函数可以向终端输出一个(D)。

A)整型变量表达式值B)实型变量值

C)字符串D)字符或字符型变量值

3.执行下列程序片段时输出结果是(A)。

unsigned int a=65535;

printf(“%d”,a);

A)65535 B)-1 C)-32767 D)1

4.执行下列程序片段时输出结果是(B)。

float x=-1023.012

printf(“\n%8.3f,”,x);

printf(“%10.3f”,x);

A)1023.012, -1023.012 B)-1023.012, -1023.012

C)1023.012,-1023.012 D)-1023.012, -1023.012

5.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是(C)。

int a1,a2; char c1,c2;

scanf(“%d%c%d %c”,&a1, &c1 ,&a2,&c2);

A)10 A20 B↙B)10 A 20 B↙

C)10A20B↙C)10 A 20B↙

6.对于下述语句,若将10赋给变量k1和k3,将20赋给变量k2和k4,则应按(D)方式输入数据。

int k1,k2,k3,k4;

scanf(“%d%d”,&k1,&k2);

scanf(“%d,%d”,&k3,&k4);

A)1020↙B)10 20↙C)10,20 ↙D)10 20↙1020↙10 20↙10,20↙10,20↙

7.执行下列程序片段时输出结果是(D)。

int x=13,y=5;

printf(“%d”,x%=(y/=2));

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

8.下列程序的输出结果是(B)。

main ( )

{ int x=023;

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

}

A)17 B)18 C)23 D)24

9.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的输入方式是(D)。

int a1,a2; char c1,c2;

scanf(“%d%d”,&a1,&a2);

scanf(“%c%c”,&c1,&c2);

A)1020AB↙B)10 20↙

AB↙

C)10 20 AB↙D)10 20AB↙

10.执行下列程序片段时输出结果是(B)。

int x=5,y;

y=2+(x+=x++,x+8,++x);

printf(“%d”,y);

A)13 B)14 C)15 D)16

11.若定义x为double型变量,则能正确输入x值的语句是(C)。A)scanf(“%f”,x); B)scanf(“%f”,&x);

C)scanf(“%lf”,&x); D)scanf(“%5.1f”,&x);

12.若运行时输入:12345678↙,则下列程序运行结果为(D)。

void main ( )

{ int a,b;

scanf(“%2d%2d%3d”,&a,&b);

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

}

A)46 B)579 C)5690 D)出错

13.已知i,j,k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1,j 的值为2,k的值为3,以下选项中正确的输入语句是(C)。

A)scanf(“%2d%2d%2d”,&i,&j,&k);

B)scanf(“%d_%d_%d”,&i,&j,&k);

C)scanf(“%d,%d,%d”,&i,&j,&k);

D)scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);

14.若int x,y; double z;以下不合法的scanf函数调用语句是(D)。

A)scanf(“%d%lx,%le”,&x,&y,&z);

B)scanf(“%2d*%d%lf”,&x,&y,&z);

C)scanf(“%x%*d%o”,&x,&y);

D)scanf(“%x%o%6.2f”, &x,&y,&z);

15.有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,则正确的数据输入方式是(D)。

A)132↙B)1,3,2↙

C)a=1 b=3 c=2↙D)a=1,b=3,c=2↙

二.填空题

1.一个C程序由若干个源程序文件组成,而一个这样的文件可以由若干个函数和预处理指令以及全局变量声明部分组成。

2.C语句可以分为控制语句,函数调用,表达式语句,空语句和复合语句等5种类型。

3.C控制语句有9种。

4.一个表达式要构成一个C语句,必须以; 结束。

5.复合语句是用一对{ } 界定的语句块。

6.printf函数和scanf函数的格式说明都使用%字符开始。

7.scanf处理输入数据时,遇到下列情况时该数据认为结束:(1)回车,(2)非法字符,(3)空白字符或Tab 。

8.已有int i,j; float x;为将-10赋给i,12赋给j,410.34赋给x;则对应以下scanf函数调用语句的数据输入形式是scanf(“%d %d %f”,&i,&j,&x);。

9.C语言本身不提供输入输出语句,其输入输出操作是由函数来实现的。

10.一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:#include

三.程序阅读题

1.用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=?A?,c2=?a?,问在键盘上如何输入?

void main ( )

{ int a,b;

float x,y;

char c1,c2;

scanf(“a=%d b=%d”,&a,&b);

scanf(“ %f %e”,&x,&y);

scanf(“ %c %c”,&c1,&c2);

}

运行结果:

a=3 b=6 8.5 71.82Aa

2.写出以下程序的输出结果。

main ( )

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

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

}

运行结果:

3 3

3.写出以下程序的输出结果。

main ( )

{ int a=12345;

float b=-198.345, c=6.5;

printf(“a=%4d,b=%-10.2e,c=%6.2f\n”,a,b,c);

}

运行结果:

a=12345,b=-1.98e+002,c= 6.50

4.写出以下程序的输出结果。

main ( )

{ int x=-2345;

float y=-12.3;

printf(“%6d,%06.2f”,x,y);

}

运行结果:

-2345,-12.30

5. 写出以下程序的输出结果。

main ( )

{ int a=252;

printf(“a=%o a=%#o\n”,a,a);

printf(“a=%x a=%#x\n”,a,a);

}

运行结果:

a=374 a=0374

a=fc a=0xfc

6. 写出以下程序的输出结果。

main ( )

{ int x=12; double a=3.1415926;

printf(“%6d##,%-6d##\n”,x,x);

printf(“%14.1f##\n”,a);

}

运行结果:

12##,12 ##

3.1##

四.程序填空题

1.下列程序的输出结果是16.00,请填(1)空使程序完整。

main ( )

{ int a=9,b=2;

float x=【1】, y=1.1 , z;

z=a/2+b*x/y+1/2;

printf(“%5.2f\n”,z);

}

【1】: 6.6

五.编程题

1.已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序来。

2.若a=3,b=4,c=5,x=1.2,y=2.4,z=-

3.6,u=51274,n=128765,c1=?a?,c2=?b?。想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。

a= 3 b= 4 c= 5

x=1.200000,y=2.400000,z=-3.600000

x+y= 3.60 y+z=-1.20 z+x=-2.40

u= 51274 n= 128765

c1=?a? or 97(ASCII)

c2=?b? or 98(ASCII)

3.设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。用scanf输入数据,输出计算结果;输出时要求有文字说明,取小数点后2位数字,请编写程序。

4.编程序:用getchar函数读入两个字符给c1,c2,然后分别用putchar和printf 函数输出这两个字符。并思考以下问题:

(1)变量c1,c2应定义为字符型或整型?或两者皆可?

(2)要求输出C1和C2值的ASCII码,应如何处理?用putchar函数还是printf函数?

(3)整型变量与字符型变量是否在任何情况下都可以互相替代?如:

char c1,c2 与int c1,c2

是否无条件地等价?

习题四

一.选择题

1.逻辑运算符两侧运算对象的数据类型(A)。

A)只能是0或1 B)只能是0或非0正数

C)只能是整型或字符型数据D)可以是任何类型的数据

2.下列表达式中,不满足“当x的值为偶数时值为真,为奇数时值为假”的要求(B)。

A)x%2==0 B)!x%2!=0 C)(x/2*2-x)==0 D)!(x%2)

3.以下程序片段(A)。

int x=2,y=3;

printf( );

A)什么都不输出B)输出为:***x=2

C)输出为:###y=2 D)输出为:###y=3

4.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是(C)。

A)(x>=1) && (x<=10) && (x>=200) && (x<=210)

B)(x>=1) | | (x<=10) | | (x>=200) | | (x<=210)

C)(x>=1) && (x<=10) | | (x>=200) && (x<=210)

D)(x>=1) | | (x<=10) && (x>=200) | | (x<=210)

5.C语言对嵌套if语句的规定是:else总是与(D)。

A)其之前最近的if配对B)第一个if配对

C)缩进位置相同的if配对D)其之前最近的且尚未配对的if配对

6.设: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)3 D)4

7.下面( B )是错误的if语句(设int x,a,b;)

A)if (a=b) x++; B)if (a=

C)if (a-b) x++; D)if ( x ) x++;

8.以下程序片段(D)。

main ( )

{ int x=0,y=0,z=0;

if (x=y+z)

printf(“***”);

else

printf(“###”);

}

A)有语法错误,不能通过编译B)输出:***

C)可以编译,但不能通过连接,所以不能运行D)输出:###

9.对下述程序,( A)是正确的判断。

main ( )

{ int x,y;

scanf(“%d,%d”,&x,&y);

if (x>y)

x=y;y=x;

else

x++;y++;

printf(“%d,%d”,x,y);

}

A)有语法错误,不能通过编译B)若输入3和4,则输出4和5

C)若输入4和3,则输出3和4 D)若输入4和3,则输出4和5 10.若w=1,x=2,y=3,z=4,则条件表达式w

11.下述表达式中,(A)可以正确表示x≤0或x≥1的关系。

A)(x>=1) | | (x<=0) B)x>=1 | x<=0

C)x>=1 && x<=0 D)(x>=1) && (x<=0)

12.下述程序的输出结果是(C)。

main ( )

{ int a=0,b=0,c=0;

if (++a>0 | | ++b>0)

++c;

printf(“%d,%d,%d”,a,b,c);

}

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

13.下述程序的输出结果是(C)。

main ( )

{ int x=-1,y=4,k;

k=x++<=0 && !(y--<=0);

printf(“%d,%d,%d”,k,x,y);

}

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

14.以下程序输出结果是(B)。

main ( )

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

switch(x) {

case 1:switch (y) {

case 0 : a++ ; break ;

case 1 : b++ ; break ;

}

case 2:a++; b++; break;

case 3:a++; b++;

}

p rintf(“a=%d,b=%d”,a,b);

}

A)a=1,b=0 )a=2,b=1 C)a=1,b=1 D)a=2,b=2

15.下述程序的输出结果是(-5,5,6 )。

main ( )

{ int a,b,c;

int x=5,y=10;

a=(--y=x++) ? –y : ++x ;

b=y++ ; c=x ;

printf(“%d,%d,%d”,a,b,c);

}

A)6,9,7 B)6,9,6 C)7,9,6 D )7,9,7

16.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是(B)。

if (a

if (c

else

if (a

if (b

else x=3;

else x=6;

else x=7;

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

17.在下面的条件语句中(其中S1和S2表示C语言语句),只有一个在功能上与其他三个语句不等价(D)。

A)if (a) S1; else S2; B)if (a==0) S2; else S1;

C)if (a!=0) S1; else S2; D)if (a==0) S1; else S2;

18.若int i=10;执行下列程序后,变量i的正确结果是(D)。

switch (i) {

case 9: i+=1 ;

case 10: i+=1 ;

case 11: i+=1 ;

default : i+=1 ;

}

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

19.若有说明语句int i=5,j=4,k=6;float f;则执行f=(i

A)4.0 B)5.0 C)6.0 D)7.0

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

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

二.填空题

1.C语言提供6种关系运算符,按优先级高低它们分别是< ,<= ,> ,>= ,== ,!= 等。

2.C语言提供三种逻辑运算符,按优先级高低它们分别是! ,&& ,|| 。

3.设a=3,b=4,c=5,写出下面各逻辑表达式的值。

表达式题目不全表达式运算后的值

a+b>c && b==c

!(a>b) && !c || 1

!(a+b) + c –1 && b + c/2

4.写出数学式子题目不全的C语言表达式。

5.将条件“y能被4整除但不能被100整除,或y能被400整除”写成逻辑表达式y%4==0 && y%100!=0 || y%400==0 。

6.设x,y,z均为int型变量;写出描述“x,y和z中有两个为负数”的C语言表达式:(x<0&&y<0 && z>0)| (x>0&&y<0 && z<) || (x<0 &&y>0& z<0)。

7.已知A=7.5,B=2,C=3.6,表达式A>B && C>A || AB的值是0 。

8.有int x=3,y=-4,z=5;则表达式(x&&y)==(x||z)的值为1。

9.若有x=1,y=2,z=3,则表达式(x

10.执行以下程序段后,a= 10,b= 9,c= 11。

int x=10,y=9 ;

int a,b,c ;

a = (x--==y++) ? x-- : y++ ;

b = x++ ;

c = y ;

三.判断题

1.if语句中的表达式不限于逻辑表达式,可以是任意的数值类型。【对】

2.switch语句可以用if语句完全代替。【对】

3.switch语句的case表达式必须是常量表达式。【对】

4.if语句,switch语句可以嵌套,而且嵌套的层数没有限制。【对】

5.条件表达式可以取代if语句,或者用if语句取代条件表达式。【错】

6.switch语句的各个case和default的出现次序不影响执行结果。【对】

7.多个case可以执行相同的程序段。【对】

8.内层break语句可以终止嵌套的switch,使最外层的switch结束。【错】

9.switch语句的case分支可以使用{ }复合语句,多个语句序列。【对】

10.switch语句的表达式与case表达式的类型必须一致。【对】

四.简答题

1.C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?

2.请将以下语句改成switch语句。

if ((s>0) && (s<=10))

if ((s>=3) && (s<=6)) x=2;

else if ((s>1) && (s>8)) x=3;

else x=1;

else x=0;

五.程序阅读题

1.若运行时输入100↙,写出以下程序的运行结果。

main ( )

{ int a ;

scan f(“%d”,&a);

printf(“%s”,(a%2!=0)?”No”:”Yes”);

}

运行结果:

Yes

2.写出以下程序的运行结果。

void main ( ) //题目已经修改

{ int a=1,b=2,c=5;

switch (a) {

case 1:switch (b) {

case 1: printf(“@”); break ;

case 2: printf(“!”); break ;

}

case 0:switch (c) {

case 1: prin tf(“*”) ; break ;

case 2: printf(“#”) ; break ;

default : printf(“#”) ; break ;

}

default : printf(“&”);

}

printf(“\n”);

}

运行结果:

!#&

六.程序判断题

1.下面程序将输入的大写字母改写成小写字母输出,其他字符不变;请判断下面程序的正误,如果错误请改正过来。

main ( )

{ char c;

c = getchar ( ) ;

c = (c>=?A? | | c<=?Z?) ? c-32 : c+32 ;

printf(“%c”,c);

}

c = (c>=’A’ | | c<=’Z’) ? c-32 : c+32 ;错误

应该改为:c = (c>=’A’ && c<=’Z’) ? c-32 : c+32 ;

2.下面程序输入两个运算数x,y和一个运算符号op,然后输出该运算结果的值,例如输入3+5↙得到结果8;请判断下面程序的正误,如果错误请改正过来。

main ( )

{

float x,y,r;

char op ;

scanf(“%f%c%f”,&x,&op,&y);

switch (op) {

case …+? : r=x+y ;

case …-? : r=x+y ;

case …*? : r=x+y ;

case …/? : r=x+y ;

}

printf(“%f”,r);

}

各个case后面少break;

七.程序填空题

1.根据以下函数关系,对输入的每个x值,计算出相应的y值,请填(3)空使程序完整。

main ( )

{

int x,c,m;

float y;

scanf(“%d”,&x);

if (【1】) c=-1;

else c=【2】;

switch (c) {

case –1 : y=0 ; break ;

case 0 : y=x ; break ;

case 1 : y=10 ; break ;

case 2 :

case 3 : y=-0.5*x+20 ; break ;

default : y=-2 ;

}

if (【3】)

printf (“y=%f”,y);

else

printf(“error!”);

}

题目不完整

2.以下程序输出x,y,z三个数中的最小值,请填(2)空使程序完整。

main ( )

{ int x=4,y=5,z=8 ;

int u,v;

u = x

v = u

printf (“%d”,v);

}

【1】x:y

【2】u:z

八.编程题

1.有三个整数a,b,c,由键盘输入,输出其中最大的数。

2.编程输入整数a和b,若大于100,则输出百位以上的数字,否则输出两数之和。

4.给出一百分制成绩,要求输出成绩等级?A?,?B?,?C?,?D?,?E?。90分以上为?A?,80-89分为?B?,70-79分为?C?,60-69分为?D?,60分以下为?E?。

5.提高题:给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数是321,应输出123。

习题五

一.选择题

1.下面程序段

int k=2;

whi le (k=0) {printf(“%d”,k);k--;}

则下面描述中正确的是(C)。

A)while循环执行10次B)循环是无限循环

C)循环题语句一次也不执行D)循环体语句执行一次2.下述程序段中,(C)与其他程序段的作用不同。

A)k=1; B)k=1;

while (1) { Repeat :

s+=k ; s+=k ;

k=k+1 ; if (++k<=100)

if (k>100) break ; goto Repeat

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

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

C)int k,s=0; D)k=1;

for (k=1;k<=100;s+=++k); do

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

while (++k<=100) ;

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

3.以下程序段的循环次数是(B)。

for (i=2; i==0; ) printf(“%d” , i--) ;

A)无限次B)0次C)1次D)2次4.下面程序的输出结果是(B)。

main ( )

{ char c=?A?;

int k=0;

do {

switch (c++) {

case …A? : k++ ; break ;

case …B? : k-- ;

case …C? : k+=2 ; break ;

case …D? : k%=2 ; continue ;

case …E? : k*=10 ; break ;

default : k/=3 ;

}

k++;

} while (c

printf (“k=%d”,k) ;

}

A)k=3 B)k=4 C)k=2 D)k=0

5.下面程序的输出结果是(B)。

main ( )

{ int x=9;

for (; x>0; x--) {

if (x%3==0) {

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

continue ;

}

}

}

A)741 B)852 C)963 D)875421

6.以下不是死循环的程序段是(无)。

A)int i=100; B)for ( ; ; ) ;

while (1) {

i=i%100+1 ;

if (i>100) break ;

}

C)int k=0; D)int s=36;

do { ++k; } while (k>=0); while (s) ; --s ;

7.下述程序段的运行结果是(C)。

int a=1,b=2, c=3, t;

while (a

printf(“%d,%d,%d”,a,b,c);

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

8.下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择(A)填空。

main ( )

{ int m=0,n=0;

char c;

while ((【】) ! ?\n?)

{

if (c>=?A? && c<=?Z?) m++;

C语言题库及答案

C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

C语言课后习题答案(最终)

第0章习题 1. 将下列十进制数分别转化为二进制数、八进制数和十六进制数: (1)128 (2)511 (3)1024 (4)65535 (5)1048575 答: (1)10000000、200、80 (2)111111111、777、1FF (3)10000000000、2000、400 (4)1111111111111111、177777、FFFF (5)11111111111111111111、3777777、FFFFF 2. 将下列二进制数转化为十进制数和十六进制数: (1)1100110101B (2)101101.1011B 答: (1)821、335 (2)45.6875、2D.B 3. 写出下列数的原码、反码、补码:15、-20、-27/32 答: (1)00001111、00000000、00001111 (2)10010100、11101011、11101100 (3)1.1101100、1.0010011、1.0010100 4. 16位无符号定点整数的数值表示范围为多少?8位补码的表示范围是多少?16位补码的表示范围是多少? 答: 0~65535、-128~127、-32768~32767 5.1968年Dijkstra提出结构化程序设计的思想的原因是什么?简要回答结构化程序设计的经典定义。 答: 结构化程序设计概念的提出主要是源于程序结构的层次性与模块化使得构造出来的软件具有良好的可理解性和可维护性,随着软件规模的扩大与复杂性的提高,程序的可维护性成为程序设计者们关注的重要问题之一。 如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 6.C程序在内存中存储在哪儿?计算机的内存空间是如何分区的?分区存放不同类型的数据的目的是什么? 答:

大学c语言考试题库含答案

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 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",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0;

C语言考试题库及答案复习整理

C 语言理论上机考试选择题部分(共200题) 1、下面程序的输出是___D______ #include void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C 语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是 ________D____. A) true B) 非零值 C) 0 D) 1 5、C 语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC 码 D) ASCII 码 7、C 语言程序的基本单位是_____C______. A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句

a+=a-=a*a 后,a 的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include void main() {int x=10,y=3; printf("%d\n",y=x/y); } A) 0 B) 1 C) 3 D) 不确定的值 12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是______A_____. #include void main() {char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不确定的值 13、若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为____D__. A) a<>0 B) !a C) a=0 D) a

C语言习题及参考答案

C语言习题集 习题一 一.填空题 1.C程序是由(函数)构成的,一个C程序中至少包含(main函数)。因此,( 函数) 是C程序的基本单位。 2.C程序注释是由( /*) 和( */ ) 所界定的文字信息组成的。3.函数体一般包括( 变量声明) 和( 语句) 。 二.判断题 1.一个C程序的执行总是从该程序的main函数开始,在main函数最后结束。【错】 2.main函数必须写在一个C程序的最前面。【错】 3.一个C程序可以包含若干的函数。【对】 4.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。但是可以增加程序的可读性。【对】 5.C程序的注释只能是一行。【错】 6.C程序的注释不能是中文文字信息。【错】 8.可以使用Visual C++ 6.来编译和连接一个C程序。【对】 9.可以使用Visual C++ 6.来运行一个C程序。【对】 10.可以使用Visual C++ 6.来实时调试(即动态调试)一个C程序。【对】三.简答题 1.写出一个C程序的基本结构。 2.简要叙述使用Visual C++ 6.0编译和运行一个程序的步骤。 四.编程题 1.提高题:参照课本例1.1,试编写一个C程序,输出如下信息。(提示:使用键盘上的一些符号)。 2.提高题:试编写一个C程序,输出如下信息。 ********************** *** @ @ *** *** @ *** ********************** 试试看,可以输出其他组合图案吗?

习题二 一.选择题 1、合法的字符常量是(ACD)。 A)…\t?B) “A” C)…a?D)?\x32? 2、合法的字符常量是( D) 。 A)…\084?B) …\84? C)…ab?D)?\x43? 3、(B)是C语言提供的合法的数据类型关键字。 A)Float B)signed C)integer D)Char 4、在以下各组标识符中,合法的标识符是((4))。 (1)A)B01 B)table_1 C)0_t D)k% (2)A)Fast_ B)void C)pbl D) (3)A)xy_ B)longdouble C)*p D)CHAR ( 4 ) A) sj B) Int C)_xy D)w_y23 5、属于合法的C语言长整型常量的是(BD)。 A)5876273 B)0L C)2E10 D)(long)5876273 6、下面选项中,不是合法整型常量的是(B )。 A)160 B)-0xcdg C)-01 D)-0x48a 7、判断int x = 0xaffbc;x的结果是(D)。 A)赋值非法B)溢出C)为affb D)为affbc 8、下面选项中,均是合法浮点数的是(B)。 A)+1e+1 B)-.60 C)123e D)-e3 A)5e-9.4 B)12e-4 C)1.2e-.4 D).8e-4 A)03e2 B)-8e5 C)+2e-1 D)5.e-0 9、在C语言中,要求参加运算的数必须时整数的运算符是(C)。 A)/ B)* C)% D) = 10、在C语言中,字符型数据在内存中以(D)形式存放。 A)原码B)BCD码C)反码D)ASCII码 11、下列语句中,符合语法的赋值语句是(C)。 A)a=7+b+c=a+7;B)a=7+b++=a+7; C)a=(7+b,b++,a+7);D)a=7+b,c=a+7; 12、是非法的C语言转义字符(B )。 A)…\b?B)…\0xf? C)…\037? D)… \?? 13、对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,( B )是正确的。A)语法错误B)f为5.0 C)f为0.0 D)f为2.0 14、与代数式(x*y)/(u*v) 不等价的C语言表达式是(A )。 A)x*y/u*v B)x*y/u/v C)x*y/(u*v) D)x/(u*v)*y 15、在C语言中,数字029是一个(D)。

C语言全部章节习题集(参考答案)

第一章 C语言概述 一、选择题: 1、一个C程序的执行是从( A )。 A本程序的main函数开始,到main函数结束 B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C本程序的main函数开始,到本程序文件的最后一个函数结束 D本程序文件的第一个函数开始,到本程序main函数结束 [ 2、在 C 语言中,每个语句必须以( D )结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 3、C 语言规定:在一个源程序中,main函数的位置( C )。 A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后 4、一个C 语言程序是由( B )。 ~ A. 一个主程序和若干子程序组成 B. 函数组成 C. 若干过程组成 D. 若干子程序组成 5、下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 》 6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D. 自动保存源文件 二、填空题: 1、C 语言只有 32 个关键字和 9 种控制语句。 ~ 2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C语言程序。 3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 \* 符号作为开始标记,以 */ 符号作为结束标记。 4、C 语言中,输入操作是由库函数 scanf 完成的,输出操作是由库函 数 printf 完成的。 5、系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .obj ,经过连接后生成的可执行文件的扩展名是 .exe 。 6、C 语言的标识符只能由字母、数字和下划线三种字符组成。

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

C语言函数题库及答案

C语言函数题库及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

第六部分函数 一、单项选择题 1.C语言中的函数返回值的类型是由(D)决定 A.return语句中的表达式B.调用函数的主调函数 C.调用函数时临时D.定义函数时所指定的函数类型 2.下面不正确的描述是(B)。 A.调用函数时,实参可以是表达式 B.调用函数时,实参和形参可以共用内存单元 C.调用函数时,将形参分配内存单元 D.调用函数时,实参与形参的类型必须一致 3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是 (D) A.地址传递B.值传递 C.由实参传递给形参,并由形参传回给实参D.由用户指定传递方式 4.下面的函数调用语句中含有(A)个实参 inta,b,c; intsum(intx1,intx2); …… total=sum((a,b),c); A.2B.3C.4 D.5 5.在C语言中(C) A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义和调用均不可以嵌套 C.函数的定义不可以嵌套,但是函数的调用可以嵌套 D.函数的定义和调用均可以嵌套 6.关于C语言中的return语句正确的是(C) A.只能在主函数中出现 B.在每个函数中都必须出现 C.可以在一个函数中出现多次 D.只能在除主函数之外的函数中出现 7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是(D) (floatx[],intn) (float*x,intn) (floatx[10],intn) (floatx,intn) 8.在C语言中,函数的数据类型是指(A) A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型 9.已知如下定义的函数: fun1(a) {printf("\n%d",a); } 则该函数的数据类型是(C)

C语言程序设计第二版习题参考答案

C语言程序设计第二版 习题参考答案 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

C语言程序设计习题参考答案 习题 1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII 码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是 ___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。

2019二级C语言题库参考答案解析

2019年C语言考题答案 1、程序填空题 给定的程序的功能是调用fun 函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat 的二进制中。 填空:( 1) STYPE(2)FILE(3)fp 改错:(1) for(i=0;i<=sl;i++)(2)t[2*sl]= 0“ 或t[sl+sl]= 0“ 编程: *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b% 10); 2、程序填空题给定程序的功能是:从键盘输入若干文本 (每行不超过80 个字符),写到文件myfile4.txt 中,用-1 作为字符串输出输入的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText 和Writetext 实现。 填空:(1)*fw(2)str (3) str 改错:(1)voidfun(longs,long*t)(2) s1=s1*10; 编程:int i,j=0,min=a[0].s; for(i=0;i

else if(min==a[i].s) b[j++]=a[i]; } return j; 3、程序填空题 给定程序中,函数fun 的功能是:讲自 然数1~10 以及它们的平方根写到名为myfile3.txt 的文本中,然后再按顺序读出显示在屏幕上。 填空:( 1) fp( 2)fclose(fp)(3)myfile3.txt 改错:( 1)for(i=j+1;i

c语言习题及答案

第一章1.1 题目内容: 使用printf()在屏幕上输出hello world! 提示: #include int main() { printf("hello world!\n"); return 0; } 输入格式: 无 输出格式: 输出提示信息:"hello world!\n" 输入样例: 输出样例: hello world! #include int main() { printf("hello world!\n"); return 0; } 1.2 在屏幕上输出多行信息(3分) 题目内容: 使用printf()函数在屏幕上输出以下多行信息: hello world! hello hit! hello everyone! 提示: 在printf()函数中转义字符‘\n’表示换行。

输入格式: 输出格式: 输出提示信息: "hello world!\n" "hello hit!\n" "hello everyone!\n" 输入样例: 输出样例: hello world! hello hit! hello everyone! #include int main() { printf("hello world!\n"); printf("hello hit!\n"); printf("hello everyone!\n"); return 0; } 1.3 计算半圆弧的周长及半圆面积(3分) 题目内容: 编程并输出半径r=5.3的半圆弧的周长及该半圆的面积,的取值为3.14159。要求半径r和必须利用宏常量表示。输入格式: 无 输出格式: 半圆的面积输出格式: "Area=%f\n" 半圆弧的周长输出格式: "circumference=%f\n" 输入样例: 输出样例: Area=44.123632 circumference=16.650427 #include #define PI 3.14159 #define R 5.3 int main() { printf("Area=%f\n", R*R*PI/2); printf("circumference=%f\n", 2*R*PI/2); return 0; }

大学C语言考试题库及答案

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学C语言考试题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题库吧。加油! 一单项选择题库 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是(B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C )。 A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

C语言试题及答案

大学C语言考试题库 第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。

C语言试题及答案

一、单项选择题 1. 软件危机具有下列表现( d )。 I. 对软件开发成本估计不准确II. 软件产品的质量往往靠不住 III. 软件常常不可维护IV. 软件成本逐年上升 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是( A )。 A. 运行和维护阶段 B. 设计阶段 C. 代码实现阶段 D. 测试阶段 3. 下列属于软件的特点的是(D )。 A. 软件是一种逻辑实体,具有抽象性 ~ B. 软件在使用过程中没有磨损、老化的问题 C. 软件不同于一般程序,它的一个显著特点是规模庞大,复杂程度高 D. 以上都正确 4. 软件工程的出现是由于(D )。 A. 软件危机的出现 B. 计算机硬件技术的发展 C. 软件社会化的需要 D. 计算机软件技术的发展 5. 软件开发技术不包含( d )。 A. 软件开发方法学 B. 软件工程环境 C. 软件工具 D. 软件质量度度量 6. 软件工程的课程特点( D )。 【 I. 学科理论及其知识应用的多维性 II. 工程化 III. 浓厚的方法学色彩 IV. 实践性、指导性强 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 7. 下列属于应用软件的是( b )。 I. 计算机辅助教学软件II. 软件测试工具 III. 办公自动化软件IV. 工程与科学计算软件

A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 8. 需求分析阶段最重要的技术文档是( b )。 - A. 设计说明书 B. 需求规格说明书 C. 可行性分析报告 D. 用户手册 9. 以下关于数据流图的说法错误的是( c )。 A. 数据流图舍去了具体的物质,只剩下数据的流动、加工处理和存储 B. 数据流图是用作结构化分析的一种工具 C. 传统的数据流图中主要由加工、数据源点/终点、数据流、控制流、数据存储组成 D. 数据流图的绘制采用自上向下、逐层分解的方法 10. 数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( c )。 A. 数据库设计 B. 数据通信 C. 数据定义 D. 数据维护 11. 需求分析阶段的研究对象是( b )。 ¥ A. 系统分析员要求 B. 用户要求 C. 软硬件要求 D. 系统要求 12. 结构化方法的基本原则是( b )。 A. 模块化 B. 抽象与分解 C. 信息隐蔽 D. 逐步求精 13. 耦合度最高的是(b)耦合。 A. 环境 B. 内容 C. 控制 D. 数据 14. 内聚程度较低的是( a )内聚。 A. 偶然 B. 通讯 C. 顺序 D. 时间 15. 对一个程序来说,组成系统的模块数目( b ),则开发成本越小。 A. 越多 B. 越少 C. 顺序 D. 时间> 16. 画软件结构图时应注意调用关系只能是(B )。 A. 从下到上 B. 从上到下 C. 从左到右 D. 从右到左 17. 程序流程图中的箭头代表( b )。 A. 数据流 B. 控制流 C. 顺序流 D. 调用 18. 软件测试是软件质量保证的重要手段,下述( B )是软件测试的最基础环节。

《C语言程序设计教程》习题参考答案

《C语言程序设计教程》习题参考答案 默认分类2007-09-10 12:38:44 阅读6618 评论13 字号:大中小订阅 【习题1】 一、简答题(在课本中寻找答案,略) 1.1 C程序的基本结构包括哪些内容? 1.2 如何定义标识符? 1.3 输入格式、输出格式的组成包括哪些内容? 1.4 C语言函数分为哪两类? 1.5 计算表达式的值应该考虑哪些方面? 1.6 上机调试程序的步骤如何? 二、判断并改错 1.7 C程序执行的入口是main()函数,所以main函数必须放在程序的开头。 错误:main函数可以放在程序的任何位置。并不限定在程序的开头。 1.8 定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。 错误:不可以交叉出现,数据说明部分在执行语句部分的前面。 1.9 编辑与编译不是一回事。 错误:不是一回事。编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无语法错误,则生成目标程序。 1.10 scanf("%d,%d",&x,&y);的正确输入格式:3,4<回车>。 正确 1.11 注释内容太多会影响程序的执行效率。 错误:不会影响程序的执行效率。因为在编译时,编译系统将注释内容删除或用空格代替,所以注释内容不会编译到目标程序中。 1.12 所有的数学公式可以直接出现在源程序中。 错误:数学公式需要转换成C语言能够接受的公式才能出现在源程序中。 三、编程题 1.13 在屏幕上输出自己名字的拼音。 提示:中文名字叫“张三”,对应的拼音为“Zhang San”,输出用printf()函数。 1.14 输入圆的半径,求圆的周长,并将结果保留两位小数输出到屏幕上。 提示:定义圆的半径r,圆的周长:2*3.14*r,输出结果保留2位小数可以用%.2f 1.15 输入两个整数,输出其中最大者。 提示:模仿例1.3 1.16 输入三个整数,输出其中最小者。 提示: min(min(a,b),c); 【习题2】 一、简答题(在课本中寻找答案,略) 2.1 常量与变量的区别? 2.2 C语言中的标识符的定义规则? 2.3 变量为什么要“先定义,后使用”? 2.4 字符常量'a'与字符串常量"a"有何区别? 2.5 大小写字母转换的规则是什么? 2.6 变量的具有哪三种属性?

历年C语言考试题库及答案

C语言理论上机考试选择题部分(共200题,仅针对11级定向专业) 1、下面程序的输出是___D______ #include<> void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是________D____. A) true B) 非零值 C) 0 D) 1 5、C语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC码 D) ASCII码 7、C语言程序的基本单位是_____C______.A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句a+=a-=a*a后,a的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include<> void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include<> void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include<> void main() {int x=10,y=3; printf("%d\n",y=x/y); }

2020最新C语言题库及答案

2020最新C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。

3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age

《C语言程序设计》课后习题参考答案

高等院校计算机基础教育规划教材《C++程序设计》课后习题参考答案 ――武汉大学出版社 习题1参考答案 一、选择题 1. A 2. D 二、填空题 1. BASIC、FORTRAN、AL_GOL60和COBOL 2. 8 3. 关键字 4. 编辑、编译、链接和运行 三、简答题 1.答: (1)C语言具有结构化的控制语句。C语言提供了结构化程序所必需的基本控制语句,实现了对逻辑流的有效控制。 (2)C语言具有丰富的数据结构类型。C语言除提供整型、实型、字符型等基本数据类型外,还提供了用基本数据类型构造出的各种复杂的数据结构,如数组、结构、联合等。C语言还提供了与地址密切相关的指针类型。此外,用户还可以根据需要自定义数据类型。(3)C语言具有丰富的运算符。C语言提供了多达34种运算符,丰富的数据类型与丰富的运算符相结合,使C语言的表达力更具灵活性,同时也提高了执行效率。 (4)C语言简洁、紧凑,使用方便、灵活,程序书写自由,有9种控制语句。 (5)C语言既具有高级语言的功能,又具有低级语言的许多功能,通常被称为中级计算机语言。它既是成功的系统描述语言,又是通用的程序设计语言。 (6)C语言与汇编语言相比,可移植性好。 (7)功能强大。C语言具有低级语言的一些功能,所以,生成目标代码质量高,程序执行效率高。现在许多系统软件都用C语言来描述,可以大大提高了编程效率。 2.答:运行一个C语言程序,一般需要经过如下几个步骤:①上机输入并编辑源程序;②编译源程序;③与库函数连接;④生成可执行目标程序;⑤运行目标程序。 3.答: (1)操作系统的设计与实现。C语言是一种应用非常广泛的结构化高级程序设计语言,既适合编写应用软件,又适合编写系统软件。

2020年C语言题库及答案

2020年C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油!一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行

5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

相关文档