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

C语言练习题1-5及参考答案

C语言练习题1-5及参考答案
C语言练习题1-5及参考答案

练习题1及参考答案

1. 单项选择题

(1)以下并非C语言的特点的是。

A. C语言简洁和紧凑

B. 能够编制出功能复杂的程序

C. C语言可以直接对硬件进行操作

D. C语言移植性好

【答】B

(2)一个C程序的执行是从。

A. main()函数开始,直到main()函数结束

B. 第一个函数开始,直到最后一个函数结束

C. 第一个语句开始,直到最后一个语句结束

D. main()函数开始,直到最后一个函数结束

【答】A

(3)在C程序中,main()的位置。

A. 必须作为第一个函数

B. 必须作为最后一个函数

C. 可以任意

D. 必须放在它所调用的函数之后

【答】C

(4)一个C程序是由。

A. 一个主程序和若干子程序组成

B. 一个或多个函数组成

C. 若干过程组成

D. 若干子程序组成

【答】B

(5)下列说法正确的是。

A. 在执行C程序时不是从main()函数开始的

B. C程序书写格式限制严格,一行内必须写一个语句

C. C程序书写格式比较自由,一个语句可以分行写在多行上

D. C程序书写格式严格要求一行内必须写一个语句,并要求行号

【答】C

2. 填空题

(1)一个C源程序至少有①个main()函数和②个其他函数。【答】①一②若干

(2)任何C语句必须以结束。

【答】分号

(3)C语言源程序的基本单位是。【答】函数

(4)C编译程序的功能是。【答】将C源程序编译成目标代码

练习题2及参考答案

1. 单项选择题

(1)以下字符串为标识符的是。

A. _MY

B. 2_2222

C. short

D. LINE 5

【答】A

(2)下列符号可以作为变量名的是。

A. +a

B. *p

C. _DAY

D. next day

【答】C

(3)设c是字符变量,则以下表达式正确的是。

A. c=666

B. c='c'

C. c="c"

D. c="abcd"

【答】B

(4)23+'m'+'b'的结果是型数据。

A. char

B. double

C. int

D. long int

【答】和均为double型,运算结果也是double型。本题答案为B。

(5)若变量已正确赋值,以下符合C语言语法的表达式是。

A. a=a+7;

B. a=7+b+c,a++

C. int%4)

D. a=a+7=c+b 【答】选项A错误,以分号结尾是一个语句而不是表达式;选项B正确,是一个逗号表达式;选项C错误,因为%求模运算的两个运算数必须均为整数;选项D错误,给一个表达式(a+7)而非变量赋值是不正确的。本题答案为B。

(6)整型变量x=1,y=3,经下列计算后,x的值不等于6的表达式是。

A. x=(x=1+2,x*2)

B. x=y>2?6:5

C. x=9-(--y)-(--y)

D. x=y*(int)2)

【答】选项A的计算过程——x=1+2=3,再计算x=x*2=6;选项B的计算过程——y>2为真,x=6;选项C的计算过程——式中有两个--运算,最后y=1,x=9-1-1=7;选项D的计算过程——x=y*(int)2)=y*2=6。本题答案为C。

(7)若定义

int m=7,n=12;

则能得到值为3的表达式是。

A. n%=(m%=5)

B. n%=(m-m%5)

C. n%=m-m%5

D. (n%=m)-(m%=5)

【答】A、B、C、D选项各表达式的值分别是0、2、2、3。本题答案为D。

(8)以下程序的运行结果是。

#include <>

main()

{

int i=5,j=6,m=i+++j;

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

}

A. 6,6,11

B. 5,6,11

C. 5,6,12

D. 6,6,12

【答】m=i+++j等价于m=(i++)+j。本题答案为A。

(9)以下程序的运行结果是。

#include <>

void main()

{

double f=;

int n;

n=(int)(f+10)%3;

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

}

A. 1

B.

0 C.

2 D. 3

【答】f+10=,(int)(f+10)=13,13%3=1。本题答案为A。

(10)以下程序的运行结果是。

#include <>

void main()

{

int n,i=2,j=4;

n=(++i==j--);

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

}

A. 0

B.

1 C.

2 D. 3

【答】++i返回3,j--返回4,两者不等,故n=0。本题答案为A。

2. 填空题

(1)表达式语句与表达式的不同是。

【答】语句必须以分号结尾,而表达式结尾没有分号;语句可以出现在函数体中数据定义或声明语句后面的任何位置,而表达式只能出现在语句中规定的位置或表达式中(嵌套出现)。

(2)在C语言中可以利用将一个表达式的值转换成指定的类型。

【答】强制类型转换

(3)写出完成下列功能的表达式:

· 如果变量c是大写字母,则将c转换成对应的小写,否则c的值不改变。①

· 如果d是数字,则将d转换成相应的整数,否则d的值不改变。②

· 返回两个整数x、y中较大者。③

· 返回三个整数x、y和z中最大者。④

【答】① c=(c>='A' && c<='Z') ? c-'A'+'a' : c

② d=(d>='0' && d<='9') ? d-'0' : d

③ (x>y) ? x : y

④ (x>y) ? (x>z ? x : z) : (y>z ? y : z) 或 (x>y && x>z) ? x : (y>z ? y : z)

(4)以下程序的运行结果是。

#include <>

#include <>

main()

{

char s[]="ab\n\\\'\r\b";

printf("%d,%d\n",sizeof(s),strlen(s));

}

