文档库 最新最全的文档下载
当前位置:文档库 › C语言总复习练习题

C语言总复习练习题

C语言总复习练习题
C语言总复习练习题

C语言期末整理练习题

一.选择题

1、以下选项中属于C语言的数据类型是()。

A. 复合型

B. 双精度型

C. 逻辑型

D. 集合型

2、选出下列标识符中不是合法的标识符的是()。

A. hot_do

B. printf

C. _pri

D. 2ab

3、在下列选项中,不正确的赋值语句是()

A. ++t;

B. n1=(n2=(n3=0));

C. k=i==j;

D. a=b+c=1;

4、以下4组用户定义标识符中,全部合法的一组是()

A._main enclude sin

B.If -max turbo

C.txt REAL 3COM

D.int k_2 _001

5、表示关系x<=y<=z的c语言表达式为()

A.(X<=Y)&&(Y<=Z)

B.(X<=Y)AND(Y<=Z)

C.(X<=Y<=Z)

D.(X<=Y)&(Y<=Z)

6、设C语言的一个int型数据在内存中占2个字节,则unsigned int型数据的取值范

围是()

A)0~255 B)0~32767 C)0~65535 D)0~2147483647

7、下面4个选项中,均是不合法的用户标识符的选项是()

A)A P_0 do

B)float la0 _A

C)b-a goto int

D)_123 temp INT

8、下面4个选项中,均是合法整型常量的选项是()

A)160 -0xffff 011

B)-0xcdf 01a 0xe

C)-01 986,012 0668

D)-0x48a 2e5 0x

9、下面4个选项中,均是不合法的整型常量的选项是()

A)-0f1 -0xffff 0011

B)-0Xcdf 017 12,456

C)-018 999 5e2

D)-0x48eg -068 03f

10、下面4个选项中,均是不合法的浮点数的选项是()

A)160. 0.12 e3

B)123 2e4.2 .e5

C)-.18 123e4 0.0

D)-e3 .234 1e3

11、下面4个选项中,均是合法浮点数的选项是()

A)+1e+1 5e-9.4 03e2

B)-.60 12e-4 -8e5

C)123e 1.2e-.4 +2e-1

D)-e3 .8e-4 5.e-0

12、下面4个选项中,均是合法转义字符的选项是()

A)’\’’‘\\’‘\n’

B)’\’‘\017’‘\”‘

C)’\018’‘\f’‘xab’

D)’\\0’‘\101’‘xlf’

13、下面4个选项中,均是不合法的转移字符的选项是()

A)’\”‘‘\\’‘\xf’

B)’\1011’‘\’‘\a’

C)’\011’‘\f’‘\}’

D)’\abc’‘\101’‘xlf’

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

A)”c”B)”\\”C)’W’D)’’

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

A)-10 0x8f -011

B)0abc -017 0xc

C)0010 -0x11 0xf1

D)0a12 -0x123 -0xa

16、下面4个选项中,均是正确的数制常量或字符常量的选项是()

A)’as’-0fff ‘\0xa’

B)’\\’‘\101’’12,456’

C)-0x18 01177 0xf

D)0xabc ‘\0’“a”

17、若有代数式,则不正确的C语言表达式是()

A)a/b/c*e*3 B)3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*3 18、以下表达式的值为3的是()

A)16-13%10 B)2+3/2

C)14/3-2 D)(2+6)/(12-9)

19、有以下程序

main()

{

int m=12,n=34;

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

}

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

A. 12353514

B. 12353513

C. 12343514

D. 12343513

20、有以下程序

main()

{

int a,b,d=25;

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

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

}

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

A. 6,1

B. 2,1

C. 6,0

D. 2,0

21、读出以下语句的输出结果是( )。

int x=10,y=10;

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

A. 10 10

B. 9 9

C. 9 10

D. 10 9

22、以下语句的输出结果是()。

int a=-1,b=4,k;

k=(++a<0)&&!(b--<=0);

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

A. 1,0,4

B. 1,0,3

C. 0,0,3

D. 0,0,4

23、下述程序执行后的输出结果是()

#include

main()

{

int x='f';

printf("%c\n",'a'+(x-'a'+1));

}

A. g

B. h

C. i

D. j

二.填空题

1、C语言中普通整型变量的类型说明符为__________,在内存中占_____________字

节,有符号普通整型的数据范围是_______________。

2、C语言中基本的数据类型有:_____________、_____________、_______________。

3、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,

b的值为3,c的值为2,从键盘输入数据的正确形式应是

___________________________________。

4、表达式7+8>2 && 25 %5的结果是_____________________。

5、C语言中putchar(c ) 函数的功能是_________________________________。

6、有以下程序

#include

main( )

