您的位置:

c语言程序设计基础考试题库,C语言程序设计考试题库

本文目录一览:

《C语言程序设计》练习题

一、选择题

1、C语言规定,在一个源程序中,main()函数的位置(C )。

A) 必须在最开始 B)必须在最后

C) 可以任意 D) 必须在系统调用的库函数后面

这题你死记就行,你看看这个

任何一个C++程序都必须定义一个main函数,它的返回类型总是int类型。这个函数由操作系统来调用,在main函

数执行完以后,程序也就终止了。 main也可以使用return向操作系统返回一个值,使用操作系统的命令可以检测

main的返回值。一般约定在main返回0时,表示程序运行过程中没有出现错误,其它非零值表示程序出现异常情况。

若没有为main指定返回值,这样返回值是任意的。

2、若x和y都是int 型变量,x=100,y=200,且有以下程序段,printf(“%d”,(x,y));则其输出结果是( A)。

A) 200 B) 100 C) 100 200 D) 输出不确定值

(x,y)这是个逗号表达式,表达式的值为最后一个逗号后面表达式的值,因为前面有一个%d,所以输出 的是y的

3、合法的C语法字符常量是(C )。

A) “A” B) 65 C) ‘\t’ D) A

字符都是由两个单引号括起来的,死记, a)为字符串

4、表达式“3!=4”的值是(A )。

A) 1 B) 0 C) T D) F

!=是c语言的逻辑运算符,3!=4为真,多以得1, 3=4为假,值为0

5、 int a=1,b=2,c=3,d=4,执行下列程序后x的值为( C)。

if(ab) x=1;else if (cd) x=2;else x=3;

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

如果ab,12为假,不执行x=1,执行else if(cd),判断:34为假,不执行x=2,执行=3,完

6、以下程序的输出结果是(D)。

Int x=10,y=3,z;printf(“%d\n”,z=(x%y,x/y));

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

逗号表达式,x%y,10%3,商3余1,模取余数1,x/y,10/3,商3余1,除法取商3,逗号表达式,表达式的值为最后一

个逗号后面表达式的值

7、为表示x≥y≥z,应使用C语言表达式(A )。

A) (x=y)(y=z) B) (x=y) AND (y=z)

C) (x=y=z) D) (x=y) (y=z)

关系运算符,x=y与y=z必须是同时成立的,因此要用逻辑运算符,与的意思

8、合法的数组定义是( a )。

A) int a[ ]=”string”; B) int a[5]={0,1,2,3,4,5};

C) char a=”string”; D) char a[ ]={“01234”};

a不指定数组长度定义,正确

b数组长度为5,就是里面有5个数组元素,多了一个数组元素

c定义a不是数组而是一个变量,素组应该是a[]

d是错的,字符串是这样定义的:char a[ ]={'0','1','2','3','4','\0'};

[4]中数字是数组长度,说明里面有几个元素

9、设x和y均为int型变量,则语句“x+=y;y=x-y;x-=y;”的功能是(D)。

A) 把x和y按从小到大排列 B)把x和y按从大到小排列

C)无确定结果 D)交换x和y中的值

x+=y等同于x=x+y,把x加y的值赋给x,x现在存的是x与y的和

y=x-y把x减y的值赋给y,x现在存的是x与y的和 (x+y)-y=x,把x的值给y,y存x的值

x-=y等同于x=x-y,把x减y的值赋给x,(x+y)-y=x,现在的后面的y存的是x的值,做完后x里存的值是y,完成交换

10、若已定义x和y为double类型,则表达式“x=1,y=x+3/2”的值是(C)。

A) 1 B)2 C) 2.0 D) 1.0

逗号表达式,先让x=1在算y=x+3/2,得2,因为是double类型,所以有小数点

11、下列条件语句中,功能与其他语句不同的是 (D)

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

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

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

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

a 如果a为真输出x,如果a为假输出y

b 如果a==0,也就是为假,输出y,a为真输出x,同a

c 如果a!=0为真,输出x,a为假输出y同上

d 如果a为假输出x,如果a为真输出y,与以上的都不同

12、以下能正确定义二维数组的是 (C)

A) int a[][3]; B) int a[][3]=2{2*3};

C) int a[][3]={0}; D) int a[2][3]={{1},{2},{3,4}};

a 没有给数组赋初值

b {}里不能有*

c 正确,记住第一个[]中可以为空,第二个[]不能为空,死记

