搜档网
当前位置:搜档网 › C语言习题及答案

C语言习题及答案

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

第1题(2.0分)题号:97 难度:中第1章

以下不正确的叙述是()。

A:在C程序中所用的变量必须先定义后使用

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

C:若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变D:当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值

答案:D

第2题(2.0分)题号:204 难度:中第10章

在下列程序段中,枚举变量c1,c2的值依次是()。

enum color {red,yellow,blue=4,green,white} c1,c2;

c1=yellow;c2=white;

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

A:1,6

B:2,5

C:1,4

D:2,6

答案:A

第3题(2.0分)题号:601 难度:中第2章

下面四个选项中,均是不合法的浮点数的选项是()。

A:160. 0.12 e3

B:123 2e4.2 .e5

C:-.18 123e4 0.0

D:-e3 .234 1e3

答案:B

第4题(2.0分)题号:621 难度:中第3章

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

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

A:从左起输出该字符串,右补空格

B:按原字符长从左向右全部输出

C:右对齐输出该字串,左补空格

D:输出错误信息

答案:B

第5题(2.0分)题号:694 难度:中第3章

以下叙述正确的是()。

A:可以把define和if定义为用户标识符

B:可以把define定义为用户标识符,但不能把if定义为用户标识符

C:可以把if定义为用户标识符,但不能把define定义为用户标识符

D:define和if都不能定义为用户标识符

答案:B

第6题(2.0分)题号:575 难度:中第4章若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于

表达式(exp)的是()。

A:(exp==0)

B:(exp!=0)

C:(exp==1)

D:(exp!=1)

答案:B

第7题(2.0分)题号:208 难度:中第4章下列各m的值中,能使m%3==2&&m%5==3&&m%7==2为真的是()。A:8

B:23

C:17

D:6

答案:B

第8题(2.0分)题号:632 难度:中第5章以下叙述正确的是()。

A:do-while语句构成的循环不能用其它语句构成的循环来代替.

B:do-while语句构成的循环只能用break语句退出.

C:用do-while语句构成的循环,在while后的表达式为非零时结束循环. D:用do-while语句构成的循环,在while后的表达式为零时结束循环

答案:D

第9题(2.0分)题号:506 难度:中第5章以下程序段的输出结果为()。

for(i=4;i>1;i--)