{ char ch1,ch2; int n1,n2;

ch1=getchar(); ch2=getchar();

n1=ch1-…0?; n2=n1*10+(ch2-…0?);

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

} 程序运行时输入:12<回车>,执行后输出结果是_____________________ 。

7、执行下列语句int a=8; a+=a-=a*a; 后,a的值是______________。

8、main( )

{ int n; ( n=6*4,n+6),n*2; printf(“n=%d\n”,n); }

此程序的输出结果是______________。

9、已知字母a的ASCII码为十进制数97,且ch为字符型变量,则表达式ch=’a’+’

8’-‘3’的值为________________。

10、若有定义语句:int s=6;则表达式s%2+(s+1)%2的值为________________。

三.解答题

1、仿照例题1.1编写程序,输出两行内容,第一行输出“我的名字是***。”,换行后

输出第二行“这是我的第一个C语言程序!”

#include

void main()

{

printf(“我的名字是***\n这是我的第一个C语言程序!”);

}

2、仿照例题1.2编写程序,计算长为12.6,宽为6.8的长方形周长的C语言程序。

#include

void main()

{

double a=12.6,b=6.8,c,area;

c=(a+b)*2;

area=a*b;

printf(“该长方形周长C=%lf,面积Area=%lf”,c,area);

}

3、仿照例题1.3编写程序,从键盘输入2个整数,并输出其中最小数的C语言程序。

#include

void main()

{

int min(int x,int y);

int a,b,c;

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

c=min(a,b);

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

}

int min(int x,int y)

{

int z;

if(x

else z=y;

return(z);

}

4、仿照例题1.3编写程序,从键盘输入4个整数,并输出其中最小数的C语言程序。

#include

void main()

{

int min(int x,int y);

int a,b,c,d,a_b,c_d,ab_cd;

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

a_b =min(a,b);

c_d =min(c,d);

ab_cd=min(a_b, c_d);

printf(“min=%d\n”,ab_cd);

}

int min(int x,int y)

{

int z;

if(x

else z=y;

return(z);

}

5、编写程序实现功能:从键盘输入一个百分制成绩,改用相应的五级分制成绩输出。

设:90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E (用switch语句实现)。

#include

void main()

{

int temp;

char grade; double score;

printf(“ please input integer number”);

scanf(“%lf”,&score);

temp=score/10;

switch(temp)

{

case 10:

case 9:grade='A';break;

case 8:grade='B';break;

case 7:grade='C';break;

case 6:grade='D';break;

case 5:

case 4:

case 3:

case 2:

case 1:

case 0:grade='E';break;

default: grade='0';

}

printf(“score=%lf,g rade=%c\n”,score,grade);

}

6、根据公式:π2/6≈1/12+1/22+1/32+…+1/n2;

求π的近似值,直到最后一项的值小于10-6为止。

#include

#include

main()

{

long i=1; double sum=0,pi;

while(i*i<=1.0e+6)

{

sum=sum+1/(i*i);

i++;

}

pi=sqrt(6.0*sum);

printf("pi=%10.6lf\n",pi);

}

7、利用for循环打印输出9-9乘法表。

1 2 3 4 5 6 7 8 9

2 4 6 8 10 12 14 16 18

3 6 9 12 15 18 21 2

4 27

4 8 12 16 20 24 28 32 36

5 10 15 20 25 30 35 40 45

6 12 18 24 30 36 42 48 54

7 14 21 28 35 42 49 56 63

8 16 24 32 40 48 56 64 72

9 18 27 36 45 54 63 72 81

#include

void main()

{

int i,j;

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

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

{

printf("%4d",i*j);

if(j==9)printf("\n");

}

}

8、有如下数学表达式:1-1/2+1/3-1/4+……+1/9-1/10;

请编写程序,输出该表达式的值。

#include

void main()

{

int i,sign=1; double sum=0;

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

{

sum=sum+1.0/i;

sign=(-1)*sign;

}

printf("%8.3lf\n",sum);

}

9、编写一个程序,计算三角形的面积。用函数实现,其中三角形的三个边长作为函

数的参数。

#include

#include

main()

{

float area(float x,float y,float z);

float a,b,c,s;

scanf("%f,%f,%f",&a,&b,&c);

s=area(a,b,c);

printf("a=%7.2f\nb=%7.2f\nc=%7.2f\ns=%7.2f\n",a,b,c,s);

}

float area(float x,float y,float z)

{

float len,s;

len=1.0/2*(x+y+z);

s=sqrt(len*(len-x)*(len-y)*(len-z));

return(s);

}

10、编写一个程序,实现这样的功能:根据从键盘输入的Y(y)与N(n),在屏幕上分别

显示出“This is YES”与“This is NO”,如果输入其他字符,则显示“ERROR”。

用函数实现。

#include

void YesNo(char ch)

{

switch(ch)

{ case …y?:

case …Y?:printf(“\nThis is YES\n”);break;

case …n?:

case …N?:printf(“\nThis is NO.\n”);

}

}

main()

{

char ch;

printf(“\nEnter a character …y?,?Y?or …n?,?N?:”)

ch=getchar();

printf(“ch:%c”,ch);

YesNo(ch);

}

11、函数fun的功能是:判断输入的3个整型值能够构成三角形,如果能,再判断构

成的是等边三角形还是等腰三角形。请把下述函数补充完整。

#include

void main())

{

int a,b,c;

printf(“请输入a,b,c:\n”);

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

fun(a,b,c);

}

fun(int a,int b,int c)

{

if((a+b)>c&&(b+c)>a&&(a+c)>b))

(请在此处填写正确的语句)

else

printf(“不能组成三角形”);

}