d a[2][3] 的意思是有两个一维数组,每个一维数组里有3个元素,{{1},{2},{3,4}}; 她的意思是三个数组,{}中的每一个{}代表一个数组,里边的数为数组元素

13、用C语言编写的代码程序 (B)

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

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

死记

计算机二级c语言程序设计有哪些题型?

全国计算机二级C语言程序设计包括40个单选题(每题一分)和三道操作题(60分)。

单选题中1~10题为二级公共基础知识,单选题的11~40题是C语言的内容。

操作题包括程序填空(18分)、程序改错(18分)和编程题(24分)各一题。

程序填空是将一个完整的程序,扣掉两到三处,让考生将它填写完整。由于每位考生具体抽到的题目不同,程序填空有2到3个空要填。

程序改错也是一个完整的程序,其中有2~3处错误要求考生将他们改正。

编程题是要求考生编写一个程序,然后运行出题干要求的结果。题目中主函数main()会完整给出,在主函数中将调用fun()函数,fun函数由考生自己编写。编程题以运行结果给分,所编写完成后必须运行,否则没分。

二级C语言程序设计考试涉及公共基础知识和C语言两块。公共基础知识内容包括数据结构与算法、程序设计基础、软件工程基础、数据库设计基础四部分。考10个单选每个1分。

C语言有基础知识(C语言概述、常量与变量、数据类型、运算符和表达式),编程三大结构(顺序结构、选择结构、循环结构),数组、函数和指针,其他内容(预处理命令、结构体和共用体、位运算、文件)四大部分内容。重点是第二、三部分。

谁有大一C语言考试题?快考试了,跪求题库··

单项选择题(每小题2分,共50分)

1、一个C程序的执行是从___A__。

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

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

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

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

2、C语言程序的基本单位是___C___。

A、程序行 B、语句

C、函数 D、字符

3、请选出可用作C语言用户标识符的一组标识符___B___。

A、void B、a3_b3 C、For D、2a

define _123 -abc DO

WORD IF ase sizeof

主要特点

C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。

以上内容参考:百度百科-c语言

求:C语言程序设计试卷及答案一份

一、选择题(1~40题每题1分,41~50题每题2分,共60分)下列各题A、B、C、D四个选项中,只有一个选项是正确的。请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

1.微型计算机的运算器、控制器及内存储器组合在一起,称之为()(本题分值:1分)

【正确答案】D

A.ALU

B.CPU

C.MPU

D.主机

2.下列存储器中,存取速度最快的是()(本题分值:1分)

【正确答案】D

A.软盘

B.硬盘

C.光盘

D.内存

3.系统软件中最重要的是()(本题分值:1分)

【正确答案】A

A.操作系统

B.语言处理程序

C.工具软件

D.数据库管理系统

4、CPU处理的数据基本单位为字,一个字的字长()(本题分值:1分)

【正确答案】D

A.为8个二进制位

B.为16个二进制位

C.为32个二进制位

D.与CPU芯片的型号有关

5.打印当前屏幕内容应使用的控制键是()(本题分值:1分)

【正确答案】D

A.Scroll-Lock

B.Num-Lock

C.PgDn

D.PrtSc(Print Screen)

6.能将高级语言源程序转换成目标程序的是()(本题分值:1分)

【正确答案】C

A.调试程序

B.解释程序

C.编译程序

D.编辑程序

7.二进制数1110111.11转换成十进制数是()(本题分值:1分)

【正确答案】B

A.119.375

B.119.75

C.119.125

D.119.3

8.十六进制数FF.1转换成十进制数是()(本题分值:1分)

【正确答案】A

A.255.0625

B.255.125

C.127.0625

D.127.125

9.中国国家计算机网络设施是()(本题分值:1分)

【正确答案】A

A.NCFC

B.CERNET

C.ISDN

D.Internet

10.控制键^C的功能为()(本题分值:1分)

【正确答案】A

A.终止当前操作

B.系统复位

C.暂停标准输出设备的输出

D.结束命令行

11.COMMAND.COM为命令处理程序,DOS系统启动后,它()(本题分值:1分)

【正确答案】B

A.驻留在外存,需要时装入内存

B.常驻内存,包含所有内部命令

C.不能处理外部命令

D.不能处理后缀为.EXE的可执行文件

12.为了将所有扩展名为.PAS的文件改成扩展名为.P,应使用命令()(本题分值:1分)

【正确答案】C

A.REN *.PAS .?AS

B.REN PAS P

C.REN *.PAS *.P

