当前位置:文档之家› C语言基础知识课后习题答案

C语言基础知识课后习题答案

C语言基础知识课后习题答案

说明:

1、原先的少部分题目有错,请用红色的部分替换掉;

2、如果红色部分有文字“删除该行”,就直接删除该行;

第一章C语言的基础知识

第一节对C语言的初步认识

习题

1. 下列叙述中错误的是B

A)任何一个C程序都必须有且仅有一个main函数,C语言总是从main函数开始执行。B)C语言中的变量,可以先使用后定义。

C)所有的C语言语句最后都必须有一个分号

D)C程序书写格式自由,语句可以从任一列开始书写,一行内可以写多个语句。

第二节熟悉Visual C++

习题

1. C语言源程序名的后缀是 B

A).exe B).c C).obj D).cp 2. 下列叙述中错误的是D

A)计算机不能直接执行用C语言编写的源程序

B)C程序经C编译后,生成后缀为.obj的文件是一个二进制文件C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件

D)后缀为.obj和.exe的二进制文件都可以直接运行

3. 用C语言编写的代码程序B

A)可立即执行B)是一个源程序

C)经过编译即可执行D)经过编译解释才能执行

第三节标识符

习题

1. 按照C语言规定的用户标识符命名规则,不能出现在标识符中的是B

A)大写字母B)连接符C)数字字符D)下划线

2. 以下选项中不合法的标识符是 C

A)print B)FOR C)&a D)_00

3. 以下叙述中错误的是A

A)用户所定义的标识符允许使用关键字

B)用户所定义的标识符应尽量做到“见名知意”

C)用户所定义的标识符必须以字母或下划线开头

D)用户定义的标识符中,大、小写字母代表不同标识

4. 可在C程序中用作用户标识符的一组标识符是A

A)and B)Date C)Hi

D)case

_2007 y-m-d Dr.T om

Bigl

5. 以下不合法的用户标识符是C

A)j2_KEY B)Double C)4d D)_8_

6. 以下不能定义为用户标识符的是D

A)Main B)_0 C)_int D)sizeof

7. 下列选项中,不能用作标识符的是D

A)_1234_ B)_1_2 C)int_2_ D)2_int_

8. 以下4组用户定义标识符中,全部合法的一组是A

A)_main B)If C)txt D)int

enclude -max REAL k_2

sin turbo 3COM _001

第四节数制转换

习题

1.十进制整数360的八进制为__________,十六进制为_____________。550 168

第五节整数和实数

习题

1.以下选项中正确的整型常量是 C

A)10110B B)0386 C)0Xffa D)x2a2

2.以下关于long、int和short类型数据占用内存大小的叙述中正确的是D

A)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定

3.以下选项中不属于C语言的类型的是D

A)signed short int B)unsigned long int

C)unsigned int D)long short

4.以下选项中合法的实型常数是C

A)5E2.0 B)E-3 C).2E0 D)1.3E

5.以下选项中,不能作为合法常量的是 B

A)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0

6.以下选项中可作为C语言合法常量的是A

A)-80. B)-080 C)-8e1.0 D)-80.0e

7.以下符合C语言语法的实型常量是C

A)1.2E0.5 B)3.14.15 9E C).5E-3 D)E15

8.以下不合法的数值常量是C

A)011 B)lel C)8.0E0.5 D)0xabcd

9.以下选项中,合法的一组C语言数值常量是B

A)028 B)12. C).177 D)0x8A

5e-3 OXa23 4c1.5

10,000

-0xf 4.5e0 Oabc 3.e5

10.下列定义变量的语句错误的是D

A)int _int ; B)double int_; C)long For; D)float US$;

第六节算术表达式与赋值表达式

习题

1.表达式3.6-5/2+1.2+5%2的值是D

A)4.3 B)4.8 C)3.3 D)3.8

2.设有定义:float x=123.4567;,则执行以下语句后输出的结

果是_____。123.46

printf("%f\n",(int)(x*100+0.5)/100.0);

3.设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式×h 计算结果不相符的是B A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b)

第七节自加自减运算符、逗号表达式

习题

1.设变量已正确定义为整型,则表达式n=i=2,++i,i++的值为______。3

2.设有定义:int k=0;,以下选项的4个表达式中与其他3个表达式的值不相同的是A

A)k++ B)k+=1 C)++k D)k+1

3.有以下程序B

main()

{

char a1='M', a2='m';

printf("%c\n", (a1, a2) );

}

以下叙述中正确的是

A)程序输出大写字母M B)程序输出小写字母m

C)格式说明符不足,编译出错 D)程序运行时产生出错信息

4.有以下程序:B

main( )

{ int a=0,b=0;

a =10; /*给a赋值

b=20; 给b赋值*/

printf("a+b=%d\n",a+b); /*输出计算结果*/

}

程序运行后的结果是

A)a+b=30 B)a+b=10 C)30 D)程序出错

第八节字符

习题

1.以下选项中不属于字符常量的是()。B

A)'C' B)"C" C)'0' D)'\072'

2.已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是()。B A)kk>='A'&&kk<='Z' B)!(kk>='A'‖kk<='Z')

C)(kk+32)>='a'&&(kk+32)<='z' D)kk>=48 && kk<91

3.已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'。执行语句printf("%d,%d",c1,c2-2);后,输出结果是()。C

A)A,B B)A,68 C)65,66 D)65,68

4.以(25)以下合法的字符型常量是

A)'\x13' B)'\018' C)'65' D)'\n'

5.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下不能将变量c中大写字母转换为对应小写字母的语句是()。D

A)c=c-'Z' + 'z' B)c=c+32

C)c=c-'A' + 'a' D)c='A'+ c-'a'

第九节位运算

习题

1.变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是A

A)a^b B)a|b C)a&b D)a<<4

2.有以下程序

#include

main()

{

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

x=(a^b)&c; printf("%d\n",x);

}

程序的运行结果是D

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

3.有以下程序

main()

{

unsigned char a=2,b=4,c=5,d;

d=a|b; d&=c; printf("%d\n",d);

}

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

A)3 B)4 C)5 D)6

4.若变量已正确定义,则以下语句的输出结果是()。B s=32; s^=32; printf("%d",s);

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

5.设有以下语句

int a=1,b=2,c;

c=a^(b<<2);

执行后,c的值为D

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