【答】字符串s由字符'a'、'b'、'\n'、'\\'、'\''、'\r'、'\b'等7个字符组成,故长度为7,但字符串本身有一个结束标志'\0'。所以,s的长度为7,在内存中占用8个字节。输出为:8,7。

(5)以下程序的运行结果是。

#include <>

main()

{

int a=2,b=4,c=6,x,y;

y=(x=a+b),(b+c);

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

}

【答】结果为y=6,x=6。

(6)以下程序的运行结果是。

#include <>

main()

{

char a,b;

a='a';b='b';

a=a-32;b=b-32;

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

}

【答】A,B,65,66

(7)以下程序的运行结果是。

#include <>

main()

{

int i,j,x,y;

i=5;j=7;

x=++i;y=j++;

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

}

【答】执行x=++i后,i=6,x=6;执行y=j++后,j=8,y=7;所以输出为:6,8,6,7。

(8)以下程序的运行结果是。

#include <>

main()

{

int a=1;

char c='a';

float f=;

printf("①:%d\n",a+2!=c-100);

printf("②:%d\n",(a>c)>=(f>4));

printf("③:%d\n",!a==!f);

printf("④:%d\n",(!a&&1)!=(!c||1));

printf("⑤:%d\n",(!a>2)?3:0)<((f!=1)?0:1);

printf("⑥:%d\n",(1,2,3)==(3,3,3));

}

【答】①:1 (a+2=3,c-100=-3,表达式结果=1(真))

②:1(a>c的结果是0(假),f>4的结果是0,表达式结果=1)

③:1(!a的结果是0,!f的结果是0,表达式结果=1)

④:1(!a&&1的结果是0,!c||1的结果是1,表达式结果=1)

⑤:0(!a>2的结果是0,(!a>2)?3:0的结果是0,f!=1的结果是1,(f!=1)?0:1的结果是0,表达式结果=0)

⑥:1((1,2,3)表达式的结果是3,(3,3,3)的结果是3

练习题3及参考答案

1. 单项选择题

(1)以下说法正确的是。

A. 输入项可以为一个实型常量,如scanf("%f",

B. 只有格式控制没有输入项也能进行正确输入,如scanf("%d")

C. 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f)

D. 当输入数据时,必须指明变量的地址,如scanf("%f",&f)

【答】D

(2)若a为整型变量,则以下语句。

a=-2L;

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

A. 赋值不合法

B. 输出值为-2

C. 输出为不确定值

D. 输出值为2

【答】B

(3)若x和y均定义为int型,z定义为double型,以下scanf()函数调用语句不合法的是。

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);【答】scanf()函数中没有精度控制。本题答案为D。

(4)若a,b,c均定义为int型,要给它们输入数据,正确的输入语句是。

A.

read(a,b,c);

B. scanf("%d%d%d",a,b,c);

C. scanf("%D%D%D",a,b,c);

D. scanf("%d%d%d",&a,&b,&c);【答】D

(5)若有定义和语句:

int n=10;

printf("%\n",n);

其输出结果是。

A. 输出10

B. 输出一空行

C. 没有输出

D. 编译不通过

【答】D

(6)若a是float型变量,b是unsigned型变量,以下输入语句中合法的是。

A. scanf("%6.2f%d",&a,&b);

B. scanf("%f%n",&a,&b);

C. scanf("%f%3o",&a,&b);

D. scanf("%f%f",&a,&b);

【答】C

(7)字母a的ASCII码为97,则下列语句的运行结果为。

char a='a';

a--;

printf("%d,%c\n",a+'2'-'0',a+'3'-'0');

A.

b,c

B. a--运算不合法,故有语法错

C.

98,c

D. 格式描述和输出项不匹配,输出无定值

【答】C

(8)若k1,k2,k3,k4均为int型变量,为了将整数10赋给k1和k3,将整数20赋给k2和k4,则对应以下scanf()函数调用语句的正确输入方式是。

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

【答】D

(9)有如下程序,输入数据12345 678↙后,x的值是①,y的值是②。

#include <>

main()

{

int x;

float y;

scanf("%3d%f",&x,&y);

}

① A. 12345 B. 123 C.

45

A. B. C. 【答】① B② A

(10)有如下程序,输入数据25,13,10↙后,正确的运行结果是。

#include <>

main()

{

int x,y,z;

scanf("%d%d%d",&x,&y,&z);

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

A. x+y+z=48

B. x+y+z=35

C. x+y+z=38

D. 不确定值

【答】输入的数据与scanf()函数的格式不匹配。本题答案为D。

(11)有如下程序,输入数据12 345↙后,x的值是①,y的值是②。

#include <>

main()

{

int x;

float y;

scanf("%3d%f",&x,&y);

}

① A. 12 B. 123 C. 12345 D. 0

② A. B. C. D.

【答】① A ② B

(12)有如下程序,输入数据10↙后,程序的运行结果是。

#include <>

main()

{

int a;

float b,c;

scanf("%2d%3f%4f",&a,&b,&c);

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

}

A.

a=98,b=765,c=4321 B. a=10,b=432,c=8765

C. a=98,b=,c=

D. a=98,b=,c=

【答】C

(13)以下程序的运行结果是。

#include <>

main()

{

float a=;

printf("|%6.0f|\n",a);

}

A. ||

B. | |

C. | 3|

D. | 3.|【答】C

(14)以下程序的运行结果是。

#include <>

main()

float a=;

printf("|%06.0f|\n",a);

}

