c语言题1.docx

上传人:b****8 文档编号:10390516 上传时间:2023-02-10 格式:DOCX 页数:19 大小:22.02KB
下载 相关 举报
c语言题1.docx_第1页
第1页 / 共19页
c语言题1.docx_第2页
第2页 / 共19页
c语言题1.docx_第3页
第3页 / 共19页
c语言题1.docx_第4页
第4页 / 共19页
c语言题1.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

c语言题1.docx

《c语言题1.docx》由会员分享,可在线阅读,更多相关《c语言题1.docx(19页珍藏版)》请在冰豆网上搜索。

c语言题1.docx

c语言题1

1.以下对C语言函数的描述中,正确的是(B).

A、C函数既可以嵌套定义又可以递归调用

B、C程序必须由一个或一个以上的函数组成

C、C程序中有调用关系的所有函数必须放在同一个程序文件中

D、函数必须有返回值,否则不能使用函数

2.用C语言编写的代码程序(B)

A、可立即执行

B、是一个源程序

C、经过编译解释才能执行

D、经过编译即可执行

3.以下字符中不是转义字符的是(A).

A、\c'

B、\t'

C、\\'

D、\n'

4.若有说明:

int*p,m=5,n;以下正确的程序段是(A).

A、p=&n;*p=m;

B、p=&n;scanf("%d",*p)

C、p=&n;scanf("%d",&p);

D、scanf("%d",&n);*p=n;

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

main()

{intn;

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

{

if(n%3==0)continue;

printf("%d",n);

}

}

A、12457810

B、12

C、369

D、1234567890

6.有以下定义语句doublea,b;intw;longc;各变量已正确赋值,则下列选项中正确的表达式是(D)

A、w=a==b;

B、a=a+b=b++

C、w%((int)a+b)

D、(c+w)%(int)a

7.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句C2='A'+'6'-'3';后c2中的值是(A)

A、D

B、不确定的值

C、C

D、68

8.一个C语言程序是由(A).

A、函数组成

B、一个主程序和若干子程序组成

C、若干子程序组成

D、若干过程组成

9.C语言中用于结构化程序设计的三种基本结构是(A)

A、顺序结构、选择结构、循环结构

B、if、switch、break

C、if、for、continue

D、for、while、do-while

10.设以下变量均为int类型,则值不等于7的表达式是(D).

A、(y=6,y+1,x=y,x+1)

B、(x=y=6,x+y,y+1)

C、(x=y=6,x+y,x+1)

D、(x=6,x+1,y=6,x+y)

11.C语言能正确处理的指数是(B).

A、e-32

B、1.23e-5

C、4.5e-5.6

D、8.5e4288

12.逻辑运算符两侧运算对象的数据类型(B)

A、只能是0或非0正数

B、可以是任何类型的数据

C、只能是0或1

D、只能是整型或字符型数据

13.fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是(B).

A、答案B和C都正确

B、读或读写

C、只写

D、追加

14.下面的叙述中不正确的是(B)

A、宏名无类型,其参数也无类型

B、宏定义命令必须写在文件开头

C、宏替换只是字符替换

D、宏定义不是C语句,不必在行末加分号

15.以下叙述中不正确的是(B).

A、在程序中凡是以#号开始的语句行都是预处理命令行

B、C程序在执行过程中对预处理命令行进行处理

C、预处理命令行都必须以#号开始

D、以下是正确的宏定义#defineIBM_PC

16.若变量a和i已正确定义,且i已正确赋值,合法的语句是(A).

A、++i;

B、a=a++=5;

C、a==1

D、a=int(i);

17.以下符合C语言语法的赋值表达式是(A)

A、B)d=9+e,f=d+9

B、D)d=9十e++=d十7

C、A)d=9+e+f=d+9

D、C)d=9十e,e++,d十9

18.以下说法正确的是(D)

A、A)输入项可以为一实型常量,如scanf("%f",3.5);

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

C、B)只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");

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

19.fwrite函数的一般调用形式是(C).

A、fwrite(fp,count,size,buffer);

B、fwrite(buffer,count,size,fp);

C、fwrite(buffer,size,count,fp);

D、fwrite(fp,size,count,buffer);

20.用语句scanf("x=%f,y=%f",&x,&y);使x,y的值均为1.25,正确的输入是(C)