D.REN *.PAS *.P??

13.设当前盘中文件XY.C的路径为\A\B\XU,当前目录为\A\B。为了查看文件XY.C的内容,应使用命令()(本题分值:1分)

【正确答案】A

A.TYPE XU\XY.C

B.TYPE \XU\XY.C

C.DIR XU\XY.C

D.DIR \A\B\XU\XY.C

14.要将提示符改成当前盘当前目录后加一个大于号“>”,应使用命令()(本题分值:1分)

【正确答案】B

A.PROMPT

B.PROMPT $ p $ g

C.PROMPT $ $

D.PROMPT C\>

15.在多媒体计算机系统中,CD-ROM属于()(本题分值:1分)

【正确答案】D

A.感觉媒体

B.表示媒体

C.表现媒体

D.存储媒体

16.设当前盘为C盘,将A盘根目录下的文件目录信息存放到当前盘当前目录下的文件AB中,应使用命令()(本题分值:1分)

【正确答案】C

A.TYPE A:\>AB

B.DIR >AB

C.DIR A:\>AB

D.DIR \>AB

17.在位运算中,操作数每右移一位,其结果相当于()(本题分值:1分)

【正确答案】B

A.操作数乘以2

B.操作数除以2

C.操作数除以16

D.操作数乘以16

18.在当前盘当前目录下有一个文件A.BAT,其内容为

CD \

MD \XYZ\AB\B\C

CD XYZ\AB\B

在正确执行上述文件后,接着执行下列命令时,不会发生错误的是()(本题分值:1分)

【正确答案】C

A.MD C

B.RD \XYZ

C.RD C

D.RD B

19.下列命令组中两个DOS命令互相等价的是()(本题分值:1分)

【正确答案】D

A.TYPE AB.TXT与DIR AB.TXT

B.DISKCOMP A:B:与COMP A:.* B:*.

C.TYPE AB.TXT>>XY.TXT与COPY AB.TXT XY.TXT

D.TYPE AB.TXT>XY.TXT与COPY AB.TXT XY.TXT

20.设A盘为启动盘,其目录结构为

根目录

DOS子目录 COMAND.COM

USER子目录 AUTOEXEC.BAT

其文件AUTOEXEC.BAT的内容如下:

MD \XYZ

CD \DOS\USER

则由A盘启动成功后,A盘的当前目录是()(本题分值:2分)

【正确答案】C

A.\DOS\USER

B.\XYZ

C.根目录

D.\DOS

21.C语言提供的合法关键字是()(本题分值:1分)

【正确答案】C

A.switch

B.cher

C.case

D.default

22.在C语言中,合法的字符常量是()(本题分值:1分)

【正确答案】B

A.′\084′

B.′\x43′

C.′ab′

D.′\0′

23.若已定义x和y为double类型,则表达式: x=1,y=x+3/2的值是()(本题分值:1分)

【正确答案】C

A.1

B.2

C.2.0

D.2.5

24.合法的数组定义是()(本题分值:1分)

【正确答案】D

A.int a[]=〃string〃;

B.int a[5]={0,1,2,3,4,5};

C.char a=〃string〃;

D.char a[]={0,1,2,3,4,5};

25.设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是()(本题分值:1分)

【正确答案】A

A.10<a<15

B.a==11||a==12||a==13||a==14

C.a>10&&a<15

D.!(a<=10)&&!(a>=15)

26.若t为double类型,表达式t=1,t+5,t++的值是()(本题分值:1分)

【正确答案】C

A.1

B.6.0

C.2.0

D.1.0

27.若有定义和语句:

char s[10];s=〃abcd〃;printf(〃%s\n〃,s);

则结果是(以下μ代表空格)()(本题分值:1分)

【正确答案】D

A.输出abcd

B.输出a

C.输出abcdμμμμμ

D.编译不通过

28.若有定义和语句:

int **pp,*p,a=10,b=20;

pp=&p;p=&a;p=&b;printf(〃%d,%d\n〃,*p,**pp);

则输出结果是()(本题分值:1分)

【正确答案】D

A.10,10

B.10,20

C.20,10

D.20,20

29.若有以下定义和语句:

int u=010,v=0x10,w=10;

printf(〃%d,%d,%d\n〃,u,v,w);

则输出结果是()(本题分值:1分)

【正确答案】A

A.8,16,10

B.10,10,10

C.8,8,10

D.8,10,10

30.若有以下定义和语句:

char c1=′b′,c2=′e′;