12、已有变量定义和函数调用语句,int x=57;b=sum(a);函数isPrime( )用来判断一

个整型数a是否为素数;若是素数,函数返回1,否则返回0。请编写isPrime()函数。

isPrime(int a)

{ }

13、编写一个程序,计算三角形的面积。用函数实现,从键盘输入三角形的三个边长

作为函数的参数。

14、编写一个程序,实现这样的功能:根据从键盘输入的Y(y)与N(n),在屏幕上分别

显示出“This is YES”与“This is NO”,如果输入其他字符,则显示“ERROR”。

用函数实现。

15、已有变量定义和函数调用语句:int a,b,c;c=fun(a,b);fun函数的作用是

计算两个数(需从盘输入)之差的绝对值,并将值返回主调函数,请编写程序实现上述功能。

16、已有变量定义和函数调用语句int a,b;b=sum(a);函数sum()的作用是求

1+2+3+……+n的值,并将和值作为函数返回值。从键盘输入a的值,请编写程序实现上述功能。

17、已有变量定义语句double a;int n;函数调用语句power(a,n);该函数的作用

是求a的n次方(a与n都是从键盘输入)。请编写程序实现上述功能。

18、以下函数p的功能是用递归的方法计算x的n阶勒让德多项式的值。已有调用语

p(n,x);请完成p函数的编写。递归公式如下:

double p(int n,int x)

{ }

19、有以下公式:

#include

void main()

{

double x,y=0;

scanf("%lf",&x);

if(x<1)

printf("y=%lf\n",x);

else if(x<10)

printf("y=%lf\n",2*x-1);

else

printf("y=%lf\n",3*x-11);

}

20、从键盘上输入a与n的值,计算sum=a+aa+aaa+aaaa+……(共n项)的和。例如:

输入a=2, n=4, 则sum=2+22+222+2222。

#include

void main()

{

int i; long int a,n,an=0,sum=0;

scanf("%d,%d",&a,&n);

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

{

an=an+a;

sum=sum+an;

a=a*10;

}

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

}

21、编写程序:输出1~200之间不能被4整除的数,按每行5个数的格式输出结果。

#include

void main()