A. |000003|

B. ||

C. ||

D. | 3|

【答】A

(15)以下程序的运行结果是。

#include <>

main()

{

float a=;

printf("|%-6.0f|\n",a);

}

A. |3 |

B. |000003|

C. ||

D. | |

【答】A

(16)以下程序的运行结果是。

#include <>

main()

{

int i=010,j=10;

printf("%d,%d\n",++i,j--);

}

A. 11.10

B. 9,10

C. 010,9

D. 10,9

【答】B

(17)以下程序的运行结果是。

#include <>

main()

{

int x=10,y=10;

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

}

A. 10,10

B. 9,9

C. 9,10

D. 10,9

【答】D

2. 填空题

(1)以下程序的运行结果是。

#include <>

main()

{

float f=;

printf("%f,%5.4f,%3.3f",f,f,f);

}

【答】,,

(2)以下程序的运行结果是。

#include <>

main()

{

float f=;

printf("%f,%g",f,f);

}

【答】,

(3)以下程序的运行结果是。

#include <>

main()

{

float f=;

printf("%f,%e",f,f);

}

【答】,+001

(4)以下程序的运行结果是。

#include <>

main()

{

int x=0177;

printf("%3d,%6d,%6o,%6x,%6u\n",x,x,x,x,x);

}

【答】127, 127, 177, 7f, 127

(5)以下程序的运行结果是。

#include <>

main()

{

int x=0177;

printf("%-3d,%-6d,%-6o,%-6x,%-6u\n",x,x,x,x,x); }

【答】127,127 ,177 ,7f ,127

(6)以下程序的运行结果是。

#include <>

main()

{

char c='A'+10;

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

}

【答】c=K

(7)以下程序输入123456↙后,其运行结果是。

#include <>

main()

{

int a,b;

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

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

}

【答】a=12,b=345

(8)以下程序输入ABC↙后,其运行结果是。

#include <>

main()

{

char c;

scanf("%3c",&c);

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

}

【答】c=A

(9)以下程序输入100↙后,其运行结果是。

#include <>

main()

{

int n;

scanf("%o",&n);

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

}

【答】n=64

(10)以下程序输入x=,y=50↙后,其运行结果是。

#include <>

main()

{

float x,y;

scanf("x=%f,y=%f",&x,&y);

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

}

【答】x= ,y=

(11)执行以下程序时,若从第一列开始输入数据,为使变量a=3,b=7,x=,y=, c1='A',c2='a'正确的数据输入形式是。

#include <>

main()

{

int a,b;

float x,y;

char c1,c2;

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

scanf("x=%f y=%f",&x,&y);

scanf("c1=%c c2=%c",&c1,&c2);

printf("a=%d,b=%d,x=%g,y=%g,c1=%c,c2=%c\n",a,b,x,y,c1,c2);

}

【答】a=3 b=7x= y=71.82c1=A c2=a↙

3. 编程题

(1)编写一个程序,求出任一输入字符的ASCII码。

【解】程序如下:

/*文件名:*/

VC++

#include <>

main()

{

char c;

printf("输入字符:");

scanf("%c",&c);

printf("字符%c的ASCII码为%d\n",c,c);

}

(2)编写一个程序,输入一个字符,依次输出其前导字符、该字符和后续字符。【解】程序如下:

/*文件名:*/

VC++

#include <>

#define pi

main()

{

char c;

printf("输入一个字符:");

scanf("%c",&c);

printf("输出结果:%c,%c,%c\n",c-1,c,c+1);

}

(3)编写一个程序,输出任意一个十进制整数对应的八进制数和十六进制数。【解】直接使用printf()的格式符输出八进制数和十六进制数。程序如下:

/*文件名:*/

VC++

#include <>

main()

{

int i;

printf("输入一个整数:");

scanf("%d",&i);

printf("%d(10)<=>%o(8)\n",i,i);

printf("%d(10)<=>%x(16)\n\n",i,i);

}

(4)编写一个程序,从键盘输入圆锥体的半径r和高度h,计算其体积。【解】圆锥体体积的计算公式为:

v=π×r×r×h/3

程序如下:

/*文件名:*/

VC++

#include <>

main()

{

float r,h,pi=,v;

printf("圆锥半径,高度:");

scanf("%f,%f",&r,&h);

v=pi*r*r*h/;

printf("圆锥体积=%g\n\n",v);

}

练习题4及参考答案

1. 单项选择题

(1)if后面的逻辑表达式之值。

A. 只能是0或1

B. 只能是正整数或负整数

C. 只能是整型或字符型数据

D. 可以是任何类型的数据

【答】A

(2)为了避免嵌套的if-else语句的二义性,C语言规定else总是与组成配对关系。

A. 缩排位置相同的if

B. 在其之前未配对的if

C. 在其之前最近的未配对的if

D. 同一行上的if

【答】C

(3)选择出合法的if语句(设int x,a,b,c;)。

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