printf(〃%d,%c\n〃,c2-c1,c2-′a′+′A′);

则输出结果是()(本题分值:1分)

【正确答案】B

A.2,M

B.3,E

C.2,E

D.输出项与对应的格式控制不一致,输出结果不确定

31.若有定义:int a[3][4];,()不能表示数组元素a[1][1]。(本题分值:1分)

【正确答案】D

A.*(a[1]+1)

B.*(a[1][1])

C.(*(a+1))[1]

D.*(a+5)

32.若i、j已定义为int型,则以下程序段中内循环体的总的执行次数是()(本题分值:1分)

for(i=5;i>0;i--)

for(j=0;j<4;j++){…}

【正确答案】A

A.20

B.24

C.25

D.30

33.若有以下定义和语句:

char *s1=〃12345〃,*s2=〃1234〃;

printf(〃%d\n〃,strlen(strcpy(s1,s2)));

则输出结果是()(本题分值:1分)

【正确答案】A

A.4

B.5

C.9

D.10

34.若有以下定义和语句:

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

则不能表示a数组元素的表达式是()(本题分值:1分)

【正确答案】B

A.*p

B.a[10]

C.*a

D.a[p-a]

35.下面程序的输出结果是()(本题分值:2分)

【正确答案】C

A.k=3 a=2 b=3

B.k=3 a=3 b=2

C.k=2 a=3 b=2

D.k=2 a=2 b=3

36.下面程序的输出结果是()(本题分值:1分)

main()

{unsigned a=32768;

printf(〃a=%d\n〃,a);}

【正确答案】C

A.a=32768

B.a=32767

C.a=-32768

D.a=-1

37.执行下面语句后的输出结果为()(本题分值:1分)

int i=-1;

if(i<=0) printf(〃****\n〃);

else printf(〃%%%%\n〃)

【正确答案】D

A.****

B.%%%%

C.%%%%c

D.有语法错误,不能正确执行

38.对于条件表达式(M)?(a++):(a--),其中的表达式M等价于()(本题分值:1分)

【正确答案】C

A.M==0

B.M==1

C.M!=0

D.M!=1

39.下述程序段的输出结果是()(本题分值:1分)

int x=10;

int7nbspy=x++;

printf(〃%d,%d〃,(x++,y),y++);

【正确答案】A

A.11,10

B.11,11

C.10,10

D.10,11

40.若有以下的定义:

int a[]={1,2,3,4,5,6,7,8,9,10},*p=a

则值为3的表达式是()(本题分值:1分)

【正确答案】A

A.p+=2,*(p++)

B.p+=2,*++p

C.p+=3,*p++

D.p+=2,++*p

41.假定所有变量均已正确说明,下列是程序段运行后x的值是()(本题分值:2分)

a=b=c=0;x=35;

if(!a) x--;

else if(b);

if(c) x=3;

else x=4;

【正确答案】B

A.34

B.4

C.35

D.3

42.在以下一组运算中,优先级最高的运算符是()(本题分值:2分)

【正确答案】C

A.<=

B.=

C.%

D.&&

43.若有以下定义和语句:

int w[2][3],(*pw)[3];pw=w;

则对w数组元素的非法引用是()(本题分值:2分)

【正确答案】A

A.*(w[0]+2)

B.*(pw+1)[2]

C.pw[0][0]

D.*(pw[1]+2)

44.若有以下程序片段: char str[ ]=〃ab\n\012\\\\〃; printf(〃%d〃,strlen(str));

上面程序片段的输出结果是()(本题分值:2分)

【正确答案】C

A.3

B.4

C.6

D.12

45.函数调用:strcat(strcpy(str1,str2),str3)的功能是()(本题分值:2分)

【正确答案】C

A.将串str1复制到串str2中后再连接到串str3之后

B.将串str1连接到串str2之后再复制到串str3之后

C.将串str2复制到串str1中后再将串str3连接到串str1之后

D.将串str2连接到串str1之后再将串str1复制到串str3中

46.以下对C语言函数的有关描述中,正确的是()(本题分值:2分)

【正确答案】A

A.在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

B.C函数既可以嵌套定义又可以递归调用

C.函数必须有返回值,否则不能使用函数

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

47.以下叙述中不正确的是()(本题分值:2分)

【正确答案】C

A.在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值

B.在C中,在调用函数时,实参和对应形参在类型上只需赋值兼容

C.在C中,外部变量的隐含类别是自动存储类别