A、1.25,1.25

B、1.25□1.25

C、x=1.25,y=1.25

D、x=1.25□y=1.25

21.输入某字符串时,不可使用的函数是(B).

A、scanf()

B、getchar()

C、fread()

D、gets()

22.算术运算符、赋值运算符和关系运算符的运算优先级从高到低依次为(B)

A、关系运算、赋值运算、算术运算

B、算术运算、关系运算、赋值运算

C、算术运算、赋值运算、关系运算

D、关系运算、算术运算、赋值运算

23.执行以下程序段后,输出结果和a的值是(C).

inta=10;printf("%d",a++);

A、11和11

B、10和10

C、10和11

D、11和10

24.在位运算中,操作数每左移一位,其结果相当于(A).

A、操作数乘以2

B、操作数乘以4

C、操作数除以4

D、操作数除以2

25.下列四个选项中,均是C语言关键字的选项是(C).

A、autoenuminclude

B、signedunionscanf

C、switchtypedefcontinue

D、ifstructtype

26.以下选项中合法的实型常数是(B).

A、1.3E

B、.2E0

C、5E2.0

D、E-3

27.设有定义:

inta=3,b=4;执行语句printf("%d,%d",(a,b),(b,a));的输出是(C)

A、3,3

B、3,4

C、4,3

D、4,4

28.关于建立函数的目的,以下正确的说法是(D).

A、减少程序文件所占内存

B、提高程序的执行效率

C、减少程序的篇幅

D、提高程序的可读性

29.下列关于单目运算符++、--的叙述中正确的是(D)

A、它们的运算对象可以是int型变量,但不能是double型变量和float型变量

B、它们的运算对象可以是char型变量、int型变量和float型变量

C、它们的运算对象可以是任何变量和常量

D、它们的运算对象可以是char型变量和int型变量,但不能是float型变量

30.以下不正确的叙述是(D)

A、C)若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变.

B、B)在C程序中,APH和aph是两个不同的变量

C、A)在C程序中,逗号运算符的优先级最低

D、D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值.

31.在C语言中,char型数据在内存中的存储式是(A)

A、ASCII码

B、原码

C、反码

D、补码

32.切换编辑窗和信息窗的命令键是(B).

A、F3

B、F6

C、F9

D、F2

33.以下正确的描述是(D)

A、continue语句的作用是结束整个循环的执行

B、在循环体内使用break语句或continue语句的作用相同

C、从多层循环嵌套中退出时,只能使用goto语句

D、只能在循环体内和switch语句体内使用break语句

34.以下叙述中正确的是(D).

A、在程序的一行上可以出现多个有效的预处理命令行

B、在以下定义中CR是称为"宏名"的标识符#defineCR045

C、使用带参的宏时,参数的类型应与宏定义时的一致

D、宏替换不占用运行时间

35.doublex;scanf("%lf",&x);不可以赋值给x变量的常量是(A).

A、"abc"

B、123

C、100000

D、A'

36.打开文件时,方式"w"决定了对文件进行的操作是(C).

A、只读盘

B、追加写盘

C、只写盘

D、可读可写盘

37.在C语言中,合法的长整型常数是(A)

A、0L

B、216D

C、324562&

D、4962710

38.若x,i,j和k都是int型变量,则执行下面表达式后x的值为x=(i=4,j=16,k=32)(D)

A、A)4

B、B)16

C、D)52

D、C)32

39.一个C程序的执行是从(C).

A、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

B、本程序的main函数开始,到本程序文件的最后一个函数结束

C、本程序的main函数开始,到main函数结束

D、本程序文件的第一个函数开始,到本程序main函数结束

40.C语言的if语句嵌套时,if与else的配对关系是(A).

A、每个else总是与它上面的最近的没有配对的if配对

B、每个else总是与最外层的if配对

C、每个else与if的配对是任意的

D、每个else总是与它上面的if配对

 

【程序设计】

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

1.题目:

编写函数fun,求任一整数m的n次方。

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

注意:

部分源程序给出如下。

请勿改动主函数

main和其它函数中的任何内容,仅在函

数fun的花括号中填入所编写的若干语句。

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

#include"stdio.h"

main()