第二章数据输出与输入

第一节第二节数据输出2节合在一起只有1个课件

习题

1.有以下程序段

char ch;

int k;

ch='a';

k=12;

printf("%c,%d,",ch,ch,k);

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

已知字符a的ASCII十进制代码为97,则执行上述程序段后输出结果是D

A)因变量类型与格式描述符的类型不匹配输出无定值

B)输出项与格式描述符个数不符,输出为零值或不定值

C)a,97,12k=12

D)a,97,k=12

2.若变量已正确定义,有以下程序段删除该题

int a=3,b=5,c=7;

if(a>b) a=b; c=a;

if(c!=a) c=b;

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

其输出结果是B

A)程序段有语法错B)3,5,3 C)3,5,5 D)3,5,7 3.有以下程序,其中%u表示按无符号整数输出

main()

{

unsigned short x=0xFFFF;/* x的初值为十六进制数*/

printf("%u\n",x);

}

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

A)-1 B)65535 C)32767 D)0XFFFF 4.以下叙述中不正确的是A

A)调用printf函数时,必须要有输出项

B)使用putchar函数时,必须在之前包含头文件stdio.h

C)在C语言中,整数可以以十进制、八进制或十六进制的形式输出

D)使用putchar函数可以不要输出项

5.设有以下程序

main()

{

int c=35; printf("%d", c&c);

}

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

A)0 B)70 C)35 D)53

6.以下程序运行后的输出结果是______________。88

main()

{

int x=0210; printf("%X\n",x);

}

第三节数据输入

习题

1.以下程序运行时若从键盘输入:10 20 30<回车>。输出结果是____。A

#include

main()

{

int i=0,j=0,k=0;

scanf("%d%*d%d",&i,&j,&k);

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

}

A)10,30,0 B)10,20,30 C)0,0,0 D)程序出错2.已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>。输出结果是 A

#include "stdio.h"

main()

{

char a,b;

a=getchar(); scanf("%d",&b);

a=a-A+0;

b=b*2;

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

}

A)程序段有语法错B)1 B C)1 65 D)1 b

3.有以下程序

main()

{

int m=0256,n=256;

printf("%o %o\n",m,n);

}

程序运行后的输出结果是()。

A)0256 0400 B)0256 256 C)256 400 D)400 400 4.有以下程序

main()

{

int a=666, b=888;

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

}

程序运行后的输出结果是()。B

A)错误信息B)666 C)888 D)666,888

5.设有以下程序

main( )

{

int x=102,y=012;

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

}

执行后输出结果是C

A)10,01 B)02,12 C)102,10 D)02,10

6.执行以下程序时输入1234567,则输出结果是________。#include

main()

{

int a=1,b;

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

}

第三章选择结构

第一节关系运算与逻辑运算

习题

1.已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是B

A)kk>='A'&&kk<='Z' B)!(kk>='A'‖kk<='Z')

C)(kk+32)>='a'&&(kk+32)<='z' D)isalpha(kk)&&(kk<91) 2.当变量c的值不为2、4、6时,值也为“真”的表达式是B A)(c==2)‖(c==4)‖(c==6) B)(c>=2&&c<=6)‖(c!=3)‖(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1)

3.以下选项中,当x为大于1的奇数时,值为0的表达式D

A)x%2==1 B)x/2 C)x%2!=0 D)x%2==0

4.以下关于逻辑运算符两侧运算对象的叙述中正确的是()。D A)只能是整数0和1 B)只能是整数0或非0整数

C)可以是结构体类型的数据D)可以是任意合法的表达式

5.设有定义:int k=1,m=2; float f=7;,则以下选项中错误的表达式是C

A)k=k>=k B)-k++ C)k%int(f) D)k>=f>=m

6.设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是A

A)(!a==1)&&(!b==0) B)(!a==1)||(!b==0)

C)a && b D)a||(b+b)&&(c-a)

第二节if语句

习题

1.若变量已正确定义,有以下程序段

int a=3,b=5,c=7;

if(a>b) a=b; c=a;

if(c!=a) c=b;

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

其输出结果是B

A)程序段有语法错B)3,5,3 C)3,5,5 D)3,5,7 2.当把以下4个表达式用作if语句的控制表达式时,有一个选项与其他3个选项含义不同,这个选项是D

A)k%2 B)k%2==1 C)(k%2)!=0 D)!k%2==1 3.下列条件语句中,功能与其他语句不同的是D

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

B)if(a==0) printf("%d\n",y); else printf("%d\n",x);

C)if (a!=0) printf("%d\n",x); else printf("%d\n",y);

D)if(a==0) printf("%d\n",x); else printf("%d\n",y);

4.设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是C A)if(x++) ; B)if(x>y&y!=0);

C)if(x>y)x- - D)if(y<0) {;}

else y++: else x++;

第三节嵌套的if语句

习题

1.在嵌套使用if语句时,C语言规定else总是C

A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对

C)和之前与其最近的且不带else的if配对D)和之前的第一个if 配对

2.有以下程序

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)

}

执行后输出结果是D

A)2 B)3 C)4 D)编译时有错,无结果

3.以下程序的输出结果是C

main( )

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

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

}

A)5 B)4 C)6 D)不确定

第四节条件表达式、switch语句、goto语句

习题

1.以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是A A)if((a>b) &&(b>c) ) k=1; B)if((a>b) ||(b>c) ) k=1;

else k=0; else k=0;

C)if(a<=b) k=0; D)if(a>b) k=1;

else if(b<=c) k=1; else if(b>c) k=1;

else k=0;

2.下列叙述中正确的是D

A)beak语句只能用于switch

B)在switch语句中必须使用default

C)break语句必须与switch语句中的case配对使用

D)在switch语句中,不一定使用break语句

3.有以下程序段B

int k=0,a=1,b=2,c=3;

k=ac?c:k;

执行该程序段后,k 的值是

A)3 B)2 C)1 D)0 4.有以下程序D

#include

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

}

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

}

程序的运行结果是

A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1 5.以下叙述中正确的是C

A)break语句只能用于switch语句题中

B)continue语句的作用是:使程序的执行流程跳出包含它的所有循环

C)break 语句只能用在循环体内和switch语句体内

D)在循环体内使用break语句和continue语句的作用相同

6.有以下程序

main()