D.在C中,函数形参可以说明为register变量

48.设有以下定义或语句,则输出的结果是(用small模式编译,指针变量占2个字节)()(本题分值:2分)

struct date

{long *cat;

struct date *next;

double dog;

}too;

printf(〃%d〃,sizeof(too));

【正确答案】D

A.20

B.16

C.14

D.12

49.设有定义:struct sk

{int a;float b;}data,*p;

若有p=&data;,则对data中的a域的正确引用是()(本题分值:2分)

【正确答案】B

A.(*p).data.a

B.(*p).a

C.p->data.a

D.p.data.a

50.以下对枚举类型名的定义中正确的是()(本题分值:2分)

【正确答案】B

A.enum a={one,two,three};

B.enum a{one=9,two=-1,three};

C.enum a={〃one〃,〃two〃,〃three〃};

D.enum a{〃one〃,〃two〃,〃three〃};

二、填空题(每空2分,共40分)请将答案分别写在答题卡中序号【1】至【20】的横线上,答在试卷上不得分。

1、与十进制数101等值的二进制数为。(本题分值:2分)

【正确答案】

【1】1100101

2、DOS命令分为内部命令与外部命令,XCOPY命令属于命令。(本题分值:2分)

【正确答案】

【2】外部

3、设当前盘为A盘,当前系统提示符为“”,在不改变当前盘的情况下,显示C盘的当前目录路径,应使用命令。 (本题分值:2分)

【正确答案】

【3】CD C:

4、自动批处理文件名必须是。(本题分值:2分)

【正确答案】

【4】AUTOEXEC.BAT

5、设在当前盘当前目录下有两个文件W.TXT与P.TXT,现要将文件P.TXT连接到文件W.TXT的后面,若使用COPY命令,则完整的命令为。(本题分值:2分)

【正确答案】

【5】COPY W.TXT+P.TXT W.TXT

6、表示条件10<x<100或x<0的C语言表达式是。(本题分值:2分)

【正确答案】

【6】(x>10 x<100)||x<0

或(10<xx<100)||x<0

或x<0 ||(x>10x<100)

或0>x ||(10<xx<100)

7、以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最笾怠G胩羁铡?br #define N 3

#define M 4

void LineMax(int x[N][M])

{ int i,j,p;

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

{p=0;

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

if(x[i][p]<x[i][j]) ;

printf(〃The max value in line is %d\n〃,);

}

}

main()

{ int x[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};

;

}

(本题分值:6分)

【正确答案】

【7】p=j

【8】x[i][p]

【9】LineMax(x)

8、以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。

main()

{float x[1000],sum=0.0,ave,a;

int n=0,i;

printf(〃Enter mark:\n〃);scanf(〃%f〃,a);

while(a>= 0.0 n<1000)

{sum+=;x[n]=;

n++; scanf(〃%f〃,a);

}

ave= ;

printf(〃Output:\n〃);

printf(〃ave=%f\n〃,ave);

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

if() printf(〃%f\n〃,x[i]);

}

(本题分值:8分)

【正确答案】

【10】a

【11】a

【12】sum/n或sum/(float)n或sum/(double)n

【13】x[i]<ave或!(x[i]>=ave)或ave>x[i]

9、执行以下程序,输入-10的结果是,输入5的结果是,输入10的结果是,输入30的结果是。

(本题分值:8分)

【正确答案】

【14】0

【15】5

【16】10

【17】5

10、以下程序的功能是。

main()

{int num[10]={10,1,-20,-203,-21,2,-2,-2,11,-21};

int sum=0,i;

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

if(num[i]>0)

sum=num[i]+sum;

printf(〃sum=%6d〃,sum);

}

(本题分值:2分)

【正确答案】

【18】计算数组num中大于零的数据之和

11、以下程序可以把从键盘上输入十进制数(long型)以二到十六进制数的形式输出,请填空。

#include

main()

{char

b[16]={′0′,′1′,′2′,′3′,′4′,′5′,′6′,′7′,′8′,′9′,′A′,′B′,′C′,′D′,′E′,′F′};

int c[64],d,i=0,base;

long n;

printf(〃Enter a number:\n〃); scanf(〃%1d〃,n);

printf(〃Enter new base:\n〃); scanf(〃%1d〃,base);

do

{c[i]=;

i++;

n=n/base;

}while(n!=0);

printf(〃The result is:\n〃);

for(--i;i>=0;--i)

{?d=c[i];

printf(〃%c〃,b);

}

}