{

int i,n=0;

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

{

if(i%4!=0)

{

printf("%4d",i);

n++;

if(n%5==0) printf("\n");

}

}

22、编写程序:找出1~100之间的全部同构数。同构数是这样的一组数:它出现在平

方数的右边。如:5出现在它的平方数25的右边,25出现在它的平方数625的右边,因此5和25都是同构数。

#include

void main()

{

int i;

printf("1-100的同构数有:\n");

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

if(i*i%10==i||i*i%100==i)

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

}

23、已知圆半径r和圆面积s都是是双精度类型变量,请从键盘输入半径的值,输出

相应的圆面积。(定义圆周率为常量PI=3.14)。

#include

#define PI 3.14

void main()

{

double r,s;

scanf(“%lf”,&r);

s=PI*r*r;

printf(“%8.3lf\n”,s);

}

24、输入正整数a和b,若a2+b2>100,则输出a2+b2之和的百位以上的数字;否则

直接输出a2+b2的值。

#include

main()

{

int a,b,x,y;

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

x=a*a+b*b;

if(x>100)

printf(“%d”,x/100);

else printf(“%d”,x);

}

25、编写程序,从键盘输入一个字母,输出该字母对应的ASCII码,输入和输出都要

有必要的文字说明。(如:“请输入一个字母:”、“输入字母对应的ASCII码值为:”)#include

void main()

{

printf(“请输入一个字母:\n”);

scanf(“%c”,&ch);

printf(“输入字母%c所对应的ASCII码值为:%d\n”,c,ch);

}

26、从键盘输入2个浮点数并比较2个浮点数是否相等,若相等则输出2个浮点数的

整数之和(先强制转换成整型,再求和),若不相等,则输出2个浮点数的商。

#include

#include

void main()

{

double a,b;

scanf(“%lf.%lf”,&a,&b);

if(fabs(a-b)<1e-6)

printf(“a与b的整数和为:%d\n”,(int)a+(int)b);

else

printf(“a与b的商为:%lf\n”,a/b);

}

27、将以下两条if语句合并成一条if-else语句

语句1:if(a>b) scanf(“%d”,&a);

else scanf(“%d”,&b);

语句2:if(a<=b)m++;

else n++;

————————————

合并后:

if(a>b)

{

scanf(“%d”,&a);

n++;

}

else

{

scanf(“%d”,b);

m++;

}

28、以下程序a对应的数学表达式是:;

程序a:#include

void main()

{

int a,b;

scanf(“%d”,&a);

if(a<0) b=-1;

else if(a==0)

b=0;

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

}

29、以下程序b对应的数学表达式是:;

程序b:#include

void main()

{

int a,b;

scanf(“%d”,&a);

b=0;

if(a!=0)

if (a>0) b=1;

else b=-1;

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

}

30、编写程序,从键盘输入两个整数,分别计算它们的商和余数。输出时,商要求

保留2位小数,第三位小数进行四舍五入。

#include

void main()

{

int a,b,c; double d;

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

c=a%b;

d=(double)a/b;

printf(“整数%d除以%d的余数是:%d,商是:%6.2lf\n”,a,bc,d);

}

31、编写程序,从键盘输入一个正整数,判断该整数是否能同时被5和7整除。若

是,输出YES;否则输出NO。

#include

void main()

{

int a;

scanf(“%d”,&a);

if(a%5==0&&a%7==0)

printf(“YES”);

else

printf(“NO”);

}

32、编写程序实现如下功能:根据下表的函数对应关系,对输入的每个x值,计算

输出相应的y值。

对应函数关系表

x y

x<0 0

0

10

20

——————————————

#include

void main()

{

int x;

double y;

scanf("%d",&x);

if(x<0) y=0;

else if(x<=10) y=x;

else if(x<=20) y=10;

else if(x<40) y=-0.5*x+20;

printf("%lf\n",y);

}

33、编写程序实现:输入一个整数,判断它是否能分别被3、5、7整除,并输出以下

信息之一:

(1)能同时被3、5、7整除;

(2)只能同时被其中两个数整除(要指出具体是哪两个数);

(3)只能同时被其中一个数整除(要指出具体是哪个数);

(4)不能被3、5、7中任何一个数整除。

#include

void main()

{

int a;

scanf("%d",&a);

if((a%3==0)&&(a%5==0)&&(a%7==0))

printf("%d能同时被3、5、7整除\n",a);

else if((a%3==0)&&(a%5==0))

printf("%d能同时被3、5整除\n",a);

else if((a%3==0)&&(a%7==0))

printf("%d能同时被3、7整除\n",a);

else if((a%5==0)&&(a%7==0))

printf("%d能同时被5、7整除\n",a);

else if(a%3==0)

printf("%d只能被3整除\n",a);

else if(a%5==0)

printf("%d只能被5整除\n",a);

else if(a%7==0)

printf("%d只能被7整除\n",a);

else if((a%3!=0)&&(a%5!=0)&&(a%7!=0))

printf("%d不能被3、5、7整除\n",a);

}

34、定义一个30个元素的整型数组,按顺序分别赋予从2开始的偶数;然后按顺序

每5个数求出一个平均值,放在一个新的数组中并输出结果。

35、从键盘输入10个整数给数组a,把这10个整数中的后项除以前项之商存入数组

b,并按每行3个数的形式输出数组b,试编程。

36、通过循环按行优先的顺序给一个5×5的二维数组赋1-25的自然数,然后输出该

数组的左下角元素,请编写程序实现。

37、通过行优先的顺序给一个2×3的数组赋2、4、6……等偶数,然后按列优先的顺

序输出该数组,请编程实现。

38、教材中课后练习

3.8(略)见书P67

3.9试求下面算数表达式的值:

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

值为()

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

值为()

3.10写出下面程序的运行结果:

#include

void main()

{

int i ,j,m,n;

i=8;

j=10;

m=++i;

n=j++;

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

}

结果是i=(),j=( ),m=( ),n=( )

3.12写出下面赋值的表达式运算后a的值,设原来的a=12:

(1)a+=a 值为()(2)a-=a 值为()

(3)a*=2+3 值为()(4)a/a+a 值为()

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

(6)a+=a-=a*=a 值为()

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

(1)a+b>c&&b==c (2)a||b+c&&b-c

(3)!(a>b)&&!c||1 (4)!(x=a)&&(y=b)&&0

(5)!(a+b)+c-1&&b+c/2

解:(1)()(2)()(3)()(4)()

5.7 给一个不多于5位的正整数,要求:

①求出它是几位数;

②分别输出每一位数字;

③按逆序输出各位数字,例如原数为321,应输出123。(满足①②)

6.1:输入两个正整数m、n,求最大公约数和最小公倍数。

#include

void main()

{

int a,b,c,d,t,p,q;

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

p=a*b; c=a; d=b;

if(a

{

t=b; b=a; a=t;

}

while(b!=0)

{

q=a%b; a=b; b=q;

}

printf("%d和%d的最大公约数是%d\n",c,d,a);

printf("%d和%d的最小公倍数是%d\n",c,d,p/a)

}

6.2:输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。

#include

void main()

{

char ch;

int zimu=0,shuzi=0,qita=0,kongge=0;

printf("请输入字符:\n");

while((ch=getchar())!='\n')

{

if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')

zimu++;

else if(ch>='0'&&ch<='9')

shuzi++;

else if(ch==' ')

kongge++;

else

qita++;

}

printf("您输入的字符包含:\n%d个字母,\n%d个数字,\n%d个空

格,\n%d个其他字符\n",zimu,shuzi,kongge,qita);

}

6.3求Sn=a+aa+aaa+aaaa+…+a…a(中间n个a)的值,其中a是一个数字,n表示a

的位数,例如:2+22+222+2222+22222(此时n=5)

6.4求表达式1!+2!+3!+4!+…+20!的值。

#include

void main()

{

int i;

double an=1,sum=0;

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

{

an=an*i;

sum=sum+an;

}

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

}

6.5求(1+2+…+100)+(1*1+2*2+3*3+…+50*50)+(1/1+1/2+…+1/10)的值。

6.6输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字的立

方和等于该数本身。例如153是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。

#include

void main()

{

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

printf("100-900的水仙花数有:\n");

for(i=100;i<=999;i++)

{

a=i/100;

b=i/10%10;

c=i%10;

if(i==a*a*a+b*b*b+c*c*c)

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

}

}

6.8有一分数序列2/1,3/2,5/3,8/5,13/8,21/13, …

求出这个数列的前20项之和。

6.9一个球从100米的高度自由下落,每次落地后反跳回原高度的一半,再落下,再

反弹。求它的第十次落地时,共经过多少米?第十次反弹多高?

6.10猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多

吃的一个。第二天早上又将剩余的桃子吃掉一半,又多吃了一个。以后每天早

上都吃了前一天的一半零一个。到第十天早上想再吃时,就只剩一个桃子了。

求第一天共摘了多少个桃子?

7.10有一篇文章,共有三行文字,每行有80个字符。要求分别统计出其中中英文大

写、小写字母,数字,空格以及其他字符的个数。

7.13编一程序,将两个字符串连接起来,不要用strcat函数。

7.15编写一程序,将字符数组S2中的全部字符复制到字符数组S1中。不用strcpy

函数。复制时,‘\0’也要复制过去。‘\0’后面的字符不复制。

8.3写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息。

9.1定义一个带参数的宏,使两个参数的值互换,并写出程序,输入两个数作为使用

宏时的实参。输出已交换后的两个值。

9.2输入两个整数,求它们相除的余数。用带参数的宏来实现,编程序。

9.3三角形的面积为:Area=根号下s*(s-a)(s-b)(s-c), 其中

s=1/[2(a+b+c)]。a,b,c为三角形的三边。定义两个带参数的宏,一个用来求s,另一个用来求area。写程序,在程序中用带实参的宏来求面积area。

9.4给年份year定义一个宏,以判断改年是否是闰年。

提示:宏名可定义为LEAP-YEAR,形参为y,即定义宏为

#define LEAP-YEAR(y) (读者设计的字符串)

在程序中用以下语句输出结果:

“if (LEAP-YEAR)(year) printf(“%d is leap year.\n”,year);

Else printf(“%d is not a leap year.\n”,year);

10.1输入3个整数,按从小到大的顺序输出。(用指针做)

c语言期末测试题附答案

c语言期末测试题附答 案 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

课程代码:A100002 座位号: 《计算机技术基础(C 语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年 月 日 第一 部分 选择题(共 30 分) 一、单项选择题(本大题共 15 小题,每题只有一个正确答 案,答对一题得 2 分,共 30 分) 1、以下关于C 语言标识符的描述中,正确的是 【 】。 A )标 识符可以由汉字组成 B )标识符只能以字母开头 C )关键字可以作为用户标识符 D )Area 与area 是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【 】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d \n”,i,j,k); 3、判断char 类型的变量c1是否为数字字符的正确表达式为 【 】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是 【 】。 A )’a’&&’b’ B )a<=b C )((a>b)||(b0;i--);后,变量i 的值为 【 】。 A )10 B )9 C )0 D )1 8、若有int *p1, *p2,k; 不正确的语句是 【 】 A. p1=&k B. p2=p1 C. *p1=k+12 D. k=p1+p2 9、在函数中未指定存储类别的局部变量,其隐含的存储类别是 【 】

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语言复习题(有答案)●