{

int k=5,n=0;

do

{

switch(k)

{case 1: case 3:n+=1; break;

default :n=0;k--;

case 2: case 4:n+=2;k--;break;

}

printf(“%d”,n);

}while(k>0&&n<5);

}

程序运行后的输出结果是

A)235 B)0235 C)02356 D)2345

第四章循环结构

第一节while语句

习题

1.有以下程序

main()

{ int y=10;

while(y--); printf("y=%d\n",y);

}

程序执行后的输出结果是B

A)y=0 B)y=-1C)y=1 D)while构成无限循环2.有以下程序main()

{

int k=5;

while(--k) printf("%d",k-=3);

printf("\n");

}

执行后的输出结果是A

A)1 B)2 C)4 D)死循环

第二节do-while语句

习题

1.若变量已正确定义,有以下程序段

i=0;

do

printf("%d,",i);

while(i++);

printf("%d\n",i)

其输出结果是B

A)0,0 B)0,1 C)1,1 D)程序进入无限循环2.有以下程序段D

int n,t=1,s=0;

scanf("%d",&n);

do{ s=s+t; t=t-2; }while (t!=n);

为使此程序段不陷入死循环,从键盘输入的数据应该是

A)任意正奇数B)任意负偶数C)任意正偶数 D)任意负奇数

3.以下程序的功能是:将输入的正整数按逆序输出。例如,若输入135,则输出531,请填空。n/=10

#include

main()

{

int n,s;

printf("Enter a number:"); scanf("%d",&n);

printf("Output: ");

do

{

s=n%10; printf("%d",s);

_____;

} while(n!=0);

printf("\n");

}

第三节for语句

习题

1.有以下程序

#include

main()

{

int x=8;

for( ; x>0; x--)

{

if(x%3)

{

printf("%d, ",x--);

continue;

}

printf("%d, ",--x);

}

}

程序的运行结果是D

A)7,4,2 B)8,7,5,2 C)9,7,6,4 D)8,5,4,2 2.以下不构成无限循环的语句或者语句组是A

A)n=0; B)n=0;

do{++n;}while(n<=0); while(1){n++;}

C)n=10; D)for(n=0,i=1; ;i++) n+=i;

while(n); {n--;}

第四节循环结构的嵌套

习题

1.有以下程序

main( )

{

int i,n=0;

for(i=2;i<5;i++)

{

do

{

if(i%3) continue;

n++;

} while(!i);

n++;

}

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

}

程序执行后的输出结果是D

A)n=5 B)n=2 C)n=3 D)n=4 2.有以下程序main()

{

int i,j,x=0;

for(i=0;i<2;i++)

{

x++;

for(j=0;j<=3;j++)

{

if(j%2) continue;

x++;

}

x++;

}

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

}

程序执行后的输出结果是B

A)x=4 B)x=8 C)x=6 D)x=12 3.下面程序的功能是输出以下形式的金字塔图案

*

***

*****

*******

main( )

{

int i,j;

for(i=1;i<=4;i++)

{

for(j=1;j<=4-i;j++) printf(" ");

for(j=1;j<=_______;j++) printf("*");

printf("\n");

}

}

在下划线处应填入的是B

A)i B)2*i-1 C)2*i+1 D)i+2

第五节循环结构的分析方法

习题

1.以下程序段中的变量已正确定义

for(i=0;j<4;i++,i++)

for(k=1;k<3;k++); printf("*");

程序段的输出结果是()D

A)******** B)**** C)** D)*

第五章函数

第一节函数的定义、库函数

习题

1.在C语言中,函数返回值的类型最终取决于A

A)函数定义时在函数首部所说明的函数类型

B)return语句中表达式值的类型

C)调用函数时主函数所传递的实参类型

D)函数定义时形参的类型

2.有以下函数

int fun(char *s)

{

char *t=s;

while(*t++);

return(t-s);

}

该函数的功能是B

A)比较两个字符的大小B)计算s所指字符串占用内存字节的个数

C)计算s所指字符串的长度D)将s所指字符串复制到字符串t 中3.程序中对fun函数有如下说明C

void *fun();

此说明的含义是

A)fun函数无返回值

B)fun函数的返回值可以是任意的数据类型

C)fun函数的返回值是无值型的指针类型

D)指针fun指向一个函数,该函数无返回值

第二节函数的调用与函数说明

习题

1.有以下程序

#include

int f(int x)

{

int y;

if(x==0||x==1) return (3);

y=x*x-f(x-2);

return y;

}

main()

{

int z;

z=f(3);

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

}

程序的运行结果是C

A)0 B)9 C)6 D)8

2.以下叙述中错误的是C

A)改变函数形参的值,不会改变对应实参的值

B)函数可以返回地址值

C)可以在函数内部定义函数

D)调用sin函数需要包含头文件math.h

3.若程序中定义了以下函数

double myadd(double a, double b)

{

return (a+b);

}

并将其放在调用语句之后,则在调用之前应进行函数声明,以下选项中错误的是A A)double myadd(double a, b); B)double myadd(double, double); C)double myadd(double b, double a); D)double myadd(double x, double y);

第三节函数的数据传递

习题

1.有以下程序

void f(int v , int w)