(本题分值:4分)

【正确答案】

【19】n%base

【20】 [d]

C语言题库,求发一份

单选题

1. 以下叙述中正确的是(1)。

 A.若e1、e2为变量,e为表达式,则

e1=e2=e使得e1、e2都具有表达式e的值 。

 B.程序中不能定义与库函数名同名的变量。

 C.一个C源程序可放在多个文件中,但

一个函数不能跨放在两个不同的文件中。

 D.C语言编译系统以函数为单位编译源程序。

2. 若a,b,c都是实型变量,则下列语句中除 (2)  之外,都可能得不到正确的计算结果。

A.if(b*b-4*a*c==0) x1=x2=-b/(2*a);

else x1=(-b+sqrt(b*b-4*a*c))/(2*a), x2=(-b-sqrt(b*b-4*a*c))/(2*a);

B.b=2.0e38+1.0-2.0e38;

C.a=456*768/2;

D.double define=1.0;

3. 以下正确的常量是(3 )。

A.‘077’ B.‘\0x89’ C.3.14u D.‘\012’

4. 若已有声明“float x= -1234.5678; int m,n=4;”则执行“m=printf(“\n%8.3f\n”,x)/n;”语句后,

变量m的值是 (4) 。

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

5. 若已有声明“int x1; float x2; long x3; char x4;”,且以下选项均出现在switch语句中,其中正确

的是 (5) 。

A. case 1.1: scanf("%d",x1);break;

B. case 1+2: scanf("%f",x2); break;

 C. case 'x': 

case 'y'-1: scanf("%ld",x3); break;

D. case x4: scanf("%c",x4); break;

6. 33.以下表达式中,能够作为“if(e) 语句”中判断条件表达式e 的是 (6) 。

 A. x==++(x+1) B. x+=++x||x++ C. x+1=z D. x%2.0!=0

7. 以下局部变量声明中,正确的是 (7) 。

A.int x=0, void=1;   B.int x=1,y=2x;

C.int x=2,y=sqrt(x);   D.int x=sqrt(y),y=4;

8. 在以下语句中,正确的是 (8) 。

 A.if(ab)m=a;n=b;else m=b;n=a;

 B.if(ab){m=a;n=b;else m=b;n=a;}

 C.if(ab)m=a,n=b;else m=b,n=a;

 D.if(ab){m=a;n=b;}else(a=b){m=b;n=a;}

9.24.已知有声明:“char c=‘1’ ; int x=300 ; float t=35000 ; double d=3.1234567e10 ;”,则以下表达式

求值时除 (9 ) 外,其结果都可能是不准确的。

A. x=t/c B. t=d/x C. t=d/1e5f D. t=x+c

10.若有声明“int i,k=1; unsigned j;”,则下列语句执行时会出现无限循环的语句

是 (10) 。

A.for(j=15;j0;j-=2) k++;

B.for(j=0;j15;j+=2) k++;

C.for(i=0;i15;i+=2) k++;

D.for(i=15;i0;i-=2) k++;

11.已有声明“int x=2,y=1,z=0;”,以下表达式的值不为0的是 (11) 。

A. x==(x=0,y=1,z=2)

B. zyx

C. xy==1

D. x(y=2)

12.若e1、e2和e3是表达式,以下选项中与语句while(e1){e2,e3;}功能等价的语句是 (12 ) 。

A. for( ;e1;e3)e2; B. for( ;e1;e2)e3; C. for(e1;e2;e3); D. for(e1; e2, e3; );

13.已有声明“int x=3;”,以下选项中与“x+=x =x+1”功能不等价的表达式是 (13 ) 。

A.x=x+(x=xx+1) B.x=x+(x=x(x+1)) C.x=x+(x=xx1) D.x=x(x+1), x=x+x

14.若已有声明“int a=2; ”,则执行语句“printf("%d", a, a+1 );”后的输出结果是 (14) 。

A.语法错 B. 2,3 C. 2 D. 3

15.语句“if (!n) n++;”中的“!n”等价于如下 (15) 条件的判定。

A.n==0   B.n!=0   C.n0   D.n0

16.若已有声明“int a=1; ”,则以下表达式中错误的是 (16 ) 。

A.-a++ B.+a-- C.--a D.++-a

17.下列 (17) C语言表达式能正确表达数学计算式1÷× 2xy。

A. 1/sqrt(2*3.14)*2*pow(x,y) B.1.0/sqrt(2)*2*x**y