思考题 不仅要会做这些题,更重要的是要掌握其相关知识点一、一般填空题 1-1、调用fopen函数打开一文本文件,在“打开模式”这一项中,为输出(写)而打开需填入【1】. 1-2、调用fopen函数打开一文本文件,在“打开模式”这一项中,为追加而打开需填入【1】. 1-3、fopen函数的原形在头文件【1】中. 1-4、getchar函数的原形在头文件【1】中. 1-5、sqrt函数的原形在头文件【1】中. 1-6、如果函数不要求带回值,可用【1】来定义函数返回值为空. 答案:w或w+;a或a+;stdio.h ; stdio.h ; math.h ;void . 2-1、字符串“\1011234\\at”的长度(字符数)是【1】. 2-2、字符串“abc\103\\bcd”的长度(字符数)是【1】. 2-3、字符串“1\\t\x43\abx44”的长度(字符数)是【1】. 2-4、“a“在内存中占【1】个字节. 2-5、‘a’在内存中占【1】个字节. 2-6、“\71“在内存中占【1】个字节. 2-7、一维数组下标的最小值是【1】;数组char a[]=“china” ;在内存应占【1】个字节。 答案:8; 8; 9; 2;1;2 ;0;6. 3-1、设x=(5>1)+2, x的植为【1】. 3-2、表达式‘B’+15+‘\x41’+011+0x10的值是【1】. 3-3、表达式‘b’+5+‘\x42’+011+0x10的值是【1】. 答案:3;171;194; 4-1、假设所有变量都为整型,表达式(a=2,b=5,a>b?a++:b++,a+b)的值是【1】. 4-2、if(!a)中的表达式!a等价于【1】. 4_3、已知a=1,b=2,c=3,执行if(a>b>c) b=a;else b=c;a=4;b=8;后,b的值是【1】. 答案:8;a==0;8; 5-1、若所用变量都已定义,下列程序段的执行结果是【1】. for(i=1;i<=5;i++);printf(“OK\n”); 5-2、执行语句char s[3]=”ab”,*p;p=s;后,*(p+2)的值是【1】. 5-3、若有以下定义和语句:int a[4]={0,1,2,3},*p; p=&a[2]; ,则*--p的值是【1】. 5-4、下列程序的输出结果是【1】,main(){int a=011;printf(“%d\n”,++a);} 答案:OK;’\0’;1;10 6-1、若宏定义为:#define y(x) 2+x, 则表达式a=3*y(3)的值为【1】. 6-2、若宏定义为:#define y(x) 2+x, 则表达式a=4*y(2)的值为【1】. 6-3、若宏定义为:#define y(x) 2/x, 则表达式a=4+3*y(3)的值为【1】. 答案:9;10;6 . 二、单项选择题 1-1、若以"a+"方式打开一个已存在的文件,则以下叙述正确的是()。 A:文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作 B:文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作 C:文件打开时,原有文件内容被删除,只可作写操作 D:以上各种说法皆不正确 1-2、若执行fopen函数时发生错误,则函数的返回值是()。