B. if (a=

C. if (a<>b) x++;

D. if (a=>b) x++;

【答】选项B、C、D中的比较运算符不正确,在选项A中,a=b返回b,若b为0或空字符,则为假,否则为真。本题答案为A。

(4)以下不正确的if语句是。

A. if (x>y);

B. if (x=y) && (x!=0) x+=y;

C. if (x!=y) scanf("%d",&x);else scanf("%d",&y);

D. if (x

【答】B。应改为if (x=y && x!=0) x+=y;

(5)若定义float x;int a, b;,则正确的switch语句是。

A. switch(x)

{

case :printf("*\n");

case :printf("**\n");

}

B. switch(x)

{

case :printf("*\n");

case 3:printf("**\n");

}

C. switch(a+b)

{

case 1:printf"*\n"};

case 1+2:printf("**\n")

}

D. switch(a+b)

{

case 1:printf("*\n");

case 2:printf("**\n");

}

【答】D

(6)执行下列程序,输入为1的运行结果是①,输入为3的运行结果是②。#include <>

main()

{

int k;

scanf("%d",&k);

switch(k)

{

case 1: printf("%d ",k++);

break;

case 2: printf("%d ",k++);

case 3: printf("%d ",k++);

break;

case 4: printf("%d ",k++);

default:printf("Full!\n");

}

}

① A. 1 B. 2 C. 2 3 4 5 D. 1 2 3 4

② A. 3 B. 4 C. 3 4 D. 4 5

【答】① A ② A

(7)执行下列程序,输入为1的运行结果是①,输入为3的运行结果是②。#include <>

main()

{

int k;

scanf("%d",&k);

switch(k)

{

case 1: printf("%d ",k++);

case 2: printf("%d ",k++);

case 3: printf("%d ",k++);

case 4: printf("%d ",k++);

break;

default:printf("Full!\n");

}

}

① A. 1 B. 2 C. 2 3 4 5 D. 1 2 3 4

② A. 3 B. 4 C. 3 4 D. 4 5

【答】① D ② C

(8)以下程序的运行结果是。

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

}

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

}

A. a=2,b=1

B. a=1,b=1

C. a=1,b=0

D. a=2,b=2

【答】A

2. 填空题

(1)有定义int x;则“x是偶数”的表达式是。

【答】x % 2 == 0

(2)有定义int a,b;则“a是b的整数倍”的表达式是。

【答】a % b == 0

(3)有定义int a,b,c;它们表示三个边长,则能够构成一个直角三角形的条件是。【答】a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a

(4)有定义int a,b,c;它们表示三个边长,则能够构成一个三角形的条件是。【答】(a+b

(5)以下程序的运行结果是。

#include <>

main()

{

int k=2;

switch (k)

{

case 1: printf("%d\n",k++);

break;

case 2: printf("%d ",k++);

case 3: printf("%d\n",k++);

break;

case 4: printf("%d\n",k++);

default:printf("Full!\n");

}

}

【答】k=2,执行case 2分支,k++返回2,此时k=3,输出2,后跟一空格。由于没有break语句,继续执行case 3分支,k++返回3,此时k=4,输出3,由于有break语句,退出switch语句。所以输出为:2 3。

(6)以下程序的运行结果是。

#include <>

main()

{

int s=1,t=1,a=5,b=2;

if (a>0)

s++;

if (a>b)

t+=s;

else if (a==b)

t=5;

else

t=2*s;

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

}

【答】a>0,s变为2。a>b为真,t=t+s=3。所以输出为:s=2,t=3。

(7)以下程序的运行结果是。

#include <>

main()

{

int k=2;

switch(k)

{

case 1:printf("%d ",k++);

case 2:printf("%d ",k++);

case 3:printf("%d ",k++);

case 4:printf("%d ",k++); break;

default:printf("Full!\n");

}

printf("\n");

}

【答】k=2,执行case 2分支,k++返回2,此时k=3,屏幕输出2,后跟一空格。由于没有break语句,继续执行case 3分支,k++返回3,此时k=4,屏幕输出3,由于没有break语句,继续执行case 4分支,k++返回4,此时k=5,屏幕输出4,由于有break语句,退出switch语句。所以输出为:2 3 4。

(8)以下程序的运行结果是。

#include <>

main()

{

int x=0,y=2,z=3;

switch(x)

{

case 0: switch(y==2) { case 1:printf("*");break; case 2:printf("%");break;

} case 1: switch(z)

{ case 1:printf("$"); case 2:printf("*");break; default:printf("#");

}

}

}

【答】x=0,执行外层switch 语句的case 0部分,y==2为真,则执行里层switch 语句的case 1部分,输出“*”,遇到break 语句,退出里层的switch 语句,由于里层的switch 语句之后没有break 语句,所以转而执行外层switch 语句的case 1部分,这时z=3,故执行里层switch 语句的default 部分,输出“#”,整个程序执行完毕。所以输出为:*#。

3. 编程题

(1)编写一个程序判断用户输入的字符是数字字符、字母字符还是其他字符。

【解】在'0'到'9'之间的为数字字符,在'a'到'z'或'A'到'Z'之间的为字母字符;否则为其他字符。程序如下: /*文件名:*/ #include <> main() { char c;

printf("输入一个字符:"); scanf("%c",&c); if (c>='0' && c<='9') printf("\n%c 是数字字符\n\n",c); else if ((c>='a' && c<='z') || (c>='A' && c<='Z')) printf("\n%c 是字母字符\n\n",c); else

printf("\n%c 是其他字符\n\n",c);

}

(2)假设今天是星期日,编写一个程序,求123456天后是星期几。

【解】星期是7天一个轮回,由于今天是星期日,所以123456除以7的余数即为星期几。程序如下: /*文件名:*/ #include <> main() {