for(j=1;j

putchar('#');

A:无

B:######

C:#

D:###

答案:B

第10题(2.0分)题号:617 难度:中第5章执行语句for(i=1;i++<4;); 后变量i 的值是()。

A:3

B:4

C:5

D:不定

答案:C

第11题(2.0分)题号:693 难度:中第10章以下各选项企图说明一种新的类型名,其中正确的是()。

A:typedef v1 int;

B:typedef v2=int;

C:typedef int v3;

D:typedef v4: int;

答案:C

第12题(2.0分)题号:654 难度:中第6章以下不能正确定义二维数组的选项是()。

A:int a[2][2]={{1},{2}};

B:int a[][2]={1,2,3,4};

C:int a[2][2]={{1},2,3};

D:int a[2][]={{1,2},{3,4}};

答案:D

第13题(2.0分)题号:556 难度:中第10章static struct {int a1;float a2;char a3;}a[10]={1,3.5,'A'};

说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存储方式,其中被初始化的下标变量是()。

A:a[1]

B:a[-1]

C:a[0]

D:a[10]

答案:C

第14题(2.0分)题号:635 难度:中第6章若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是()。

A:2

B:3

C:4

D:无确定值

答案:B

第15题(2.0分)题号:671 难度:中第7章

C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是()。A:地址传递

B:单向值传递

C:由实参传给形参,再由形参传回给实参

D:由用户指定的传递方式

答案:B

第16题(2.0分)题号:182 难度:中第7章

执行下面程序后,输出结果是()。

main()

{ a=45,b=27,c=0;

c=max(a,b);

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

}

int max(x,y)

int x,y;

{ int z;

if(x>y) z=x;

else z=y;

return(z);

}

A:45

B:27

C:18

D:72

答案:A

第17题(2.0分)题号:211 难度:中第12章fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是()。

A:字符串读入后不会自动加入'\0'

B:fp是file类型的指针

C:fgets函数将从文件中最多读入n-1个字符

D:fgets函数将从文件中最多读入n个字符

答案:C

第18题(2.0分)题号:554 难度:中第12章从键盘上输入某字符串时,不可使用的函数是()。

A:getchar()

B:gets()

C:scanf()

D:fread()

答案:A

第19题(2.0分)题号:471 难度:中第9章以下程序段char *alp[]={"ABC","DEF","GHI"}; int j; puts(alp[1]);

的输出结果是()。

A:A

B:B

C:D

D:DEF

答案:D

第20题(2.0分)题号:191 难度:中第9章设有说明int (*ptr)[M];其中标识符ptr是()。

A:M个指向整型变量的指针

B:指向M个整型变量的函数指针

C:一个指向具有M个整型元素的一维数组的指针

D:具有M个指针元素的一维指针数组,每个元素都只能指向整型量

答案:C

二、程序填空共2题(共计20分)

第1题(10.0分)题号:24 难度:中第1章功能:对任一整数N(N≠0),它都可以分解成1(或-1)和一些质数(素数)因子的形式。

例如:当N=150时,可分解成1×2×3×5×5;

当N=-150时,可分解为-1×2×3×5×5。

下边程序能实现这种分解过程。当N=150,输出以下分解结

果:N= 1* 2* 3* 5* 5

#include

#include

main()

{

int n,i,r;

scanf("%d",&n);

if (n==0)

{

printf ("data error \n");

exit(0);

}

/***********SPACE***********/

else if (【?】)

printf("n=1");

else

{

printf("n=-1");

n=-n;

}

/***********SPACE***********/

for(【?】;i<=n;i++)

{

/***********SPACE***********/

【?】;

while(r==0)

{

printf("*%d",i);

/***********SPACE***********/

【?】;

r=n%i;

}

}

printf("\n");

}

答案:

=======(答案1)=======

n>0=========或=========

0

i=2

=======(答案3)=======

r=n%i

=======(答案4)=======

n=n/i=========或=========

n/=i

第2题(10.0分)题号:20 难度:中第1章

功能:求两个非负整数的最大公约数和最小公倍数。

#include

void main()

{

int m,n,r,p,gcd,lcm;

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

if(m

p=m*n;

r=m%n;

/***********SPACE***********/

while(【?】)

{

/***********SPACE***********/

m=n;n=r; 【?】;

}

/***********SPACE***********/

gcd=【?】;

lcm=p/gcd;

/***********SPACE***********/

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

}

答案:

=======(答案1)=======

r != 0

=========或=========

r=======(答案2)=======

r=m%n

=========或=========

r=m-m/n*n

=======(答案3)=======

n

三、程序改错共2题(共计20分)

第1题(10.0分)题号:1 难度:中第1 功能:在一个一维整型数组中找出其中最大的数及其下标。

#include

#define N 10

/**********FOUND**********/

float fun(int *a,int *b,int n)

{

int *c,max=*a;

for(c=a+1;c

if(*c>max)

{

max=*c;

/**********FOUND**********/

b=c-a;

}

return max;

}

void main()

{

int a[N],i,max,p=0;

printf("please enter 10 integers:\n");

for(i=0;i

/**********FOUND**********/

get("%d",a[i]);

/**********FOUND**********/

m=fun(a,p,N);

printf("max=%d,position=%d",max,p);

}

答案:

=======(答案1)=======

int fun(int *a,int *b,int n)

=======(答案2)=======

*b=c-a;

=======(答案3)=======

scanf("%d",&a[i]);

=========或=========

scanf("%d", a + i );

=======(答案4)=======

max=fun(a,&p,N);

第2题(10.0分)题号:436 难度:中第2章功能:编制统计营业员一天的营业额的程序,设程序采用一个循环实现,每次循环输入一笔交易金额并累计营业额。由于营

业员一天完成的交易次数是不确定的,为此以最后附加输

入一笔0或负数交易额作为交易金额已全部输入结束的标志。

有以下统计营业员一天营业额的算法:

统计营业员一天营业额

{

营业额清0;

输入第一笔交易额;

while(交易额>0.0)

{

累计营业额;

输入下一笔交易额;

}

输出营业额;

}

记一笔交易额为变量sale,营业额为sigma。

#include

void main()

{

/**********FOUND**********/

float sale,sigma

sigma=0.0;

printf("Enter sale data.\n");

/**********FOUND**********/

scanf("%f",sale);

while(sale>0.0)

{

/**********FOUND**********/

sigma+==sale;

printf("Enter next sale data(<=0 to finish).\n");

scanf("%f",&sale);

}

printf("Sigma of sale is %.2f\n",sigma);

}

答案:

=======(答案1)=======

float sale,sigma;

=======(答案2)=======

scanf("%f",&sale);

=======(答案3)=======

sigma+=sale;

=========或=========

sigma=sigma+sale;

四、程序设计共2题(共计20分)

第1题(10.0分)题号:386 难度:中第2章功能:用函数求N个[10,60]上的整数中能被5整除的最大

的数,如存在则返回这个最大值,如果不存在则

返回0。

------------------------------------------------*/

#define N 30

#include "stdlib.h"

#include

void wwjt();

int find(int arr[],int n)

{

int m=0;

/**********Program**********/

/********** End **********/ return(m);

}

main()

{

int a[N],i,k;

for(i=0;i

a[i]=random(51)+10;

for(i=0;i

{

printf("%5d",a[i]);

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

}

k=find(a,N);

if(k==0)

printf("NO FOUND\n");

else

printf("the max is:%d\n",k); wwjt();

}

void wwjt()

{

FILE *IN,*OUT;

int n;

int i[5];

int o;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("Read FILE Error");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{

printf("Write FILE Error");

}

for(n=0;n<5;n++)

{

fscanf(IN,"%d",&i[n]);

}

o=find(i,5);

fprintf(OUT,"%d\n",o);

fclose(IN);

fclose(OUT);

}

答案:----------------------

int i;

for(i=0;i

if(arr[i]%5==0 && arr[i]>m)

m=arr[i];

----------------------

第2题(10.0分)题号:401 难度:中第2章功能:若x、y为奇数,求x到y之间的奇数和;若x、y为偶数,则求x到y之间的偶数和。

#include

void wwjt();

int fun(int x,int y)

{

/**********Program**********/

********** End **********/

}

main()

{

int s;

s=fun(1,1999)-fun(2,1998);

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

wwjt();

}

void wwjt()

{

FILE *IN,*OUT;

int n;

int i[2];

int o;

IN=fopen("in.dat","r");

if(IN==NULL)

{

printf("Read FILE Error"); }

OUT=fopen("out.dat","w"); if(OUT==NULL)

{

printf("Write FILE Error"); }

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

{

fscanf(IN,"%d",&i[n]);

}

o = fun(i[0],i[1]);

fprintf(OUT,"%d\n",o); fclose(IN);

fclose(OUT);

}

答案:----------------------

int i,s=0;

for(i=x;i<=y;i+=2)

s=s+i;

return s;

----------------------

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语言考试题库含答案

================================================== 题号: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语言课后习题答案(最终)

第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语言习题集 习题一 一.填空题 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语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#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语言综合习题及答案 Prepared on 24 November 2020

C语言练习题 一、选择题 1. 一个完整的C源程序是【B 】。 A)要由一个主函数或一个以上的非主函数构成 B)由一个且仅由一个主函数和零个以上的非主函数构成 C)要由一个主函数和一个以上的非主函数构成 D)由一个且只有一个主函数或多个非主函数构成 2. 以下关于函数的叙述中正确的是【C】。 A)C语言程序将从源程序中第一个函数开始执行 B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D)main可作为用户标识符,用以定义任意一个函数 3. 以下关于函数的叙述中不正确的是【B】。 A)C程序是函数的集合,包括标准库函数和用户自定义函数 B)在C语言程序中,被调用的函数必须在main函数中定义 C)在C语言程序中,函数的定义不能嵌套 D)在C语言程序中,函数的调用可以嵌套 4. 在一个C程序中,【B 】。 A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现 C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置 程序的执行是从【A 】开始的。 A)主函数 B)子函数 C)从程序第一行 D)printf()函数 6.以下选项中不合法的标识符是【C 】 A)print B)FOR C)&a D)_00 7.以下选项中可作为C语言合法常量的是【A】 A)-80 B)-080 C) D) 8.以下选项中不属于字符常量的是【B】 A)′C′ B)"C" C)′\xCC′ D) ′\072′ 9. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【C】

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)编程求37+29的值,实习VC环境。 #include void main() { int a,b,sum; a=37; b=29; sum=a+b; printf("sum=%d",sum); } (2)从键盘输入三个整数,求出最大数并输出。 #include void main() { int a,b,c,y; int max(int x,int y); printf("input a,b,and c:"); scanf("%d,%d,%d",&a,&b,&c); y=max(a,b); y=max(y,c); printf("\nmax=%d\n",y); } int max(int x,int y) { int z; if(x>y) z=x; else z=y; return(z); } (3)通过上机实践,运行下列程序并分析输出结果。 A 程序代码 #include void main() { char ch='a'; printf("%c对应的ASCII码是:%d\n",ch,ch); } 程序输出结果:a对应的ASC||码是:97