c语言期末考试试题

一、单项选择题。(每题1分,共20分) 1. C程序的基本单位是:() A.子程序 B.程序 C.子过程 D.函数 2.在C语言中,非法的八进制是:() A.016 B.018 C.017 D.02 3. 不是C语言实型常量的是:() A.55.0 B.0.0 C.55.5 D.55e2.5 4 .字符串“xyzw”在内存中占用的字节数是:() A.6 B.5 C.4 D.3 5. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:() A.2.0 B.2.25 C.2.1 D.1.5 D.1.5 D.1.5 D.1.5 6. 若有语句char c1=`d`,c2=`g`;printf(“%c,%d\n”,c2- `a`,c2-c1);则输出结果为:() (a的ASCII码值为97) A.M,2 B.G,3 C.G,2 D.D,g 7. 使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据 输入是:() A.a=2.2,b=3 B.a=2.2 b=3 C.2.2 3 D.2.2,3 8.表示关系12<=x<=y的C语言表达式为:() A.(12<=x)&(x<=y) B. (12<=x)&&(x<=y) C. (12<=x)|(x<=y) D.(12<=x)||(x<=y) 9.设x=1,y=2,m=4,n=3,则表达式x>y?x:mc4)后,s,t的值为:() A.1,2 B.1,1 C.0,1 D.1,0 12. 语句for(a=0,b=0;b!=100&&a<5;a++)scanf(“%d”,&b); scanf最多可执行次数为:() A.4 B.6 C.5 D.1 13. 对于for(s=2;;s++)可以理解为:()

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语言练习题(带答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数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

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

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语言期末考试题(含答案)

《C 语言程序设计》期末试卷 一、单项选择题(10x2’=20’) 1、以下叙述正确的是( ) A )C 语言的源程序不必通过编译就可以直接运行。 B ) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C )C 语言源程序经编译形成的二进制代码可以直接运行。 D )C 语言中的函数不可以单独进行编译。 2、一个C 语言的源程序中( ) A )必须有一个主函数 B )可能有多个主函数 C )必须有除主函数外其它函数 D )可以没有主函数 3、以下不能定义为用户标识符的是( ) A )scanf B )Void C )_3com D )int 4、若以下选项中的变量已正确定义,则正确的赋值语句是( ) A )x1=26.8%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3; 5、设有定义:float a=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(2 1 的计算结果不. 相符的是( ) A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b) 6、C 语言中用于结构化程序设计的3种基本结构是( ) A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue 7.在while (!x )语句中的!x 与下面条件表达式等价的是( ) A) x!=0 B) x==1 C) x!=1 D) x==0 8、有以下程序: #include void main(){ int i=1,j=1,k=2; if( (j++||k++)&&i++ ) printf(“%d,%d,%d\n ”,i,j,k);} 执行后的输出结果是( ) A )1,1,2 B )2,2,1 C )2,2,2 D )2,2,3 9、有以下程序: #include void main(){ int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n ”,s);} 程序执行后的输出结果是( ) A )自然数1~9的累加和 B )自然数1~10的累加和

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语言思考题