{

int t;

C语言基础题及参考答案

第一单元程序设计和C语言 一、选择题 1.C语言的基本构成单位是: A 。 A. 函数 B. 函数和过程 C. 超文本过程 D. 子程序 2.一个C语言程序总是从 B 开始执行。 A. 主过程 B. 主函数 C. 子程序 D.主程序 3.C语言的程序一行写不下时,可以 D 。 A. 用逗号换行 B. 用分号换行 C. 在任意一空格处换行 D. 用回车符换行 4.以下叙述不正确的是: C 。 A. 在C程序中,语句之间必须要用分号";"分隔 B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数 C. 在C程序中,无论是整数还是实数都能正确无误地表示 D. 在C程序中,%是只能用于整数运算的运算符 5.以下不正确的C语言标识符是 D 。 A. ABC B. abc C. a_bc D. ab.c 6.下列字符串是标识符的是:。 ? A. _HJ B. 9_student C. long D. LINE 1 7.以下说法中正确的是: C 。 A. C语言程序总是从第一个定义的函数开始执行 B. 在C语言程序中,要调用的函数必须放在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分 8.不合法的常量是: B 。 A. ...\2? B. "" C. ...3? D. (483) 9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:。 int k,a,b; unsigned long w=5; double x=1.422; A. x%(-3) B. W += -2 C. k=(a=2,b=3,a+b) D. a+=a=+(b=4)*(a=3) 10.在C语言中,字符型数据在内存中以 D 形式存放。 A. 原码 B. BCD码 C. 反码 D. ASCII码 11.若有定义:int a=7; float x=2.5; y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是: A 。

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析《程序设计基础》习题参考答案与部分解析 第1章 C 语言概述 一、填空 a) C源程序的基本单位是函数。 b) 一个C程序中至少应包括一个 main函数。 c) 在C语言中,输出操作是有库函数 printf( )函数完成。二、单选题 1、A 2、C 3、B 解析: 第1题答案:A 。因为一个C程序总是从main函数开始执行的, 而不论main函数在程序中的位置。且到main函数结束。 第2题答案:C 。因为 main函数没有限制必须位于程序的最前 面。C程序书写自由,一行内可写几个语句。在对一个C 程序进行编 译的过程中,无法检查注释当中的拼写错误。不过C语言本身并没有 输入输出语句,输入输出是由函数完成的。 第3题答案:B。因为一个C语言程序是由若干个函数组成的。 但至少包含一个main 函数,且main函数的位置不限。三、编程题 1、编写一个输出“Welcome to C!”信息的小程序。 解:程序如下 #include “stdio.h” main( ) { 1

printf(“Welcome to C!”) ; } 2、已知三角形的三边长分别为3,4,5,试用海轮公式编程求其面积。 海伦公式为:S?= ,其中s= (a+b+s)/2 ; 解:程序如下 #include “math.h” #include “stdio.h” main( ) { int a , b , c ; /* a ,b,c 3个整型变量表示三角形 的3条边。*/ float s ,s1 ; /* s1作为面积变量,s 作为中间变 量是都应该是实形*/ a=3 ; b= 4; c=5 ; s= (a+b+c)/2.0 ; s1= sqrt(s*(s-a)*(s-b)*(s-c)); /* sqrt函数完成开 平方根功能。*/ printf(“area=%f\n”,s1); } 2 第2章程序设计基础知识 一、单选题 1、C 2、A 3、C 4、A 5、C 6、C 7、D 8、C 9、D 10、A 11、D 12、A 13、C 14、C 15、B A 16、B 17 D

C语言基础练习题(含答案)

第一章C语言基础知识 1.1 选择题 1. 以下不是C语言的特点的是()。 A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好 2.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D.-_ok 3.正确的C语言标识符是()。 A._buy_2 B.2_buy C.?_buy D.buy? 4. 请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3C.For D.2a define _123 -abc DO WORD IF Case sizeof 5.下列符号中,不属于转义字符的是()。 A.\\ B.\0xAA C.\t D.\0 6.不属于C语言关键字的是()。 A.int B.break C.while D.character 7.是C语言提供的合法关键字的是()。 A.Float B.signed C.integer D.Char

8.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 9.一个C程序是由()。 A.一个主程序和若干子程序组成 B.一个或多个函数组成 C.若干过程组成 D.若干子程序组成 10. C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 11.下列说法中,错误的是()。 A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号 B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用 D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数 12.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分13. C编译程序是()。 A.C程序的机器语言版本 B.一组机器语言指令

C语言课后习题答案

第一章习题答案 一、选择题 1~5:BDCDA 6~10:DABBB 11~12:CC 二、填空题 1、main() 2、函数首部,函数体 3、函数 4、编辑、编译、连接、运行 5、.cpp、.obj、 .exe 6、; 或分号 三、编程题 #include /* 包含标准库的信息 */ void main() /* 定义名为main 的函数,它不接受参数值 */ { /* main函数的语句都被括在花括号中 */ printf("hello, world\n"); /* main 函数调用库函数printf 以 显示字符序列,其中\n代表换行符 */ } 第二章习题答案 一、选择题 1~5:CBABB 6~10:CDCDD 11~15:CADBC 16~20:BDAAD 二、填空题 1、整型,实型,字符型,枚举类型 2、1 3、9 4、12353514 5、2,1 6、2,2 7、10 20 0 8、a=14 9、2,3,1 10、double 第三章习题答案 一、选择题 1~5:CBBBC 6~10:DDDBB 二、填空题 1、控制语句,表达式语句,复合语句 2、; 3、{} 4、1 5、a 6、c:dec=120,oct=170,hex=78,ASCII=x 7、32767,32767 8、10,A,10 9、3 3 10、 (1) 123.456001 (2) □□□□□□□ 123.456 (3) 123.4560 (4) 8765.456700 (5) □□□□□□ 8765.457 (6) 8765.4567 (7) 8765.4567 三、编程题 1、参考答案: #include void main() { int a,b,c; long int u,n; float x,y,z; char c1,c2; a=3;b=4;c=5; x=1.2;y=2.4;z=-3.6; u=51274;n=128765; c1='a';c2='b'; printf("\n"); printf("a=%2d b=%2d c=%2d\n",a,b,c ); printf("x=%8.6f,y=%8.6f,z=%9.6f\n",x, y,z); printf("x+y=%5.2f y+z=%5.2f z+x=%5. 2f\n",x+y,y+z,z+x); printf("u=%6ld n=%9ld\n",u,n); printf("c1='%c' or %d(ASCII)\n",c1,c1); printf("c2='%c' or %d(ASCII)\n",c2,c2); } 2、参考答案: #include void main() { float a, b, c, t;

c语言第四版课后习题答案

c语言第四版课后习题答案 C语言第四版课后习题答案 在学习C语言第四版课程后,许多学生都会遇到各种各样的问题和疑惑。为了帮助大家更好地掌握C语言的知识,我们整理了一些课后习题的答案,希望能够对大家有所帮助。 1. 什么是C语言? C语言是一种通用的高级程序设计语言,它广泛应用于系统软件、应用软件、驱动程序、网络通信等领域。C语言具有高效、灵活、可移植等特点,是程序员必备的基本技能之一。 2. C语言的基本语法有哪些? C语言的基本语法包括数据类型、变量、运算符、控制语句、函数等。学习C 语言首先要掌握这些基本语法,才能够编写出正确的程序。 3. 如何定义一个变量? 在C语言中,可以使用关键字“int”、“float”、“char”等来定义不同类型的变量。例如: int a; // 定义一个整型变量a float b; // 定义一个浮点型变量b char c; // 定义一个字符型变量c 4. 如何进行条件判断? 在C语言中,可以使用“if”、“else”、“switch”等关键字来进行条件判断。例如:if (a > b) { printf("a大于b");

} else { printf("a小于等于b"); } 5. 如何定义一个函数? 在C语言中,可以使用关键字“void”、“int”、“float”等来定义不同类型的函数。例如: int max(int a, int b) { if (a > b) { return a; } else { return b; } } 通过学习C语言第四版课程,我们可以更好地理解和掌握C语言的知识,提高自己的编程能力。希望大家能够通过不断练习和实践,掌握C语言的基本原理和技巧,成为一名优秀的程序员。