int n=123456;

n=n%7;

printf("\n星期");

switch(n)

{

case 0: printf("天");

break;

case 1: printf("一");

break;

case 2: printf("二");

break;

case 3: printf("三");

break;

case 4: printf("四");

break;

case 5: printf("五");

break;

case 6: printf("六");

break;

}

printf("\n\n");

}

(3)编写一个程序,输入年号和月份,判断该年是否为闰年,并根据给出的月份判断是什么季节和该月有多少天?闰年的条件是年号能被4整除但不能被100整除,或者能被400整除。

【解】直接根据闰年的定义求解,如果是闰年,2月份为29天;否则为28天,其他月份相同。规定3~5月为春季,6~8月为夏季,9~11月为秋季,1、2和12月为冬季。本题程序如下:

/*文件名:*/

#include <>

main()

{

int y,m,leap,season,days;

printf("年份,月份:");

scanf("%d,%d",&y,&m);

if ((y%4==0 && y%100!=0) || (y%400==0))

leap=1;

else

leap=0;

if (m>=3 && m<=5)

season=1;

else if (m>=6 && m<=8)

season=2;

else if (m>=9 && m<=11)

season=3;

else

season=4;

c语言试题及答案

1、以下正确的说法是( B ) (A) 用户若需要调用标准库函数,调用前必须重新定义 (B) 用户可以重新定义标准库函数,若如此,该函数将失去原有含义 (C) 系统根本不允许用户重新定义标准库函数 (D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 2、以下正确的函数声明形式是( A ) (A) double fun(int x, int y) (B) double fun(int x; int y) (C) double fun(int x, int y); (D) double fun(int x,y); 3、以下正确的函数形式是( D ) (A) double fun(int x, int y) { z=x+y; return z;} (B) fun(int x,y) { int z; return z;} (C) fun(x,y) { int x,y; double z; z=x+y; return z;} (D) double fun(int x, int y) { double z; z=x+y; return z;} 4、以下正确的说法是( A ) 在C语言中 (A) 实参和与其对应的形参各占用独立的存储单元 (B) 实参和与其对应的形参共占用一个存储单元 (C) 只有当实参和与其对应的形参同名时才共占用存储单元 (D) 形参是虚拟的,不占用存储单元 5、若调用一个函数,且此函数中没有return语句,则正确的说法是( A ) 该函数 (A) 没有返回值 (B) 返回若干个系统默认值 (C) 能返回一个用户所希望的函数值 (D) 返回一个不确定的值 6、以下不正确的说法是( B ) C语言规定 (A) 实参可以是常量、变量和表达式 (B) 形参可以是常量、变量和表达式 (C) 实参可以为任意类型 (D) 形参应与其对应的实参类型一致 7、以下正确的说法是( C ) (A) 定义函数时,形参的类型说明可以放在函数体内 (B) return后边的值不能为表达式 (C) 如果函数值的类型与返回值类型不一致,以函数值类型为准 (D) 如果形参与实参的类型不一致,以实参类型为准 8、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( B ) (A) 地址传递 (B) 单向值传递 (C) 由实参传给形参,再由形参传回给实参 (D) 由用户指定传递方式

C语言上机作业题及答案

实验一: 1、已知华氏温度,根据转换公式计算相应的摄氏温度。 摄氏温度= 5*(华氏温度-32)/9 2.任意输入一个有五位数字的正整数,逆序输出每一数位上的数字。 如: 输入 12345 输出 5 4 3 2 1 #include"stdio.h" main() { double t,T; printf ("已知华氏温度,根据转换公式计算相应的摄氏温度"); scanf ("%lf",&t); T=(5*(t-32)/9); printf ("摄氏温度=%lf",T); } #include"stdio.h" main() { int value,a,b,c,d,e,m,n,h; printf ("任意输入一个有五位数字的正整数,逆序输出每一数位上的数字"); scanf ("%d",&value); a=value/10000; m=value%10000; b=m/1000; n=m%1000; c=n/100; h=n%100; d=h/10; e=h%10; printf ("%d%d%d%d%d",e,d,c,b,a); } 实验二: 1.一个成年人的身高与其父母的身高密切相关,根据以下人体标准身高预测公式计算自己或某个同学的身高,并跟实际身高比较,给出结论是否符合该公式(误

差在3厘米范围内即视为相符)。 男性身高=(父亲身高+母亲身高)×1.08÷2(厘米) 女性身高=(父亲身高×0.923+母亲身高)÷2(厘米) 2.从键盘上输入税前收入,根据以下公式及规则,计算个人所得税税额并输出。应纳个人所得税税额=(税前收入—起征点额度)*适用税率—速算扣除数 其中,起征点额度是3500元,其他如下: 应纳税所得额税率速算扣除数 不超过1500元的部分 3% 0 超过1500元至4500元的部分 10% 105 超过4500元至9000元的部分 20% 555 超过9000元至35000元的部分 25% 1005 超过35000元至55000元的部分 30% 2755 超过55000元至80000元的部分 35% 5505 超过80000的部分 45% 13505 如:某人月收入5000元,则应纳个人所得税税额为(5000-3500)* 10% - 105 = 45元。 #include #include main() { float A,a,H,h,b; printf("父亲身高(厘米)\n"); scanf("%f",&A); printf("母亲身高(厘米)\n"); scanf("%f",&a); printf("孩子实际身高(厘米)\n"); scanf("%f",&H); printf("请选择孩子性别:女=0,男=1\n"); scanf("%f",&b); if(b) h=(A+a)*1.08/2; else h=(A*0.923+a)/2; if(fabs(H-h)<=3) printf("实际身高符合该公式\n"); else

C语言试卷及答案

一、选择题(每题 1 分,共 20 分) 1. C 语言程序的三种基本结构是顺序结构、选择结构和结构。 A、循环 B、递归 C、转移 D、嵌套 2. 下列标识符中,合法的是_______ 。 A) unsigned B) 5ab C) INT# D)_num2 3. 若float x ;x = 10/4 ;x的值是。 A、2.5 B、2.0 C、3 D、 2 4. 表达式!x 等价于。 A、x==0 B、x==1 C、x != 0 D、x != 1 5. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为。 A、算术运算、赋值运算、关系运算 B、关系运算、赋值运算、算术运算 C、算术运算、关系运算、赋值运算 D、关系运算、算术运算、赋值运算 6. 能将高级语言编写的源程序转换为目标程序的是。 A、链接程序 B、解释程序 C、编译程序 D、编辑程序 7. 下列语句定义pf为指向float类型变量f的指针,是正确的。 A、float f, *pf = f; B、float f, *pf = &f; C、float *pf = &f, f; D、float f, pf = f; 8. 一个C程序的执行是从。 A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 9. 能正确表示“当x的取值在[1,10]或[[200,210]范围内为真,否则为假”的表达式是________。 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) 10. 对两个数组a和b进行如下初始化 char a[]=“ABCDEF”;char b[]={ …A?,?B?,?C?,?D?,?E?,?F?}; 则以下叙述正确的是。 A、a和b数组完全相同 B、a和b长度相同 C、a和b中都存放字符串 D、a数组比b数组长度长 11. 是不正确的字符常量。 A、'\n' B、'1' C、"a" D、'\101' 12. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和等价。 A、k=(a>b)?1:0; B、k=a>b; C、k=a<=b; D、a<=b ? 0 : 1; 13. 设变量定义为“int x, *p=&x;”,则&*p相当于。 A、p B、*p C、x D、*&x 14. 有两个字符数组a、b,则以下正确的输入语句是。 A)gets(a,b); B) scanf(“%s%s”,a,b); C) scanf(“%s%s”,&a,&b); D) gets(“a”),gets(“b”); 15. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是。 A、地址传递 B、单向值传递