B 程序代码 #include void main() { int a=168; float b=123.456; float x=35.567,y; printf("a=%5d\n",a); printf("a=%-5d\n",a); printf("b=%6.2f\n",b); printf("b=%e\n",b); y=(int)(x*100+0.5)/100.0; printf("x=f,y=%f\n",x,y); } 程序输出结果: a=168 a=168 b=123.46b=1.234560e+002 x=f,y=35.567001 C程序代码 #include void main() { int a=168; printf("十进制数%d对应的八进制数是%o\n",a,a); printf("十进制数%d对应的十六进制数是%x\n",a,a); } 程序输出结果: 十进制数168对应的八进制数是250 十进制数168对应的十六进制数是a8

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

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学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 题目内容: 使用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语言概述习题 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语言程序设计第五版习 题答案 Prepared on 24 November 2020

习题解析与答案 第1章C语言概述 一.简答题 1.概述C语言的主要特点。 【解答】 (1)语言简洁、紧凑,使用方便、灵活。 (2)数据类型丰富,表达能力强。 (3)运算符多样。C语言中的运算符包含的范围非常广泛。 (4)具有结构化的控制语句。如if…else语句、while语句、dowhile语句、switch语句、for语句。 (5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。 (6)所生成的目标代码质量高,可移植性好。 2.构成C语言程序的基本单位是什么它由哪几部分组成 【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。 3.C语言程序的运行一般要经过哪几个步骤 【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。 二.运行程序写结果 1.输入下面程序并运行。 main() { inta1,a2,x; a1=100; a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main()

{ inta1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 三.编程题 1.参照本章例题,编写一个C程序,用于显示如下信息: ************************* IloveCprograms! ************************* 【分析与提示】 ①要有文件包含语句#include<>。C语言中没有数据的输入、输出等功 能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf 等来实现的。这些函数的说明都包括在文件中。 ②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干 条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。 ③注意显示的信息有三行,所以要用到换行符“\n”。 参考代码: #include<> main() { printf("************************\n"); printf("IloveCprograms!\n"); printf("************************\n"); } 第2章数据类型及其运算一.简答题 1.C语言中的数据类型主要有哪几类 【解答】短整型(shortint) 整型整型(int) 长整型(longint) 基本类型字符型(char)(float) 实型(浮点型) 双精度(double) 枚举类型(enum) 数组类型

历年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); }

c语言编程例题及答案

实验报告三 (四学时) 2.1 实验目的 (1)掌握函数的定义和调用; (2)了解函数间的参数传送; 2.2 基础实验 【题目3-1】编写函数实现将输入的字母转换成大写字母(若输入小写则转换,大写字母直接输出,其他字符请输出提示“请输入字母”)。 算法分析: 1、输入:通过键盘接收一个字符; 2、条件判断:调用判别函数 3、函数功能为:蒋所输入字符进行判别处理,若输入小写则转换,大写字母直接输出,其他字符请输出提示“请输入字母” 4、程序结束。 【实验3-1】代码及运行结果:

【题目3-2】从键盘输入若干个同学计算机课程期末考试成绩(学生人数可由用户输入),求该课程的期末成绩的平均分并输出。 函数功能要求:实现若干(例如5名)同学的的期末成绩输入,并统计出平均分。 算法分析: 1、输入:通过键盘接收同学个数; 2、调用求平均分函数 3、输出平均成绩 4、程序结束。 【实验3-2】代码及运行结果: 【题目3-3】请用函数编写程序实现:计算3 到100 之间所有素数的平方根之和,并输出。s=148.874270。

算法分析: 1、编写函素数判别函数,确定返回标记,如果是素数返回1,否则返回0 2、编写主函数,用一重循环遍历100以内所有数据 2.1、通过素数判别函数对循环的数据进行是否为素数的判别 2.2、返回判别为真的整数,并输出 3、程序结束。 【实验3-3】代码及运行结果: #include #include int Prime(int x) { int i ; if(x<=1) return 0; for(i=2;i<=x-1;i++) { if(x%i==0) { return 0; } } return 1; } int main() { double i,sum; i=3; sum=0; while(i<=100) { if(Prime(i)) { sum=sum+sqrt(i); } else { sum=sum+0; } i++; } printf("sum=%f\n",sum); return 0; }。

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语言章节复习题 目录 C 语言章节复习题 第一章 C 语言概述 第三章数据类型、运算符和表达式 第四章顺序结构程序设计 第五章选择结构程序设计 第六章循环结构程序设计16

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

相关主题