1、机器语言:机器语言及其指令是计算机能够直接识别的执行的一组二进制代码。一条机器指令通常由操作码和操作数两部分构成。 2、汇编指令:是机器语言的符号化表示MOV 3、汇编语言:由汇编指令、汇编伪指令及汇编语言的语法规则组成。 4、汇编语言源程序:用汇编语言编写的程序 5、汇编程序:把汇编语言源程序翻译成目标程序的加工程序MASM 6、二、十、十六进制转换(掌握<256)练习1:117=(1110101)B练习2:1000 1011 B=(139)D练习3:1011 1000 0000 0101 B=(B805)H 7、机器数:是指计算机中的数据,可以分为无符号数和有符号数字长为N位时无符号数表示范围0≤N≤2N-1 当N=8时0≤N≤255 8、原码(8位):最高位为符号位(正数用0表示,负数用1表示),其他位为数值位 如X=+45=+0010 1101B [X]原=0010 1101B 如X=-45=-0010 1101B [X]原=1010 1101B 9、补码(8位):正数的补码与原码相同,负数的补码是将符号位取1,数值位逐位取反,未位加1。如X=+45=+0010 1101B [X]补=0010 1101B 如X=-45=-0010 1101B [X]补=1101 0011B 10、补码运算:是指对一个补码表示的数按位求反后再在末尾加1,可以得到与此数相应的符号相反的数的补码。例、已知[117]补=0111 0101B,[-117]补=1000 1011B,对[117]补作补码运算。解:因为[117]补=0111 0101B,按位求反后得1000 1010B,末尾加1得1000 1011B=[-117]补。[X+Y]补=[X]补+[Y]补[X-Y]补=[X]补+[-Y]补 12、BCD码:BCD码用4位二进制数表示1位十进制数。常用8421BCD码例:写出十进制314所对应的BCD码 13、8086/8088CPU:16位微处理器和16位数据总线,20位地址总线(寻址空间为1MB)。8088微处理器内部16位数据,外部8位数据,也称准16位机。8086/8088CPU的组成(功能方面):运算器、控制器、寄存器组 14、寄存器是CPU内部临时存放数据的部件,速度比内存快。(1)数据寄存器4个16位寄存器AX,BX,CX,DX,每个寄存器还可以拆成2个8位寄存器使用。 AX累加器:算术运算寄存器,用于存放操作数或运算结果。I/O指令中通过AX与外部交换数据。在乘除运算中指定存放被乘数与被除数,系统功能调用号。AX累加器可以分为AH、AL分别使用。 BX基址寄存器:可作为通用寄存器使用。在计算内存地址是,常作基址寄存器,作为通用寄存器还可以分为BH、BL分别使用。 CX数据寄存器:可作为通用寄存器使用。在循环和串操作指令中作隐含计数器。作为通用寄存器还可以分为CH、CL分别使用。 DX数据寄存器:可作为通用寄存器使用。在I/O操作中,DX用来存放I/O端品地址。在乘除法运算中与AX组合一起存放双字型数据。作为通用寄存器还可以分为DH、DL 分别使用。 (2)变址寄存器(2 个16位):SI 源变址寄存器.DI 目的变址寄存器 BP基址寄存器:用于存放栈中的操作数的偏移地址。SP堆栈指针寄存器:用来指示栈顶的当前位置(偏移地址)。 IP 指令指针寄存器(程序计数器):用于存放下一条指令所在偏移地址。与CS配合,用来确定程序中下一条指令的物理地址。 15、PSW程序状态字寄存器(标志寄存器):8088微处理器使用16位中的9位设置了9个标志。标志位SF、OF、CF、ZF的含义0010 1001B+1110 1000B=1 0001 0001B CF=1 OF=0 SF=0 ZF=0 16、段地址寄存器:段表示一块内存空间(大小可变),最大为64K字节,最小为16字