C语言上机作业试题5套含答案

第一次上机作业(2014): 要求: ?独立完成,上机调试通过后上交 ?作业提交邮箱: ?邮件主题命名:班级学号姓名(第1次作业), 例如:电1301班2王鹏(第1次作业) ?以附件形式将每次作业的所有程序源程序压缩打包后提交,压缩文件命名格式同上。 ?程序必须采用缩进格式 1.大写字母转换成小写字母 从键盘输入一个大写英文字母,输出相应的小写字母。 例:输入G 输出g 2.求平方根 输入一个实数x,计算并输出其平方根(保留1 位小数)。 例:输入17 输出The square root of 17.0 is 4.1 3.温度转换 设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32) a)输入华氏温度(实型) b)输出的摄氏温度结果保留两位小数 例:Please input Fahrenheit temperature: 76.8 The corresponding Celsius temperature is 24.89 4. 计算旅途时间 输入二个整数time1 和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 (输入的有效的时间范围是0000 到2359,不需要考虑出发时间晚于到达时间的情况。) 例:输入712 1411 (出发时间是7:12,到达时间是14:11) 输出The train journey time is 6 hours 59 minutes. 5. 数字加密 输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。 例:输入1257 输出The encrypted number is 4601 思考题:你能否编程找出谁做的好事? 有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。 ?A说:不是我。 ?B说:是C。 ?C说:是D。 ?D说:他胡说。 已知三个人说的是真话,一个人说的是假话。现在要根据这些信息,找出做了好事的人。 第二次上机作业(2014): 要求: ?独立完成,程序必须采用缩进格式,上机调试通过后上交

扬州大学C语言上机作业1-9整理

答案仅供参考 实验一 4.设计main函数实现从键盘上输入两个整型变量a、b的值,交换它们的值并输出。#include void main() { int a,b,c; printf("enter first integer : "); scanf("%d",&a); printf("enter second integer : "); scanf("%d",&b); c=a; a=b; b=c; printf("%d,%d\n",a,b); getch(); } 5.设计main函数实现从键盘上输入两个整型变量a、b的值,并将b的值加入到a中,输出a的值。 #include void main() { int a,b,c; printf("enter first integer : "); scanf("%d",&a); printf("enter second integer : "); scanf("%d",&b); c=a+b; a=c; printf("a=%d,b=%d\n",a,b); getch(); } 6.从键盘输入整数x的值,根据公式y=x3+3x2+x-10求y的值,输出x和y的值。 #include void main() { int x,y; printf("enter first integer : "); scanf("%d",&x); y=x*x*x+3*x*x+x-10;