c语言第四版习题答案

c语言第四版习题答案 C语言第四版习题答案 C语言作为一门广泛应用于计算机编程领域的编程语言,其重要性不言而喻。对于初学者来说,通过解答习题可以更好地理解和掌握C语言的基本概念和语法规则。本文将为读者提供C语言第四版习题的答案,帮助读者更好地学习和巩固C语言的知识。 第一章:计算机概述 1. 题目:计算机的五大组成部分是什么? 答案:计算机的五大组成部分包括输入设备、输出设备、中央处理器(CPU)、主存储器和辅助存储器。 2. 题目:什么是二进制? 答案:二进制是一种用0和1表示数字和字符的计算机语言。计算机内部的所有数据都以二进制形式存储和处理。 第二章:C语言基础 1. 题目:C语言的注释有几种形式? 答案:C语言的注释有两种形式,分别是单行注释(以双斜杠“//”开头)和多行注释(以“/*”开头,“*/”结尾)。 2. 题目:C语言中的变量有哪些基本数据类型? 答案:C语言中的变量有基本数据类型,包括整型(int)、字符型(char)、浮点型(float和double)和无类型(void)。 第三章:运算符和表达式 1. 题目:C语言中的赋值运算符有哪些?

答案:C语言中的赋值运算符包括“=”(简单赋值)、“+=”(加后赋值)、“-=”(减后赋值)等。 2. 题目:C语言中的逻辑运算符有哪些? 答案:C语言中的逻辑运算符包括“&&”(逻辑与)、“||”(逻辑或)和“!”(逻辑非)。 第四章:控制语句 1. 题目:C语言中的if语句和switch语句有什么区别? 答案:if语句根据条件的真假来执行不同的代码块,而switch语句根据表达式的值来选择执行哪个代码块。 2. 题目:C语言中的循环语句有哪些? 答案:C语言中的循环语句包括for循环、while循环和do-while循环。 第五章:数组和指针 1. 题目:C语言中如何定义一个一维数组? 答案:C语言中可以通过指定数组的类型和大小来定义一个一维数组,例如int array[10]表示定义一个包含10个整型元素的数组。 2. 题目:C语言中如何使用指针访问数组元素? 答案:可以使用指针和下标来访问数组元素,例如int *ptr = array; ptr[i]表示访问数组array的第i个元素。 通过解答以上习题,读者可以更好地理解和掌握C语言的基本知识。在学习过程中,建议读者多动手实践,编写一些简单的程序来加深对C语言的理解。同时,也可以参考其他学习资源,如教材、教程等,来扩展自己的知识面。只有不断地学习和实践,才能真正掌握好C语言这门强大的编程语言。

C语言程序设计基础知识 习题一及参考答案

第一章:程序设计基础知识 一、单项选择题 1、以下( )是面向过程的程序设计语言。 A)机器语言B)汇编语言C)高级语言D)第四代语言 2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是( )。 A)设计数据结构和算法B)建立数学模型 C)编写程序D)调试和运行程序 3、以下常用算法中适合计算等差级数的算法是( )。 A)枚举法B)递推法C)分治法D)排序法 4、以下不属于算法基本特征的是( )。 A)有穷性B)有效性C)可靠性D)有一个或多各输出 5、以下描述中不正确的是( )。 A)程序就是软件,但软件不紧紧是程序。 B)程序是指令的集合,计算机语言是编写程序的工具。 C)计算机语言都是形式化的语言,它有一个语法规则和定义。 D)计算机语言只能编写程序而不能表示算法。 6、下面描述中,正确的是( ) A)结构化程序设计方法是面向过程程序设计的主流。 B)算法就是计算方法。 C)一个正确的程序就是指程序书写正确。 D)计算机语言就是编写程序的工具而不是表示算法的工具。 7、下面描述中,不正确的是( )。 A)递归法的关键是必须有一个递归终止的条件。

B)递归算法要求语言具有反复自我调用子程序的能力。 C)对于同一个问题,递推算法比递归算法的执行时间要长。 D)递推算法总可以转换为一个递归算法。 8、N-S图与传统流程图比较,主要优点是( )。 A)杜绝了程序的无条件转移。 B)具有顺序、选择和循环三种基本结构。 C)简单、只管。 D)有利于编写程序。 A)B)C)D) 二、填空题 1、在流程图符号中,判断框中应该填写的的是________。(判断条件) 2、结构化程序设计是__________应遵循的方法和原则。(面向过程编程) 3、结构化程序必须用__________程序设计语言来编写。(具有结构化控制语句) 4、可以被连续执行的一条条指令的集合称为计算机的________。(程序) 5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。(面向对象) 6、任何简单或复杂的算法都是由_____和_____这两个要素组成。(数据结构算法) 7、算法的_______特征是指:一个算法必须在执行有限个操作步骤后终止。(有穷性) 8、在三种基本结构中,先执行后判断的结构被称为_________。(直到型循环结构) 9、在程序设计中,把解决问题确定的方法和有限的步骤称为______。(算法) 10、程序设计风格主要影响程序的________。(可读性) 11、用模块组装起来的程序被成为________结构化程序。(模块化) 12、采用自上而下,逐步求精的设计方法便于____________。(结构化和模块化) 三、应用题

c语言试题及答案大全