C. 1.0/sqrt(6.28)*2x^y  D.1/6.28^0.5*2*pow(x,y)

18. 已有声明“int a=3,b=3,c=2;”,以下表达式中值为0的是 (18) 。

A. !a!bc B. !a || !b || c C. a==b b=c D. a=b bc

19.

36.若有: int w=1 , x=2 , y=3 , z=4; 则表达式 wx?x--:yz?y--:++z 的值为 (19 ) 。

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

20. 已知某程序中有以下片断:

#define p 2.5

main( )

{ float x=p;

}

则main函数中标识符p代表一个 (20)  。

A. float型变量  B. double 型变量 C. float型常量 D. double 型常量

20.

填空题

1.21.设有如下程序段:

int a=2, b, c=5 ;

scanf( “%d” , b) ;

b = c-- || scanf (“%d” , c ) a++;

执行该程序段时,若从键盘上输入的数据是 4ƀ3 (ƀ代表空格键) , 则变量c 的值为 (21) 。

2. signed和unsigned只能用于声明int型变量和 (22) 型变量。

3.代数式“||”的C语言表达式是 (23) 。

4.已有声明“int a=-13,n=7;”,表达式“a%=n%=4”求值后变量a的值为 (24) 。

5.已有声明“unsigned int a=30; ” ,那么 –a 的值为___(25)____。

6.

如下程序执行后的输出是____(26)____。

#includestdio.h

main ( )

{

int i=1,m=0;

 switch ( i )

{  

 case 1 :

 case 2 : m++;

 case 3 : m++;

}

 printf ( “%d” ,m);

}

7.C语言的三个逻辑运算符(!、、||)中,优先级高于算术运算符的是

  (27) 。

8.已知sizeof(int)的值为2,执行如下程序后输出结果为 (28) 。

main()

{ int a,b;

a=65536;

b=32767+1;

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

}

9.若有声明“int a=3,b=0,c=5;”, 则表达式 !a+b+c-1b+c/2 的值是 (29) 。

10.若有声明“int x=1,y=2;” ,则表达式 ++x, x+y++ 的值是 (30) 。

三、阅读程序题

1.在PC机的TC中执行以下程序后的输出是: (31) 。

main()

{

unsigned x=0x7f39;

int y;

char c;

c=x;

x+=0307;

y=x;

printf(“%d,%x,%c”,x,y,c);

}

2.以下程序运行后的输出结果是 (32) 。

#includestdio.h

main ( )

{ int x=30, y=45;

while(x!=y)

if(xy)x-=y;

else y-=x;

printf("%d", x);

}

3.

以下程序运行后输出结果的第一行是 (33) ,第二行是 (34) 。

#includestdio.h

#includemath.h

void main()

{ int a=0x65,b,c,count=0;

b=a;

while(b0)

{ b=b/8;

count++;

}

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

while(count0)

{ c=pow(8,count-1);

printf("%d",a/c);

a=a%c;

count--;

}

}

4.以下程序运行时输出结果是 (35) 。

#include stdio.h

main()

{

  int i,x=3,y=5;

for(i=0;i3;i++)

switch(y%x)

{

  case 0: printf("%d",y);

case 1: printf("%d",y--);break;

case 2: printf("%d",--y);break;

}

}

5.以下程序执行后,输出结果的第一行是 (36) ,第二行是 _(37)______。

#define N 100

main()

{ int i=0,sum=0;

do

{ if(i==(i/2)*2)

continue;

sum++;

if(sum3)

break;

}while(++iN);

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

}

四、完善程序题

1.下列程序的功能是按从键盘上输入的整数m,判断2m -1是否为素数,若为素数再求2m -1的反序数。例如:m为17,217 –1(131071)是素数,其反序数是170131。

#include stdio.h

(38)

main()

{

int m,j;

long q,k1,k2=0,k3;

scanf("%d",m);

k3=k1=pow(2,m)-1;

q=sqrt(k1);

for(j=2;j=q;j++)

if( (39) ) break;

if(jq)

{ while(k30)

{ k2=k2*10+ (40)  ;

k3/=10;

}

printf("m=%d\npow(2,m)-1=%ld is a prime.\nreverse order %ld\n",m,k1,k2);

}

else

printf("m=%d isn't a prime.\n",m);

}

2. 以下程序找到并输出所有满足给定条件的四位十进制表示的正整数:该数是某个数的平方、该数的后二位是25、组成该整数的各位数字中有两位是2。例如:1225是满足所给条件的四位正整数(352=1225)。