{intm,n;

longs;

longfun(int,int);

printf("输入m和n的值:

");

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

s=fun(m,n);

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

getch();

yzj();

}

longfun(intm,intn)

{

/**********Begin**********/

longintx=1;

inti;

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

x=x*m;

returnx;

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

}

yzj()

{

FILE*IN,*OUT;

intn;

inti[2];

longo;

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

if(IN==NULL)

{printf("ReadFileError");

}

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

if(OUT==NULL)

{printf("WriteFileError");

}

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

{

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

}

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

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

fclose(IN);

fclose(OUT);

}

2.题目:

编写函数fun(x,y),函数的功能是若x、

y为奇数,求x到y之间的奇数和;若x、y

为偶数,则求x到y之间的偶数和。

主函数的功能是计算

(1+3+5+……+1999)-(2+4+6+……+1998)的值。

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

注意:

部分源程序给出如下。

请勿改动主函数

main和其它函数中的任何内容,仅在函

数fun的花括号中填入所编写的若干语句。

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

#include"stdio.h"

main()

{ints,i,j;

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

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

getch();

yzj();

}

intfun(intx,inty)

{

/**********Begin**********/

inti,s=0;

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

s=s+i;

returns;

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

}

yzj()

{

FILE*IN,*OUT;

intn;

inti[2];

into;

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

if(IN==NULL)

{printf("ReadFileError");

}

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

if(OUT==NULL)

{printf("WriteFileError");

}

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

}

3.题目:

编写函数求表达式的和(n的值由主函数输入)。

1-1/2+1/3-1/4+......+1/m

n的值为20时,表达式的值为0.668771。

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

注意:

部分源程序给出如下。

请勿改动主函数

main和其它函数中的任何内容,仅在函

数的花括号中填入所编写的若干语句。

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

#include"stdio.h"

floatsum(intn)

{

/**********Begin**********/

floats=0;

inti,k=1;

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

{s=s+k*1.0/i;

k=-k;

}

return(s);

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

}

main()

{intn;

scanf("%d",&n);

printf("sum=%f\n",sum(n));

yzj();

getch();

}

yzj()

{

FILE*IN,*OUT;

intm,n;

inti[10];

floato;

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

if(IN==NULL)

{printf("ReadFileError");

}

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

if(OUT==NULL)

{printf("WriteFileError");

}

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

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

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

{

o=sum(i[n]);

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

}

fclose(IN);

fclose(OUT);

}

4.题目:

编写函数fun求1!

+2!

+3!

+……+n!

的和,在

main函数中由键盘输入n值,并输出运算

结果。

请编写fun函数。

例如:

若n值为20,则结果为268040729

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

注意:

部分源程序给出如下。

请勿改动主函数main

和其它函数中的任何内容,仅在函数fun的花

括号中填入所编写的若干语句。

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

#include

floatfun(intn)

{

/**********Begin**********/

inti;

floatf=1,s=0;

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

{f=f*i;

s=s+f;}

returns;

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

}

main()

{

inti,n;

longintresult;

scanf("%d",&n);

result=fun(n);

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

getch();

yzj();

}

yzj()

{

FILE*IN,*OUT;

inti;

intiIN;

longintiOUT;

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

if(IN==NULL)

{printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");

}

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

if(OUT==NULL)

{printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");

}

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

{fscanf(IN,"%d",&iIN);

iOUT=fun(iIN);

fprintf(OUT,"%ld\n",iOUT);

}

fclose(IN);

fclose(OUT);

}

5.题目:

编写函数求1~100中奇数的平方和。

结果为166650。

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

注意:

部分源程序给出如下。

请勿改动主函数

main和其它函数中的任何内容,仅在函

数的花括号中填入所编写的若干语句。

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

#include"stdio.h"

floatsum(intn)

{

/**********Begin**********/

floats=0;

inti,j;

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

s=s+i*i;

return(s);

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

}

main()

{

printf("sum=%f\n",sum(100));

yzj();

getch();

}

yzj()

{

FILE*IN,*OUT;

intn;

inti;

floato;

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

if(IN==NULL)

{printf("ReadFileError");

}

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

if(OUT==NULL)

{printf("WriteFileError");

}

fscanf(IN,"%d",&i);

o=sum(i);

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

fclose(IN);

fclose(OUT);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 机械仪表

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1