C语言期末上机考试题及答案

C语言上机考试题—01 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include main() { int k,m,s=0,i,b=0; for(k=10000;k<=20000;k++ ) { if(k%10==7) { for(i=2,b=0;i main() { int a; printf("请输入一个需要判 断的年份:\n"); scanf("%d",&a); if(a%4==0&&a%100!=0) printf("是闰年\n"); else if(a%400==0) printf("是闰年 \n"); else printf("不是闰 年\n"); } C语言上机考试题—02 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include fun(int n) { int i,j=0; for(i=2;i #include main() { char str[81]; int i,j=0,w=1,s=0; printf("请输入一串字符: \n"); gets(str); for(i=0;i

C语言练习题(带答案)-绝对经典题目不看后悔

1单选题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数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 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 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 选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键

大学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语言期末考试复习题及答案

C语言期末考试复习题及答案 一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个是正 确的,请将正确的选项涂写在答案纸上。答在试卷上不得分。 (1)C语言规定:在一个源程序中,main函数的位置 D 。 A)必须在最后B)必须在系统调用的库函数的后面。 C)必须在最开始。。D)可以任意 (2) C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 A 。 A)必须为字母或下划线。。B)必须为下划线。 C)必须为字母D)可以是字母、数字和下划线中的任一种字符。 (3)下面四个选项中,均是正确的八进制数或十六进制数的选项是 B 。 A)-10 0x8f -011 B) 010 -0x11 0xf1 C) 0abc -017 0xc D) 0a12 -0x123 -0xa (4) C语言中int型数据在内存中占两个字节,则unsegned int取值范围是 A 。 A)0 ~ 65535 B)0 ~ 32767 C)-32767 ~ 32768 D)-32768 ~ 327687 (5) 若有定义:int a = 7; floa x = , y = ; 则表达式x + a % 3 * (int) (x + y) % 2/4 的值是 D 。 A) B) 0.00000 C) D) (6)已知ch是字符型变量,下面不正确的赋值语句是 B 。 A)ch = 5 + 9 ; B) ch= ' a + b '; C) ch = ' \ 0 '; D) ch= '7' + '6' ; (7) 设x , y和z是int型变量,且x = 3, y = 4 , z = 5 则下面表达式中值为0的

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语言第1章练习题答案

第一章 C语言概述练习题 一、选择题 1.C语言是一种( )。 A) 机器语言B) 汇编语言C) 高级语言 D) 低级语言 2.下列各项中,不是C语言的特点是( )。 A) 语言简洁、紧凑,使用方便B) 数据类型丰富,可移植性好 C) 能实现汇编语言的大部分功能D) 有较强的网络操作功能 3.下列叙述正确的是( )。 A) C语言源程序可以直接在DOS环境中运行 B) 编译C语言源程序得到的目标程序可以直接在DOS环境中运行 C) C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行 D) Turbo C系统不提供编译和连接C程序的功能 4.下列叙述错误的是()。 A) C程序中的每条语句都用一个分号作为结束符 B) C程序中的每条命令都用一个分号作为结束符 C) C程序中的变量必须先定义,后使用 D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写 5.一个C程序的执行是从()。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 6.以下叙述不正确的是()。 A) 一个C源程序必须包含一个main函数 B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面 7.C语言规定:在一个源程序中,main函数的位置( )。 A)必须在程序的开头B)必须在系统调用的库函数的后面 C)可以在程序的任意位置D)必须在程序的最后 8.一个C语言程序是由( )。 A)一个主程序和若干个子程序组成B) 函数组成 C) 若干过程组成D) 若干子程序组成 9.以下有4组用户标识符,其中合法的一组是()。 A) For B) 4d C) f2_G3 D) WORD -sub DO IF void Case Size abc define 10. 一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是 ()。

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