printf("x=%d,y=%d\n",x,y); getch(); } 实验二 1.编写程序,从键盘上输入一个整数(例如560)表示分钟,将其换算成用小时和分钟表示,然后输出至屏幕。 #include void main() { int a,b,hour,min; printf("enter first integer : "); scanf("%d",&a); b=60; hour=a/b; min=a%b; printf("hour=%d,min=%d\n",hour,min); getch(); } 2.编写程序,输入两个整数(例如1500和350),求出它们的商和余数并进行输出。 #include void main() { int a,b,c,d; a=1500,b=350; c=a/b; d=a%b; printf("%d,%d",c,d); getch(); } 3.编写程序,读入3个整数给分别变量a,b,c,然后将a,b,c的值输出到屏幕,再交换它们中的数值,把a中原来的值给b,把b中原来的值赋给c,把c中原来的值赋给a,然后再次输出a,b,c的值到屏幕。 #include void main() { int a,b,c,d; printf("enter first integer : "); scanf("%d",&a);

C语言全部题目及答案

C语言全部题目及答案 SANY GROUP system office room 【SANYUA16H-

C语言全部题目及答案 Exercise 1: Programming Environment and Basic Input/Output 1.Write a program that prints “This is my first program!” on the screen. (a)Save this program onto your own disk with the name of e2-1a; (b)Run this program without opening Turbo C; (c)Modify this program to print “This is my second program!”, then save it as e2-1b. Please do not overwrite the first program. 2.Write a program that prints the number 1 to 4 on the same line. Write the program using the following methods: (a)Using four “printf” statements. (b)Using one “printf” statement with no conversion specifier(i.e. no ‘%’). (c)Using one “printf” statement with four conversion specifiers 3.(a) Write a program that calculates and displays the number of minutes in 15 days. (b) Write a program that calculates and displays how many hours 180 minutes equal to. (c) (Optional) How about 174 minutes?

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语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】A) 函数B) 语句C) 字符D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】A) 整型、实型、逻辑型B) 整型、实型、字符型 C) 整型、双精度型、布尔型D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】A) 固定的B) 由用户自己定义的 C) 任意的D) 与机器字长有关

c语言试题及答案 ()