c语言试题及答案大全 C语言是一种通用的高级编程语言,被广泛应用于软件开发和系统编程。掌握C语言的知识对于计算机科学专业学生和程序员来说至关重要。本文将为您提供一份C语言试题及答案大全,帮助您巩固和扩展自己的C语言知识。 第一部分:基础概念和语法 1. 什么是C语言? 答案:C语言是一种高级编程语言,由贝尔实验室的Dennis Ritchie 在20世纪70年代开发。它是Unix操作系统及其应用程序的主要编程语言。 2. C语言的特点是什么? 答案:C语言具有简洁、高效、可移植性强的特点。它提供了丰富的控制结构和数据类型,并允许直接访问计算机内存。 3. C语言的基本数据类型有哪些? 答案:C语言的基本数据类型包括整型、浮点型、字符型和指针型等。其中整型可以分为短整型、整型、长整型和长长整型。 4. 请解释一下C语言中的变量作用域。 答案:C语言中的变量作用域指的是变量的可见性和生命周期。在C语言中,变量的作用域可以是全局的或局部的。全局变量定义在函

数之外,可以被程序的任何部分访问。局部变量定义在函数内部或代 码块内部,只能在其所在的作用域内访问。 5. C语言中有哪些控制语句? 答案:C语言中常用的控制语句有条件语句(if-else语句)、循环 语句(for循环、while循环和do-while循环)和跳转语句(break语句、continue语句和goto语句)等。 第二部分:程序设计题 1. 写一个程序,输入两个整数,并输出它们的和。 答案: ```c #include int main() { int a, b, sum; printf("请输入两个整数:"); scanf("%d %d", &a, &b); sum = a + b; printf("它们的和是:%d\n", sum); return 0; }

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位补码的表示范围是多少?答: 5.1968年Dijkstra提出结构化程序设计的思想的原因是什么?简要回答结构化程序设计的经典定义。答: 结构化程序设计概念的提出主要是源于程序结构的层次性与模块化使得构造出来的软件具有良好的可理解性和可维护性,随着软件规模的扩大与复杂性的提高,程序的可维护性成为程序设计者们关注的重要问题之一。 如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 6.C程序在内存中存储在哪儿?计算机的内存空间是如何分区的?分区存放不同类型的数据的目的是什么?答: 0~65535、-128~127、-32768~32767 C语言程序属于应用程序,程序代码本身存放在应用程序区,程序运行时处理的数据存计算机的内存空间主要分为3个区:系统程序区、应用程序区和数据区,其中数据区

《C语言程序设计》课后习题答案(第四版)

《C语言程序设计》课后习题答案(第四版) C语言程序设计课后习题答案(第四版) 1. 基础知识概述 C语言程序设计是一门广泛应用于软件开发领域的编程语言。它以其简洁、高效以及可移植性而备受推崇。本文将为读者提供《C语言程序设计》(第四版)课后习题的详细解答,帮助读者加深对C语言的理解。 2. 第一章习题答案 2.1 习题1 题目:编写一个C语言程序,输出"Hello, World!"。 解答: ```c #include int main() { printf("Hello, World!"); return 0; } ``` 2.2 习题2

题目:编写一个C语言程序,接收用户输入的两个整数,并输出它们的和。 解答: ```c #include int main() { int num1, num2, sum; printf("请输入两个整数:"); scanf("%d %d", &num1, &num2); sum = num1 + num2; printf("它们的和是:%d", sum); return 0; } ``` 3. 第二章习题答案 3.1 习题1 题目:编写一个C语言程序,接收用户输入的一个整数,并判断它是否为偶数。 解答:

```c #include int main() { int num; printf("请输入一个整数:"); scanf("%d", &num); if (num % 2 == 0) { printf("这个数是偶数"); } else { printf("这个数不是偶数"); } return 0; } ``` 3.2 习题2 题目:编写一个C语言程序,接收用户输入的一个字符,并判断它是否为字母。 解答: ```c

《C语言编程基础》习题答案

《C语言编程基础(第2版)》习题答案 前言 《C语言编程基础(第2版)》每章后面都安排了一定数量的习题,这有利于读者理解、消化和掌握各单元的学习内容。习题中,除了有填空题、选择题、回答问题等适合掌握基本概念的题型外,大部分是分析程序运行结果和要求编写实用程序,这有利于读者训练编程技巧和增强编程能力。应广大读者要求,特别是一线教学老师的要求,我们给出全部习题答案,供读者参考。编程答案只是实现题目算法要求的一种,并不一定是最好的。希望读者自己多做思考,利用多种方法进行编程,用以提高自己的程序设计水平和锻炼自己的创新能力。由于作者水平所限,错误和不当之处在所难免,恳请批评指正。 习题一 1、填空题。 ⑴ C语言程序由__函数__组成,其中必须有且只能有一个名为_main__的函数。C程序的执行从___名为main的主__函数开始。 ⑵每个C语句必须以__分__号结束。 ⑶标识符只能由_英文字母_、__数字_和_下划线__三类符号构成,而且标识符的第一个字符必须是__英文字母__或__下划线__。 ⑷关键字是指___C语言编译系统所固有的、具有专门意义的标识符___。 ⑸ C程序中,注释的内容应放在__/*_和_*/__符号之间。 2、选择题。 ⑴下面合法的C语言标识符是___ C ___。 ⑵ C语言中主函数的个数是___ A______。 ⑶以下有关注释的描述中,错误的是___ C ___。 ⑷ C程序中,main函数的位置____ D___。 3、指出并改正下面程序中的错误。 ⑴ main 应为 main() ⑵应在本程序最后加上大括号 }。 ⑶语句结束应有分号。如: int a,b; a=1;b=2; printf("%d",a+b); 4、分析下列程序,写出运行结果。

《C语言编程基础》习题答案

《C语言编程基础》习题答案C语言编程基础习题答案 一、选择题 1. 答案:B 解析:选项A中的“;”是分号而不是逗号,选项C中漏写了int,选项D中多了一个等号。 2. 答案:C 解析:sizeof()函数返回的是指定数据类型的大小,选项A和选项B 中给出的返回值是错误的,选项D中给出的是数组元素的个数。 3. 答案:D 解析:在C语言中,0表示假,非0表示真。 4. 答案:A 解析:scanf()函数用于从标准输入流中读取数据,并将数据赋值给指定的变量。 5. 答案:B 解析:变量名是用来标识内存位置的,它是由字母、数字和下划线组成的,且必须以字母或下划线开头。 二、填空题

1. 答案:int 解析:函数返回值类型应该与函数定义中的返回值类型一致。 2. 答案:sum+=i; 解析:表示将i的值累加到sum中。 3. 答案:float 解析:num是一个浮点型变量。 4. 答案:while 解析:while循环会循环执行一段代码,直到给定的条件不再满足时退出循环。 5. 答案:true 解析:true是C语言中的关键字,表示真。 三、编程题 1. 答案: ```c #include int main() { int n, i, sum = 0;