#includestdio.h

#includemath.h

main()

{ long i,j,s,d=0;

for(i=1000;i10000;i++)

{ (41) ;

j= (42) ;

if(i==j*j i%100==25)

{ s=i;

while(s0)

{ if( (43) )d++;

s=s/10;

}

if(d==2) printf("\n %d",i);

}

}

}

3..下列程序计算下列数学函数展开式的近似值,累加运算在最后一项的绝对值小于10-6时停止。

程序运行时从键盘上分别三个实数-1.0、0.5、1.0,作为x的值。

#include stdio.h

#include math.h

#define EPS 1.0e-6

main()

{ double x,n,tn,ft,sn,xn;

int i;

for(i=0;i3;i++)

{ (44) ;  

ft=1.0;

scanf("%lf",x);

sn=xn=x;

do{

xn=xn*x*x;

ft=ft*(2*n-3)/(2*n-2);  

tn=ft*xn/ (45) ;

sn=sn+tn;

n=n+1;

}while( (46) );

printf("f(%lf)=%0.6lf\n",x,sn);

}

}

《C语言程序设计》试卷答题纸

(本试卷满分100分)

系科_____________学号_____________姓名_____________成绩____________

单项选择题得分 填空题得分 阅读程序题得分 完善程序题得分 总分

一 、单项选择题

(1) (2) (3) (4) (5)

(6) (7) (8) (9) (10)

(11) (12) (13) (14) (15)

(16) (17) (18) (19) (20)

二、填空题

(21) (22)

(23) (24)

(25) (26)

(27) (28)

(29) (30)

三、阅读程序题

(31) (32)

(33) (34)

(35) (36)

(37

四、完善程序题

(38) (39)

(40) (41)

(42) (43)

(44) (45)

(46)

《C语言程序设计》试卷参考答案

(本试卷满分100分)

一 、单项选择题

(1)C (2)D (3)D (4)A (5) B

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

(11)C (12)A (13)A (14)C (15)A

(16)D (17)A (18)A (19)B (20)D

二、填空题

(21) 4 (22) char

(23) fabs(exp(sqrt(1+sin(x)))) (24) -1

(25) 65506 (26) 2

(27) ! (28) 0 -32768

(29) 1 (30) 4

三、阅读程序题

(31) -32768, 8000, 9 (32) 15

(33) 3 (34) 145

(35) 4433 (36) 4

(37) 7

四、完善程序题

(38) #include math.h (39) k1%j==0

(40) k3%10 (41) d=0

(42) sqrt(i) (43) s%10==2

(44) n=2.0 (45) (2*n-1)

(46) fabs(tn)EPS

C语言程序设计考试题

main函数

scanf函数,printf函数

-60

6 ,4, 2

 , || , !

B   66

2   1

6

main

5

c语言程序设计基础考试题库,C语言程序设计考试题库

2022-11-29
c语言程序二级考试,c++语言程序设计二级考试

2023-01-04
c语言程序设计研究生,c语言程序设计考研真题

2023-01-05
c语言程序设计期末考试补考题库,C语言程序设计期末考试题库

2022-12-02
c语言二级考试,c语言二级考试题库app

2022-12-01
c语言程序设计考试题及其答案,C语言程序设计考试答案

2023-01-05
计算机二级c语言题库有原题吗,计算机二级考试c语言题库

2023-01-07
c语言题库1292题,c语言程序设计1253考试题

2022-11-27
大学c语言程序设计题库网站,C语言程序设计题库

2023-01-03
c语言程序设计单元测试参考答案,c语言程序设计模拟试题

2023-01-05
计算机等级考试c语言课件,全国计算机等级考试c语言题库

2022-11-30
国二c语言程序,国二C语言程序题考试范围

2022-11-25
c语言等级题,计算机等级考试C语言题型

2022-11-29
二级计算机c语言肯定有考笔试吗,计算机二级c语言是机考吗

2022-11-29
c语言必考题库,c语言考试题库

2023-01-08
无纸化二级c语言题库,c语言二级考试模拟题库

2022-11-29
2018年全国c语言二级考试,c语言国家二级考试题型

2022-11-26
国家计算机二级c语言考试流程,全国计算机二级考试c语言内容

2022-11-27
上海师范大学专升本c语言考试题,专升本c语言考试题型

2022-11-28
c语言考试是不是全部都笔试,c语言考试是不是全部都笔试

2022-11-28