第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (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 语言只有 37 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。

大连理工c语言第五次上机作业参考答案

第五次上机作业:(请用指针实现) 1.数据移位 有n(n<=10)个整数,使前面各数顺序向后移m(m<=n)个位置,最后m 个数变成最前面的m个数,如图所示。编写函数shift(a,n,m)实现上述功能,在主函数中输入n个整数和输出调整后的n个数。 SAMPLE OUTPUT Input n(n<=10):10 Input 10 integers:1 2 3 4 5 6 7 8 9 10 Output the original:1 2 3 4 5 6 7 8 9 10 Input m(m<=10):4 Output the shifted:7 8 9 10 1 2 3 4 5 6 #include #define N 10 void shift(int a[ ],int n,int m); void main( ) { int i,n,m; int a[N]; printf("Input n(n<=10):"); scanf("%d",&n); printf("Input %d integers:\n",n); for(i=0;i=0;j--) a[j+1]=a[j]; a[0]=t; } } n

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语言上机考试训练题库及答案

上机考试习题集 1.编写程序,一次输入5个学生的3门课成绩,每输入一个学生的3门成绩后,立即统计并输出该学生的总分和平均分。 #include "stdio.h" void main() { int score[5][3], i,j; float sum[5],average[5]; printf("请分别输入三个学生的成绩:\n"); for(i=0;i<5;i++) { sum[i]=0; for(j=0;j<3;j++) {scanf("%d",&score[i][j]); average[i]=0; sum[i]+=score[i][j]; average[i]=sum[i]/5; } } for(i=0;i<5;i++) printf("第%d个学生的总分为:%f,平均成绩为:%f\n",i+1,sum[i],average[i]); } 2 、编写程序,提示用户从键盘输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后在显示器上输出此数,以便验证处理是否正确。 #include #include double rounding(double x,int n); void main() { double x,x1; int n; printf("请输入一个浮点数:\n"); scanf("%lf",&x); printf("请输入给定的小数位:\n"); scanf("%d",&n); x1=rounding(x,n); printf("圆整后的数为:\n%.*lf\n",n,x1); } double rounding(double x,int n)

C语言试题及答案06612

大学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 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在C 语言程序中允许出现的字符集是ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以/* 符号作为开始标记,以*/ 符号作为结束标记。 第2章数据类型运算符和表达式习题 1. 单项选择题 (1) 以下选项中,正确的C 语言整型常量是 D 。 A. 32L B. 510000 C. -1.00 D. 567 (2) 以下选项中, D 是不正确的C 语言字符型常量。 A. 'a' B. '\x41' C. '\101' D. "a" (3) 在C 语言中,字符型数据在计算机内存中,以字符的 C 形式存储。 A. 原码 B. 反码 C. ASCII 码 D. BCD码 (4) 字符串的结束标志是 C 。 A. 0 B. '0' C. '\0' D. "0" (5) 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为 B 。 A. 算术运算、赋值运算、关系运算 B. 算术运算、关系运算、赋值运算 C. 关系运算、赋值运算、算术运算 D. 关系运算、算术运算、赋值运算 (6) 逻辑运算符中,运算优先级按从高到低依次为 D 。 A. &&,!,|| B. ||,&&,! C. &&,||,! D. !,&&,|| (7) 表达式!x||a==b 等效于 D 。 A. !((x||a)==b) B. !(x||y)==b C. !(x||(a==b)) D. (!x)||(a==b) (8) 设整型变量m,n,a,b,c,d 均为1,执行(m=a>b)&&(n=c>d)后, m,n 的值是 A 。 A. 0,0 B. 0,1 C. 1,0 D. 1,1

c语言上机模拟题1

1.按照计算机应用领域分类,学校使用的成绩管理系统属于_______。 A. 实时控制 B. 计算机辅助设计 C. 数据处理 D. 科学计算 参考答案:C 2.下面关于计算机系统的叙述中,完整的计算机系统通常是指______。 A. 计算机的硬件系统 B. 计算机上配置的操作系统 C. 计算机的软件系统 ! D. 由硬件系统和软件系统组成 参考答案:D 3.微型计算机的微处理芯片上集成的主要组件包括______。 A. 控制器和运算器 B. 内存和控制器 C. 控制器和存储器 D. 运算器和I/O接口 参考答案:A 的对话框窗口不可以______。 A. 关闭

【 B. 移动 C. 任意改变大小 D. 最小化 参考答案:C 5.某用户在域名为的邮件服务器上申请了一个账号,账号名为xing,那么该用户的电子邮件地址为______。 A. xing%参考答案:D 6.下列对C语言程序的描述中,正确的是_______。 A. C语言程序总是从第一个定义的函数开始执行 B. C语言程序总是从最后一个定义的函数开始执行 C. C语言程序总是从main()函数开始执行 < D. C语言程序中的main()函数必须放在程序的开始部分 参考答案:C 7.设有char ch='\\';,则变量ch包含______个字符。 A. 1 B. 2 C. 3 D. 4 参考答案:A 8.以下选项中合法的字符常量是____________。 A. '\101' {

B. '\97' C. '\xyz' D. '\019' 参考答案:A 9.下面用户标识符中合法的是____________。 A. iPhone# B. 13a C. char D. _int 参考答案:D ( 10.已知int c1=5,c2=2,c3;,则执行c3=c1/c2后,c3的值是 _______。 A. 5 B. C. 3 D. 2 参考答案:D 11.设有定义int b=0;,表达式_______与其它表达式的值不相同。 A. b+=1 B. b++ C. ++b

c语言试题及答案

c语言试题及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

1、以下正确的说法是(B) (A)用户若需要调用标准库函数,调用前必须重新定义 (B)用户可以重新定义标准库函数,若如此,该函数将失去原有含义 (C)系统根本不允许用户重新定义标准库函数 (D)用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 2、以下正确的函数声明形式是(A) (A)doublefun(intx,inty) (B)doublefun(intx;inty) (C)doublefun(intx,inty); (D)doublefun(intx,y); 3、以下正确的函数形式是(D) (A)doublefun(intx,inty){z=x+y;returnz;} (B)fun(intx,y){intz;returnz;} (C)fun(x,y){intx,y;doublez;z=x+y;returnz;} (D)doublefun(intx,inty){doublez;z=x+y;returnz;} 4、以下正确的说法是(A ) 在C语言中 (A)实参和与其对应的形参各占用独立的存储单元 (B)实参和与其对应的形参共占用一个存储单元

(C)只有当实参和与其对应的形参同名时才共占用存储单元 (D)形参是虚拟的,不占用存储单元 5、若调用一个函数,且此函数中没有return语句,则正确的说法是(A) 该函数 (A)没有返回值 (B)返回若干个系统默认值 (C)能返回一个用户所希望的函数值 (D)返回一个不确定的值 6、以下不正确的说法是(B) C语言规定 (A)实参可以是常量、变量和表达式 (B)形参可以是常量、变量和表达式 (C)实参可以为任意类型 (D)形参应与其对应的实参类型一致 7、以下正确的说法是(C) (A)定义函数时,形参的类型说明可以放在函数体内 (B)return后边的值不能为表达式 (C)如果函数值的类型与返回值类型不一致,以函数值类型为准 (D)如果形参与实参的类型不一致,以实参类型为准

C语言上机试题答案

//vc1 //prog1.cpp //设计一个程序,从键盘输入三个整数,按由小到大的顺序输出。#include"stdio.h" main() { int a[3],i,j,t; for(i=0;i<3;i++) { scanf("%d",&a[i]); } for(i=0;i<9;i++) /*此处的i可以小于任意一个大于6的整数*/ { for(j=0;j<2;j++) { if(a[j]>a[j+1]) t=a[j],a[j]=a[j+1],a[j+1]=t; } } printf("The three data from small to big is:"); for(i=0;i<3;i++) printf("%d ",a[i]); } //vc1 //prog2.cpp //求1+3+5+...+95+97+99的和。 #include"stdio.h" main() { int i,sum=0; for(i=1;i<100;i=i+2) sum+=i; printf("1+3+5+....+99=%d\n",sum); } //vc1 //prog3.cpp //写一个函数,从键盘输入一个整数,如果该整数为素数,则输出“此

整数为素数”,否则输出“整数非素数”。(注:要求从主函数输入整数)#include"stdio.h" main() { int i,j,k,l=2; printf("输入一个大于3的整数:"); scanf("%d",&i); for(j=2;j=0;i--) printf("%d ",a[i]); for(i=0;i<10;i++) sum+=a[i]; printf("The total is:%d\n",sum); } //vc2 //prog2.cpp //输入N个国家的英文名,要求按字母的先后顺序排列,并按照顺序输出。

C语言试题及答案

第1章C语言概述习题1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (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 语言只有 37 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以/* 符号作为开始标记,以 */ 符号作为结束标记。

相关文档