printf("请输入一个整数:"); scanf("%d", &n); for(i = 1; i <= n; i++) { sum += i; } printf("1到%d的和为:%d\n", n, sum); return 0; } ``` 解析:该程序计算了从1到n的整数之和。 2. 答案: ```c #include int main() { int num, i, is_prime = 1; printf("请输入一个整数:"); scanf("%d", &num);

《C语言程序设计》(苏小红) 课后习题参考答案 高等教育出版社

《C语言程序设计》(苏小红) 课后习题参考 答案高等教育出版社 《C语言程序设计》(苏小红) 课后习题参考答案 一、基础知识题 1. C语言是一种通用的、面向过程的程序设计语言。它在20世纪70年代由贝尔实验室的Dennis M. Ritchie开发。 2. C程序的基本组成部分有:预处理指令、函数、变量和语句。 3. C语言的数据类型包括:整型、浮点型、字符型、枚举型和指针型等。 4. C语言的运算符包括:算术运算符、关系运算符、逻辑运算符和位运算符等。 5. C语言的控制语句包括:顺序结构、分支结构和循环结构等。 6. C语言的函数由函数头和函数体组成,其中函数头包括函数的返回类型、函数名和参数列表。 7. C语言的数组是一种存储相同类型数据元素的连续存储区域。 8. C语言中的字符串是由字符组成的字符数组。 二、程序设计题 1. 编写一个程序,输入一个整数n,计算并输出1到n之间的所有正整数的平方和。

```c #include int main() { int n; int sum = 0; printf("请输入一个整数n:"); scanf("%d", &n); for (int i = 1; i <= n; i++) { sum += i * i; } printf("1到%d之间的所有正整数的平方和为:%d\n", n, sum); return 0; } ``` 2. 编写一个程序,输入一个正整数n,判断该数是否为素数(只能被1和自身整除)。 ```c #include int isPrime(int n) {

c语言前五章基础知识练习题答案(C程序设计第五版)

一、单选题 1. C语言中的三大基本数据类型包括( B ) A.整型、实型、逻辑型 B.整型、实型、字符型 C.整型、逻辑型、字符型 D.整型、实型、逻辑型、数组型 2. 在C语言中,以下合法的字符常量是( C ) A. '\048' B. 'ab' C. '\43' D. "\0" 3.设x 为 int 型变量,执行下列语句: x=10; x+=x-=x-x; 则x的值为 ( B ) A. 15 B. 20 C. 25 D. 30 4.逗号表达式(a=3*5,a*4),a+15的值是( B ) A.15 B. 30 C. 60 D. 75 5. .以下程序的输出结果是( C )。 main( ) { int x=10,y=11; printf("%d,%d\n",x--,--y); } A. 11,11 B. 10,11 C. 10, 10 D.11,10 6.设有变量说明:int a=7,b=8;那么语句: printf("%d,%d\n",(a+b,a),(b,a+b)); 的输出应该是( A ) A. 7,15 B. 8,15 C. 15,7 D.15,8 7. C语言变量名中不能使用的字符是( D ) A. 数字 B. 字母 C. 下划线 D. 关键字 8.以下变量定义中合法的是( A ) A.short a=2.1e-1; B. double b=1+5e0.5; C. long do=0xffe ; D. float 3_end=1-e3; 9.若有说明语句char ch1=′\x79′;则ch1(D ) A.包含4个字符 B.包含3个字符 C. 包含2个字符 D.包含1个字符 10. 设整形变量a=12;则执行完语句a+=a-=a*a后a的值为() A. 552 B. 264 C. -264 D. 144 11.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c

《C语言基础》习题及答案

《C语言基础》习题及答案 《C语言基础》习题及答案 一、选择题 1.设a的值为15,n的值为5,则进行a%=(n%=2)运算后,a的值为。 2.设有类型说明 unsigned int a=65535; ,按%d格式输出a的值,其结果是。 B.-1 D.-32767 3.下列运算符中优先级最高的是。 A.?: B.&& C.+ D.!= 4. 以下程序输出的结果是。 main( ) { int a= -1,b=4,k; k=!((++a 5.下面的程序执行后,变量a的值是。#define SQR(x) x*x main() { int a=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m); printf(\} 6.设有int i;则表达式i=1,++i,++i||++i,i的值为。 7.设有int i;则表达式(i=1,i=10)?i++||++i:++i的值为。 8.设有int a={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次

是。 ,11,12 ,12,12 ,12,12 ,11,12 9.设有int i, j, k; 则表达式i=1,j=2,k=3, i&&j&&k 的值为 ( A )。 10.设有说明int s[2]={0,1},*p=s; 则下列错误的C语句是 ( A )。 +=1; +=1; C.*p++; D.(*P)++; 1 11.以下叙述正确的是( D )。 A.可以把define和if定义为用户标识符 B.可以把if定义为用户标识符,但不能把define定义为用户标识符和if都不能定义为用户标识符 D.可以把define定义为用户标识符,但不能把if定义为用户标识符 12. 以下程序的输出结果是。void prtv(int *x) { printf(\ } main() { int a=25; prtv(&a); } D.以上均不对 13. 设有以下说明语句struct ex { int x; float y;char z; } example; 则下面的叙述中不正确的是。 ex是结构体类型,y,z都是结构体成

C语言基础题及答案

C语言基础题及答案 1、一个C语言的源程序中[正确答案:A]。 A)必须有一个主函数B)可以有多个主函数C)必须有主函数和其他函数D)可以没有主函数 2、关于C程序的主函数,以下描述中正确的是 [正确答案:B]。 A)C程序的第一个函数称为主函数,程序从该函数开始运行。B)C程序的主函数即是main函数,程序从该函数开始运行。C)C程序可以有多个主函数,程序从第一个主函数开始运行。D)C程序可以没有主函数,程序从第一个函数开始运行。3、C程序中,return语句的作用是[正确答案:D]。 A)终止程序运行B)返回到上层循环C)返回到外层结构D)返回到上层函数 4、C语言程序的3种基本结构是[正确答案:A]。A)顺序结构,选择结构,循环结构B)递归结构,循环结构,转移结构C)嵌套结构,递归结构,顺序结构D)循环结构,转移结构,顺序结构 5、以下对C程序的描述中正确的是[正确答案:A]。A)C程序总是从main()函数开始执行。B)C程序可以从程序中的任何函数开始执行。C)C程序总是从第一个定义的函数开始执行。D)C程序中的main()函数必须放在程序的开始部分。 6、关于C程序第1行的包含语句,以下写法中正确的是[正确答案:D]。A)#include stdio.h B)#include'stdio.h'C)#include(stdio.h)D)#include 7、关于C语言程序,正确的编程流程应该是[正确答案:A]。 A)编辑→保存→编译→运行B)编译→编辑→运行→保存C)保存→运行→编辑→编译D)运行→编译→保存→编辑 8、下列的哪个不是C语言的关键字[正确答案:D]。 A)while B)auto C)break D)printf 9、下列的哪个不是C语言的算术运算符[正确答案:C]。 A)+B)%C)=D)- 10、下列的哪个不是C语言的关系运算符[正确答案:C]。 A)>=B)<=C)=D)!= 11、下列的哪个是错误的描述[正确答案:D]。 A)代码如果没有缩排是错误的B)程序总是从main函数开始执行C)注释/*和*/不可以嵌套 D)C源文件经过编译先生成目标文件,再经过连接才能生成可执行文件12、以下哪个是合法的用户标识符[正确答案:B]。 A)3ab B)_isw C)float D)b-b 13、以下四项中哪个不是合法的变量名[正确答案:B]。A)INT B)int C)year2009D)my_program 14、以下选项中,合法的C语言用户标识符是[正确答案:D]。 A)b-a B)5ab C)int D)_5ab 15、以下选项中,三种类型都是C语言的基本类型的是[正确答案:C]。 A)int,long,real B)integer,short,double C)int,float,char D)int,decimal,char 16、关于main函数的实现,以下写法中必定错误的是[正确答案:A]。 A)main{printf("Hello\n");}B)main(){printf("Hello\n");} C)int main(void){printf("Hello\n");}D)void main(){printf("Hello\n");} 17、把x,y定义成float类型,并赋同一初值3.14,正确的是[正确答案:C]。 A)float x,y=3.14;B)float x,y=2*3.14;C)float x=y=3.14;D)float x=3.14,y=x; 18、若变量已正确定义并赋值,以下哪个表达式不符合C语言语法[正确答案:B]。A)a*b/c B)3.14%2C)2,b D)a/b/c 19、设int n,m;使m为n的十进制百位数的语句是[正确答案:C]。 A)m=n/100;B)m=n%100;C)m=n/100%10;D)m=n%10/100; 20、设float x,y;使y为x的小数部分的语句是[正确答案:C]。A)y=(int)x;B)y=int(x);C) y=x–(int)x;D)y=x–int(x); 21、C语言中的运算对象必须是整型的运算是[正确答案:D]。 A)/B)=C)>=D)%

C语言课程 课后练习 参考答案

实验6-1 课后练习: 1.选择题 (1)B (2)C(3)A(4)D(5)C (6)C (7)D 2.阅读程序,写出运行结果 30 20 10 3.阅读程序,写出运行结果 20 10 4. 阅读程序,写出运行结果 1 2 3 5.阅读程序,写出运行结果 7 8 9 6.阅读程序,写出运行结果 9 7.阅读程序,写出运行结果 #include int digit(int n,int k); int main() { int n,k; printf("Enter n,k: "); scanf("%d %d",&n,&k); printf("\nThe result is:%d\n",digit(n,k)); return 0; } int digit(int n,int k) { int d; while(k>0) { d=n%10; n=n/10; k--; } return d; } 8.程序填空 #include double max(double a,double b);

int main() { double x,y; prinf("please input two double numbers:"); scanf("%lf %lf"),&x,&y; printf("%.2f\n",max(x,y)); return 0; } double max(double a,double b) { return (a>b?a:b); } 9. 原版 #include int check(int n,int d); int main() { int n,d; printf("Enter n,d: "); scanf("%d %d",&n,&d); if(check(n,d)==1) printf("The digit %d is in data %d",d,n); else printf("The digit %d is not in data %d",d,n); return 0; } int check(int n,int d) { int temp; while(n>0) { temp=n%10; if(temp==d)return 1; n=n/10; } return 0; } 改进版 #include int check(int n,int d); int main() { int n,d,position; printf("Enter n,d: "); scanf("%d %d",&n,&d); position=check(n,d);

C语言基础题及参考答案

第一单元程序设计和C语言 选择题 1.C语言的基本构成单位是:A。 A.函数B,函数和过程C.超文本过程D.子程序 2.一个C语言程序总是从B开始执行。 A.主过程 B.主函数 C.子程序 D.主程序 3.C语言的程序一行写不下时,可以D。 A.用逗号换行 B.用分号换行 C.在任意一空格处换行 D.用回车符换行 4.以下叙述不正确的是:C。 A.在C程序中,语句之间必须要用分号";"分隔 B.若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数 C.在C程序中,无论是整数还是实数都能正确无误地表示 D.在C程序中,%是只能用于整数运算的运算符 5.以下不正确的C语言标识符是D。 A.ABC B.abc C.a_bc D. 6.下列字符串是标识符的是:。? A._HJ B.9_student C.long D.LINE1 7.以下说法中正确的是:C。 A.C语言程序总是从第一个定义的函数开始执行 8.在C语言程序中,要调用的函数必须放在main()函数中定义 1.C语言程序总是从main()函数开始执行 2.C语言程序中的main()函数必须放在程序的开始部分 8.不合法的常量是:B。 A.''2' B."" C.'3' D.''483' 9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:。 intk,a,b; unsignedlongw=5; doublex=; A.x%(-3) B.W+=-2 C.k=(a=2,b=3,a+b) D.a+=a=+(b=4)*(a=3) 10.在C语言中,字符型数据在内存中以D形式存放。 A.原码 B.BCD码 C.反码 D.ASCII码 11.若有定义:inta=7;floatx=;y=; 则表达式x+a%3*(int)(x+y)%2/4的值是:_A—。

相关主题
文本预览
相关文档 最新文档